7 if type(x
) is not tuple and type(x
) is not list:
11 for j
in cross(*seq
[1:]):
23 square rijndael rijndael192 rijndael256
27 ecb cbc cfb ofb counter
33 md2 md4 md5 tiger has160
34 sha sha224 sha256 sha384 sha512
35 rmd128 rmd160 rmd256 rmd320
36 whirlpool whirlpool256
42 print '/* algorithms.h [generated] */'
46 print '#include <catacomb/%s.h>' % i
48 print '#include <catacomb/%s-%s.h>' %
(i
, j
)
49 for i
in streamciphers
:
50 print '#include <catacomb/%s.h>' % i
53 print '#include <catacomb/%s.h>' % i
55 print '#include <catacomb/%s-%s.h>' %
(i
, j
)
58 print '#define PRPS(_) \\'
60 print ' _(%s, %s) \\' %
(i
.upper(), i
)
64 print '#define RNGF_INT 1u'
67 print '#define RNGS(_) \\'
68 for i
in (cross(prps
, ['ofb', 'counter'])):
69 print (' _("%(prim)s-%(mode)s", %(prim)s_keysz, ' +
70 '%(prim)s_%(mode)srand, 0) \\') % \
71 {'prim': i
[0], 'mode': i
[1]}
72 for i
in (cross(hashes
, 'mgf')):
73 print (' _("%(prim)s-%(mode)s", %(prim)s_%(mode)skeysz, ' +
74 '%(prim)s_%(mode)srand, 0) \\') % \
75 {'prim': i
[0], 'mode': i
[1]}
76 print ' _("rc4", rc4_keysz, rc4_rand, 0) \\'
77 print ' _("seal", seal_keysz, seal_rand, RNGF_INT) \\'