The Internet of Things (IoT) is seen as one of the most ground breaking and game-changing evolutions of information technology in modern times.   Within the modular structured smart factories, cyber-physical systems monitor physical processes, create a virtual copy of the physical world and make decentralized decisions. Over the Internet of Things, cyber-physical systems communicate and cooperate with each other and with humans in real time. 

More and more often IoT infrastructures become  targets for (corporate) hackers and (industrial) spies. Therefore, security solutions are to be implemented in order to resist such attacks. It is important to guarantee authenticity of data and the device. Therefore, authentication is the essential part of IOT security.  On the other hand, in many cases IoT devices  have to cope with constrained resources, e.g., memory, computing power, and battery supply.  Often this results into security problems as ”traditional” cryptographic primitives are either too resource-consuming or, in the worst case, do not work at all on such devices. 

The goal of this project is to implement several lightweight authentication protocols on Arduino Uno R3, to compare the performance metrics of these implementations and to evaluate the suitability of the protocols for lightweight IoT devices.



Kickoff Meeting

The kickoff meeting took place on March 2nd at 1:45 PM in room C2.01 in B6, 26. 

Slides of the kickoff meeting.

Background material

Below the links to the recommended material are given. 



Paper where similar task was solved targeting implementations for ASIC

1. Protocols based on block ciphers
We suggest that you  use OMAC message authentication code, already implemented in Arduino Cryptographic Library

1.1 AES
      Implemented in Arduino Cryptographic Library


1.3 Midori

SPECK is implemented in Arduino Cryptographic Library




2. Protocols based on Hard Learning Problems

2.1 HB and HB+
Note that for different security levels different sets of parameters can be used. We suggest that you select parameters which would allow to achieve 80-bit security and 128-bit security. More discussion you can find in the paper of Armknecht at al.  In addition, the protocols can be parallelized to different degree as discussed in the paper by Katz et al..

2.2. Protocols referred as AUTH, MAC1, MAC2 suggested in the paper

2.3 Lapin

3. Protocols based on Elliptic Curve Cryptography

3.1  EC-RAC

3.2 Proposed protocol  to improve EC-RAC 

3.3. Protocol proposed  by Liao et al.
Note that the paper also contains description of protocols 3.1 and 3.2 

3.4. Protocol suggested by Farash et al.