示例#1
0
    def test_several_lengths(self):
        prng = SHAKE128.new().update(b('Test'))
        for length in range(1, 100):
            base = Integer.from_bytes(prng.read(length))
            modulus2 = Integer.from_bytes(prng.read(length)) | 1
            exponent2 = Integer.from_bytes(prng.read(length))

            expected = pow(base, exponent2, modulus2)
            result = monty_pow(base, exponent2, modulus2)
            self.assertEqual(result, expected)
def get_tag_random(tag, length):
    return SHAKE128.new(data=tobytes(tag)).read(length)
 def new_test(self, data=data, result=tv.md):
     hobj = SHAKE128.new(data=data)
     digest = hobj.read(len(result))
     self.assertEqual(digest, result)
示例#4
0
def create_rng(tag):
    rng = StrongRandom(SHAKE128.new(data=tag))
    return rng