Update of /cvsroot/freenet/freenet/src/freenet/crypt
In directory sc8-pr-cvs1:/tmp/cvs-serv24701/src/freenet/crypt
Modified Files:
Yarrow.java
Added Files:
ThrottledAsyncEntropyYarrow.java
Log Message:
Unfinalized Yarrow.
Added another version of the Yarrow PRNG.
--- NEW FILE: ThrottledAsyncEntropyYarrow.java ---
/*
* Created on Oct 27, 2003
*/
package freenet.crypt;
import freenet.support.BlockingQueue;
/**
* @author Iakin
*
* Exactly the same as Yarrow except that supplied entropy will be added
asynchronously and that some
* entropy additions might be ignored
*
*/
public class ThrottledAsyncEntropyYarrow extends Yarrow {
long maxEntropyQueueSize;
Thread entropyProcessor;
BlockingQueue entropy= new BlockingQueue();
private class EntropyQueueItem {
EntropySource source;
long data;
int entropyGuess;
EntropyQueueItem(EntropySource source, long data, int entropyGuess) {
this.source = source;
this.data = data;
this.entropyGuess = entropyGuess;
}
}
public ThrottledAsyncEntropyYarrow(String seed, String digest, String
cipher,long maxEntropyQueueSize)
{
super(seed,digest,cipher);
this.maxEntropyQueueSize = maxEntropyQueueSize;
entropyProcessor = new Thread(new Runnable() {
public void run(){
while(true)
try{
EntropyQueueItem e =
(EntropyQueueItem)entropy.dequeue();
ThrottledAsyncEntropyYarrow.super.acceptEntropy(e.source, e.data, e.entropyGuess);
}catch(InterruptedException e){}
}
});
entropyProcessor.setDaemon(true);
entropyProcessor.setName("PRNG/Yarrow entropy processing thread");
entropyProcessor.start();
}
public int acceptEntropy(EntropySource source, long data, int entropyGuess) {
int i;
if(entropy.size() < maxEntropyQueueSize)
entropy.enqueue(new
EntropyQueueItem(source,data,entropyGuess));
else
i = 0;
return 32; //TODO: What should we do here.. seem like no part of fred
currently uses the retuned value /[EMAIL PROTECTED]
}
}
Index: Yarrow.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/crypt/Yarrow.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -w -r1.9 -r1.10
--- Yarrow.java 7 Oct 2003 20:03:39 -0000 1.9
+++ Yarrow.java 27 Oct 2003 13:39:00 -0000 1.10
@@ -39,7 +39,7 @@
*
* @author Scott G. Miller <[EMAIL PROTECTED]>
*/
-public final class Yarrow extends RandomSource {
+public class Yarrow extends RandomSource {
/**
* Security parameters
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs