Category Archives: programming

AES-128 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 , , | 3 Comments

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 new 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 entitled Innovations in … Continue reading

Posted in arm, 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 stream cipher intended for 64-bit CPUs, which was published by the cryptographer Jean-Philippe Aumasson on his Github in April 2017. BlaBla uses the same permutation function as the cryptographic hash algorithm BLAKE2b, which is derived from … 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 block cipher first proposed at the 2006 Cryptographic Hardware and Embedded Systems (CHES) conference held in Japan. HIGHT attracted a lot of attention upon its release because it … Continue reading

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

RoadRunneR Block Cipher

Introduction RoadRunneR is a compact, fast Bitslice Block cipher designed specifically for Low Cost 8-bit CPUs. Details of the cipher were published here in 2015, and proposed by Adnan Baysal and Suhap Sahin at the Lightweight Cryptography for Security and … 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, CHAM-128/128, and CHAM-128/256 … Continue reading

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

Magic “Nothing Up My Sleeve” Numbers

Introduction Just to be clear, this post does not endorse any cryptographic algorithms. It will only illustrate using source code how some magic numbers are created in such algorithms. Nothing Up My Sleeve Numbers (NUMSN) are numeric constants in cryptographic … Continue reading

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

Ascon Permutation Function

Introduction Ascon is an Authenticated Encryption Associated Data (AEAD) algorithm submitted to The Competition for Authenticated Encryption: Security, Applicability, and Robustness (CAESAR) It was designed by Christoph Dobraunig, Maria Eichlseder, Florian Mendel and Martin Schläffer Some of the authors mentioned … Continue reading

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