Skip to content
SNEIKEN and SNEIKHA: The SNEIK Family of Lightweight Cryptographic Algorithms 🐍🐍🐍.
Branch: master
Clone or download
Latest commit f49fc82 Mar 30, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
common update Mar 29, 2019
crypto_hash update Mar 28, 2019
sneik_spec.pdf update Feb 25, 2019


2019-02-24  Markku-Juhani O. Saarinen <>
Copyright (C) 2019, PQShield Ltd. Please see LICENSE.

This is the source code package for the SNEIKEN family of lightweight
cryptographic algorithms.

Root level files:

    sneik_spec.pdf      Algorithm specification and supporting documentation.          Verify "ref" and "opt" implementations against KAT.           Generate KAT files (you don't need to do this).
    LICENSE             License for this implementation.
    README              This file.

Source code and test vectors for SNEIKEN AEADs:

    crypto_aead/sneiken128/ ref opt arm avr LWC_AEAD_KAT_128_128.txt
    crypto_aead/sneiken192/ ref opt arm avr LWC_AEAD_KAT_192_128.txt
    crypto_aead/sneiken256/ ref opt arm avr LWC_AEAD_KAT_256_128.txt

Source code and test vectors for SNEIKHA hash functions:

    crypto_hash/sneikha256/ ref opt arm avr LWC_HASH_KAT_256.txt
    crypto_hash/sneikha384/ ref opt arm avr LWC_HASH_KAT_384.txt

Each directory has a "ref" portable reference implementation, somewhat smaller
"opt" optimized version (which assumes that the platform is little-endian) and
versions utilizing assembly-optimized permutations: "avr" for 8-bit Atmel AVR,
and "arm" for 32-bit ARM Cortex M3/M4 platforms.

Each directory furthermore contains test vectors generated with NIST's
standard `genkat_aead.c` and `genkat_hash.c` programs. Most of the source
code is usually symlinked from the "common" directory:

    common/sneik_f512   Implementations of the sneik_f512() permutation.
    common/ref_blnk     Reference implementation, using BLNK2 code.
    common/opt          Smaller implementations for the single-call API.
    common/nist         NIST's headers and KAT generation code.
You can’t perform that action at this time.