Bug #935

Test on IBAA

Added by robin_carey5 about 6 years ago. Updated almost 6 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

Hi Matt,

I ran the test I was planning to make on IBAA and it
shows that there is a problem; the first round of
output from the generator leaks the internal state
(perhaps even in subsequent rounds).

You can run the test yourself from my home directory
on LEAF:

/home/rcarey/ibaa.c

What I would recommend is that after initialisation
(after the generator has been seeded from the
"entropy" file - the seeding method that you added),
the generator is warmed up as described in:

http://www.burtleburtle.net/bob/rand/isaac.html

I would recommend that the generator is warmed up by
making 10 (ten) calls to IBAA_Call () (as described in
the above URL). This has the effect of discarding the
output of the generator for the first ten
rounds/calls, and thereby eliminating the
internal-state leakage produced by the first
round/rounds.

Sincerely,
R Carey.

___________________________________________________________
Support the World Aids Awareness campaign this month with Yahoo! For Good http://uk.promotions.yahoo.com/forgood/

History

#1 Updated by dillon about 6 years ago

:Hi Matt,
:...
:
:What I would recommend is that after initialisation
:(after the generator has been seeded from the
:"entropy" file - the seeding method that you added),
:the generator is warmed up as described in:
:
:http://www.burtleburtle.net/bob/rand/isaac.html
:
:I would recommend that the generator is warmed up by
:making 10 (ten) calls to IBAA_Call () (as described in
:the above URL). This has the effect of discarding the
:output of the generator for the first ten
:rounds/calls, and thereby eliminating the
:internal-state leakage produced by the first
:round/rounds.
:
:Sincerely,
:R Carey.

Ok, so looking at our kernel implementation:

/usr/src/sys/kern/kern_nrandom.c

You are suggesting that I make 10 calls to IBAA_Call() at the end
of the rand_initialize() function?

Should I also make 10 calls to IBAA_Call() at the end of the
add_buffer_randomness() function? That function is called when
userland (root) writes to /dev/random during early boot.

-Matt
Matthew Dillon
<>

#2 Updated by dillon about 6 years ago

I have committed both adjustments to head. The two warmups
and the adjustment to L15's 'y' index.

-Matt

Also available in: Atom PDF