Category Archives: encryption

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

Gimli: a cross-platform permutation function

Introduction Gimli, named after the Lord Of The Rings character, is a 384-bit permutation function, designed specifically to be lightweight, high performance, and secure across multiple architectures. It was designed by Daniel J. Bernstein, Stefan Kölbl, Stefan Lucks, Pedro Maat … Continue reading

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

Light Message Authentication Code (LightMAC)

Introduction A Message Authentication Code or MAC is a cryptographic primitive that enables two parties using a shared secret key to authenticate messages exchanged between them. MACs are used daily to secure online communications and will inevitably become a critical … 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

Chaskey-LTS Block Cipher

Introduction The Chaskey cipher is a 128-bit block, 128-bit key symmetric encryption algorithm which is the underlying function used for the Chaskey Message Authentication Code (MAC). It’s based on an Even-Mansour construction which makes it very simple to implement and … Continue reading

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

SM4 block cipher (Chinese Standard for WAPI)

Introduction SM4 (formerly SMS4) is a 128-bit block cipher with a 128-bit user key and 32 rounds. It’s used in the WLAN Authentication and Privacy Infrastructure (WAPI), a Chinese WLAN national standard. It was published or rather declassified in 2006 … Continue reading

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

CubeMAC128 Message Authentication Code

Introduction CubeMAC128 is a cryptographic Message Authentication Code (MAC) designed for packet authentication that was proposed in 2010 by mathematician and cryptographer Daniel J. Bernstein. The CubeMAC proposal was in response to NIST concerns about using CubeHash as a MAC … Continue reading

Posted in assembly, cryptography, encryption, programming, security | 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