Class Gandalf

java.lang.Object
  extended by Gandalf

public final class Gandalf
extends java.lang.Object

This class implements the elements of a Gandalfqueue. This queue allows outgoing Fcsend packets to be slowly ElGamal encrypted over time. This improves the responsiveness of the Fcdebug UI.

In more detail. It implements elements in an outgoing queue of fcsend hybrid encrypted packets. A new outgoing packet is enqueued. Each element in the queue takes multiple passes to prepare to be sent out. The two big modular exponentiations are broken into multiple computations. The packet is dequeued and requeued multiple times. Finally, when it is ready, it is sent out after being dequeued. The main Feralcore while loop will process the Gandalfqueue elements, giving Fcdebug requests high priority. All sending operations: ping packets, yyrerandtrans programs, other feralcore send instructions, etc. will use this queue to send.


Constructor Summary
Gandalf(Fcsend fcsendin, Fc3tuple tupledestin, YYrandom yyrandomobj)
           
 
Method Summary
 Fcsend getfcsendobj()
           
 java.math.BigInteger getgtok()
           
 Fc3tuple gettupledest()
           
 java.math.BigInteger getytok()
           
 boolean infinalstate()
           
 Gandalf nextstatefactory()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Gandalf

public Gandalf(Fcsend fcsendin,
               Fc3tuple tupledestin,
               YYrandom yyrandomobj)
        throws FeralcoreException,
               java.io.FileNotFoundException,
               java.io.IOException,
               java.lang.InterruptedException,
               java.lang.CloneNotSupportedException
Throws:
FeralcoreException
java.io.FileNotFoundException
java.io.IOException
java.lang.InterruptedException
java.lang.CloneNotSupportedException
Method Detail

nextstatefactory

public Gandalf nextstatefactory()
                         throws FeralcoreException
Throws:
FeralcoreException

infinalstate

public boolean infinalstate()

getfcsendobj

public Fcsend getfcsendobj()

gettupledest

public Fc3tuple gettupledest()

getgtok

public java.math.BigInteger getgtok()
                             throws FeralcoreException
Throws:
FeralcoreException

getytok

public java.math.BigInteger getytok()
                             throws FeralcoreException
Throws:
FeralcoreException