AVR-Crypto-Lib
Aus LaborWiki
Wo finde ich das
SVN: [1]
via Track (auch svn, aber geignet zum direkten Browsen):[2]
Short Facts
- kleine Implementierungen von Kryptofunktionen in C (fast alle Mikrocontroller)
- noch kleinere Implementierungen von Kryptofunktionen in Assembler (ATmega, gnu-avr-as)
- Lizenz: GPLv2 (nahezu alles)
About
Die crypto-avr-lib stellt ein reihe kryptographischer Funktionen für Atmels AVR Mikrocontroller zur Verfügung. Aufgrund der besonderen Begrenzungen in Mikrocontrollern (sehr wenig Speicher, sowohl RAM als auch Flash bewegen sich je nach Controller im Byte oder im unteren KiB Bereich), kann in der Regel nicht eine Standard oder Referenzimplementierung (in C) für den Mikrocontroller genutzt werden. Daher werden hier zum einen an die Anforderungen angepasste C Implementierungen zur verfügung gestellt (die sich auch leicht auf andere Systeme portieren lassen) wie auch optimierte Assembler Implementierungen.
Was soll rein
Symmetrisch
Block
- aes (davon gibt es eigentlich schon eine Menge)
- serpent
- cast6
- des
- twofish
- skipjack
- idea
- kasumi
- camellia
Stream
- seal
- A5/1
- Turing
- Rabbit
Hashes
- ripemd
Asymmetrisch
- DH
- RSA
- ElGamal
- EC
- DSA
Was ist da
Symmetrisch
Block
- XTEA
- CAST5
Stream
- ARCFOUR (RC4 kompatibel)
Asymmetrisch
Hashes
- SHA-256
- MD5
Sonstiges
- HMAC-SHA256 (nach RFC2104)
- PRNG
Facts
Name | Kategorie | C | ASM | Blockgröße | Ausgabegröße/Keylänge | Größe im Flash | Größe des States | Bemerkungen |
---|---|---|---|---|---|---|---|---|
SHA-256 | Hashfunktion | x | x | 512 Bit | 256 Bit | 1600 Byte (ASM) | 40 Byte | gilt als relativ sicher |
MD5 | Hashfunktion | x | - | 512 Bit | 128 Bit | 20 Byte | gilt als wenig sicher (Kollisionen gefunden) | |
XTEA | Blockcipher | x | x | 64 Bit | 128 Bit | 504 Byte (ASM) | - | Wikipedia: As of 2004, the best attack reported on XTEA is a related-key differential attack on 26 out of 64 rounds of XTEA, requiring 220.5 chosen plaintexts and a time complexity of 2^115.15 (Ko et al, 2004). |
CAST5 | Blockcipher | x | - | 128 Bit | 0-128 Bit | 75 Byte | gilt als ziemlich sicher (Standard in GPG), aber fett (8k S-Boxen!) | |
ARCFOUR | Streamcipher | x | x | 8 Bit (Ausgabe) | 8 - 2048 Bit | 122 Byte (ASM) | 258 Byte | ist kompatibel mit RC4(TM) |