X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/f1b0cf0da6b3bcc530d7f72982278510d94f6456..7051e349bd48e2e97031c19a8c321a342b491e49:/catacomb/__init__.py?ds=sidebyside diff --git a/catacomb/__init__.py b/catacomb/__init__.py index 5cbf993..c0cb1ab 100644 --- a/catacomb/__init__.py +++ b/catacomb/__init__.py @@ -46,7 +46,7 @@ def _fixname(name): name = name.replace('-', '_') ## But slashes might become underscores or just vanish. - if name.startswith('salsa20'): name = name.translate(None, '/') + if name.startswith('salsa20'): name = name.replace('/', '') else: name = name.replace('/', '_') ## Done. @@ -320,7 +320,7 @@ class BaseRat (object): return type(me)(me._d*n, me._n*d) def __cmp__(me, you): n, d = _split_rat(you) - return type(me)(me._n*d, n*me._d) + return cmp(me._n*d, n*me._d) def __rcmp__(me, you): n, d = _split_rat(you) return cmp(n*me._d, me._n*d) @@ -910,6 +910,18 @@ class Ed25519Priv (_EdDSAPriv, Ed25519Pub): def sign(me, msg, **kw): return ed25519_sign(me.priv, msg, pub = me.pub, **kw) +class Ed448Pub (_EdDSAPub): + _PUBSZ = KeySZSet(ED448_PUBSZ) + _HASH = shake256 + def verify(me, msg, sig, **kw): + return ed448_verify(me.pub, msg, sig, **kw) + +class Ed448Priv (_EdDSAPriv, Ed448Pub): + _KEYSZ = KeySZAny(ED448_KEYSZ) + def _pubkey(me, priv): return ed448_pubkey(priv) + def sign(me, msg, **kw): + return ed448_sign(me.priv, msg, pub = me.pub, **kw) + ###-------------------------------------------------------------------------- ### Built-in named curves and prime groups.