AES Implementation on MicaZ with Contiki OS

Advanced Encryption Standard has been used to double the security of the MicaZ wireless sensor network nodes by the Wireless Sensor Network research group at the University of Aberdeen. We can recall that it was in the year 2001 that the Advanced Encryption Standard (AES) was announced by the National Institute of Standards and Technology (NIST). It became a progression of the Data Encryption Standard (DES) that was no longer considered to be protected because of the short key with a length of just 56 bits.

This invented algorithm was named after Joan Daemen and Vincent Rijmen, whose proposal was selected due the algorithm’s security, low memory requirements and the ease of implementation. AES has a wide block ciphers among all the software products that was in circulation. The block length of is 128 bits with three different versions of key length 128, 192 or 256 bit.

AES PICTURE 2AES is therefore widely utilized in the wireless sensor network products and all software and network protocols such as SSL and IPSEC. The algorithm has been exposed to series of security attack testing as a way of checking the authenticity of the invention. Such attacks include Square attacks boomerang attack rectangle attack and collision attack.

The AES algorithm consists of ten rounds of encryption and enables the expanded use of keys for encryption and decryption. Each of the round keys therefore includes a transformation using the corresponding cipher key to guarantee the security of the encryption.

The resultant pairwise key generated with a piece of data was then used for generating an AES-encrypted pairwise key with every other node in the network

Step by step levels of security key management using AES and Contiki OS


 Overview AES

User Requirements

  • Implement AES into the WSN
  • Prove that it is working
  • Input – using the default set of inputs from TI documentation
  • Usage senarioAES SYNOPSIS
  1. Message can be accepted by the node and encrypted
  2. Encrypted message is produced
  3. Encrypted message can be passed from node A to node B
  4. Encrypted message can be decrypted at node B and output
  5. Decrypted message is verified and acknowledge

Specification (Software)

  1. Contiki OS
  2. AES Implementation from TI/Header Files/Self Implementation
  3. AES Running on each Node
  4. Input Message uses default state from TI documentation
  5. Key (Master/Private) uses default state from TI documentation
  6. Establish a channel between node A and node B
  7. Message passing between channels
  8. Encryption/Decryption algorithm able to run on nodes
  9. MSP430 as the test bed platform

Test Cases

a)      Could boot up and programme contiki OS

b)      AES library can be loaded into Contiki OS

c)      Could load and run AES library on individual nodes

d)     Messages can be encrypted in node A using master key and output

e)      Encrypted messages can be decrypted at node B

f)       Node A could communicate with node B

g)      Simple message passing between node A to node B

h)      Could be determined that Encrypt and Decrypt algorithm running on each node

i)        MSP430 could fulfil the requirements of the project

About the Author

Celestine Iwendi is a Sensor and Electronics Researcher at the University of Aberdeen, UK. Supervised by Dr Alastair Allen : a Senior Lecturer and head of the research unit. Collaborations and intended PhD candidates are welcome