Example #1
0
 def testRandomMessageDecode(self):
     group = ECGroup(prime192v2)
     for i in range(runs):
         msg_len = group.bitsize()
         s = OpenSSLRand().getRandomBytes(msg_len)
         g = group.encode(s)
         t = group.decode(g)
         assert s == t, "Failed to encode/decode %d properly" % i
Example #2
0
    def testRandomGroupDecode(self):
        group = ECGroup(prime192v1)

        for i in range(runs):
            r = group.random(G)
            m = group.decode(r, True)
            n = group.encode(m, True)
            assert r == n, "Failed to encode/decode properly including counter"
Example #3
0
group256 = ECGroup(secp256k1)
group283 = ECGroup(sect283k1)
group571 = ECGroup(sect571k1)

g256 = group256.random(G)
h256 = group256.random(G)

#Cofactor is 4
#TODO: Just doing 8 change to 4
g283 = (group283.random(G))**(group283.init(ZR, int(4)))
h283 = (group283.random(G))**(group283.init(ZR, int(4)))

g571 = (group571.random(G))**(group571.init(ZR, int(4)))
h571 = (group571.random(G))**(group571.init(ZR, int(4)))

decoded_g256 = group256.decode(g256)
decoded_h256 = group256.decode(h256)

decoded_g283 = group283.decode(g283)
decoded_h283 = group283.decode(h283)

decoded_g571 = group571.decode(g571)
decoded_h571 = group571.decode(h571)
'''
print("decoded_g256:\n", decoded_g256)
print("decoded_h256:\n", decoded_h256)

print("decoded_g283:\n", decoded_g283)
print("decoded_h283:\n", decoded_h283)

print("decoded_g571:\n", decoded_g571)
Example #4
0
 def testBadMessage3Decode(self):
     group = ECGroup(prime192v2)
     s = b'\x8a$\x1b@5xm\x00f\xa5\x98{OJ\xd9,\x17`\xb7\xcf\xd2\x1e\xb3\x99'
     g = group.encode(s, True)
     t = group.decode(g, True)
     assert s == t, "Failed to encode/decode properly"
Example #5
0
 def testBadMessage2Decode(self):
     group = ECGroup(prime192v2)
     s = b'~3\xfcN\x00\x8eF\xfaq\xdc\x8d\x14\x8d\xde\xebC^1`\x99'
     g = group.encode(s)
     t = group.decode(g)
     assert s == t, "Failed to encode/decode properly"
Example #6
0
 def testBadMessage1Decode(self):
     group = ECGroup(prime192v1)
     s = b'\x00\x9d\xaa2\xfa\xf2;\xd5\xe56,\xe8\x1c\x17[k4\xa4\x8b\xad'
     g = group.encode(s)
     t = group.decode(g)
     assert s == t, "Failed to encode/decode properly"