Grundlegende Chiffren im Klartext

Hallo Habr!

Wir alle hören ziemlich oft Wörter und Ausdrücke wie "Datenverschlüsselung", "geheime Chiffren", "kryptografischer Schutz", "Verschlüsselung", aber nicht jeder versteht, was genau gemeint ist. In diesem Beitrag werden wir verstehen, was Verschlüsselung ist, und elementare Chiffren betrachten, damit auch Leute, die weit von der IT entfernt sind, die Essenz dieses Phänomens verstehen.

Zunächst werden wir die Terminologie verstehen.

Die Verschlüsselung ist eine Transformation der ursprünglichen Nachricht, bei der keine schlechten Personen die Daten lesen können, wenn sie diese Nachricht abfangen. Diese Transformation wird unter Verwendung spezieller mathematischer und logischer Algorithmen durchgeführt, von denen einige im Folgenden betrachtet werden.

Die ursprüngliche Nachricht ist tatsächlich das, was wir verschlüsseln möchten. Ein klassisches Beispiel ist Text.

Eine verschlüsselte Nachricht ist eine Nachricht, die den Verschlüsselungsprozess bestanden hat.

Eine Chiffre ist der Algorithmus selbst, mit dem wir die Nachricht konvertieren.

Ein Schlüssel ist eine Komponente, auf deren Grundlage eine Ver- oder Entschlüsselung durchgeführt werden kann.

Das Alphabet ist eine Liste aller möglichen Zeichen in der ursprünglichen und verschlüsselten Nachricht. Einschließlich Zahlen, Interpunktion, Leerzeichen, getrennter Klein- und Großbuchstaben usw.

Nachdem wir mehr oder weniger dieselbe Sprache sprechen, werden wir einfache Chiffren analysieren.

  • Atbash-Chiffre


Die einfachste Chiffre. Seine Essenz ist der Aufschwung des Alphabets.

Zum Beispiel haben wir ein Alphabet, das vollständig mit dem üblichen lateinischen Alphabet übereinstimmt.

abcdefghijklmnopqrstu vwxyz 

Um die Atbash-Verschlüsselung zu implementieren, invertieren wir sie einfach. Aus "A" wird "Z", aus "B" wird "Y" und umgekehrt. Am Ausgang erhalten wir folgendes Bild:



Und jetzt schreiben wir die notwendige Nachricht auf das Quellalphabet und das Chiffralphabet

Originaler Beitrag: Ich liebe habr
Verschlüsselt: r olev szyi

  • Caesars Code


Hier wird ein weiterer Parameter hinzugefügt - ein primitiver Schlüssel in Form einer Zahl von 1 bis 25 (für das lateinische Alphabet). In der Praxis liegt der Schlüssel zwischen 4 und 10.

Nehmen Sie zur Verdeutlichung wieder das lateinische Alphabet

 abcdefghijklmnopqrstu vwxyz 

Verschieben Sie nun jeden Buchstaben um eine Schlüsselzahl von Werten nach rechts oder links.

Zum Beispiel ist die Taste 4 und die Verschiebung nach rechts.

Originalalphabet: abcdefghijklmnopqrstu vwxyz
Verschlüsselt: wxyzabcdefghijklmnopq rstuv

Wir versuchen eine Nachricht zu schreiben:

 hello world 

Wir verschlüsseln es und erhalten den folgenden inkohärenten Text:

 dahhk sknhz 

  • Vernam-Chiffre (XOR-Chiffre)


Die einfachste binärbasierte Verschlüsselung mit absoluter kryptografischer Stärke. Ohne Kenntnis des Schlüssels ist es unmöglich, ihn zu entschlüsseln (bewiesen von Claude Shannon).

Das ursprüngliche Alphabet ist immer noch das gleiche Latein.

Die Nachricht ist in separate Zeichen unterteilt und jedes Zeichen wird in binärer Form dargestellt.
Kryptographie-Klassiker bieten für jeden Buchstaben einen fünfstelligen Bodocode . Wir werden versuchen, diese Verschlüsselung für die Codierung mit 8 Bit / Zeichen am Beispiel einer ASCII-Tabelle zu ändern. Wir stellen jeden Buchstaben in Form eines Binärcodes dar.

Bild

Denken Sie jetzt an den Elektronikkurs und das XOR-Element, auch bekannt als XOR.

XOR empfängt Signale (jeweils 0 oder 1), führt eine logische Operation an ihnen aus und gibt ein Signal basierend auf den Eingabewerten aus.

Wenn alle Signale gleich sind (0-0 oder 1-1 oder 0-0-0 usw.), erhalten wir am Ausgang 0.
Wenn die Signale nicht gleich sind (0-1 oder 1-0 oder 1-0-0 usw.), ist der Ausgang 1.

