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
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"
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)
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"
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"
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"