2017-09-26 3 views

Antwort

0

Die Wiederverwendung eines One-Time-Pad ist schlecht, weil es Informationen über den Schlüssel gibt.

p: a plaintext message to be encrypted: p_1 p_2 ... p_n 
e_i: encryption of p_i with key k_i 
otp: e_i = p_i^k_i for ii in 1..n 

Wenn Sie mehrere Nachrichten verschlüsseln und Sie sie xor zusammen, um Ihnen so etwas wie

e1_1^e2_1 = p1_1^k_1^k_1^p2_1 

bekommen und da k_1^k_1 das wird annulliert

e1_1^e2_1 = p1_1^p2_1 

So Informationen zu den Nachrichten erfahren Sie sofort, Aber wenn Sie etwas über die Eingabe wissen, erfahren Sie auch etwas über den Schlüssel.

Durch so etwas wie Caesar-Chiffre Sie

e2_1 = p2_1^(k_1+13) 

bedeuten könnte, die für Ihre Schlüssel und Nachrichtenraum einen 26-Buchstaben-Alphabet ist vorausgesetzt. Leider wird Ihr Schlüssel nach 2 Nachrichten erneut umgebrochen und Sie befinden sich wieder bei demselben Problem wie zuvor. (es gibt andere große Probleme auch)

allgemeiner, egal was einfache Sache, die Sie tun, geben Sie Informationen über die Nachrichten und in der Regel Schlüssel. Der Angreifer kann typischerweise eine große Matrix von Gleichungen aufstellen und lineare Algebra verwenden, um nach dem Schlüssel zu suchen, sobald Sie ihm genügend Informationen gegeben haben.

Allerdings, wenn Sie die einfache Sache, nehmen Sie tun und es mehr und komplexere und schließlich zu einem Punkt, wo

kn: the key for the nth message 
kn = f(k,n) for some function k 

, so dass ein Angreifer nicht signifikante Informationen über f(k,n) given f (k lernen kann, m) for n! = m , you've invented a stream cipher. People do use stream ciphers all the time; they are not as secure as OTP, but they are a core of internet security. The trick of course is figuring out a good function f`; zu beschreiben, wie dies zu tun ist, ist jenseits der Grenzen dieser Frage. (Und außerdem habe ich diese Fähigkeit nicht wirklich).

+0

Und so etwas: cipher = m^Schlüssel und dann die Charaktere mischen? Der Angreifer erhält keine Informationen über unseren Schlüssel oder unseren Klartext, wenn er unsere Shuffling-Funktion nicht kennt –

+0

Wenn es tatsächlich wahr ist, dass der Angreifer keine Informationen bekommt, dann ist es sicher. Es wird nicht sein. Beachten Sie auch, dass die Shuffling-Funktion nicht mehr als einmal identisch sein kann. Es wird allgemein angenommen, dass der Angreifer alle Ihre Funktionen kennt, seine Schlüssel jedoch nicht kennt. –