Category Archives: cryptography

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

PRESENT Block Cipher

Introduction PRESENT is a 64-bit block cipher published in 2007 which provides support for key lengths of 80 and 128-bits. It was designed specifically for hardware implementation and uses a Substitution Permutation Network (SPN) structure which is similar to AES … Continue reading

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

SM3 Cryptographic Hash Algorithm (Chinese Standard)

Introduction In December of 2007, the Chinese National Cryptographic Administration Bureau released the specification of a Trusted Cryptography Module, detailing a cryptoprocessor to be used within the Trusted Computing framework in China. The module specifies a set of cryptographic algorithms … Continue reading

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