The Hardware Side of Cryptography

25 September 2008

Mini AES implementation on PIC16F84

Filed under: encryption — Tags: , , , — edipermadi @ 1:06 pm

Mini AES represents AES in simple way. This cipher is consisted of 2 rounds 16 bits block size and key length. Its operation is mainly built of nibble XOR, nibble substitution, column shift and multiplication along GF(24) with modulo 0x03. The matrix multiplication of Mini AES mix column is designed such that the inverse process is equal to the process itself. In addition, shift row behaves the same as mixcolumn which its inverse process is equal to the process itself.

This code is developed is MPLAB v8.0 and released for free under GNU Public License v3.0 terms. Below are pictures taken during simulation

Plain Text

Cipher Text

Feel free to use this code and take your own risk .


Source Code | v1.0
Mini AES Specification
PIC16F84 Datasheet
Mid-Range Reference Manual
MPLAB v8.0


  1. the source code of mini aes implementation in pic 16f84 is in some other format..which is unrecognizable by notepad,acrobat reader etc…kindly can any one tell me dem where i can get the same in normal format

    Comment by chintan — 7 February 2010 @ 3:33 pm

  2. Hello (& nice blog)
    Do you think mini-AES could be implemented using a GAL instead of a PIC ? Thanks

    Comment by twentyflight — 28 October 2010 @ 3:47 pm

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at

%d bloggers like this: