aycaramba007
Grünschnabel
Hallo, vielleicht kann mir hier ja jemand helfen, hab ein Java Programm wo am Ende folgender verschlüsselter Text bei rauskommt:
Hex: 2219b1041244c6e25203e40101d4cfda8c0ddded1af89946f7047693812cab8c5a3f4cf422d131f2d939ca83433c1215c6c5ad7a
Das Java Programm soll eine Schwachstelle haben um den Text leicht zu entschlüsseln:
class StreamCipher1 {
Wäre Super wenn hier jemand die Schwachstelle sieht/findet.
Gruß, AyCaramba
Hex: 2219b1041244c6e25203e40101d4cfda8c0ddded1af89946f7047693812cab8c5a3f4cf422d131f2d939ca83433c1215c6c5ad7a
Das Java Programm soll eine Schwachstelle haben um den Text leicht zu entschlüsseln:
class StreamCipher1 {
Code:
private byte S[] = new byte[256];
private int ii = 0, jj = 0;
public void keysetup(byte[] key)
{
for (int i = 0; i < 256; i++)
{
S[i] = (byte) i;
}
int i = 0;
byte c;
for (int j = 0; j < 256; j++)
{
i = (j + key[i % 3]) % 8;
c = S[i];
S[i] = S[j];
S[j] = c;
}
}
public byte encrypt(byte c)
{
ii = (ii + 1) % 256;
jj = (jj + S[ii]) % 256;
if (jj < 0)
{
jj += 256;
}
byte h = S[ii];
S[ii] = S[jj];
S[jj] = h;
return (byte) (S[ii] ^ c);
}
public static void main(String[] argv)
{
byte[] key = new byte[8];
byte[] message = new String("");
// initialisation of key and plaintext removed
byte c;
StreamCipher1 s = new StreamCipher1();
s.keysetup(key);
for (int i = 0; i < message.length; i++)
{
c = s.encrypt(message[i]);
System.out.print(Integer.toHexString(c + 128));
}
// resulting ciphertext is 2219b1041244c6e25203e40101d4cfda8c0ddded1af89946f7047693812cab8c5a3f4cf422d131f2d939ca83433c1215c6c5ad7a
}
}
Wäre Super wenn hier jemand die Schwachstelle sieht/findet.
Gruß, AyCaramba