AVR-Crypto-Lib: Unterschied zwischen den Versionen
Bg (Diskussion | Beiträge) |
Bg (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
Zeile 61: | Zeile 61: | ||
==Was ist da== | ==Was ist da== | ||
=== | ===Blockchiffren=== | ||
*XTEA | *XTEA | ||
*CAST5 | *CAST5 | ||
Zeile 77: | Zeile 76: | ||
*Present | *Present | ||
=== | ===Stromchiffren=== | ||
*ARCFOUR (RC4 kompatibel) | *ARCFOUR (RC4 kompatibel) | ||
*Trivium | *Trivium | ||
*Grain | *Grain | ||
===Hashes=== | ===Hashes=== | ||
Zeile 95: | Zeile 92: | ||
==Facts== | ==Facts== | ||
===Blockchiffren=== | ===Blockchiffren=== | ||
|name_n=Name | |name_n=Name | ||
|variant_n=Variante | |variant_n=Variante |
Version vom 10. Dezember 2008, 18:11 Uhr
for an english version of this site go to Crypto-avr-lib/en.
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)
- alle Funktionen sind reentrant (außer den Funktionen des Zufallsgenerators "Entropium")
- Lizenz: GPLv3 (nahezu alles) (andere Lizenz auf Anfrage beim Autor)
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 unteren KiB-Bereich) kann in der Regel keine Standard- oder Referenzimplementierung (in C) für den Mikrocontroller genutzt werden. Daher werden hier sowohl 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* | cast6 | twofish |
idea | kasumi | misty-1 |
shacal-2 | E2 | mars |
*=(davon gibt es eigentlich schon eine Menge)
Stream
seal | Turing |
Rabbit | mickey-128 |
Hashes
- ripemd
- whirlpool
Asymmetrisch
DH | RSA | ElGamal |
EC | DSA |
Was ist da
Blockchiffren
- XTEA
- CAST5
- Camellia
- Skipjack
- Noekeon
- RC5
- RC6
- SEED
- DES
- TDES (aka EDE-DES, 3DES)
- SHABEA
- Serpent
- Present
Stromchiffren
- ARCFOUR (RC4 kompatibel)
- Trivium
- Grain
Hashes
- SHA-256
- SHA-1
- MD5
Sonstiges
- HMAC-SHA256 (nach RFC 2104)
- PRNG
Facts
Blockchiffren
|name_n=Name |variant_n=Variante |lang_n=Sprache |size_n=Größe |keysize_n=Schlüssellänge |blocksize_n=Blockgröße |flash_n=Flash |context_n=Kontext |stack_n=Stack |init_n=Initialisierung |enc_n=Verschlüsselung |dec_n=Entschlüsselung |cycles_n=Taktzyklen |attacs_n=Angriffe |paper_n=Paper |license_n=Lizenz / Patente |rounds_n=Runden
}}
Stromchiffren
Name | Variante | Sprache | Größe (Flash) (Bytes) | Größe (Kontext) (Bytes) | Größe (Stack) (Bytes) | Schlüssellänge (Bits) | Ausgabegröße (Bits) | Taktzyklen (Initialisierung) | Taktzyklen (Generierung) | Angriffe | Paper | Lizenz / Patente |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ARCFOUR | C | C | 230 | 258 | 8 – 2040 | 8 | 64086 | 56 | ||||
ARCFOUR | Asm | Asm | 112 | 258 | 8 – 2040 | 8 | 6689 | 42 | ||||
Trivium | C | C | 424 | 36 | 80 | 1 | 775726 | 665 | ||||
Grain | C | C | 778 | 20 | 80 | 1 | 107366 | 617 | ||||
MUGI | C | C | 3500 | 152 | 128 | 64 | 113886 | 4105 |
Hashes
Name | Variante | Sprache | Größe (Flash) (Bytes) | Größe (Kontext) (Bytes) | Größe (Stack) (Bytes) | Länge des Hash-Wertes (Bits) | Blockgröße (Bits) | Taktzyklen (Initialisierung) | Taktzyklen (pro Block) | Taktzyklen (per byte) | Taktzyklen (Finalisierung) | Angriffe | Paper | Lizenz / Patente |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Blake-28 | C | C | 3508 | 53 | 192 | 224 | 512 | 343 | 71340 | 1114.69 | 71907 | |||
Blake-32 | C | C | 6684 | 53 | 192 | 256 | 512 | 344 | 71340 | 1114.69 | 71975 | |||
Blake-48 | C | C | 3508 | 101 | 376 | 384 | 1024 | 884 | 510637 | 3989.35 | 518644 | |||
Blake-64 | C | C | 6684 | 101 | 376 | 512 | 1024 | 885 | 510637 | 3989.35 | 521119 | |||
BlueMidnightWish-224 | size | C | 4478 | 68 | 288 | 224 | 512 | 404 | 109548 | 1711.69 | 220709 | |||
BlueMidnightWish-224 | C | C | 6721 | 68 | 470 | 224 | 512 | 404 | 88759 | 1386.86 | 179107 | |||
BlueMidnightWish-224 | seperate | asm | 1536 | 68 | 246 | 224 | 512 | 509 | 52979 | 827.80 | 106634 | |||
BlueMidnightWish-224 | tiny | asm | 1590 | 68 | 246 | 224 | 512 | 509 | 52979 | 827.80 | 106640 | |||
BlueMidnightWish-224 | asm | asm | 3274 | 68 | 250 | 224 | 512 | 229 | 31421 | 490.95 | 63422 | |||
BlueMidnightWish-256 | size | C | 4478 | 68 | 288 | 256 | 512 | 404 | 109548 | 1711.69 | 220737 | |||
BlueMidnightWish-256 | C | C | 6721 | 68 | 470 | 256 | 512 | 404 | 88759 | 1386.86 | 179131 | |||
BlueMidnightWish-256 | seperate | asm | 1536 | 68 | 246 | 256 | 512 | 513 | 52979 | 827.80 | 106659 | |||
BlueMidnightWish-256 | tiny | asm | 1590 | 68 | 246 | 256 | 512 | 515 | 52979 | 827.80 | 106659 | |||
BlueMidnightWish-256 | asm | asm | 3274 | 68 | 250 | 256 | 512 | 231 | 31421 | 490.95 | 63455 | |||
BlueMidnightWish-384 | size | C | 17729 | 132 | 914 | 384 | 1024 | 2004 | 382079 | 2984.99 | 767017 | |||
BlueMidnightWish-384 | C | C | 17729 | 132 | 914 | 384 | 1024 | 2004 | 382079 | 2984.99 | 767017 | |||
BlueMidnightWish-512 | size | C | 17729 | 132 | 914 | 512 | 1024 | 2005 | 382079 | 2984.99 | 767125 | |||
BlueMidnightWish-512 | C | C | 17729 | 132 | 914 | 512 | 1024 | 2005 | 382079 | 2984.99 | 767125 | |||
CubeHash-224 | C | C | 1502 | 130 | 76 | 224 | 256 | 635986 | 64027 | 2000.84 | 700639 | |||
CubeHash-256 | C | C | 1502 | 130 | 76 | 256 | 256 | 635986 | 64027 | 2000.84 | 700664 | |||
CubeHash-384 | C | C | 1502 | 130 | 76 | 384 | 256 | 635986 | 64027 | 2000.84 | 700802 | |||
CubeHash-512 | C | C | 1502 | 130 | 76 | 512 | 256 | 635986 | 64027 | 2000.84 | 700934 | |||
ECHO-224 | C | C | 4324 | 90 | 585 | 224 | 1536 | 450 | 222446 | 1158.57 | 223610 | |||
ECHO-256 | C | C | 4324 | 90 | 585 | 256 | 1536 | 454 | 222446 | 1158.57 | 223635 | |||
ECHO-384 | C | C | 4324 | 154 | 521 | 384 | 1024 | 841 | 275324 | 2150.97 | 276329 | |||
ECHO-512 | C | C | 4324 | 154 | 521 | 512 | 1024 | 828 | 275324 | 2150.97 | 276441 | |||
Groestl-224 | C | C | 2234 | 68 | 250 | 224 | 512 | 323 | 522120 | 8158.12 | 783256 | |||
Groestl-256 | C | C | 2234 | 68 | 250 | 256 | 512 | 323 | 522120 | 8158.12 | 783289 | |||
Groestl-384 | C | C | 2330 | 132 | 450 | 384 | 1024 | 662 | 1459656 | 11403.56 | 2189646 | |||
Groestl-512 | C | C | 2330 | 132 | 450 | 512 | 1024 | 661 | 1459656 | 11403.56 | 2189774 | |||
Keccak-224 | C | C | 2889 | 206 | 412 | 224 | 1152 | 1049 | 642795 | 4463.85 | 643979 | |||
Keccak-256 | C | C | 2889 | 206 | 404 | 256 | 1088 | 1049 | 642707 | 4725.79 | 643875 | |||
Keccak-384 | C | C | 2889 | 206 | 372 | 384 | 832 | 1049 | 642355 | 6176.49 | 643456 | |||
Keccak-512 | C | C | 2889 | 206 | 340 | 512 | 576 | 1049 | 642003 | 8916.71 | 643043 | |||
MD5 | C | C | 2506 | 20 | 172 | 128 | 512 | 32 | 42642 | 666.28 | 43057 | |||
MD5 | asm | asm | 1686 | 20 | 117 | 128 | 512 | 32 | 18258 | 285.28 | 18556 | |||
SHA-1 | C | C | 2526 | 28 | 225 | 160 | 512 | 52 | 75766 | 1183.84 | 76762 | |||
SHA-1 | asm | asm | 1022 | 28 | 170 | 160 | 512 | 181 | 37030 | 578.59 | 37275 | |||
SHA-256 | C | C | 3240 | 40 | 405 | 256 | 512 | 225 | 177455 | 2772.73 | 181789 | |||
SHA-256 | asm | asm | 1598 | 40 | 376 | 256 | 512 | 298 | 50125 | 783.20 | 50479 | |||
Shabal-192 | C | C | 2312 | 188 | 106 | 192 | 512 | 1549 | 59423 | 928.48 | 231621 | |||
Shabal-192 | asm | asm | 1580 | 188 | 90 | 192 | 512 | 1047 | 13689 | 213.89 | 50762 | |||
Shabal-224 | C | C | 2312 | 188 | 106 | 224 | 512 | 1549 | 59423 | 928.48 | 231650 | |||
Shabal-224 | asm | asm | 1580 | 188 | 90 | 224 | 512 | 1047 | 13689 | 213.89 | 50793 | |||
Shabal-256 | C | C | 2312 | 188 | 106 | 256 | 512 | 1549 | 59423 | 928.48 | 231699 | |||
Shabal-256 | asm | asm | 1580 | 188 | 90 | 256 | 512 | 1047 | 13689 | 213.89 | 50825 | |||
Shabal-384 | C | C | 2312 | 188 | 106 | 384 | 512 | 1549 | 59423 | 928.48 | 231824 | |||
Shabal-384 | asm | asm | 1580 | 188 | 90 | 384 | 512 | 1047 | 13689 | 213.89 | 50930 | |||
Shabal-512 | C | C | 2312 | 188 | 106 | 512 | 512 | 1549 | 59423 | 928.48 | 231952 | |||
Shabal-512 | asm | asm | 1578 | 188 | 90 | 512 | 512 | 1047 | 13689 | 213.89 | 51050 | |||
Skein-1024-1024 | C | C | 7130 | 146 | 643 | 1024 | 1024 | 1124414 | 1122133 | 8766.66 | 2245416 | |||
Skein-1024-1024 | asm | asm | 2486 | 146 | 487 | 1024 | 1024 | 222141 | 220067 | 1719.27 | 441455 | |||
Skein-1024-128 | C | C | 7130 | 146 | 643 | 128 | 1024 | 1124414 | 1122133 | 8766.66 | 2244520 | |||
Skein-1024-128 | asm | asm | 2486 | 146 | 487 | 128 | 1024 | 222141 | 220067 | 1719.27 | 440669 | |||
Skein-1024-160 | C | C | 7130 | 146 | 643 | 160 | 1024 | 1124414 | 1122133 | 8766.66 | 2244552 | |||
Skein-1024-160 | asm | asm | 2486 | 146 | 487 | 160 | 1024 | 222141 | 220067 | 1719.27 | 440697 | |||
Skein-1024-224 | C | C | 7130 | 146 | 643 | 224 | 1024 | 1124414 | 1122133 | 8766.66 | 2244616 | |||
Skein-1024-224 | asm | asm | 2486 | 146 | 487 | 224 | 1024 | 222141 | 220067 | 1719.27 | 440753 | |||
Skein-1024-256 | C | C | 7130 | 146 | 643 | 256 | 1024 | 1124414 | 1122133 | 8766.66 | 2244648 | |||
Skein-1024-256 | asm | asm | 2486 | 146 | 487 | 256 | 1024 | 222141 | 220067 | 1719.27 | 440781 | |||
Skein-1024-384 | C | C | 7130 | 146 | 643 | 384 | 1024 | 1124414 | 1122133 | 8766.66 | 2244776 | |||
Skein-1024-384 | asm | asm | 2486 | 146 | 487 | 384 | 1024 | 222141 | 220067 | 1719.27 | 440893 | |||
Skein-1024-512 | C | C | 7130 | 146 | 643 | 512 | 1024 | 1124414 | 1122133 | 8766.66 | 2244904 | |||
Skein-1024-512 | asm | asm | 2486 | 146 | 487 | 512 | 1024 | 222141 | 220067 | 1719.27 | 441005 | |||
Skein-256-128 | C | C | 4986 | 50 | 281 | 128 | 256 | 233990 | 232285 | 7258.91 | 465291 | |||
Skein-256-128 | asm | asm | 2052 | 50 | 194 | 128 | 256 | 39911 | 38606 | 1206.44 | 77830 | |||
Skein-256-160 | C | C | 4986 | 50 | 281 | 160 | 256 | 233990 | 232285 | 7258.91 | 465323 | |||
Skein-256-160 | asm | asm | 2052 | 50 | 194 | 160 | 256 | 39911 | 38606 | 1206.44 | 77858 | |||
Skein-256-224 | C | C | 4986 | 50 | 281 | 224 | 256 | 233990 | 232285 | 7258.91 | 465387 | |||
Skein-256-224 | asm | asm | 2052 | 50 | 194 | 224 | 256 | 39911 | 38606 | 1206.44 | 77914 | |||
Skein-256-256 | C | C | 4986 | 50 | 281 | 256 | 256 | 233990 | 232285 | 7258.91 | 465419 | |||
Skein-256-256 | asm | asm | 2052 | 50 | 194 | 256 | 256 | 39911 | 38606 | 1206.44 | 77944 | |||
Skein-256-384 | C | C | 4986 | 50 | 281 | 384 | 256 | 233990 | 232285 | 7258.91 | 698164 | |||
Skein-256-384 | asm | asm | 2052 | 50 | 194 | 384 | 256 | 39911 | 38606 | 1206.44 | 116992 | |||
Skein-256-512 | C | C | 4986 | 50 | 281 | 512 | 256 | 233990 | 232285 | 7258.91 | 698292 | |||
Skein-256-512 | asm | asm | 2052 | 50 | 194 | 512 | 256 | 39911 | 38606 | 1206.44 | 117103 | |||
Skein-512-1024 | C | C | 5466 | 82 | 399 | 1024 | 512 | 487951 | 486054 | 7594.59 | 1460518 | |||
Skein-512-1024 | asm | asm | 2154 | 82 | 291 | 1024 | 512 | 93984 | 92429 | 1444.20 | 279124 | |||
Skein-512-128 | C | C | 5466 | 82 | 399 | 128 | 512 | 487951 | 486054 | 7594.59 | 972682 | |||
Skein-512-128 | asm | asm | 2154 | 82 | 291 | 128 | 512 | 93984 | 92429 | 1444.20 | 185447 | |||
Skein-512-160 | C | C | 5466 | 82 | 399 | 160 | 512 | 487951 | 486054 | 7594.59 | 972714 | |||
Skein-512-160 | asm | asm | 2154 | 82 | 291 | 160 | 512 | 93984 | 92429 | 1444.20 | 185475 | |||
Skein-512-224 | C | C | 5466 | 82 | 399 | 224 | 512 | 487951 | 486054 | 7594.59 | 972778 | |||
Skein-512-224 | asm | asm | 2154 | 82 | 291 | 224 | 512 | 93984 | 92429 | 1444.20 | 185531 | |||
Skein-512-256 | C | C | 5466 | 82 | 399 | 256 | 512 | 487951 | 486054 | 7594.59 | 972810 | |||
Skein-512-256 | asm | asm | 2154 | 82 | 291 | 256 | 512 | 93984 | 92429 | 1444.20 | 185559 | |||
Skein-512-384 | C | C | 5466 | 82 | 399 | 384 | 512 | 487951 | 486054 | 7594.59 | 972938 | |||
Skein-512-384 | asm | asm | 2154 | 82 | 291 | 384 | 512 | 93984 | 92429 | 1444.20 | 185671 | |||
Skein-512-512 | C | C | 5466 | 82 | 399 | 512 | 512 | 487951 | 486054 | 7594.59 | 973066 | |||
Skein-512-512 | asm | asm | 2154 | 82 | 291 | 512 | 512 | 93984 | 92429 | 1444.20 | 185785 | |||
Twister-224 | C | C | 3248 | 80 | 250 | 224 | 512 | 398 | 240983 | 3765.36 | 509259 | |||
Twister-224 | asm | asm | 1614 | 80 | 2566 | 224 | 512 | 517 | 164208 | 2565.75 | 347203 | |||
Twister-256 | C | C | 3248 | 80 | 250 | 256 | 512 | 398 | 240983 | 3765.36 | 509395 | |||
Twister-256 | asm | asm | 1614 | 80 | 228 | 256 | 512 | 395 | 164208 | 2565.75 | 347264 | |||
Twister-384 | C | C | 3822 | 144 | 252 | 384 | 512 | 715 | 269537 | 4211.52 | 860078 | |||
Twister-384 | asm | asm | 2156 | 144 | 228 | 384 | 512 | 722 | 183008 | 2859.50 | 585820 | |||
Twister-512 | C | C | 3822 | 144 | 252 | 512 | 512 | 715 | 269537 | 4211.52 | 967704 | |||
Twister-512 | asm | asm | 2156 | 144 | 228 | 512 | 512 | 723 | 183008 | 2859.50 | 659311 |
MACs
Name | Variante | Sprache | Größe (Flash) (Bytes) | Größe (Kontext) (Bytes) | Größe (Stack) (Bytes) | Schlüssellänge (Bits) | Blockgröße (Bits) | Taktzyklen (Initialisierung) | Taktzyklen (pro Block) | Taktzyklen (Finalisierung) | Angriffe | Paper | Lizenz / Patente |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HMAC-SHA256 | C | 2712 (incl. SHA256) | 40 | beliebig | 512 | ||||||||
HMAC-SHA1 | C | 2182 (incl. SHA1) | 28 | beliebig | 512 | ||||||||
OMAC-Noekeon | Asm | 1184 (incl. Noekeon) | 16 | 128 | 128 | 95 | 10533 | 21474 | |||||
OMAC-Noekeon | C | 1284 (incl. Noekeon) | 16 | 128 | 128 | 95 | 10589 | 21741 |
PRNGs
Name | Variante | Sprache | Größe (Flash) (Bytes) | Größe (Kontext) (Bytes) | Größe (Stack) (Bytes) | Blockgröße (Bits) | Taktzyklen (Eingabes) | Taktzyklen (Ausgabe) | Angriffe | Paper | Lizenz / Patente |
---|---|---|---|---|---|---|---|---|---|---|---|
Entropium | C | 2174 | 64 | 256 |