From f9041075eeffaf4b3d301f09652444c4aa3c2496 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Thu, 26 May 2016 09:26:09 +0100 Subject: [PATCH] algorithms.py: Support the IETF versions of ChaCha etc. with 96-bit nonce. Organization: Straylight/Edgeware From: Mark Wooding --- algorithms.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/algorithms.py b/algorithms.py index c2ab4ee..a2a468f 100644 --- a/algorithms.py +++ b/algorithms.py @@ -30,8 +30,12 @@ streamciphers = ''' rc4 seal '''.split() latindances = ''' -salsa20 salsa20/12 salsa20/8 xsalsa20 xsalsa20/12 xsalsa20/8 -chacha20 chacha12 chacha8 xchacha20 xchacha12 xchacha8 +salsa20 salsa20/12 salsa20/8 +salsa20-ietf salsa20/12-ietf salsa20/8-ietf +xsalsa20 xsalsa20/12 xsalsa20/8 +chacha20 chacha12 chacha8 +chacha20-ietf chacha12-ietf chacha8-ietf +xchacha20 xchacha12 xchacha8 '''.split() streamciphers += map(lambda s: s.translate(None, '/'), latindances) hashes = ''' @@ -84,9 +88,10 @@ for i in latindances: break else: raise ValueError, 'failed to find root name for %s' % i + if i.endswith('-ietf'): root += '_ietf' print ('\t_("%(name)s", %(root)s_keysz, %(id)s_rand, ' + 'RNGF_NONCE | RNGF_LATIN, %(ROOT)s_NONCESZ) \\') % \ - {'name': i, 'id': i.translate(None, '/'), + {'name': i, 'id': i.translate(None, '/').replace('-', '_'), 'root': root, 'ROOT': root.upper()} print '\t/* end */' print -- [mdw]