Fast implementations of the SIMON and SPECK lightweight block ciphers for the SUPERCOP benchmark toolkit. #nsacyber
C Assembly C++ Objective-C q Makefile Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
checksum
cpucycles supercop-20160731 Oct 28, 2016
cpuid
crypto_aead supercop-20161026 Oct 31, 2016
crypto_auth
crypto_box
crypto_core
crypto_dh supercop-20161026 Oct 31, 2016
crypto_encrypt
crypto_hash
crypto_hashblocks
crypto_onetimeauth
crypto_scalarmult
crypto_secretbox
crypto_sign
crypto_stream
crypto_verify
cryptopp-562 supercop-20140425 Apr 25, 2014
gmp-6.1.1
include
inttypes
killafter
machineinfo supercop-20121016 Oct 16, 2012
okcompilers
scripts
sinceepoch
.gitattributes
CHANGELOG supercop-20161026 Oct 31, 2016
DISCLAIMER.md
LICENSE.md
OPERATIONS
README.md
data-do
data-init
data-run
data-summarize
data-unlock
data-vars supercop-20110617 Jun 17, 2011
do
measure-anything.c
try-anything.c supercop-20140525 May 25, 2014
try.h
trygen.do
trygen.py
version

README.md

simon-speck-supercop

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.

Branches

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.

Patches

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:

https://github.com/nsacyber/simon-speck-supercop/compare/supercop...simon-speck.diff

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

cd supercop-20161026
curl https://github.com/nsacyber/simon-speck-supercop/compare/supercop...simon-speck.diff -o simon-speck.diff
patch -p1 < simon-speck.diff

or

curl https://github.com/nsacyber/simon-speck-supercop/compare/supercop...simon-speck.diff | patch -p1

Legal

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