AVR-Crypto-Lib/en: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
(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...)
 
(Blockciphers)
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, 21: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