|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.util.Random
java.security.SecureRandom
net.i2p.util.RandomSource
net.i2p.util.FortunaRandomSource
public class FortunaRandomSource
Wrapper around GNU-Crypto's Fortuna PRNG. This seeds from /dev/urandom and ./prngseed.rnd on startup (if they exist), writing a new seed to ./prngseed.rnd on an explicit call to saveSeed().
| Field Summary |
|---|
| Fields inherited from class net.i2p.util.RandomSource |
|---|
_context |
| Constructor Summary | |
|---|---|
FortunaRandomSource(I2PAppContext context)
|
|
| Method Summary | |
|---|---|
void |
feedEntropy(String source,
byte[] data,
int offset,
int len)
reseed the fortuna |
void |
feedEntropy(String source,
long data,
int bitoffset,
int bits)
reseed the fortuna |
EntropyHarvester |
harvester()
|
protected int |
nextBits(int numBits)
Pull the next numBits of random data off the fortuna instance (returning 0 through 2^numBits-1 Caller must synchronize! |
boolean |
nextBoolean()
|
void |
nextBytes(byte[] buf)
|
void |
nextBytes(byte[] buf,
int offset,
int length)
Not part of java.util.SecureRandom, but added for efficiency, since Fortuna supports it. |
double |
nextDouble()
Implementation from sun's java.util.Random javadocs |
float |
nextFloat()
Implementation from sun's java.util.Random javadocs |
double |
nextGaussian()
Implementation from sun's java.util.Random javadocs |
int |
nextInt()
|
int |
nextInt(int n)
According to the java docs (http://java.sun.com/j2se/1.4.1/docs/api/java/util/Random.html#nextInt(int)) nextInt(n) should return a number between 0 and n (including 0 and excluding n). |
long |
nextLong()
|
long |
nextLong(long n)
Like the modified nextInt, nextLong(n) returns a random number from 0 through n, including 0, excluding n. |
void |
setSeed(byte[] buf)
|
void |
shutdown()
Note - methods may hang or NPE or throw IllegalStateExceptions after this |
| Methods inherited from class net.i2p.util.RandomSource |
|---|
getInstance, initSeed, loadSeed, saveSeed, writeSeed |
| Methods inherited from class java.security.SecureRandom |
|---|
generateSeed, getAlgorithm, getInstance, getInstance, getInstance, getProvider, getSeed, next, setSeed |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public FortunaRandomSource(I2PAppContext context)
| Method Detail |
|---|
public void shutdown()
public void setSeed(byte[] buf)
setSeed in class SecureRandompublic int nextInt(int n)
nextInt in class RandomSourcepublic int nextInt()
nextInt in class Randompublic long nextLong(long n)
nextLong in class RandomSourcepublic long nextLong()
nextLong in class Randompublic boolean nextBoolean()
nextBoolean in class Randompublic void nextBytes(byte[] buf)
nextBytes in class SecureRandom
public void nextBytes(byte[] buf,
int offset,
int length)
nextBytes in class RandomSourcepublic double nextDouble()
nextDouble in class Randompublic float nextFloat()
nextFloat in class Randompublic double nextGaussian()
nextGaussian in class Randomprotected int nextBits(int numBits)
public EntropyHarvester harvester()
harvester in class RandomSource
public void feedEntropy(String source,
long data,
int bitoffset,
int bits)
feedEntropy in interface EntropyHarvesterfeedEntropy in class RandomSourcesource - origin of the entropy, allowing the harvester to
determine how much to value the databitoffset - bit index into the data array to start
(using java standard big-endian)bits - how many bits to use
public void feedEntropy(String source,
byte[] data,
int offset,
int len)
feedEntropy in interface EntropyHarvesterfeedEntropy in class RandomSourcesource - origin of the entropy, allowing the harvester to
determine how much to value the dataoffset - index into the data array to startlen - how many bytes to use
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||