| NLS/SSS Version 1.0 |
ECRYPT-NLS Version 2.1 |
| |
|
| NLS is a synchronous stream cipher, and SSS is a self synchronous |
NLS is a synchronous stream cipher supporting optional MAC calculation |
| stream cipher. Both support MAC calculation across an arbitrary mix of |
across an arbitrary mix of encrypted and clear text. |
| encrypted and clear text. |
|
| |
|
| |
|
| There are four distribution tarballs: |
|
| |
|
| 1. nls-1.0.tgz: the NLS cipher and test suite (including |
|
| reference and fast versions). |
|
| |
|
| 2. sss-1.0.tgz: the SSS cipher and test suite (including |
|
| reference and fast versions). |
|
| |
|
| 3. ecrypt-nls-1.0.tgz: the NLS cipher plus a wrapper which |
|
| implements the Ecrypt synchronous stream cipher API. |
|
| |
|
| 4. ecrypt-sss-1.0.tgz: the SSS cipher plus a wrapper which |
|
| implements the Ecrypt self-synchronous stream cipher API. |
|
| |
|
| See http://www.ecrypt.eu.org/stream/api.html for documentation on |
|
| the ECRYPT API. |
|
| |
|
| |
|
| Unpacking the source: |
|
| |
|
| Unpack one or more of the above tarballs. If you want |
|
| everything, you only need to get the ecrypt-*.tgz files since they |
|
| already contain the underlying cipher code. |
|
| |
|
| |
|
| Compilation instructions: |
Compilation instructions: |
| |
|
| 1. Edit "Makefile.config" to define the compilation environment. |
1. Unpack the tarball. |
| |
|
| |
2. Edit "Makefile.config" to define the compilation environment. |
| (if you are using a recent gcc on a little-endian machine, |
(if you are using a recent gcc on a little-endian machine, |
| you can skip this step). |
you can skip this step). |
| |
|
| 2. Run "make all". |
3. Run "make all". |
| |
|
| |
|
| The results of compilation depend on which tarballs you unpacked: |
|
| |
|
| 1. nls-*.tgz: When built, this produces nlsref.o and nlsfast.o, |
|
| a reference implementation and fast implementation respectively. |
|
| See nls.h for documentation on the low level API. |
|
| |
|
| 2. sss-*.tgz: When built, this produces sssref.o and sssfast.o, a |
|
| reference implementation and fast implementation respectively. |
|
| See sss.h for documentation on the low level API. |
|
| |
|
| 3. ecrypt-nls-*.tgz: When built, this produces ecrypt-nls.o, |
|
| an implementation of the Ecrypt synchronous stream cipher API, |
|
| plus the objects normally built by nls-*.tgz. |
|
| |
|
| 4. ecrypt-sss-*.tgz: When built, this produces ecrypt-sss.o, |
After compilation nlsref.o and nlsfast.o provide a reference implementation |
| an implementation of the Ecrypt synchronous stream cipher API, |
and a fast implementation respectively. See nls.h for documentation on the |
| plus the objects normally built by sss-*.tgz. |
low level API. |
| |
|
| |
In addition, ecrypt-nls.o provides an implementation of the Ecrypt |
| |
synchronous stream cipher API. See http://www.ecrypt.eu.org/stream/api.html |
| |
for documentation on this API. |
| |
|
| Other make targets: |
The nlsref and nlsfast executables are testing and timing front ends. |
| |
Usage: nlsref [-verbose] -test |
| |
nlsref [-verbose] -time |
| |
nlsref [-verbose] [key] [nonce] [count] |
| |
|
| Other useful make targets include "test", "time", "clean", and "dist". |
Other useful make targets include "test", "time", "clean", and "dist". |
| Sophisticated users are referred to the makefiles for more information. |
Sophisticated users are referred to the makefiles for more information. |