Also, ich habe mich in letzter Zeit etwas mit Kryptologie beschäftigt. Es gibt ja unendlich viele undendlich komplizierte oder auch weniger Komplizierte Verschlüsselungsverfahren.
Ein einfaches Beispiel ist die Vernamverschlüsselung bei Texten (ohne Sonderzeichen)
man hat den Text "originaltext" das Schlüsselwort "KEY" den Schlüssel bildet man aus dem Schlüsselwort + dem Text "KEYoriginaltext" wenn man nun einen Text verschlüsselt ist er ohne Schlüsselwort nicht entschlüsselbar.
Nun zu meiner Frage:
Warum benutzt man nicht das ebenso simple wie undecodierbare OTP für alles.
Beispiel für Vernam mit JAVA
Ein einfaches Beispiel ist die Vernamverschlüsselung bei Texten (ohne Sonderzeichen)
man hat den Text "originaltext" das Schlüsselwort "KEY" den Schlüssel bildet man aus dem Schlüsselwort + dem Text "KEYoriginaltext" wenn man nun einen Text verschlüsselt ist er ohne Schlüsselwort nicht entschlüsselbar.
Nun zu meiner Frage:
Warum benutzt man nicht das ebenso simple wie undecodierbare OTP für alles.
Beispiel für Vernam mit JAVA
Code:
private static final int A = (int) 'A';
private static final int ALPHABET_LEN = 26;
public static String encrypt(String originalText, String schluessel) {
String geheimText = "";
originalText = originalText.toUpperCase();
for (int h = 0; h < originalText.length(); h++) {
schluessel += originalText.charAt(h);
}
int key = 0;
for (int i = 0; i < originalText.length(); i++) {
geheimText += (char) ((originalText.charAt(i) - A + ((schluessel
.charAt(key) - A)))
% ALPHABET_LEN + A);
key++;
}
return geheimText;
}
public static String decrypt(String geheimText, String schluessel) {
String klarText = "";
geheimText = geheimText.toUpperCase();
int key = 0;
for (int i = 0; i < geheimText.length(); i++) {
klarText += (char) ((geheimText.charAt(i) + A - ((schluessel
.charAt(key) - A)))
% ALPHABET_LEN + A);
schluessel += klarText.charAt(i);
key++;
}
return klarText.toLowerCase();
}
}