Tag Archives: x86

Keccak Permutation Function

Introduction Permutation functions are incredibly useful, and Keccak which is used to implement the SHA-3 standard is a like a swiss army knife of cryptographic primitives. Designed by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche, Keccak can … Continue reading

Posted in assembly, cryptography, encryption, programming | Tagged , , , | Leave a comment

LEA-128 Block Cipher

Introduction LEA is a 128-bit block cipher with support for 128, 192 and 256-bit keys published in 2014. It was designed by Deukjo Hong, Jung-Keun Lee, Dong-Chan Kim, Daesung Kwon, Kwon Ho Ryu, and Dong-Geon Lee. The only operations used … Continue reading

Posted in assembly, cryptography, encryption, programming | Tagged , , , | Leave a comment

Speck Block Cipher

Introduction Speck is a family of lightweight block ciphers publicly released by the National Security Agency (NSA) in June 2013. It’s an ARX (add-rotate-xor) design optimized for performance in software implementations and has been suggested for use on resource constrained … Continue reading

Posted in assembly, cryptography, encryption, programming, security | Tagged , , , , | Leave a comment

Noekeon Block cipher

Introduction Noekeon is a 128-bit block cipher designed by Joan Daemen, Michaël Peeters, Gilles Van Assche, Vincent Rijmen and submitted to the NESSIE project in September 2000. The two ciphers are “direct mode” Noekeon, to be used for maximum efficiency … Continue reading

Posted in assembly, cryptography, encryption, programming, security | Tagged , , , | Leave a comment

Chaskey Message Authentication Code

Introduction Chaskey is a lightweight MAC algorithm optimised for 32-bit micro-controllers designed by Nicky Mouha, Bart Mennink, Anthony Van Herrewege, Dai Watanabe, Bart Preneel and Ingrid Verbauwhede. It is based on a 128-bit block cipher, the Chaskey cipher, which uses … Continue reading

Posted in assembly, cryptography, encryption, programming, security | Tagged , , , , | 2 Comments

Threefish-256 Block Cipher

Introduction Threefish is a symmetric block cipher designed and published in 2008 by Niels Ferguson, Stefan Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas and Jesse Walker. Only the 256-bit key version is presented here which also … Continue reading

Posted in assembly, cryptography, encryption, programming | Tagged , , | Leave a comment

Half SipHash

Introduction SipHash: a fast short-input Pseudo-Random-Function(PRF) was designed and published in 2012 by Jean-Philippe Aumasson and Daniel J. Bernstein. Last month, MR. Aumasson posted to the kernel-hardening mail list a link to a “Half SipHash” implementation which is intended to … Continue reading

Posted in assembly, cryptography, programming, security | Tagged , , , , | Leave a comment

Poly1305 Message Authentication Code

Introduction Poly1305 is a cryptographic Message Authentication Code (MAC) designed and published in 2004 by Daniel J. Bernstein. It can be used to verify the data integrity and authenticity of a message. Adam Langley has published details in RFC 7539 … Continue reading

Posted in assembly, cryptography, encryption, programming, security | Tagged , , , | 1 Comment

Bel-T Block Cipher

Introduction Bel-T is a block cipher that was adopted as a standard by the Republic of Belarus in 2011 and defined in STB 34.101.31-2011. It takes 128-bits of data and encrypts using an n-bit key (where n can be 128, … Continue reading

Posted in assembly, cryptography, encryption, security | Tagged , , , , ,

Kuznyechik “Grasshopper” Block cipher

Introduction Kuznyechik (Grasshopper in Russian) is a 128-bit block cipher supporting 256-bit keys defined in the National Standard of the Russian Federation GOST R 34.12-2015 and RFC 7801 published in 2015 to supercede GOST 28147-89 cipher also referred to as … Continue reading

Posted in assembly, cryptography, encryption, programming, security | Tagged , , , , , , | Leave a comment