chiark / gitweb /
algorithms: Add PRPs as objects in their own right.
[catacomb-python] / algorithms.py
index cc209c6ffdd682383a0b4877d9c03dfd87460273..23487057b3db5433ee9aa12bb4cd7dfd17a21aae 100644 (file)
@@ -55,18 +55,25 @@ for i in hashes:
     print '#include <catacomb/%s-%s.h>' % (i, j)
 print
 
-print '#define PRPS(DO) \\'
+print '#define PRPS(_) \\'
 for i in prps:
-  print '  DO(%s, %s) \\' % (i.upper(), i)
+  print '  _(%s, %s) \\' % (i.upper(), i)
 print '  /* end */'
 print
 
-print '#define RNGS(DO) \\'
-for i in (cross(prps, ['ofb', 'counter']) +
-          cross(hashes, 'mgf')):
-  print '  DO("%(prim)s-%(mode)s", %(prim)s_%(mode)srand) \\' % \
-        {'prim': i[0], 'mode': i[1]}
-print '  DO("rc4", rc4_rand) \\'
-print '  DO("seal", seal_randkludge) \\'
+print '#define RNGF_INT 1u'
+print
+
+print '#define RNGS(_) \\'
+for i in (cross(prps, ['ofb', 'counter'])):
+  print ('  _("%(prim)s-%(mode)s", %(prim)s_keysz, ' +
+         '%(prim)s_%(mode)srand, 0) \\') % \
+         {'prim': i[0], 'mode': i[1]}
+for i in (cross(hashes, 'mgf')):
+  print ('  _("%(prim)s-%(mode)s", %(prim)s_%(mode)skeysz, ' +
+         '%(prim)s_%(mode)srand, 0) \\') % \
+         {'prim': i[0], 'mode': i[1]}
+print '  _("rc4", rc4_keysz, rc4_rand, 0) \\'
+print '  _("seal", seal_keysz, seal_rand, RNGF_INT) \\'
 print '  /* end */'
 print