Merge branch '1.3.x' into HEAD
[catacomb-python] / algorithms.py
index 4187c46..5730c45 100644 (file)
@@ -25,6 +25,8 @@ serpent noekeon
 '''.split()
 pmodes = '''
 ecb cbc cfb ofb counter
+cmac pmac1
+ccm eax gcm ocb1 ocb3
 '''.split()
 streamciphers = '''
 rc4 seal
@@ -37,12 +39,13 @@ chacha20 chacha12 chacha8
 chacha20-ietf chacha12-ietf chacha8-ietf
 xchacha20 xchacha12 xchacha8
 '''.split()
-streamciphers += map(lambda s: s.translate(None, '/'), latindances)
+streamciphers += map(lambda s: s.replace('/', ''), latindances)
 hashes = '''
 md2 md4 md5 tiger has160
 sha sha224 sha256 sha512/224 sha512/256 sha384 sha512
 rmd128 rmd160 rmd256 rmd320
 whirlpool whirlpool256
+sha3-224 sha3-256 sha3-384 sha3-512
 '''.split()
 hmodes = '''
 mgf hmac
@@ -93,7 +96,14 @@ for i in latindances:
   if i.endswith('-ietf'): root += '_ietf'
   print ('\t_("%(name)s", %(root)s_keysz, %(id)s_rand, ' +
          'RNG_LATIN, %(ROOT)s_NONCESZ) \\') % \
-      {'name': i, 'id': i.translate(None, '/').replace('-', '_'),
+      {'name': i, 'id': i.replace('/', '').replace('-', '_'),
        'root': root, 'ROOT': root.upper()}
+for i in [128, 256]:
+  print ('\t_("shake%(w)d", shake%(w)d_keysz, cshake%(w)d_rand, ' +
+         'RNG_SHAKE, 0) \\') % \
+         {'w': i}
+  print ('\t_("kmac%(w)d", kmac%(w)d_keysz, kmac%(w)d_rand, ' +
+         'RNG_KMAC, 0) \\') % \
+         {'w': i}
 print '\t/* end */'
 print