AVR-Crypto-Lib: Unterschied zwischen den Versionen
(→PRNGs) |
Bg (Diskussion | Beiträge) |
||
(43 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Bild:UC-Crypto-logo.png|right]] | [[Bild:UC-Crypto-logo.png|right]] | ||
for an english version of this site go to [[Crypto- | for an english version of this site go to [[AVR-Crypto-Lib/en]]. | ||
---- | |||
'''[[WICHTIG:]]''' | |||
Diese Seite ist inzwischen [[veraltet]]. Mittlerweile hat sich eine Menge getan. | |||
Wir tun unser Bestes, um diese Seite so bald wie möglich auf den aktuellen Stand zu bringen. | |||
Die Angaben auf dieser Seite sind nur noch zur groben Orientierung geeignet, bitte betrachtet sie mit Vorsicht. | |||
--[[Benutzer:Bg|Bg]] 23:58, 25. Mär. 2012 (CEST) | |||
---- | |||
==Wo finde ich das== | ==Wo finde ich das== | ||
===repository=== | |||
git: git clone [https://git.cryptolib.org/avr-crypto-lib.git http://git.cryptolib.org/avr-crypto-lib.git] | |||
via Trac:[https://trac.cryptolib.org/avr-crypto-lib/browser https://trac.cryptolib.org/avr-crypto-lib/browser] | |||
==Short Facts== | ==Short Facts== | ||
Zeile 13: | Zeile 24: | ||
*noch kleinere Implementierungen von Kryptofunktionen in Assembler (ATmega, gnu-avr-as) | *noch kleinere Implementierungen von Kryptofunktionen in Assembler (ATmega, gnu-avr-as) | ||
*alle Funktionen sind '''reentrant''' (außer den Funktionen des Zufallsgenerators "Entropium") | *alle Funktionen sind '''reentrant''' (außer den Funktionen des Zufallsgenerators "Entropium") | ||
*Lizenz: GPLv3 (nahezu alles) (andere Lizenz auf Anfrage beim Autor) | *Lizenz: GPLv3 (nahezu alles) (andere Lizenz auf Anfrage beim [[Benutzer:Bg|Autor]]) | ||
==About== | ==About== | ||
Die | Die AVR-Crypto-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 | 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== | ==Was soll rein== | ||
===Symmetrisch=== | ===Symmetrisch=== | ||
====Block==== | ====Block==== | ||
{| | {| {{prettytable}} | ||
| twofish | | twofish | ||
| blowfish | |||
|- | |- | ||
| idea | | idea | ||
| kasumi | | kasumi | ||
|- | |- | ||
| mars | | mars | ||
| misty-1 | |||
|} | |} | ||
====Stream==== | ====Stream==== | ||
{| | {| {{prettytable}} | ||
|seal | |seal | ||
|Turing | |Turing | ||
|- | |- | ||
|Rabbit | |Rabbit | ||
| | | | ||
|} | |} | ||
===Hashes=== | ===Hashes=== | ||
{| {{prettytable}} | |||
|ripemd | |||
|} | |||
===Asymmetrisch=== | ===Asymmetrisch=== | ||
{| | {| {{prettytable}} | ||
|DH | |DH | ||
|ElGamal | |ElGamal | ||
|- | |- | ||
| | |ECDSA | ||
| | |ECDH | ||
|} | |} | ||
==Was ist da== | ==Was ist da== | ||
=== | ===Blockchiffren=== | ||
*AES | |||
* | *Camellia | ||
*CAST5 | *CAST5 | ||
* | *DES | ||
* | *TDES (aka EDE-DES, 3DES) | ||
*Noekeon | *Noekeon | ||
*Present | |||
*RC5 | *RC5 | ||
*RC6 | *RC6 | ||
*SEED | *SEED | ||
* | *Serpent | ||
*SHABEA | *SHABEA | ||
* | *Skipjack | ||
* | *Threefish | ||
*XTEA | |||
=== | ===Stromchiffren=== | ||
*ARCFOUR (RC4 kompatibel) | *ARCFOUR (RC4 kompatibel) | ||
*Trivium | *Trivium | ||
*Grain | *Grain | ||
*MUGI | |||
*Mickey-128 (v2) | |||
===Hashes=== | ===Hashes=== | ||
*Blake | |||
*BlueMidnightWish | |||
*CubeHash | |||
*Echo | |||
*Grøstl | |||
*MD5 | |||
*SHA-256 | *SHA-256 | ||
*SHA-1 | *SHA-1 | ||
* | *SHA-3 (Keccak) | ||
*Shabal | |||
*Skein | |||
*Twister | |||
*Whirlpool | |||
===Asymmetrisch=== | |||
*DSA | |||
*RSA | |||
===Sonstiges=== | ===Sonstiges=== | ||
*HMAC-SHA256 (nach RFC 2104) | *HMAC-SHA256 (nach RFC 2104) | ||
*HMAC-SHA1 | |||
*HMAC-MD5 | |||
*CBC | |||
*PRNG | *PRNG | ||
==Facts== | ==Facts== | ||
===Blockchiffren=== | ===Blockchiffren=== | ||
{ | {{cryptoavrlib_blockcipher_table | ||
|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=== | ===Stromchiffren=== | ||
{ | {{cryptoavrlib_streamcipher_table | ||
|name_n=Name | |||
|variant_n=Variante | |||
|lang_n=Sprache | |||
|size_n=Größe | |||
|keysize_n=Schlüssellänge | |||
|outsize_n=Ausgabegröße | |||
|flash_n=Flash | |||
|context_n=Kontext | |||
|stack_n=Stack | |||
|init_n=Initialisierung | |||
|gen_n=Generierung | |||
|cycles_n=Taktzyklen | |||
|attacs_n=Angriffe | |||
| | |paper_n=Paper | ||
| | |license_n=Lizenz / Patente | ||
| | }} | ||
| | |||
| | |||
===Hashes=== | ===Hashes=== | ||
{{cryptoavrlib_hash_table | |||
|name_n=Name | |||
|variant_n=Variante | |||
|lang_n=Sprache | |||
|size_n=Größe | |||
|hashsize_n=Länge des Hash-Wertes | |||
|blocksize_n=Blockgröße | |||
|flash_n=Flash | |||
|context_n=Kontext | |||
|stack_n=Stack | |||
|init_n=Initialisierung | |||
|pblock_n=pro Block | |||
|fin_n=Finalisierung | |||
|cycles_n=Taktzyklen | |||
|pbyte_n=pro Byte | |||
|attacs_n=Angriffe | |||
|paper_n=Paper | |||
|license_n=Lizenz / Patente | |||
}} | |||
===MACs=== | ===MACs=== | ||
{ | {{cryptoavrlib_mac_table | ||
|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 | |||
|pblock_n=pro Block | |||
|fin_n=Finalisierung | |||
|cycles_n=Taktzyklen | |||
|attacs_n=Angriffe | |||
|paper_n=Paper | |||
|license_n=Lizenz / Patente | |||
}} | |||
===PRNGs=== | ===PRNGs=== | ||
{ | {{cryptoavrlib_prng_table | ||
|name_n=Name | |||
|variant_n=Variante | |||
|lang_n=Sprache | |||
|size_n=Größe | |||
|blocksize_n=Blockgröße | |||
|flash_n=Flash | |||
|context_n=Kontext | |||
|stack_n=Stack | |||
|in_n=Eingabes | |||
|out_n=Ausgabe | |||
|cycles_n=Taktzyklen | |||
|attacs_n=Angriffe | |||
|paper_n=Paper | |||
|license_n=Lizenz / Patente | |||
}} | |||
[[Kategorie:Microcontroller]] | [[Kategorie:Microcontroller]] | ||
[[Kategorie:Kryptographie]] | [[Kategorie:Kryptographie]] |
Version vom 16. Februar 2014, 16:13 Uhr
for an english version of this site go to AVR-Crypto-Lib/en.
WICHTIG: Diese Seite ist inzwischen veraltet. Mittlerweile hat sich eine Menge getan. Wir tun unser Bestes, um diese Seite so bald wie möglich auf den aktuellen Stand zu bringen. Die Angaben auf dieser Seite sind nur noch zur groben Orientierung geeignet, bitte betrachtet sie mit Vorsicht. --Bg 23:58, 25. Mär. 2012 (CEST)
Wo finde ich das
repository
git: git clone http://git.cryptolib.org/avr-crypto-lib.git
via Trac:https://trac.cryptolib.org/avr-crypto-lib/browser
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 AVR-Crypto-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
twofish | blowfish |
idea | kasumi |
mars | misty-1 |
Stream
seal | Turing |
Rabbit |
Hashes
ripemd |
Asymmetrisch
DH | ElGamal |
ECDSA | ECDH |
Was ist da
Blockchiffren
- AES
- Camellia
- CAST5
- DES
- TDES (aka EDE-DES, 3DES)
- Noekeon
- Present
- RC5
- RC6
- SEED
- Serpent
- SHABEA
- Skipjack
- Threefish
- XTEA
Stromchiffren
- ARCFOUR (RC4 kompatibel)
- Trivium
- Grain
- MUGI
- Mickey-128 (v2)
Hashes
- Blake
- BlueMidnightWish
- CubeHash
- Echo
- Grøstl
- MD5
- SHA-256
- SHA-1
- SHA-3 (Keccak)
- Shabal
- Skein
- Twister
- Whirlpool
Asymmetrisch
- DSA
- RSA
Sonstiges
- HMAC-SHA256 (nach RFC 2104)
- HMAC-SHA1
- HMAC-MD5
- CBC
- PRNG
Facts
Blockchiffren
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 (Verschlüsselung) | Taktzyklen (Entschlüsselung) | Nessie test | Angriffe | Paper | Lizenz / Patente | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AES | 128 | C | 2668 | 176 | 128 | 128 | 4632 | 21279 | 39340 | ok | |||||
AES | 192 | C | 2668 | 208 | 192 | 128 | 5082 | 25724 | 47799 | ok | |||||
AES | 256 | C | 2668 | 240 | 256 | 128 | 6161 | 30174 | 56253 | ok | |||||
AES | 128 | Asm | 2070 | 176 | 128 | 128 | 2039 | 2555 | 6764 | unconfirmed | |||||
AES | 192 | Asm | 2070 | 208 | 128 | 128 | 2267 | 3039 | 8164 | unconfirmed | |||||
AES | 256 | Asm | 2070 | 240 | 128 | 128 | 2852 | 3521 | 9562 | unconfirmed | |||||
AES | 128-fastdec | Asm | 2580 | 176 | 128 | 128 | 2039 | 2555 | 3193 | unconfirmed | |||||
AES | 192-fastdec | Asm | 2580 | 208 | 128 | 128 | 2267 | 3039 | 3819 | unconfirmed | |||||
AES | 256-fastdec | Asm | 2580 | 240 | 128 | 128 | 2852 | 3521 | 4443 | unconfirmed | |||||
Camellia | C | C | 8694 | 32 | 128 | 128 | 10190 | 43200 | 44066 | unconfirmed | |||||
Camellia | C+Asm | C+Asm | 4088 | 32 | 128 | 128 | 11115 | 10185 | 10217 | unconfirmed | |||||
Cast5 | C | C | 14312 | 75 | 0 – 128 | 64 | 13742 | 12550 | 13109 | unconfirmed | |||||
RC5 | RC5-32/r/b | C | 1650 | 3+(8*#Runden+1) | 1 – 2040 | 79352 | 7827 | 7223 | unconfirmed | US-Patent 5,724,428 expires: 03/03/2015 | |||||
RC6 | RC6-32/r/b | C | 2780 | 19+(8*#Runden) | 1 – 2040 | 128 | 139940 | 26600 | 25986 | unconfirmed | |||||
Noekeon | C | C | 1616 | 0 (16) | 128 | 128 | 26037 | 25798 | 26396 | unconfirmed | |||||
Noekeon | Asm | Asm | 774 | 0 (16) | 128 | 128 | 10416 | 10191 | 10745 | unconfirmed | |||||
DES | C | C | 2642 | 0 | 56 | 64 | – | 284952 | 284977 | unconfirmed | |||||
TDES | C | C | 2642 | 0 | 168 | 64 | – | 852082 | 852107 | unconfirmed | |||||
Serpent | Non-bitslice | C | 3064 | 528 | 1 – 256 | 128 | 537021 | 492884 | 493004 | unconfirmed | |||||
Serpent | Non-bitslice, small | Asm | 1290 | 528 | 1 – 256 | 128 | 114844 | 105771 | 105871 | unconfirmed | |||||
Serpent | Non-bitslice, fast | Asm | 1400 | 528 | 1 – 256 | 128 | 110582 | 101648 | 101743 | unconfirmed | |||||
Serpent | bitslice | C | 4482 | 528 | 1 – 256 | 128 | 102098 | 70827 | 70462 | unconfirmed | |||||
Skipjack | C | C | 1144 | 0 | 80 | 64 | – | 38109 | 38450 | unconfirmed | |||||
Present | C | C | 1514 | 256 | 80 | 64 | 30395 | 105796 | 151624 | unconfirmed | |||||
SEED | C | C | 3726 | 16 | 128 | 128 | 181 | 56906 | 56427 | unconfirmed | |||||
SEED | Asm | Asm | 1656 | 16 | 128 | 128 | 181 | 11401 | 11394 | unconfirmed | |||||
XTEA | C | C | 820 | 0 | 128 | 64 | – | 9912 | 9789 | unconfirmed | |||||
XTEA | Asm | Asm | 504 | 0 | 128 | 64 | – | 7687 | 7688 | unconfirmed | |||||
Shabea | C | C | 1988 | 0 | 0 – infinit | 256 | unconfirmed | ||||||||
Threefish-256 | Asm | Asm | 5068 | 64 | 256 | 256 | 375 | 40936 | 40912 | unconfirmed | |||||
Threefish-512 | Asm | Asm | 5068 | 96 | 512 | 512 | 547 | 93020 | 93240 | unconfirmed | |||||
Threefish-1024 | Asm | Asm | 5068 | 160 | 1024 | 1024 | 892 | 220606 | 218694 | unconfirmed | |||||
Threefish-256 | C | C | 19752 | 64 | 256 | 256 | 806 | 229592 | 223251 | unconfirmed | |||||
Threefish-512 | C | C | 19752 | 96 | 512 | 512 | 1299 | 453625 | 440279 | unconfirmed | |||||
Threefish-1024 | C | C | 19752 | 160 | 1024 | 1024 | 2267 | 1033056 | 1010445 | unconfirmed | |||||
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 (Verschlüsselung) | Taktzyklen (Entschlüsselung) | Nessie test | Angriffe | Paper | Lizenz / Patente |
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 (pro 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 |