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: |