rcls = C.gccrands[r]
rng = rcls(T.span(rcls.keysz.default), **kw)
me.assertTrue(rng.cryptop)
+ if kw:
+ rng = rcls(T.span(rcls.keysz.default))
+ me.check_rand(rng)
def test_sslrand(me):
rng = C.SSLRand(T.span(16), T.span(32), C.md5, C.sha)
def test_dsarand(me):
seed = T.span(16)
n = C.MP.loadb(seed)
- rng = C.DSARand(seed)
+ rng = C.DSARand(seed, passes = 2)
me.check_rand(rng)
- if T.MAXFIXNUM == (1 << 31) - 1: steps = 153 + 3
- elif T.MAXFIXNUM == (1 << 63) - 1: steps = 153
+ if T.MAXFIXNUM == (1 << 31) - 1: steps = 2*153, 3*153 + 1
+ elif T.MAXFIXNUM == (1 << 63) - 1: steps = 2*153 + 8, 3*153 + 8
else: steps = None
- if steps is not None: me.assertEqual(rng.seed, (n + steps).storeb(16))
+ if steps is not None: me.assertEqual(rng.seed, (n + steps[0]).storeb(16))
+ me.assertEqual(rng.passes, 2);
+ rng.passes = 1
+ me.check_rand(rng)
+ if steps is not None: me.assertEqual(rng.seed, (n + steps[1]).storeb(16))
def test_bbs(me):
ev = T.EventRecorder()