![]() VAMPIRE |
eBACS: ECRYPT Benchmarking of Cryptographic Systems |
![]() ECRYPT II |
| General information: | Introduction | eBASH | eBASC | eBATS | SUPERCOP | XBX | Computers |
| How to submit new software: | Hash functions | Stream ciphers | DH functions | Public-key encryption | Public-key signatures |
| List of primitives measured: | SHA-3 candidates | All hash functions | Stream ciphers | DH functions | Public-key encryption | Public-key signatures |
| Measurements indexed by machine: | SHA-3 candidates | All hash functions | Stream ciphers | DH functions | Public-key encryption | Public-key signatures |
There is a separate page that lists machines and, for each machine, the measurements of these hash functions. That page also includes "the new shootout". This page includes "the old shootout".
Designers and implementors interested in submitting new hash functions and new implementations should read the call for submissions.
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 | 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 |
Jean-Philippe Aumasson Peter Schwabe Samuel Neves |
| blake256 | ssse3 |
Jean-Philippe Aumasson Peter Schwabe Samuel Neves |
| blake256 | vect128 |
Gaëtan Leurent |
| blake256 | vect128-mmxhack |
Gaëtan Leurent |
| blake256 | vect128-neon |
Gaëtan Leurent |
| 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 | ssse3 |
Jean-Philippe Aumasson Peter Schwabe Samuel Neves |
| blake512 | vect128 |
Gaëtan Leurent |
| blake512 | vect128-inplace |
Gaëtan Leurent |
| blake512 | vect128-neon |
Gaëtan Leurent |
| 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 | 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 | 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 | vperm |
Günther A. Roland Martin Schläffer |
| groestl256 | vperm-intr |
Günther A. Roland 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 | 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 |
| keccak | arm11 |
Peter Schwabe Bo-Yin Yang Shang-Yi Yang |
| keccak | avr8 |
Ronny Van Keer |
| keccak | avr8asm |
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 |
| keccakc448 | avr8 |
Ronny Van Keer |
| keccakc448 | avr8asm |
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 |
| keccakc512 | avr8 |
Ronny Van Keer |
| keccakc512 | avr8asm |
Ronny Van Keer |
| keccakc512 | compact8 |
Guido Bertoni Joan Daemen Michaël Peeters Gilles Van Assche Ronny Van Keer |
| keccakc512 | compact |
Ronny Van Keer |
| 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 |
| keccakc768 | avr8 |
Ronny Van Keer |
| keccakc768 | avr8asm |
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 |
| keccakc1024 | avr8 |
Ronny Van Keer |
| keccakc1024 | avr8asm |
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 |
| keccakc512treed2 | sseu24 |
Gilles Van Assche |
| keccakc512treed2 | sseu4 |
Gilles Van Assche |
| round3jh256 | arm11 |
Peter Schwabe Bo-Yin Yang Shang-Yi Yang |
| 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 | 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 |
| 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 |