public class Mix
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
BATCH_SIZE
Anzahl der Nachrichten in einem Schub
|
static int |
RANDOM_AMOUNT
Anteil der Zufallsbits in einer Nachricht in Prozent
|
Constructor and Description |
---|
Mix()
Initialisierung des Mixes.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addInMessage(java.math.BigInteger m)
Fügt eine Eingabenachricht zum aktuellen Schub hinzu, wenn darin noch Platz ist.
|
boolean |
checkAttackSuccess(int batch,
int inIndex,
int outIndex)
Testet, ob ein Angriff korrekte Ergebnisse erzeugt hat.
|
void |
executeBatch()
Bearbeiten eines Schubes im Mix.
|
int |
getBatchNumber()
Gibt die aktuelle Schubnummer zurück.
|
java.math.BigInteger[] |
getInBatch(int index)
Gibt ein BigInteger-Feld mit den Eingabenachrichten des durch "index"
bezeichneten Schubes zurück.
|
int |
getMessageLength()
Gibt die maximale Länge einer Nachricht in Bit zurück.
|
MessageTools |
getMessageTools()
Gibt die Klasse mit den Nachrichtenbearbeitungsfunktionen
für diesen Mix zurück.
|
java.math.BigInteger[] |
getOutBatch(int index)
Gibt ein BigInteger-Feld mit den Ausgabenachrichten des durch "index"
bezeichneten Schubes zurück.
|
RSAPublicKey |
getPublicKey()
Gibt den öffentlichen RSA-Schlüssel des Mixes zurück.
|
int |
getRandomLength()
Gibt die Länge der Zufallsbitfolge in einer Nachricht an.
|
public static int BATCH_SIZE
public static int RANDOM_AMOUNT
public Mix()
public void executeBatch()
public boolean addInMessage(java.math.BigInteger m) throws java.lang.Exception
m
- Die Nachrichtjava.lang.Exception
- wenn die Nachricht zu groß ist (m >= n oder m <= -n). n ist der
Modulus des RSA-Schlüssels des Mixespublic int getMessageLength()
public int getRandomLength()
public RSAPublicKey getPublicKey()
public MessageTools getMessageTools()
public int getBatchNumber()
public java.math.BigInteger[] getInBatch(int index)
index
- der Index des Schubes, der zurückgegeben werden sollpublic java.math.BigInteger[] getOutBatch(int index)
index
- der Index des Schubes, der zurückgegeben werden sollpublic boolean checkAttackSuccess(int batch, int inIndex, int outIndex) throws java.lang.Exception
batch
- der Schub, in dem die Nachrichtenzuordnung gestestet werden sollinIndex
- Index der Eingabenachricht im Feld der Eingabenachrichten des SchubesoutIndex
- Index der Ausgabenachricht im Feld der Ausgabenachrichten des Schubesjava.lang.Exception
- wenn indices außerhalb der Grenzen liegen: 0 <= batch < batchNumber,
0 <= inIndex < BATCH_SIZE, 0 <= outIndex < BATCH_SIZE