The SIMON and SPECK Families of Block Ciphers
SIMON and SPECK are families of lightweight block ciphers, each of which comes in a variety of widths and key sizes. The aim of SIMON and SPECK is to fill the need for secure, flexible, and analyzable lightweight block ciphers that perform well on a wide range of current and future platforms.
This repository hosts general information about the algorithms with pointers to more detailed information available in other repositories or papers. The newest publication update can be found here: SIMON and SPECK 6 Mar 2019
Presentations and Papers
- The SIMON and SPECK Families of Lightweight Block
- Original paper from June 2013 including algorithm descriptions and test vectors
- The SIMON and SPECK Block Ciphers on AVR 8-bit
- Presented at LightSec in September 2014
- Springer proceedings
- Implementation and Performance of the SIMON and SPECK Lightweight Block
Ciphers on ASICs
- Unpublished conference submission from Spring-Summer 2014.
- The SIMON and SPECK Lightweight Block Ciphers
- Presented at the Design Automation Conference in June 2015
- IEEE Xplore
- SIMON and SPECK: Ciphers for Contrained Platforms
- SIMON and SPECK: Block Ciphers for the Internet of Things
- Algorithms to Support the Evolution of Information Assurance Needs
- This document provides background and insight into NSA's intentions for the SIMON & SPECK lightweight block ciphers, and answers frequently asked questions about these designs. Published November 18, 2016.
- Notes on the Design and Analysis of SIMON and SPECK
- This document was prepared by the designers of SIMON and SPECK in order to address questions regarding the design rationale and analysis of the algorithms.
The implementation guide provides reference code for SIMON and SPECK(64- and 128-bit block sized variants), including code for key scheduling, encryption, and decryption. It also describes the intended word ordering, and provides detailed test vectors and useful tips for improving performance on some ARM and x86 processors.
The simon-speck-supercop repository includes X86 and ARM implementations using the SSE4.2, AVX2, and NEON instruction sets for high performance. While the implementations are structured for the SUPERCOP benchmarking toolkit, they should be adaptable to other systems.
The University of Luxembourg Fair Evaluation of Lightweight Cryptographic Systems (FELICS) project includes our contributions of a range of small and fast implementations of SIMON and SPECK for the 8-bit AVR, 16-bit MSP430, and 32-bit Cortex-M microcontrollers.
ASICs and FPGAs
We have unreleased implementations of SIMON and SPECK for ASICs and FPGAs that have been documented in our papers. The team is glad to answer questions about ASIC and FPGA implementation of the algorithms.
SIMON and SPECK are products of the National Security Agency's Research Directorate, produced as part of our Information Assurance research mission. Contact one of the following members of the SIMON and SPECK team with any questions:
SIMON and SPECK are free from any intellectual property restrictions.
This Work was prepared by a United States Government employee and, therefore, is excluded from copyright by Section 105 of the Copyright Act of 1976.