X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/5c4c02314ca241c437b28f301658fee743323739..4cc4728f637194814cde8aad98cee53b8222f549:/catacomb/__init__.py diff --git a/catacomb/__init__.py b/catacomb/__init__.py index 4840eef..e283744 100644 --- a/catacomb/__init__.py +++ b/catacomb/__init__.py @@ -889,7 +889,7 @@ class X448Pub (_XDHPub): class X448Priv (_XDHPriv, X448Pub): _KEYSZ = KeySZSet(X448_KEYSZ) def _op(me, k, X): return x448(k, X) - ##def _hashkey(me, z): return ??? + def _hashkey(me, z): return Shake256().hash(z).done(salsa20.keysz.default) class _EdDSAPub (_BasePub): def beginhash(me): return me._HASH() @@ -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.