Author Archives: odzhan

AES-128 / AES-256 Block Cipher

Introduction In January 1997, the National Institute of Standards and Technology (NIST) initiated a process to replace the Data Encryption Standard (DES) published in 1977. A draft criteria to evaluate potential algorithms was published, and members of the public were … Continue reading

Posted in arm, assembly, cryptography, programming, security, x86 | Tagged , , , | 4 Comments

SHAKE-128 Stream Cipher

Introduction An Extendable-Output Function (XOF) absorbs input of variable length and generates output of variable length. SHAKE128 and SHAKE256 are two such XOFs designed by the Keccak team and included in the SHA-3 standard. They both use a sponge construction … Continue reading

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

SIMECK Block Cipher

Introduction The Simeck Family of Lightweight Block Ciphers written by Gangqiang Yang, Bo Zhu, Valentin Suder, Mark D. Aagaard, and Guang Gong was published in 2015. According to the authors, SIMECK combines the good design components of both SIMON and … Continue reading

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

Xoodoo Permutation Function

Introduction Xoodoo is a cryptographic permutation function designed by the Keccak team along with Seth Hoffert and Johan De Meulder. It was described by Joan Daemen at the 2017 Workshop on Elliptic Curve Cryptography in a talk: Innovations in permutation-based … Continue reading

Posted in arm, assembly, cryptography, programming, x86 | Tagged , , , , , , | Leave a comment

SHACAL-2 Block Cipher

Introduction SHACAL-1 and SHACAL-2 are block ciphers based on the Secure Hash Standard. They were proposed by Helena Handschuh and David Naccache while both working for the now defunct smartcard company, Gemplus International. SHACAL-1 is an 80 round block cipher … Continue reading

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

XTEA Block Cipher

Introduction TEA Extensions (XTEA) is a 64-bit block cipher with support for 128-bit keys. It was published in 1998 as a response to weaknesses found in the Tiny Encryption Algorithm (TEA) which was discussed previously in this post. XTEA compared … Continue reading

Posted in arm, assembly, programming, security, x86 | Tagged , , , , , , | 1 Comment

BlaBla Stream Cipher

Introduction BlaBla is a 256-bit stream cipher designed by Jean-Philippe Aumasson. It uses the same permutation function as the cryptographic hash algorithm BLAKE2b, that is similar to the permutation function used in the ChaCha stream cipher, hence the name. Frank … Continue reading

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

HIGHT Block Cipher

Introduction HIGHT which stands for HIGh security and light weigHT is a 64-bit block cipher with support for 128-bit keys. It was first proposed at the 2006 Cryptographic Hardware and Embedded Systems (CHES) conference held in Japan. HIGHT attracted a … Continue reading

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

RoadRunneR Block Cipher

Introduction RoadRunneR is a 64-bit block cipher with support for 80 and 128-bit keys. It was designed by Adnan Baysal and Suhap Sahin and published in 2015. The 80-bit variant uses 10 rounds while the 128-bit uses 12. In this … Continue reading

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

CHAM Block Cipher

Introduction CHAM: A Family of Lightweight Block Ciphers for Resource-Constrained Devices was published in December 2017 at the 20th Annual International Conference on Information Security and Cryptology held in South Korea. CHAM consists of three ciphers, CHAM-64/128 for 16-bit architectures, … Continue reading

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