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 finalists All hash functions Stream ciphers DH functions Public-key encryption Public-key signatures
Measurements indexed by machine: SHA-3 finalists All hash functions Stream ciphers DH functions Public-key encryption Public-key signatures

List of SHA-3 finalists measured

eBASH (ECRYPT Benchmarking of All Submitted Hashes) is a project in ECRYPT's VAMPIRE lab to measure the performance of hash functions. This page presents an excerpt from the full list of hash functions covered by VAMPIRE's benchmarking tool, SUPERCOP; the excerpt contains SHA-2 (specifically SHA-256 and SHA-512) and the SHA-3 finalists. The page then lists implementations of these hash functions.

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.

Which hash functions are measured? (SHA-2/SHA-3 excerpt)

PrimitiveDescriptionDesigners
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
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
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
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

Implementations

PrimitiveImplementationAuthors
bblake256bswap based on: regs
bblake256regs based on: blake256/regs
tree mode: Daniel J. Bernstein
bblake256sandy based on: bswap
bblake256sse2 based on: blake256/sse2
tree mode: Daniel J. Bernstein
bblake256ssse3 based on: bblake256/sse2, blake256/ssse3
bblake512xop Jean-Philippe Aumasson
Samuel Neves
blake32ref Jean-Philippe Aumasson
blake32sphlib Thomas Pornin
blake32sphlib-small Thomas Pornin
blake32sse2 Jean-Philippe Aumasson
Peter Schwabe
blake32ssse3 Jean-Philippe Aumasson
Peter Schwabe
Samuel Neves
blake64ref Jean-Philippe Aumasson
blake64sphlib Thomas Pornin
blake64sphlib-small Thomas Pornin
blake64sse2 Jean-Philippe Aumasson
Peter Schwabe
blake64ssse3 Jean-Philippe Aumasson
Peter Schwabe
Samuel Neves
blake256arm11 Peter Schwabe
Bo-Yin Yang
Shang-Yi Yang
blake256arm_thumb2 Peter Schwabe
Bo-Yin Yang
Shang-Yi Yang
Christian Wenzel-Benner
blake256avxicc Jean-Philippe Aumasson
Samuel Neves
blake256avxs Jean-Philippe Aumasson
Samuel Neves
blake256bswap based on: regs
blake256ref Jean-Philippe Aumasson
blake256regs based on: ref
unrolling: Daniel J. Bernstein
blake256sandy based on: bswap
blake256sphlib Thomas Pornin
blake256sphlib-small Thomas Pornin
blake256sse2-2 based on: sse2
latency-oriented tweaks: Daniel J. Bernstein
blake256sse2 Jean-Philippe Aumasson
Shawn Kirst
Peter Schwabe
blake256sse41-2 Jean-Philippe Aumasson
Samuel Neves
blake256sse41 Jean-Philippe Aumasson
Peter Schwabe
Samuel Neves
blake256ssse3 Jean-Philippe Aumasson
Peter Schwabe
Samuel Neves
blake256vect128 Gaëtan Leurent
blake256vect128-mmxhack Gaëtan Leurent
blake256vect128-neon Gaëtan Leurent
blake256xop Jean-Philippe Aumasson
Samuel Neves
blake512avxicc Jean-Philippe Aumasson
Samuel Neves
blake512bswap based on: regs
blake512ref Jean-Philippe Aumasson
blake512regs based on: ref, blake256/regs
blake512sandy based on: bswap
blake512sphlib Thomas Pornin
blake512sphlib-small Thomas Pornin
blake512sse2 Jean-Philippe Aumasson
Shawn Kirst
Peter Schwabe
blake512sse2s Jean-Philippe Aumasson
Peter Schwabe
Samuel Neves
blake512sse41 Jean-Philippe Aumasson
Samuel Neves
blake512ssse3 Jean-Philippe Aumasson
Peter Schwabe
Samuel Neves
blake512vect128 Gaëtan Leurent
blake512vect128-inplace Gaëtan Leurent
blake512vect128-neon Gaëtan Leurent
blake512vect128-xop Gaëtan Leurent
Jean-Philippe Aumasson
blake512xop-2 Jean-Philippe Aumasson
Samuel Neves
blake512xop Jean-Philippe Aumasson
Samuel Neves
groestl25632bit-2ktable Thomas Krinninger
groestl25632bit-bytesliced-c-fast Thomas Krinninger
groestl25632bit-bytesliced-c-small Martin Schläffer
groestl2568bit_c
groestl256aesni Krystian Matusiewicz
Günther A. Roland
Martin Schläffer
groestl256aesni-intr Krystian Matusiewicz
Günther A. Roland
Martin Schläffer
groestl256arm11 Peter Schwabe
Bo-Yin Yang
Shang-Yi Yang
groestl256arm32 Wolfgang Wieser
groestl256avr8asm/balanced Johannes Feichtner
groestl256avr8asm/highspeed Johannes Feichtner
groestl256avr8asm/lowram128 Johannes Feichtner
groestl256avr8asm/lowram192a Johannes Feichtner
groestl256avr8asm/lowram192b Johannes Feichtner
groestl256avr8asm/lowram256 Johannes Feichtner
groestl256avx Krystian Matusiewicz
Günther A. Roland
Martin Schläffer
groestl256avx-intr Krystian Matusiewicz
Günther A. Roland
Martin Schläffer
groestl256core2duo Krystian Matusiewicz
groestl256mmx Søren S. Thomsen
groestl256neon-bitslice Martin Schläffer
Peter Schwabe
Wolfgang Wieser
groestl256neon-table Martin Schläffer
Peter Schwabe
David Seywald
groestl256neon-vperm Severin Holzer-Graf
groestl256opt32 Søren S. Thomsen
groestl256opt64 Søren S. Thomsen
Krystian Matusiewicz
groestl256opteron Krystian Matusiewicz
Søren S. Thomsen
groestl256opteron-unrolled Krystian Matusiewicz
Søren S. Thomsen
groestl256sphlib-adapted Thomas Pornin
groestl256sphlib Thomas Pornin
groestl256sphlib-small Thomas Pornin
groestl256thumb-asm-fast Thomas Krinninger
groestl256thumb-asm-small Thomas Krinninger
groestl256vperm Günther A. Roland
Martin Schläffer
groestl256vperm-intr Günther A. Roland
Martin Schläffer
groestl51232bit-bytesliced-c-small Martin Schläffer
groestl512aesni Krystian Matusiewicz
Günther A. Roland
Martin Schläffer
groestl512aesni-intr Krystian Matusiewicz
Günther A. Roland
Martin Schläffer
groestl512arm32 Wolfgang Wieser
groestl512avx Krystian Matusiewicz
Günther A. Roland
Martin Schläffer
groestl512avx-intr Krystian Matusiewicz
Günther A. Roland
Martin Schläffer
groestl512core2duo Krystian Matusiewicz
groestl512mmx Søren S. Thomsen
groestl512neon-table Martin Schläffer
Peter Schwabe
David Seywald
groestl512opt32 Søren S. Thomsen
groestl512opt64 Søren S. Thomsen
Krystian Matusiewicz
groestl512opteron Krystian Matusiewicz
Søren S. Thomsen
groestl512sphlib-adapted Thomas Pornin
groestl512sphlib Thomas Pornin
groestl512sphlib-small Thomas Pornin
groestl512vperm Günther A. Roland
Martin Schläffer
groestl512vperm-intr Günther A. Roland
Martin Schläffer
jh224bitslice_opt32 Hongjun Wu
jh224bitslice_opt64 Hongjun Wu
jh224bitslice_ref32 Hongjun Wu
jh224bitslice_ref64 Hongjun Wu
jh224bitslice_sse2_opt32 Hongjun Wu
jh224bitslice_sse2_opt64 Hongjun Wu
jh224simple based on: jh256/simple
jh256bitslice_opt32 Hongjun Wu
jh256bitslice_opt64 Hongjun Wu
jh256bitslice_ref32 Hongjun Wu
jh256bitslice_ref64 Hongjun Wu
jh256bitslice_sse2_opt32 Hongjun Wu
jh256bitslice_sse2_opt64 Hongjun Wu
jh256simple based on: bitslice_opt64
streamlining: Daniel J. Bernstein
jh384bitslice_opt32 Hongjun Wu
jh384bitslice_opt64 Hongjun Wu
jh384bitslice_ref32 Hongjun Wu
jh384bitslice_ref64 Hongjun Wu
jh384bitslice_sse2_opt32 Hongjun Wu
jh384bitslice_sse2_opt64 Hongjun Wu
jh384simple based on: jh256/simple
jh512bitslice_opt32 Hongjun Wu
jh512bitslice_opt64 Hongjun Wu
jh512bitslice_ref32 Hongjun Wu
jh512bitslice_ref64 Hongjun Wu
jh512bitslice_sse2_opt32 Hongjun Wu
jh512bitslice_sse2_opt64 Hongjun Wu
jh512simple based on: jh256/simple
keccakarm11 Peter Schwabe
Bo-Yin Yang
Shang-Yi Yang
keccakavr8 Ronny Van Keer
keccakavr8asmc Ronny Van Keer
keccakavr8asmf Ronny Van Keer
keccakcompact8 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakcompact Ronny Van Keer
keccakinplace32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakinplace32bi-armv6m Ronny Van Keer
keccakinplace32bi-armv7a Ronny Van Keer
keccakinplace32bi-armv7m Ronny Van Keer
keccakinplace Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakinplace-armv7a-neon Ronny Van Keer
keccakmmxu1 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakopt32bi-rvku2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakopt32bi-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakopt32biT-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakopt64lcu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakopt64lcu24shld Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakopt64lcu6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakopt64u6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccaksimple32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccaksimple Ronny Van Keer
keccaksseu2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakx86_64_asm Ronny Van Keer
keccakx86_64_shld Ronny Van Keer
keccakxopu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc448avr8 Ronny Van Keer
keccakc448avr8asmc Ronny Van Keer
keccakc448avr8asmf Ronny Van Keer
keccakc448compact8 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc448compact Ronny Van Keer
keccakc448inplace32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc448inplace32bi-armv6m Ronny Van Keer
keccakc448inplace32bi-armv7a Ronny Van Keer
keccakc448inplace32bi-armv7m Ronny Van Keer
keccakc448inplace Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc448mmxu1 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc448opt32bi-rvku2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc448opt32bi-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc448opt32biT-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc448opt64lcu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc448opt64lcu24shld Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc448opt64lcu6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc448opt64u6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc448simple32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc448simple Ronny Van Keer
keccakc448sseu2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc448x86_64_asm Ronny Van Keer
keccakc448x86_64_shld Ronny Van Keer
keccakc448xopu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512avr8 Ronny Van Keer
keccakc512avr8asmc Ronny Van Keer
keccakc512avr8asmf Ronny Van Keer
keccakc512compact8 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc512compact Ronny Van Keer
keccakc512inplace32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc512inplace32bi-armv6m Ronny Van Keer
keccakc512inplace32bi-armv7a Ronny Van Keer
keccakc512inplace32bi-armv7m Ronny Van Keer
keccakc512inplace Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc512inplace-armv7a-neon Ronny Van Keer
keccakc512mmxu1 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512opt32bi-rvku2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc512opt32bi-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512opt32biT-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512opt64lcu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512opt64lcu24shld Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512opt64lcu6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512opt64u6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512simple32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc512simple Ronny Van Keer
keccakc512sphlib Thomas Pornin
keccakc512sphlib-small Thomas Pornin
keccakc512sseu2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512x86_64_asm Ronny Van Keer
keccakc512x86_64_shld Ronny Van Keer
keccakc512xopu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc768avr8 Ronny Van Keer
keccakc768avr8asmc Ronny Van Keer
keccakc768avr8asmf Ronny Van Keer
keccakc768compact8 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc768compact Ronny Van Keer
keccakc768inplace32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc768inplace32bi-armv6m Ronny Van Keer
keccakc768inplace32bi-armv7a Ronny Van Keer
keccakc768inplace32bi-armv7m Ronny Van Keer
keccakc768inplace Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc768mmxu1 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc768opt32bi-rvku2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc768opt32bi-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc768opt32biT-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc768opt64lcu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc768opt64lcu24shld Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc768opt64lcu6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc768opt64u6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc768simple32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc768simple Ronny Van Keer
keccakc768sseu2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc768x86_64_asm Ronny Van Keer
keccakc768x86_64_shld Ronny Van Keer
keccakc768xopu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc1024avr8 Ronny Van Keer
keccakc1024avr8asmc Ronny Van Keer
keccakc1024avr8asmf Ronny Van Keer
keccakc1024compact8 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc1024compact Ronny Van Keer
keccakc1024inplace32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc1024inplace32bi-armv6m Ronny Van Keer
keccakc1024inplace32bi-armv7a Ronny Van Keer
keccakc1024inplace32bi-armv7m Ronny Van Keer
keccakc1024inplace Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc1024inplace-armv7a-neon Ronny Van Keer
keccakc1024mmxu1 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc1024opt32bi-rvku2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc1024opt32bi-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc1024opt32biT-s2lcu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc1024opt64lcu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc1024opt64lcu24shld Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc1024opt64lcu6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc1024opt64u6 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc1024simple32bi Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Ronny Van Keer
keccakc1024simple Ronny Van Keer
keccakc1024sphlib Thomas Pornin
keccakc1024sphlib-small Thomas Pornin
keccakc1024sseu2 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc1024x86_64_asm Ronny Van Keer
keccakc1024x86_64_shld Ronny Van Keer
keccakc1024xopu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc256treed2sseu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc256treed2sseu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc256treed2xopu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512treed2sseu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512treed2sseu4 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
keccakc512treed2xopu24 Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
round3jh256arm11 Peter Schwabe
Bo-Yin Yang
Shang-Yi Yang
round3jh256neon2 based on: neon
qhasm conversion: Daniel J. Bernstein
round3jh256neon based on: ssse3
switching to NEON intrinsics: Daniel J. Bernstein
round3jh256simple based on: jh256/simple
round3jh256sphlib Thomas Pornin
round3jh256sphlib-small Thomas Pornin
round3jh256sse2 based on: simple
based on: jh256/bitslice_sse2_opt64
round3jh256ssse3 based on: sse2
SSSE3 tweaks from: Daniel J. Bernstein
round3jh512neon2 based on: round3jh256/neon2
round3jh512neon based on: round3jh256/neon
round3jh512simple based on: round3jh256/simple
round3jh512sphlib Thomas Pornin
round3jh512sphlib-small Thomas Pornin
round3jh512sse2 based on: round3jh256/sse2
round3jh512ssse3 based on: round3jh256/ssse3
skein10241024arm_neon Håkon Haugdal Hitland
Doug Whiting
skein10241024opt Doug Whiting
skein10241024x64 Doug Whiting
skein10241024xmm Doug Whiting
skein256256arm Håkon Haugdal Hitland
Doug Whiting
skein256256arm_neon Håkon Haugdal Hitland
Doug Whiting
skein256256arm_thumb Håkon Haugdal Hitland
Doug Whiting
skein256256opt Doug Whiting
skein256256x64 Doug Whiting
skein256256xmm Doug Whiting
skein512256arm11 Peter Schwabe
Bo-Yin Yang
lead: Shang-Yi Yang
skein512256arm Håkon Haugdal Hitland
Doug Whiting
skein512256arm_neon Håkon Haugdal Hitland
Doug Whiting
skein512256arm_thumb Håkon Haugdal Hitland
Doug Whiting
skein512256little based on: simple
tweaks: Daniel J. Bernstein
skein512256mmx based on: little
conversion to MMX: Daniel J. Bernstein
skein512256opt Doug Whiting
skein512256sandy based on: little
tweaks (using shld): Daniel J. Bernstein
skein512256simple based on: opt
streamlining: Daniel J. Bernstein
skein512256sphlib Thomas Pornin
skein512256sphlib-small Thomas Pornin
skein512256x64 Doug Whiting
skein512256xmm Doug Whiting
skein512512arm Håkon Haugdal Hitland
Doug Whiting
skein512512arm_neon Håkon Haugdal Hitland
Doug Whiting
skein512512arm_thumb Håkon Haugdal Hitland
Doug Whiting
skein512512little based on: simple
tweaks: Daniel J. Bernstein
skein512512mmx based on: little
conversion to MMX: Daniel J. Bernstein
skein512512opt Doug Whiting
skein512512sandy based on: little
tweaks (using shld): Daniel J. Bernstein
skein512512simple based on: opt
streamlining: Daniel J. Bernstein
skein512512sphlib Thomas Pornin
skein512512sphlib-small Thomas Pornin
skein512512x64 Doug Whiting
skein512512xmm Doug Whiting

Version

This is version 2014.07.15 of the primitives-sha3.html web page. This web page is in the public domain.