###--------------------------------------------------------------------------
### Bernstein's elliptic curve crypto and related schemes.
-X25519_BASE = \
- bytes('0900000000000000000000000000000000000000000000000000000000000000')
-
-X448_BASE = \
- bytes('05000000000000000000000000000000000000000000000000000000'
- '00000000000000000000000000000000000000000000000000000000')
+X25519_BASE = MP(9).storel(32)
+X448_BASE = MP(5).storel(56)
Z128 = bytes('00000000000000000000000000000000')
class _BoxyPub (object):
- def __init__(me, pub, *kw, **kwargs):
+ def __init__(me, pub, *args, **kw):
if len(pub) != me._PUBSZ: raise ValueError, 'bad public key'
- super(_BoxyPub, me).__init__(*kw, **kwargs)
+ super(_BoxyPub, me).__init__(*args, **kw)
me.pub = pub
def __repr__(me): return '%s(pub = %r)' % (_clsname(me), me.pub)
def _repr_pretty_(me, pp, cyclep):
pp.end_group(ind, ')')
class _BoxyPriv (_BoxyPub):
- def __init__(me, priv, pub = None, *kw, **kwargs):
+ def __init__(me, priv, pub = None, *args, **kw):
if len(priv) != me._KEYSZ: raise ValueError, 'bad private key'
if pub is None: pub = me._op(priv, me._BASE)
- super(_BoxyPriv, me).__init__(pub = pub, *kw, **kwargs)
+ super(_BoxyPriv, me).__init__(pub = pub, *args, **kw)
me.priv = priv
def agree(me, you): return me._op(me.priv, you.pub)
def boxkey(me, recip):
def box(me, recip, n, m):
return secret_box(me.boxkey(recip), n, m)
def unbox(me, recip, n, c):
- return secret_unbox(me.boxkey(recip, n, c))
+ return secret_unbox(me.boxkey(recip), n, c)
def __repr__(me): return '%s(priv = %s, pub = %r)' % \
(_clsname(me), _repr_secret(me.priv), me.pub)
def _repr_pretty_(me, pp, cyclep):