예제 #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
예제 #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"
예제 #3
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"
예제 #4
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"
예제 #5
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"
예제 #6
0
    decoded_h = decoded_h256
    g = group.encode(decoded_g256)
    h = group.encode(decoded_h256)

elif bits == 283:
    group = group283
    decoded_g = decoded_g283
    decoded_h = decoded_h283
    g = group.encode(decoded_g283)**group.init(ZR, int(4))
    h = group.encode(decoded_h283)**group.init(ZR, int(4))

elif bits == 571:
    group = group571
    decoded_g = decoded_g571
    decoded_h = decoded_h571
    g = group.encode(decoded_g571)**group.init(ZR, int(4))
    h = group.encode(decoded_h571)**group.init(ZR, int(4))

g_rand = group.random(G)
zero = group.init(ZR, int(0))
unity = g_rand**zero

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

g283 = group283.encode(decoded_g283)**group283.init(ZR, int(4))
h283 = group283.encode(decoded_h283)**group283.init(ZR, int(4))

g571 = group571.encode(decoded_g571)**group571.init(ZR, int(4))
h571 = group571.encode(decoded_h571)**group571.init(ZR, int(4))