README 1.73 KB
Newer Older
lwc-tester committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
README
2019-02-24  Markku-Juhani O. Saarinen <mjos@pqshield.com>
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.
    testkat.sh          Verify "ref" and "opt" implementations against KAT.
    genkat.sh           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.