Links to Embedded Crypto Implementations
This is a collection of links to embedded implementations of cryptographic algorithms and related stuff available on the web.
Contents
Software, 8-bit
Crypto Libraries
AVR-Crypto-Lib (symmetric only) http://www.das-labor.org/wiki/Crypto-avr-lib/en
AVR CryptoLib (symmetric + 64-bit RSA) http://www.emsign.nl/
8051 and AVR Cryptolibrary (symmetric only: Skein, Threefish, TEA/XTEA, SEA, SkipJack) http://www.efton.sk/crypt/index.htm
AVR implementations
AES on AVR by B. Poettering (assembly, 3 flavours) http://point-at-infinity.org/avraes/ (also Java implementaitons of AES and SHA-256: http://point-at-infinity.org/)
AES for AVR by C. Roepke, Bochum (assembly) http://www.christianroepke.de/studium_praktikumB.html
Implementations by G. Meiser, Bochum (AES in AVR assembly, Present in C and Python) http://www.lightweightcrypto.org/implementations.php
RSA on AT90S4414 (assembly, 8-bit modulus only :-) ) http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2000/cuadra/final.html
PIC implementations
PIC18 RSA implementation (C, stripped-down BigDigits, quite portable) http://ortegaalfredo.googlepages.com/pic18rsa
Another PIC18 RSA implementation (dedicated assembly, 32- and 64-bit versions) http://edipermadi.wordpress.com/2008/07/04/implementing-rsa-public-key-cipher-on-pic18f4550/
DES and MD5 implementation for PIC16 (same author as above) http://fandigunawan.wordpress.com/2008/01/16/cryptography-in-microcontroller/
Other implementations by the same guy (TEA, A5/1, etc.): http://edipermadi.wordpress.com/
Other
TinyECC for TinyOS http://discovery.csc.ncsu.edu/software/TinyECC/ver0.1/
General Crypto Libraries
BigDigits Library (well-portable C code, suitable for 8-bit uC's) http://www.di-mgt.com.au/bigdigits.html
Lists of crypto libraries:
http://www.homeport.org/~adam/crypto/, http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic#Libraries http://en.wikipedia.org/wiki/List_of_numerical_libraries
Hardware
IP Cores @ Cryptographic Hardware Project, Tohoku University (symmetric, RSA) http://www.aoki.ecei.tohoku.ac.jp/crypto/web/cores.html
Open cores (some crypto cores available) http://www.opencores.org