AVR-Crypto-Lib: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 91: Zeile 91:
|}
|}
-->
-->
 
===Blockchiffren==
{| {{Prettytable}}
{| {{Prettytable}}
| align="center" style="background:#f0f0f0;"|'''Name'''
| align="center" style="background:#f0f0f0;"|'''Name'''

Version vom 16. April 2008, 19:26 Uhr


Wo finde ich das

SVN: [1]

via Track (auch svn, aber geeignet 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)
  • cast6
  • twofish
  • idea
  • kasumi

Stream

  • seal
  • A5/1
  • Turing
  • Rabbit

Hashes

  • ripemd

Asymmetrisch

  • DH
  • RSA
  • ElGamal
  • EC
  • DSA

Was ist da

Symmetrisch

Block

  • XTEA
  • CAST5
  • Camellia
  • Skipjack
  • Noekeon
  • RC5
  • RC6
  • SEED
  • DES
  • TDES (aka EDE-DES, 3DES)
  • SHABEA
  • Serpent
  • Present

Stream

  • ARCFOUR (RC4 kompatibel)
  • Trivium
  • Grain

Asymmetrisch

Hashes

  • SHA-256
  • SHA-1
  • MD5

Sonstiges

  • HMAC-SHA256 (nach RFC 2104)
  • PRNG

Facts

=Blockchiffren

Name Varianten Sprache Größe (Flash) Größe (Kontext) Größe (Stack) Schlüssellänge Blockgröße Zeit (Initialisierung) Zeit (Verschlüsselung) Zeit (Entschlüsselung) Angriffe Paper Lizenz / Patente
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*#Runden+1) 1 – 2040 64 79352 7827 7223
RC6 RC6-32/r/b C 2656 19+(8*#Runden) 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