Commit | Line | Data |
---|---|---|
e6e0e332 MW |
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: |