ARM-Crypto-Lib/en
Aus LaborWiki
Eine deutsche Version dieses Artikels ist unter ARM-Crypto-Lib verfügbar.
This site is about the ARM-Crypto-Lib which is just in development.
Due to the currently ongoing process of setting up a repository, the code is currently not public available.
Currently the hash functions of the AVR-Crypto-Lib/en are implemented (excluding Twister).
Diese Bibliothek wird zunächst um alle C-Implementierungen der AVR-Crypto-Lib erweitert, anschließend wird es auch optimierte Assembler Implementierungen geben.
This library will next be extended by all the C-implementations from AVR-Crypto-Lib, and optimized assembly implementations will follow.
Available implementations
Hashes
- Blake
- BlueMidnightWish
- CubeHash
- Echo
- Grøstl
- Keccak
- MD5
- SHA-256
- SHA-1
- Shabal
- Skein
Facts regarding the implementations
Hashes
Name | Variant | Language | Size (Flash) (Bytes) | Size (Context) (Bytes) | Size (Stack) (Bytes) | Hashsize (Bits) | Blockize (Bits) | Cycles (Initialisation) | Cycles (per block) | Cycles (per byte) | Cycles (Finalisation) | Attacs | Paper | License / Patents |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |