Ejemplo n.º 1
0
 def verify(self, message, s, e):
   r = (pow(self.g, s, self.p) * pow(self.publicKey, e, self.p)) % self.p
   h = HashWrapper()
   h.add(message)
   h.add(int2bin(r))
   e1 = h.digest()
   return bin2int(e1) == e
Ejemplo n.º 2
0
 def sign(self, message):
     k = random.SystemRandom().randrange(self.q)
     r = pow(self.g, k, self.p)
     h = HashWrapper()
     h.add(message)
     h.add(int2bin(r))
     e = h.digest()
     s = (k - self.x * bin2int(e)) % self.q
     signature = (e, int2bin(s))
     return signature
Ejemplo n.º 3
0
 def sign(self, message):
   k = random.SystemRandom().randrange(self.q)
   r = pow(self.g, k, self.p)
   h = HashWrapper()
   h.add(message)
   h.add(int2bin(r))
   e = h.digest()
   s = (k - self.x * bin2int(e)) % self.q
   signature = (e,  int2bin(s))
   return signature