VAMPIRE |
eBACS: ECRYPT Benchmarking of Cryptographic Systems |
ECRYPT II |
---|
General information: | Introduction | eBASH | eBASC | eBAEAD | eBATS | SUPERCOP | XBX | Computers | Arch |
---|
How to submit new software: | Tips | hash | stream | aead | dh | kem | encrypt | sign |
---|
List of primitives measured: | lwc | sha3 | hash | stream | lwc | caesar | aead | dh | kem | encrypt | sign |
---|
Measurements: | lwc | sha3 | hash | stream | lwc | caesar | aead | dh | kem | encrypt | sign |
---|
List of subroutines: | verify | decode | encode | sort | core | hashblocks | xof | scalarmult |
---|
There is a separate page that lists machines and, for each machine, the measurements of these hash functions.
Primitive | Description | Designers |
---|---|---|
bblake256 | BBLAKE-256: BLAKE-256(BLAKE-256(0,m0,m2,m4,...),BLAKE-256(1,m1,m3,m5,...)) where m0,m1,m2,... are 64-byte blocks |
BLAKE-256: see crypto_hash/blake256 Mindless 2-way tree mode: Daniel J. Bernstein |
bblake512 | BBLAKE-512: BLAKE-512(BLAKE-512(0,m0,m2,m4,...),BLAKE-512(1,m1,m3,m5,...)) where m0,m1,m2,... are 128-byte blocks |
BLAKE-512: see crypto_hash/blake512 |
blake32 | BLAKE-32: BLAKE with 32-bit words, 10 rounds, and 256-bit output |
Jean-Philippe Aumasson Luca Henzen Willi Meier Raphael C.-W. Phan |
blake64 | BLAKE-64: BLAKE with 64-bit words, 14 rounds, and 512-bit output |
Jean-Philippe Aumasson Luca Henzen Willi Meier Raphael C.-W. Phan |
blake256 | BLAKE-256: BLAKE with 32-bit words, 14 rounds, and 256-bit output; BLAKE team's final submission for SHA-3-256 |
Jean-Philippe Aumasson Luca Henzen Willi Meier Raphael C.-W. Phan |
blake512 | BLAKE-512: BLAKE with 64-bit words, 16 rounds, and 512-bit output; BLAKE team's final submission for SHA-3-512 |
Jean-Philippe Aumasson Luca Henzen Willi Meier Raphael C.-W. Phan |
blake2b | BLAKE2b: BLAKE2 with 64-bit words, 12 rounds, and 512-bit output |
Jean-Philippe Aumasson Samuel Neves Zooko Wilcox-O'Hearn Christian Winnerlein |
blake2s | BLAKE2s: BLAKE2 with 32-bit words, 10 rounds, and 256-bit output |
Jean-Philippe Aumasson Samuel Neves Zooko Wilcox-O'Hearn Christian Winnerlein |
groestl256 | Grøstl with 256-bit output; round-3 version starting in supercop-20110426; Grøstl team's final submission for SHA-3-256 |
Praveen Gauravaram Lars R. Knudsen Krystian Matusiewicz Florian Mendel Christian Rechberger Martin Schläffer Søren S. Thomsen |
groestl512 | Grøstl with 512-bit output; round-3 version starting in supercop-20110426; Grøstl team's final submission for SHA-3-512 |
Praveen Gauravaram Lars R. Knudsen Krystian Matusiewicz Florian Mendel Christian Rechberger Martin Schläffer Søren S. Thomsen |
jh224 | JH with 35.5 rounds and 224-bit output; round-2 version |
Hongjun Wu |
jh256 | JH with 35.5 rounds and 256-bit output; round-2 version |
Hongjun Wu |
jh384 | JH with 35.5 rounds and 384-bit output; round-2 version |
Hongjun Wu |
jh512 | JH with 35.5 rounds and 512-bit output; round-2 version |
Hongjun Wu |
k12 | ||
keccak | Keccak[]=Keccak[r=1024,c=576,nr=24] with 1024-bit output; padding tweaked starting in supercop-20110426 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | Keccak[r=1152,c=448,nr=24] with 224-bit output; padding tweaked starting in supercop-20110426; Keccak team's final submission for SHA-3-224 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | Keccak[r=1088,c=512,nr=24] with 256-bit output; padding tweaked starting in supercop-20110426; Keccak team's final submission for SHA-3-256 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | Keccak[r=832,c=768,nr=24] with 384-bit output; padding tweaked starting in supercop-20110426; Keccak team's final submission for SHA-3-384 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | Keccak[r=576,c=1024,nr=24] with 512-bit output; padding tweaked starting in supercop-20110426; Keccak team's final submission for SHA-3-512 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc256treed2 | Tree hashing layer on top of Keccak[r=1344,c=256] with height H=1, leaf interleaving, block size B=64 bits, C=8*ceil(c/8)=256, D=2 leaves (see ePrint 2009/210 Section 7.2), and 1344-bit output |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512treed2 | Tree hashing layer on top of Keccak[r=1088,c=512] with height H=1, leaf interleaving, block size B=64 bits, C=8*ceil(c/8)=512, D=2 leaves (see ePrint 2009/210 Section 7.2), and 1088-bit output |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
round3jh256 | JH with 42 rounds and 256-bit output; JH team's final submission for SHA-3-256 |
Hongjun Wu |
round3jh512 | JH with 42 rounds and 512-bit output; JH team's final submission for SHA-3-512 |
Hongjun Wu |
sha3224 | ||
sha3256 | ||
sha3384 | ||
sha3512 | ||
shake128 | ||
shake256 | ||
skein10241024 | Skein-1024-1024 with 1024-bit output; round-3 version starting in supercop-20100924 |
Niels Ferguson Stefan Lucks Bruce Schneier Doug Whiting Mihir Bellare Tadayoshi Kohno Jon Callas Jesse Walker |
skein256256 | Skein-256-256 with 256-bit output; round-3 version starting in supercop-20100924 |
Niels Ferguson Stefan Lucks Bruce Schneier Doug Whiting Mihir Bellare Tadayoshi Kohno Jon Callas Jesse Walker |
skein512256 | Skein-512-256 with 256-bit output; round-3 version; Skein team's final submission for SHA-3-256 |
Niels Ferguson Stefan Lucks Bruce Schneier Doug Whiting Mihir Bellare Tadayoshi Kohno Jon Callas Jesse Walker |
skein512512 | Skein-512-512 with 512-bit output; round-3 version starting in supercop-20100924; Skein team's final submission for SHA-3-512 |
Niels Ferguson Stefan Lucks Bruce Schneier Doug Whiting Mihir Bellare Tadayoshi Kohno Jon Callas Jesse Walker |
Primitive | Implementation | Authors |
---|---|---|
bblake256 | bswap |
based on: regs |
bblake256 | regs |
based on: blake256/regs tree mode: Daniel J. Bernstein |
bblake256 | sandy |
based on: bswap |
bblake256 | sse2 |
based on: blake256/sse2 tree mode: Daniel J. Bernstein |
bblake256 | ssse3 |
based on: bblake256/sse2, blake256/ssse3 |
bblake512 | xop |
Jean-Philippe Aumasson Samuel Neves |
blake32 | ref |
Jean-Philippe Aumasson |
blake32 | sphlib |
Thomas Pornin |
blake32 | sphlib-small |
Thomas Pornin |
blake32 | sse2 |
Jean-Philippe Aumasson Peter Schwabe |
blake32 | ssse3 |
Jean-Philippe Aumasson Peter Schwabe Samuel Neves |
blake64 | ref |
Jean-Philippe Aumasson |
blake64 | sphlib |
Thomas Pornin |
blake64 | sphlib-small |
Thomas Pornin |
blake64 | sse2 |
Jean-Philippe Aumasson Peter Schwabe |
blake64 | ssse3 |
Jean-Philippe Aumasson Peter Schwabe Samuel Neves |
blake256 | arm11 |
Peter Schwabe Bo-Yin Yang Shang-Yi Yang |
blake256 | arm_thumb2 |
Peter Schwabe Bo-Yin Yang Shang-Yi Yang Christian Wenzel-Benner |
blake256 | avxs |
Jean-Philippe Aumasson Samuel Neves |
blake256 | bswap |
based on: regs |
blake256 | ref |
Jean-Philippe Aumasson |
blake256 | regs |
based on: ref unrolling: Daniel J. Bernstein |
blake256 | sandy |
based on: bswap |
blake256 | sphlib |
Thomas Pornin |
blake256 | sphlib-small |
Thomas Pornin |
blake256 | sse2-2 |
based on: sse2 latency-oriented tweaks: Daniel J. Bernstein |
blake256 | sse2 |
Jean-Philippe Aumasson Shawn Kirst Peter Schwabe |
blake256 | sse41-2 |
Jean-Philippe Aumasson Samuel Neves |
blake256 | sse41 |
Jean-Philippe Aumasson Peter Schwabe Samuel Neves |
blake256 | ssse3 |
Jean-Philippe Aumasson Peter Schwabe Samuel Neves |
blake256 | vect128-neon |
Gaëtan Leurent |
blake256 | xop |
Jean-Philippe Aumasson Samuel Neves |
blake512 | bswap |
based on: regs |
blake512 | ref |
Jean-Philippe Aumasson |
blake512 | regs |
based on: ref, blake256/regs |
blake512 | sandy |
based on: bswap |
blake512 | sphlib |
Thomas Pornin |
blake512 | sphlib-small |
Thomas Pornin |
blake512 | sse2 |
Jean-Philippe Aumasson Shawn Kirst Peter Schwabe |
blake512 | sse2s |
Jean-Philippe Aumasson Peter Schwabe Samuel Neves |
blake512 | sse41 |
Jean-Philippe Aumasson Samuel Neves |
blake512 | ssse3 |
Jean-Philippe Aumasson Peter Schwabe Samuel Neves |
blake512 | vect128-neon |
Gaëtan Leurent |
blake512 | xop-2 |
Jean-Philippe Aumasson Samuel Neves |
blake512 | xop |
Jean-Philippe Aumasson Samuel Neves |
blake2b | avx2-1 |
Samuel Neves |
blake2b | avx2-2 |
Samuel Neves |
blake2b | avx2-3 |
Samuel Neves |
blake2b | avxicc |
Samuel Neves |
blake2b | moon/armv6/32 |
Andrew Moon |
blake2b | moon/avx2/32 |
Andrew Moon |
blake2b | moon/avx2/64 |
Andrew Moon |
blake2b | moon/avx/32 |
Andrew Moon |
blake2b | moon/avx/64 |
Andrew Moon |
blake2b | moon/neon/32 |
Andrew Moon |
blake2b | moon/sse2/32 |
Andrew Moon |
blake2b | moon/ssse3/32 |
Andrew Moon |
blake2b | moon/xop/32 |
Andrew Moon |
blake2b | moon/xop/64 |
Andrew Moon |
blake2b | ref |
Samuel Neves |
blake2b | regs |
Samuel Neves |
blake2b | xmm |
Samuel Neves |
blake2b | ymm |
Samuel Neves |
blake2s | avxicc |
Samuel Neves |
blake2s | moon/armv6/32 |
Andrew Moon |
blake2s | moon/avx/32 |
Andrew Moon |
blake2s | moon/avx/64 |
Andrew Moon |
blake2s | moon/sse2/32 |
Andrew Moon |
blake2s | moon/sse2/64 |
Andrew Moon |
blake2s | moon/ssse3/32 |
Andrew Moon |
blake2s | moon/ssse3/64 |
Andrew Moon |
blake2s | moon/xop/32 |
Andrew Moon |
blake2s | moon/xop/64 |
Andrew Moon |
blake2s | ref |
Samuel Neves |
blake2s | regs |
Samuel Neves |
blake2s | xmm |
Samuel Neves |
groestl256 | 32bit-2ktable |
Thomas Krinninger |
groestl256 | 32bit-bytesliced-c-fast |
Thomas Krinninger |
groestl256 | 32bit-bytesliced-c-small |
Martin Schläffer |
groestl256 | 8bit_c | |
groestl256 | aesni |
Krystian Matusiewicz Günther A. Roland Martin Schläffer |
groestl256 | aesni-intr |
Krystian Matusiewicz Günther A. Roland Martin Schläffer |
groestl256 | arm11 |
Peter Schwabe Bo-Yin Yang Shang-Yi Yang |
groestl256 | arm32 |
Wolfgang Wieser |
groestl256 | avr8asm/balanced |
Johannes Feichtner |
groestl256 | avr8asm/highspeed |
Johannes Feichtner |
groestl256 | avr8asm/lowram128 |
Johannes Feichtner |
groestl256 | avr8asm/lowram192a |
Johannes Feichtner |
groestl256 | avr8asm/lowram192b |
Johannes Feichtner |
groestl256 | avr8asm/lowram256 |
Johannes Feichtner |
groestl256 | avx |
Krystian Matusiewicz Günther A. Roland Martin Schläffer |
groestl256 | avx-intr |
Krystian Matusiewicz Günther A. Roland Martin Schläffer |
groestl256 | core2duo |
Krystian Matusiewicz |
groestl256 | mmx |
Søren S. Thomsen |
groestl256 | neon-bitslice |
Martin Schläffer Peter Schwabe Wolfgang Wieser |
groestl256 | neon-table |
Martin Schläffer Peter Schwabe David Seywald |
groestl256 | neon-vperm |
Severin Holzer-Graf |
groestl256 | opt32 |
Søren S. Thomsen |
groestl256 | opt64 |
Søren S. Thomsen Krystian Matusiewicz |
groestl256 | opteron |
Krystian Matusiewicz Søren S. Thomsen |
groestl256 | opteron-unrolled |
Krystian Matusiewicz Søren S. Thomsen |
groestl256 | sphlib-adapted |
Thomas Pornin |
groestl256 | sphlib |
Thomas Pornin |
groestl256 | sphlib-small |
Thomas Pornin |
groestl256 | thumb-asm-fast |
Thomas Krinninger |
groestl256 | thumb-asm-small |
Thomas Krinninger |
groestl256 | vperm |
Günther A. Roland Martin Schläffer |
groestl256 | vperm-intr |
Günther A. Roland Martin Schläffer |
groestl512 | 32bit-bytesliced-c-small |
Martin Schläffer |
groestl512 | aesni |
Krystian Matusiewicz Günther A. Roland Martin Schläffer |
groestl512 | aesni-intr |
Krystian Matusiewicz Günther A. Roland Martin Schläffer |
groestl512 | arm32 |
Wolfgang Wieser |
groestl512 | avx |
Krystian Matusiewicz Günther A. Roland Martin Schläffer |
groestl512 | avx-intr |
Krystian Matusiewicz Günther A. Roland Martin Schläffer |
groestl512 | core2duo |
Krystian Matusiewicz |
groestl512 | mmx |
Søren S. Thomsen |
groestl512 | neon-table |
Martin Schläffer Peter Schwabe David Seywald |
groestl512 | opt32 |
Søren S. Thomsen |
groestl512 | opt64 |
Søren S. Thomsen Krystian Matusiewicz |
groestl512 | opteron |
Krystian Matusiewicz Søren S. Thomsen |
groestl512 | sphlib-adapted |
Thomas Pornin |
groestl512 | sphlib |
Thomas Pornin |
groestl512 | sphlib-small |
Thomas Pornin |
groestl512 | vperm |
Günther A. Roland Martin Schläffer |
groestl512 | vperm-intr |
Günther A. Roland Martin Schläffer |
jh224 | bitslice_opt32 |
Hongjun Wu |
jh224 | bitslice_opt64 |
Hongjun Wu |
jh224 | bitslice_ref32 |
Hongjun Wu |
jh224 | bitslice_ref64 |
Hongjun Wu |
jh224 | bitslice_sse2_opt32 |
Hongjun Wu |
jh224 | bitslice_sse2_opt64 |
Hongjun Wu |
jh224 | simple |
based on: jh256/simple |
jh256 | bitslice_opt32 |
Hongjun Wu |
jh256 | bitslice_opt64 |
Hongjun Wu |
jh256 | bitslice_ref32 |
Hongjun Wu |
jh256 | bitslice_ref64 |
Hongjun Wu |
jh256 | bitslice_sse2_opt32 |
Hongjun Wu |
jh256 | bitslice_sse2_opt64 |
Hongjun Wu |
jh256 | simple |
based on: bitslice_opt64 streamlining: Daniel J. Bernstein |
jh384 | bitslice_opt32 |
Hongjun Wu |
jh384 | bitslice_opt64 |
Hongjun Wu |
jh384 | bitslice_ref32 |
Hongjun Wu |
jh384 | bitslice_ref64 |
Hongjun Wu |
jh384 | bitslice_sse2_opt32 |
Hongjun Wu |
jh384 | bitslice_sse2_opt64 |
Hongjun Wu |
jh384 | simple |
based on: jh256/simple |
jh512 | bitslice_opt32 |
Hongjun Wu |
jh512 | bitslice_opt64 |
Hongjun Wu |
jh512 | bitslice_ref32 |
Hongjun Wu |
jh512 | bitslice_ref64 |
Hongjun Wu |
jh512 | bitslice_sse2_opt32 |
Hongjun Wu |
jh512 | bitslice_sse2_opt64 |
Hongjun Wu |
jh512 | simple |
based on: jh256/simple |
k12 | kcp/compact1600 | |
k12 | kcp/compact1600AVR8 | |
k12 | kcp/inplace1600ARMv6M | |
k12 | kcp/inplace1600ARMv7A | |
k12 | kcp/inplace1600ARMv7M | |
k12 | kcp/inplace1600bi | |
k12 | kcp/optimized1600ARMv6Mu1 | |
k12 | kcp/optimized1600ARMv6Mu2 | |
k12 | kcp/optimized1600ARMv7A | |
k12 | kcp/optimized1600ARMv8A | |
k12 | kcp/optimized1600AsmX86-64 | |
k12 | kcp/optimized1600AsmX86-64Apple | |
k12 | kcp/optimized1600AsmX86-64shld | |
k12 | kcp/optimized1600AVR8 | |
k12 | kcp/optimized1600AVX2 | |
k12 | kcp/optimized1600AVX512 | |
k12 | kcp/optimized1600lcu6 | |
k12 | kcp/optimized1600lcufull | |
k12 | kcp/optimized1600lcufullshld | |
k12 | kcp/optimized1600u6 | |
k12 | kcp/optimized1600ufull | |
k12 | kcp/optimized1600XOPu6 | |
k12 | kcp/optimized1600XOPufull | |
k12 | kcp/reference1600-32bits | |
k12 | kcp/reference1600 | |
keccak | arm11 |
Peter Schwabe Bo-Yin Yang Shang-Yi Yang |
keccak | avr8 |
Ronny Van Keer |
keccak | avr8asmc |
Ronny Van Keer |
keccak | avr8asmf |
Ronny Van Keer |
keccak | compact8 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccak | compact |
Ronny Van Keer |
keccak | inplace32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccak | inplace32bi-armv6m |
Ronny Van Keer |
keccak | inplace32bi-armv7a |
Ronny Van Keer |
keccak | inplace32bi-armv7m |
Ronny Van Keer |
keccak | inplace |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccak | inplace-armv7a-neon |
Ronny Van Keer |
keccak | mmxu1 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccak | opt32bi-rvku2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccak | opt32bi-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccak | opt32biT-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccak | opt64lcu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccak | opt64lcu24shld |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccak | opt64lcu6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccak | opt64u6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccak | simple32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccak | simple |
Ronny Van Keer |
keccak | sseu2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccak | x86_64_asm |
Ronny Van Keer |
keccak | x86_64_shld |
Ronny Van Keer |
keccak | xopu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | avr8 |
Ronny Van Keer |
keccakc448 | avr8asmc |
Ronny Van Keer |
keccakc448 | avr8asmf |
Ronny Van Keer |
keccakc448 | compact8 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc448 | compact |
Ronny Van Keer |
keccakc448 | inplace32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc448 | inplace32bi-armv6m |
Ronny Van Keer |
keccakc448 | inplace32bi-armv7a |
Ronny Van Keer |
keccakc448 | inplace32bi-armv7m |
Ronny Van Keer |
keccakc448 | inplace |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc448 | mmxu1 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | opt32bi-rvku2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc448 | opt32bi-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | opt32biT-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | opt64lcu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | opt64lcu24shld |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | opt64lcu6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | opt64u6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | simple32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc448 | simple |
Ronny Van Keer |
keccakc448 | sseu2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc448 | x86_64_asm |
Ronny Van Keer |
keccakc448 | x86_64_shld |
Ronny Van Keer |
keccakc448 | xopu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | avr8 |
Ronny Van Keer |
keccakc512 | avr8asmc |
Ronny Van Keer |
keccakc512 | avr8asmf |
Ronny Van Keer |
keccakc512 | compact8 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc512 | compact |
Ronny Van Keer |
keccakc512 | gil/singlefile |
David Leon Gil |
keccakc512 | gil/singlefile_unrolled |
David Leon Gil |
keccakc512 | inplace32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc512 | inplace32bi-armv6m |
Ronny Van Keer |
keccakc512 | inplace32bi-armv7a |
Ronny Van Keer |
keccakc512 | inplace32bi-armv7m |
Ronny Van Keer |
keccakc512 | inplace |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc512 | inplace-armv7a-neon |
Ronny Van Keer |
keccakc512 | mmxu1 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | opt32bi-rvku2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc512 | opt32bi-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | opt32biT-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | opt64lcu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | opt64lcu24shld |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | opt64lcu6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | opt64u6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | simple32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc512 | simple |
Ronny Van Keer |
keccakc512 | sphlib |
Thomas Pornin |
keccakc512 | sphlib-small |
Thomas Pornin |
keccakc512 | sseu2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512 | x86_64_asm |
Ronny Van Keer |
keccakc512 | x86_64_shld |
Ronny Van Keer |
keccakc512 | xopu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | avr8 |
Ronny Van Keer |
keccakc768 | avr8asmc |
Ronny Van Keer |
keccakc768 | avr8asmf |
Ronny Van Keer |
keccakc768 | compact8 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc768 | compact |
Ronny Van Keer |
keccakc768 | inplace32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc768 | inplace32bi-armv6m |
Ronny Van Keer |
keccakc768 | inplace32bi-armv7a |
Ronny Van Keer |
keccakc768 | inplace32bi-armv7m |
Ronny Van Keer |
keccakc768 | inplace |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc768 | mmxu1 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | opt32bi-rvku2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc768 | opt32bi-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | opt32biT-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | opt64lcu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | opt64lcu24shld |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | opt64lcu6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | opt64u6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | simple32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc768 | simple |
Ronny Van Keer |
keccakc768 | sseu2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc768 | x86_64_asm |
Ronny Van Keer |
keccakc768 | x86_64_shld |
Ronny Van Keer |
keccakc768 | xopu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | avr8 |
Ronny Van Keer |
keccakc1024 | avr8asmc |
Ronny Van Keer |
keccakc1024 | avr8asmf |
Ronny Van Keer |
keccakc1024 | compact8 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc1024 | compact |
Ronny Van Keer |
keccakc1024 | inplace32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc1024 | inplace32bi-armv6m |
Ronny Van Keer |
keccakc1024 | inplace32bi-armv7a |
Ronny Van Keer |
keccakc1024 | inplace32bi-armv7m |
Ronny Van Keer |
keccakc1024 | inplace |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc1024 | inplace-armv7a-neon |
Ronny Van Keer |
keccakc1024 | mmxu1 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | opt32bi-rvku2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc1024 | opt32bi-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | opt32biT-s2lcu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | opt64lcu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | opt64lcu24shld |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | opt64lcu6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | opt64u6 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | simple32bi |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
keccakc1024 | simple |
Ronny Van Keer |
keccakc1024 | sphlib |
Thomas Pornin |
keccakc1024 | sphlib-small |
Thomas Pornin |
keccakc1024 | sseu2 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc1024 | x86_64_asm |
Ronny Van Keer |
keccakc1024 | x86_64_shld |
Ronny Van Keer |
keccakc1024 | xopu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc256treed2 | sseu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc256treed2 | sseu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc256treed2 | xopu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512treed2 | sseu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512treed2 | sseu4 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
keccakc512treed2 | xopu24 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche |
round3jh256 | arm11 |
Peter Schwabe Bo-Yin Yang Shang-Yi Yang |
round3jh256 | neon2 |
based on: neon qhasm conversion: Daniel J. Bernstein |
round3jh256 | neon |
based on: ssse3 switching to NEON intrinsics: Daniel J. Bernstein |
round3jh256 | simple |
based on: jh256/simple |
round3jh256 | sphlib |
Thomas Pornin |
round3jh256 | sphlib-small |
Thomas Pornin |
round3jh256 | sse2 |
based on: simple based on: jh256/bitslice_sse2_opt64 |
round3jh256 | ssse3 |
based on: sse2 SSSE3 tweaks from: Daniel J. Bernstein |
round3jh512 | neon2 |
based on: round3jh256/neon2 |
round3jh512 | neon |
based on: round3jh256/neon |
round3jh512 | simple |
based on: round3jh256/simple |
round3jh512 | sphlib |
Thomas Pornin |
round3jh512 | sphlib-small |
Thomas Pornin |
round3jh512 | sse2 |
based on: round3jh256/sse2 |
round3jh512 | ssse3 |
based on: round3jh256/ssse3 |
sha3224 | kcp/compact1600AVR8 | |
sha3224 | kcp/optimized1600ARMv7A | |
sha3224 | kcp/optimized1600ARMv8A | |
sha3224 | kcp/optimized1600AVR8 | |
sha3224 | kcp/optimized1600AVX2 | |
sha3224 | kcp/optimized1600AVX512 | |
sha3224 | oncore32bits | |
sha3224 | oncore64bits | |
sha3224 | openssl | |
sha3256 | compact |
original source: https://twitter.com/tweetfips202 from Daniel J. Bernstein, Peter Schwabe, Gilles Van Assche changes for libmceliece/crypto_xof/shake256: djb changes for supercop/crypto_hash/sha3256/compact: djb |
sha3256 | kcp/compact1600AVR8 | |
sha3256 | kcp/optimized1600ARMv7A | |
sha3256 | kcp/optimized1600ARMv8A | |
sha3256 | kcp/optimized1600AVR8 | |
sha3256 | kcp/optimized1600AVX2 | |
sha3256 | kcp/optimized1600AVX512 | |
sha3256 | oncore32bits | |
sha3256 | oncore64bits | |
sha3256 | openssl | |
sha3384 | kcp/compact1600AVR8 | |
sha3384 | kcp/optimized1600ARMv7A | |
sha3384 | kcp/optimized1600ARMv8A | |
sha3384 | kcp/optimized1600AVR8 | |
sha3384 | kcp/optimized1600AVX2 | |
sha3384 | kcp/optimized1600AVX512 | |
sha3384 | oncore32bits | |
sha3384 | oncore64bits | |
sha3384 | openssl | |
sha3512 | kcp/compact1600AVR8 | |
sha3512 | kcp/optimized1600ARMv7A | |
sha3512 | kcp/optimized1600ARMv8A | |
sha3512 | kcp/optimized1600AVR8 | |
sha3512 | kcp/optimized1600AVX2 | |
sha3512 | kcp/optimized1600AVX512 | |
sha3512 | oncore32bits | |
sha3512 | oncore64bits | |
sha3512 | openssl | |
shake128 | cryptopp |
D. J. Bernstein (imitating sha512/cryptopp) |
shake128 | kcp/compact1600AVR8 | |
shake128 | kcp/optimized1600ARMv7A | |
shake128 | kcp/optimized1600ARMv8A | |
shake128 | kcp/optimized1600AVR8 | |
shake128 | kcp/optimized1600AVX2 | |
shake128 | kcp/optimized1600AVX512 | |
shake128 | oncore32bits | |
shake128 | oncore64bits | |
shake128 | openssl | |
shake256 | cryptopp |
D. J. Bernstein (imitating sha512/cryptopp) |
shake256 | gil/singlefile |
David Leon Gil |
shake256 | gil/singlefile_unrolled |
David Leon Gil |
shake256 | kcp/compact1600AVR8 | |
shake256 | kcp/optimized1600ARMv7A | |
shake256 | kcp/optimized1600ARMv8A | |
shake256 | kcp/optimized1600AVR8 | |
shake256 | kcp/optimized1600AVX2 | |
shake256 | kcp/optimized1600AVX512 | |
shake256 | oncore32bits | |
shake256 | oncore64bits | |
shake256 | openssl | |
shake256 | usekcp | |
shake256 | usexof | |
skein10241024 | arm_neon |
Håkon Haugdal Hitland Doug Whiting |
skein10241024 | opt |
Doug Whiting |
skein10241024 | x64 |
Doug Whiting |
skein10241024 | xmm |
Doug Whiting |
skein256256 | arm |
Håkon Haugdal Hitland Doug Whiting |
skein256256 | arm_neon |
Håkon Haugdal Hitland Doug Whiting |
skein256256 | arm_thumb |
Håkon Haugdal Hitland Doug Whiting |
skein256256 | opt |
Doug Whiting |
skein256256 | x64 |
Doug Whiting |
skein256256 | xmm |
Doug Whiting |
skein512256 | arm11 |
Peter Schwabe Bo-Yin Yang lead: Shang-Yi Yang |
skein512256 | arm |
Håkon Haugdal Hitland Doug Whiting |
skein512256 | arm_neon |
Håkon Haugdal Hitland Doug Whiting |
skein512256 | arm_thumb |
Håkon Haugdal Hitland Doug Whiting |
skein512256 | little |
based on: simple tweaks: Daniel J. Bernstein |
skein512256 | mmx |
based on: little conversion to MMX: Daniel J. Bernstein |
skein512256 | opt |
Doug Whiting |
skein512256 | sandy |
based on: little tweaks (using shld): Daniel J. Bernstein |
skein512256 | simple |
based on: opt streamlining: Daniel J. Bernstein |
skein512256 | sphlib |
Thomas Pornin |
skein512256 | sphlib-small |
Thomas Pornin |
skein512256 | x64 |
Doug Whiting |
skein512256 | xmm |
Doug Whiting |
skein512512 | arm |
Håkon Haugdal Hitland Doug Whiting |
skein512512 | arm_neon |
Håkon Haugdal Hitland Doug Whiting |
skein512512 | arm_thumb |
Håkon Haugdal Hitland Doug Whiting |
skein512512 | little |
based on: simple tweaks: Daniel J. Bernstein |
skein512512 | mmx |
based on: little conversion to MMX: Daniel J. Bernstein |
skein512512 | opt |
Doug Whiting |
skein512512 | sandy |
based on: little tweaks (using shld): Daniel J. Bernstein |
skein512512 | simple |
based on: opt streamlining: Daniel J. Bernstein |
skein512512 | sphlib |
Thomas Pornin |
skein512512 | sphlib-small |
Thomas Pornin |
skein512512 | x64 |
Doug Whiting |
skein512512 | xmm |
Doug Whiting |