pybitmessage.pyelliptic.eccblind module

ECC blind signature functionality based on “An Efficient Blind Signature Scheme Based on the Elliptic CurveDiscrete Logarithm Problem” by Morteza Nikooghadama <mnikooghadam@sbu.ac.ir> and Ali Zakerolhosseini <a-zaker@sbu.ac.ir>, http://www.isecure-journal.com/article_39171_47f9ec605dd3918c2793565ec21fcd7a.pdf

class Expiration(year, month)[source]

Bases: object

Expiration of pubkey

static deserialize(val)

Create an object out of int

serialize()

Make int out of object

verify()

Check if the pubkey has expired

class Value(value=255)[source]

Bases: object

Value of a pubkey

static deserialize(val)

Make object out of int

serialize()

Make int out of object

verify(value)

Verify against supplied value

class ECCBlind(curve='secp256k1', pubkey=None, privkey=None, year=2025, month=11, value=255)[source]

Bases: object

Class for ECC blind signature functionality

k = None
R = None
F = None
a = None
b = None
c = None
binv = None
r = None
m = None
m_ = None
s_ = None
signature = None
exp = None
val = None
ec_get_random()

Random integer within the EC order

ec_invert(a)

ECC inversion

ec_gen_keypair()

Generate an ECC keypair We’re using compressed keys

ec_Ftor(F)

x0 coordinate of F

privkey()

Make a private key into a string

pubkey()

Make a pubkey into a string

d = None
Q = None
signer_init()

Init signer

create_signing_request(R, msg)

Requester creates a new signing request

blind_sign(m_)

Signer blind-signs the request

unblind(s_)

Requester unblinds the signature

verify(msg, signature, value=1)

Verify signature with certifier’s pubkey