Zum Verschlüsseln der Nachricht geben wir nun den Text selbst zur Verschlüsselung und einen Schlüssel gleicher Länge ein. Wir übersetzen jeden Buchstaben in seinen Binärcode und führen den XOR-Schlüssel der Formelnachricht aus

Zum Beispiel:

Beitrag: LONDON
Schlüssel: SYSTEM

Wir übersetzen sie in Binärcode und führen XOR aus:

 01001100 01001111 01001110 01000100 01001111 01001110 01010011 01011001 01010011 01010100 01000101 01001101 _______________________________________________________ 00011111 00010110 00011101 00010000 00001010 00000011 

In diesem speziellen Beispiel wird anstelle der resultierenden Zeichen nur eine leere Stelle angezeigt, da sich alle Zeichen in den ersten 32 Dienstzeichen befinden. Wenn wir das Ergebnis jedoch in Zahlen übersetzen, erhalten wir das folgende Bild:

 31 22 29 16 10 3. 

Im Aussehen - eine völlig inkohärente Menge von Zahlen, aber wir wissen etwas.

  • Codewort Code


Das Verschlüsselungsprinzip entspricht in etwa dem von Caesar. Nur in diesem Fall verschieben wir das Alphabet nicht um eine bestimmte Anzahl von Positionen, sondern um ein Codewort.

Nehmen Sie zum Beispiel das kyrillische Alphabet zur Abwechslung.

  

Wir werden uns ein Codewort einfallen lassen. Zum Beispiel Lukomorye. Entfernen Sie alle sich wiederholenden Zeichen. Am Ausgang erhalten wir das Wort "Lukomrier".

Jetzt geben wir dieses Wort am Anfang des Alphabets ein und lassen die restlichen Zeichen unverändert.

   

Und jetzt werden wir jede Nachricht aufzeichnen und verschlüsseln.

 "    " 

Wir bekommen folgenden unlesbaren Unsinn:

 "    " 

  • Playfer Code


Die klassische Playfer-Chiffre setzt eine 5x5-Matrix voraus, die auf den lateinischen Alphabetzeichen (i und j sind in einer Zelle geschrieben), einem Codewort und deren weiterer Manipulation basiert.

Das Codewort sei "HALLO".

Erstens verhalten wir uns wie bei der vorherigen Chiffre, d. H. Entfernen Sie die Wiederholungen und schreiben Sie das Wort am Anfang des Alphabets.



Nehmen Sie jetzt eine Nachricht entgegen. Zum Beispiel "Ich liebe HABR und GITHUB".

Wir zerlegen es in Bigramme, d.h. in Zeichenpaare ohne Leerzeichen.

 IL OV EH AB RA ND GI TH UB. 

Wenn die Nachricht aus einer ungeraden Anzahl von Zeichen stammt oder wenn das Bigram zwei identische Zeichen enthält (z. B. LL), wird das Symbol X durch das fehlende oder wiederholte Zeichen ersetzt.

Die Verschlüsselung erfolgt nach mehreren einfachen Regeln:

1) Wenn sich die Digrammzeichen in der Matrix in derselben Zeile befinden, verschieben wir sie um eine Position nach rechts. Wenn das Symbol das letzte in einer Reihe war, wird es das erste.

Zum Beispiel wird EH zu LE.



2) Befinden sich die Digrammzeichen in derselben Spalte, werden sie um eine Position nach unten verschoben. Wenn sich das Zeichen ganz unten in der Spalte befand, nimmt es den Wert des obersten an.

Wenn wir zum Beispiel ein LX-Bigram hätten, würde es zu DL werden.

3) Wenn sich die Zeichen nicht in einer Zeile oder Spalte befinden, erstellen wir ein Rechteck, in dem unsere Zeichen die Kanten der Diagonale sind. Und die Ecken tauschen.

Zum Beispiel das Bigram RA.





Nach diesen Regeln verschlüsseln wir die gesamte Nachricht.

 IL OV EH AB RA ND GI TH UB. KO HY LE HG EU MF BP QO QG 

Wenn Sie die Leerzeichen entfernen, erhalten wir die folgende verschlüsselte Nachricht:

 KOHYLEHGEUMFBPQOQG 

Glückwunsch Nachdem Sie diesen Artikel gelesen haben, verstehen Sie zumindest grob, was Verschlüsselung ist, und Sie wissen, wie man einige primitive Chiffren verwendet, und Sie können beginnen, einige komplexere Beispiele für Chiffren zu studieren, über die wir später sprechen werden.

Vielen Dank für Ihre Aufmerksamkeit.

Source: https://habr.com/ru/post/de444176/


All Articles