AVR-Crypto-Lib/en: Unterschied zwischen den Versionen
Aus LaborWiki
(Die Seite wurde neu angelegt: __NOTOC__ ==Where can I find it?== SVN: [https://roulette.das-labor.org/svn/microcontroller-2/crypto-lib/] via Track (also svn, but suitable for direct browsing):[htt...) |
|||
Zeile 80: | Zeile 80: | ||
| align="center" style="background:#f0f0f0;"|'''language''' | | align="center" style="background:#f0f0f0;"|'''language''' | ||
| align="center" style="background:#f0f0f0;"|'''size (flash)''' | | align="center" style="background:#f0f0f0;"|'''size (flash)''' | ||
| align="center" style="background:#f0f0f0;"|'''size (context'' | | align="center" style="background:#f0f0f0;"|'''size (context)''' | ||
| align="center" style="background:#f0f0f0;"|'''size (stack)''' | | align="center" style="background:#f0f0f0;"|'''size (stack)''' | ||
| align="center" style="background:#f0f0f0;"|'''keylength''' | | align="center" style="background:#f0f0f0;"|'''keylength''' |
Version vom 16. April 2008, 20:16 Uhr
Where can I find it?
SVN: [1]
via Track (also svn, but suitable for direct browsing):[2]
Short Facts
- small implementation of cryptographic algorithms in C (quite protable)
- even smaller implementations in assembly language (ATmega, gnu-avr-as)
- license: GPLv2 & GPLv3 (nearly everything)
About
Crypto-avr-lib is a set of implementations of different cryptographic primitives. Due to the special limitations of microcontrollers (very raw space, RAM and flash are ranging from a few bytes to a few KiB) reference or "normal" optimised implementations are not useable. Therefor we try to provide special implementations which respect the extrem limited resources of microcontroller applications.
What should be done
symmetric
block | aes | cast6 | twofish | idea | kasumi |
stream | seal | A5/1 | Turing | Rabbit | |
hashes | ripemd | whirlpool |
What we have
symmetric
block
- XTEA
- CAST5
- Camellia
- Skipjack
- Noekeon
- RC5
- RC6
- SEED
- DES
- TDES (aka EDE-DES, 3DES)
- SHABEA
- Serpent
- Present
stream
- ARCFOUR (RC4 kompatibel)
- Trivium
- Grain
hashes
- SHA-256
- SHA-1
- MD5
others
- HMAC-SHA256 (nach RFC 2104)
- PRNG
Facts
Blockciphers
name | variant | language | size (flash) | size (context) | size (stack) | keylength | blocksize | clocks (init) | clocks (encrypt) | clocks (decrypt) | attacks | paper | license / patents |
Camellia | C | C | 32 | 128 | 128 | ||||||||
Camellia | C+Asm | C+Asm | 5803 | ||||||||||
Cast5 | C | C | 14108 | 75 | 0-128 | 64 | 13739 | 12550 | 13109 | ||||
RC5 | RC5-32/r/b | C | 1524 | 3+(8*#rounds+1) | 1 – 2040 | 64 | 79352 | 7827 | 7223 | ||||
RC6 | RC6-32/r/b | C | 2656 | 19+(8*#rounds) | 1 – 2040 | 128 | 139940 | 26600 | 25986 | ||||
Noekeon | C | C | 0 (16) | 128 | 128 | ||||||||
Noekeon | Asm | Asm | 870 | 10566 | 10340 | 10895 | |||||||
DES | C | C | 2480 | 0 | 56 | 64 | |||||||
TDES | C | C | 2480 | 0 | 168 | 64 | 0 | 852082 | 852107 | ||||
Serpent | Non-bitslice | C | 528 | 1 – 256 | 128 | ||||||||
Serpent | bitslice | C | 4498 | 102098 | 70827 | 70462 | |||||||
Skipjack | C | C | 1244 | 0 | 80 | 64 | |||||||
Present | C | C | 1514 | 256 | 80 | 64 | 30395 | 105796 | 151624 | ||||
SEED | C | C | 16 | 128 | 128 | ||||||||
SEED | C+Asm | C+Asm | 4052 | ||||||||||
XTEA | C | C | 0 | 128 | 64 | ||||||||
XTEA | Asm | Asm | 504 | ||||||||||
Shabea | C | C | 2020 | 0 | 0 – infinit | 256 |