Skip to content
This repository has been archived by the owner on Jun 3, 2021. It is now read-only.


Repository files navigation


Fast implementations of the SIMON and SPECK lightweight block ciphers for the SUPERCOP benchmark toolkit.

These implementations use counter mode to work as stream ciphers and are available in the following directories:

Each algorithm directory contains subdirectories for particular SIMD instruction sets, currently x86 CPUs with SSE4.2, AVX2, or 32-bit ARM CPUs with NEON.


The supercop branch is a copy of the latest SUPERCOP release. The simon-speck branch contains any updates to our SIMON and SPECK implementations since the last SUPERCOP release. The master branch includes this and other documentation merged with the supercop and simon-speck branches.

Getting the Code

There are a few ways to get these implementations without having to clone the entire repository.

Downloading only SIMON and SPECK

Archives are available containing just the SIMON and SPECK directories in .tar.xz - 17 KB, .tar.gz - 50 KB, and .zip - 167 KB format.


GitHub will provide a patch covering the changes between two branches. For example, a patch to update the latest SUPERCOP with our changes is available at the following:

This can be downloaded and and applied with commands like the following:

cd supercop-20161026
curl -o simon-speck.diff
patch -p1 < simon-speck.diff


curl | patch -p1


Refer to individual files and directories for the license of SUPERCOP components. For the SIMON and SPECK code see LICENSE and DISCLAIMER.