The Hardware Side of Cryptography

21 September 2008

MD5 Implementation on PIC18F4550

Filed under: Hash — Tags: , , — edipermadi @ 3:19 pm

MD5 is a widely use Hash algorithm. It works by destructing message into smaller pieces called hash value. hash value is similar to to the concept of fingerprint. The same data will result the same hash value. Therefore, hash algorithms take significant place on security for example integrity proofing.

In addition, this post will show you you to bring MD5 hash function into PIC18F4550 microcontroller. Since PIC18F4550 has large memory space, it has ability to cope large message.

The development of this code is divided into two version which are size optimized and speed optimized. Version 1.x is intended for speed effectiveness while the other one concern on performance. the picture below show the result of md5 hashing as well as its buffer during execution.

Hash Result


I developed the code on MPLAB v8.0 and released for free under the term of GNU Public License version 3.0 with no guarantee implied. Please leave some comments if you have question or suggestion prior to this post.


Source Code (Size Optimized) | v1.0
PIC18F4550 Datasheet
MPLAB v8.0


Leave a Comment »

No comments yet.

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: