Links to Embedded Crypto Implementations

From CryptoLUX
Jump to: navigation, search

This is a collection of links to embedded implementations of cryptographic algorithms and related stuff available on the web.

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