| 1 | Storin: a block cipher for digital signal processors |
| 2 | |
| 3 | |
| 4 | Storin is an 8-round SP network designed to play to the strengths of |
| 5 | digital signal processors. |
| 6 | |
| 7 | Files included: |
| 8 | |
| 9 | configure A shell script to set up the Storin build |
| 10 | environment on your computer. |
| 11 | |
| 12 | configure.in The m4 source code for configure. |
| 13 | |
| 14 | aclocal.m4 Some m4 macros used by configure.in. |
| 15 | |
| 16 | Makefile.in A skeleton Makefile for building Storin. |
| 17 | |
| 18 | Makefile.am The Automake source for Makefile.in |
| 19 | |
| 20 | bits.c, bits.h Bit-manipulation macros. |
| 21 | |
| 22 | arith24.c, arith24.h Some simple 24-bit arithmetic. |
| 23 | |
| 24 | matrix.c, matrix.h Matrix arithmetic over Z_{2^{24}}. |
| 25 | |
| 26 | storin.c, storin.h The main cipher implementation. |
| 27 | |
| 28 | sha.c, sha.h Implementation of SHA-1. |
| 29 | |
| 30 | dsarand.c, dsarand.h SHA-1 based random number generator, suitable |
| 31 | for generating DSA parameters using the FIPS-180 |
| 32 | algorithm. |
| 33 | |
| 34 | fibrand.c, fibrand.h A fast non-secure Fibonacci generator with a |
| 35 | long period, a large state and good properties. |
| 36 | |
| 37 | lcrand.c, lcrand.h A non-secure linear congruential generator with |
| 38 | good statistical properties used for seeding |
| 39 | fibrand. |
| 40 | |
| 41 | storin-mktab.c A program for building Storin matrices. It uses |
| 42 | dsarand to provide confidence that `trap doors' |
| 43 | haven't been inserted in the matrix. |
| 44 | |
| 45 | storin-tests.c A program for making Storin test vectors. It |
| 46 | outputs test vectors in mLib/Catacomb format. |
| 47 | |
| 48 | sym.c, sym.h An efficient extensible hashtable, used by |
| 49 | diffan. |
| 50 | |
| 51 | diffan.c A program to perform differential analysis of |
| 52 | the matrix multiplication. |
| 53 | |
| 54 | sac.c A program to perform statistical testing of |
| 55 | three Storin rounds to ensure strict avalanche. |
| 56 | |
| 57 | storin.ps A paper, in PostScript, defining the Storin |
| 58 | cipher and providing some preliminary analysis. |
| 59 | |
| 60 | storin.tex The TeX source to the Storin paper. |
| 61 | |
| 62 | storin.tests A file of test vectors useful for testing your |
| 63 | implementation. |
| 64 | |
| 65 | storin.debug A file showing a Storin key schedule and |
| 66 | encryption, with all intermediate values. |
| 67 | Useful when you're trying to produce your own |
| 68 | implementation. |
| 69 | |
| 70 | |
| 71 | Programs built: |
| 72 | |
| 73 | storin-debug Generates storin.debug. |
| 74 | |
| 75 | storin-tests Generates storin.tests. |
| 76 | |
| 77 | storin-mktab Generates the Storin matrix and its inverse, |
| 78 | given a seed string. |
| 79 | |
| 80 | diffan Performs a statistical differential analysis of |
| 81 | the matrix multiplication. |
| 82 | |
| 83 | sac Performs statistical testing of Storin for |
| 84 | strict avalanche. |
| 85 | |
| 86 | |
| 87 | The software is provided under two licences. It is up to you which you |
| 88 | want to use: |
| 89 | |
| 90 | * A slightly modified version of the BSD licence, without the |
| 91 | `advertising materials' clause. |
| 92 | |
| 93 | * The GNU General Public Licence. |
| 94 | |
| 95 | The latter is provided in order make it explicitly clear that the author |
| 96 | has no objections to this software being distributed under the GPL. |
| 97 | |
| 98 | Verbatim copies of the paper may be distributed with or without charge, |
| 99 | but altering its text or meaning is not allowed. |
| 100 | |
| 101 | Local variables: |
| 102 | mode: text |
| 103 | End: |