Informatik am Johanneum/eigene Verfahren/15jojo: Unterschied zwischen den Versionen
15jojo (Diskussion | Beiträge) (Vorlage eingefügt) |
15jojo (Diskussion | Beiträge) (Fazit zur Sicherheitsbewertung angefügt) |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<br /> | <br /> | ||
=="My name is the key"== | |||
Der Name des Verfahrens „my name is the key“ gibt den Grundbaustein der Methode bereits her: Als Schlüssel zur Ver- und Entschlüsselung fungiert der Name des Absenders. | |||
Nach klassischer Substitutionsart wird so der Originaltext verschlüsselt. | |||
=== Verschlüsselung === | ===Verschlüsselung=== | ||
Der Name wird in die erste Zeile einer 9x3 Felder großen Tabelle eingetragen. Kommt ein Buchstabe mehrmals vor, so wird die Dopplung natürlich weggelassen. Allerdings ist zu beachten, dass wenn eine Dopplung auftaucht, die Tabelle bis zu dem Feld, in dem der Name enden würde, würde er normal ausgeschrieben werden, mit dem Buchstaben 'A' beginnend, aufgefüllt wird. Taucht das 'A' bereits im Namen auf, so wird offensichtlich das 'B' eingetragen. | |||
= | Dies lässt sich an einem Beispiel gut darstellen: | ||
{| class="wikitable" | |||
|+Beispielschlüssel 'Claas' | |||
|'''''C''''' | |||
|'''''L''''' | |||
|'''''A''''' | |||
|'''''S''''' | |||
|''B'' | |||
|T | |||
|U | |||
|V | |||
|W | |||
|- | |||
|X | |||
|Y | |||
|Z | |||
|D | |||
|E | |||
|F | |||
|G | |||
|H | |||
|I | |||
|- | |||
|J | |||
|K | |||
|M | |||
|N | |||
|O | |||
|P | |||
|Q | |||
|R | |||
|/ | |||
|} | |||
=== | ======Legende zur Tabelle====== | ||
Fett hervorgehoben → im Namen vorkommende Buchstaben | |||
Fett bzw. kursiv hervorgehoben → eigentliche Länge des Namens, mit aufgefüllten Buchstaben | |||
==== | ======Erklärung des Beispielschlüssels====== | ||
Als Beispiel eignet sich der Name Claas. | |||
=== Sicherheitsbewertung === | Der Name hat 5 Buchstaben und beinhaltet eine Buchstabendopplung. Da das ‚A‘ schon im Namen vorkommt, wird mit dem nächsten Buchstaben, dem ‚B‘ aufgefüllt. | ||
Der Rest der Tabelle wird nach normaler rechtsläufiger Schreibweise gefüllt, beginnend mit dem Buchstaben, der im Alphabet nach dem letzten Buchstaben des Namens kommt, im Falle des Beispiels also das ‚T‘. | |||
======Prozess der Verschlüsselung====== | |||
Um einen Text nun zu verschlüsseln, benötigt man eine weitere Tabelle, in der das Alphabet in der richtigen Reihenfolge steht: | |||
{| class="wikitable" | |||
|+Klartabelle | |||
|A | |||
|B | |||
|C | |||
|D | |||
|E | |||
|F | |||
|G | |||
|H | |||
|I | |||
|- | |||
|J | |||
|K | |||
|L | |||
|M | |||
|N | |||
|O | |||
|P | |||
|Q | |||
|R | |||
|- | |||
|S | |||
|T | |||
|U | |||
|V | |||
|W | |||
|X | |||
|Y | |||
|Z | |||
|/ | |||
|} | |||
Zur Kodierung ‚legt‘ man die Tabellen nun übereinander. Als kodierter Buchstabe gilt nun der Buchstabe, der im gleichen Feld liegt, wie der Buchstabe im Klaralphabet, das ‚C‘ ersetzt im Beispiel also das ‚A‘, das ‚L‘ ersetzt das ‚B‘, etc. | |||
===Entschlüsselung=== | |||
Zur Entschlüsselung ist es nun essenziell, dass der Empfänger den Namen des Absenders kennt. | |||
Als Empfänger erstellt man sich nun ebenso zwei Tabellen, eine mit dem Klaralphabet und eine Ver- bzw. Entschlüsselungstabelle. | |||
Ist einem der Name des Absenders nun bekannt und ist man mit dem Verfahren vertraut, so sollte es einem leicht fallen, die Tabellen zu erstellen. | |||
Im Anschluss ersetzt man, um der Verschlüsselung entgegenzuwirken, nun das ‚C‘ mit dem ‚A‘, das ‚L‘ mit dem ‚B‘, etc. (siehe Beispielschlüssel 'Claas'), bis man den gesamten Text entschlüsselt hat. | |||
===Beispiel=== | |||
====Verschlüsselung==== | |||
Würde der Absender nun wirklich Claas heißen, so ließe sich der vorgegebene Beispielsatz folgender Weise verschlüsseln: | |||
{| class="wikitable" | |||
|+Klartabelle | |||
|A | |||
|B | |||
|C | |||
|D | |||
|E | |||
|F | |||
|G | |||
|H | |||
|I | |||
|- | |||
|J | |||
|K | |||
|L | |||
|M | |||
|N | |||
|O | |||
|P | |||
|Q | |||
|R | |||
|- | |||
|S | |||
|T | |||
|U | |||
|V | |||
|W | |||
|X | |||
|Y | |||
|Z | |||
|/ | |||
|} | |||
Der Beispielsatz lautet: 'Ein Verschlüsselungsverfahren sollte auch einfach anzuwenden sein." | |||
{| class="wikitable" | |||
|+Code-Tabelle | |||
|C | |||
|L | |||
|A | |||
|S | |||
|B | |||
|T | |||
|U | |||
|V | |||
|W | |||
|- | |||
|X | |||
|Y | |||
|Z | |||
|D | |||
|E | |||
|F | |||
|G | |||
|H | |||
|I | |||
|- | |||
|J | |||
|K | |||
|M | |||
|N | |||
|O | |||
|P | |||
|Q | |||
|R | |||
|/ | |||
|} | |||
In der Verschlüsselung werden nun die Buchstaben aus der Klartabelle mit denen aus dem gleichen Feld in der Code-Tabelle ersetzt: | |||
So lautet der verschlüsselte Beispielsatz also: | |||
"Bwe Nbijavzmbjjbzmeujnbitcvibe jfzzkb cmav bwetcav cermobesbe jbwe." | |||
====Entschlüsselung==== | |||
Der verschlüsselte Beispielsatz lautet: "Bwe Nbijavzmbjjbzmeujnbitcvibe jfzzkb cmav bwetcav cermobesbe jbwe." | |||
In der Entschlüsselung werden nun die Buchstaben aus der Code-Tabelle mit denen aus dem gleichen Feld in der Klartabelle ersetzt: | |||
So lautet der entschlüsselte Beispielsatz also: | |||
"Ein Verschluesselungsverfahren sollte auch einfach anzuwenden sein." | |||
===Sicherheitsbewertung=== | |||
*Anzahl der Schlüssel ist nahezu unendlich → Entschlüsselung ohne den Namen des Absenders ist nur mit Brute Force oder einer Häufigkeitsanalyse möglich | |||
*Entschlüsselung durch Häufigkeitsanalyse ist möglich, da es sich um ein reines Substitutionsverfahren handelt und sich so nur der Buchstabe zur zugehörigen Wahrscheinlichkeit ändert und nicht die Wahrscheinlichkeit an sich | |||
*Schwachpunkt des Verfahrens liegt darin, dass wenn der Name des Absenders bekannt ist, der Text schnell und einfach zu entschlüsseln ist | |||
*zusätzliche Schwierigkeit durch 'Auffüllen' bis zum eigentlichen Ende des Namens | |||
*auf lange Zeit eher unsicher, da in eine Senderichtung immer der gleiche Schlüssel (der eigene Name) benutzt wird | |||
*je kürzer die Nachricht ist bzw. je weniger verschiedene Buchstaben im Text vorkommen, desto sicherer ist die Verschlüsselung (geringere Erfolgschancen bei der Häufigkeitsanalyse) | |||
Voraussetzungen für die maximale Sicherheit: | |||
*der Name des Absenders ist unbekannt und/oder sehr selten, kompliziert oder lang | |||
*die Nachricht ist verhältnismäßig kurz (geringe Buchstabendiversität) | |||
*der Mitlesende / der Dritte ist mit dem Verfahren nicht vertraut | |||
*die Nachricht ist die erste mitgelesene bzw. abgefangene Nachricht (der Dritte hat 'noch' eine geringere Wahrscheinlichkeit, eine Häufigkeitsanalyse erfolgreich durchzuführen) | |||
Fazit: | |||
Das Verfahren kann aufgrund der riesigen Masse an Vornamen als sehr sicher betrachtet werden. Es weist allerdings klare Schwachstellen auf, so nutzt das Verfahren nichts, wenn der Mitlesende den Namen des Absenders kennt. | |||
Das "my name is the key"-Verfahren kann also unter den richtigen Bedingungen als relativ sicher betrachtet werden. |
Aktuelle Version vom 27. Mai 2020, 10:39 Uhr
"My name is the key"
Der Name des Verfahrens „my name is the key“ gibt den Grundbaustein der Methode bereits her: Als Schlüssel zur Ver- und Entschlüsselung fungiert der Name des Absenders.
Nach klassischer Substitutionsart wird so der Originaltext verschlüsselt.
Verschlüsselung
Der Name wird in die erste Zeile einer 9x3 Felder großen Tabelle eingetragen. Kommt ein Buchstabe mehrmals vor, so wird die Dopplung natürlich weggelassen. Allerdings ist zu beachten, dass wenn eine Dopplung auftaucht, die Tabelle bis zu dem Feld, in dem der Name enden würde, würde er normal ausgeschrieben werden, mit dem Buchstaben 'A' beginnend, aufgefüllt wird. Taucht das 'A' bereits im Namen auf, so wird offensichtlich das 'B' eingetragen.
Dies lässt sich an einem Beispiel gut darstellen:
C | L | A | S | B | T | U | V | W |
X | Y | Z | D | E | F | G | H | I |
J | K | M | N | O | P | Q | R | / |
Legende zur Tabelle
Fett hervorgehoben → im Namen vorkommende Buchstaben
Fett bzw. kursiv hervorgehoben → eigentliche Länge des Namens, mit aufgefüllten Buchstaben
Erklärung des Beispielschlüssels
Als Beispiel eignet sich der Name Claas.
Der Name hat 5 Buchstaben und beinhaltet eine Buchstabendopplung. Da das ‚A‘ schon im Namen vorkommt, wird mit dem nächsten Buchstaben, dem ‚B‘ aufgefüllt.
Der Rest der Tabelle wird nach normaler rechtsläufiger Schreibweise gefüllt, beginnend mit dem Buchstaben, der im Alphabet nach dem letzten Buchstaben des Namens kommt, im Falle des Beispiels also das ‚T‘.
Prozess der Verschlüsselung
Um einen Text nun zu verschlüsseln, benötigt man eine weitere Tabelle, in der das Alphabet in der richtigen Reihenfolge steht:
A | B | C | D | E | F | G | H | I |
J | K | L | M | N | O | P | Q | R |
S | T | U | V | W | X | Y | Z | / |
Zur Kodierung ‚legt‘ man die Tabellen nun übereinander. Als kodierter Buchstabe gilt nun der Buchstabe, der im gleichen Feld liegt, wie der Buchstabe im Klaralphabet, das ‚C‘ ersetzt im Beispiel also das ‚A‘, das ‚L‘ ersetzt das ‚B‘, etc.
Entschlüsselung
Zur Entschlüsselung ist es nun essenziell, dass der Empfänger den Namen des Absenders kennt.
Als Empfänger erstellt man sich nun ebenso zwei Tabellen, eine mit dem Klaralphabet und eine Ver- bzw. Entschlüsselungstabelle.
Ist einem der Name des Absenders nun bekannt und ist man mit dem Verfahren vertraut, so sollte es einem leicht fallen, die Tabellen zu erstellen.
Im Anschluss ersetzt man, um der Verschlüsselung entgegenzuwirken, nun das ‚C‘ mit dem ‚A‘, das ‚L‘ mit dem ‚B‘, etc. (siehe Beispielschlüssel 'Claas'), bis man den gesamten Text entschlüsselt hat.
Beispiel
Verschlüsselung
Würde der Absender nun wirklich Claas heißen, so ließe sich der vorgegebene Beispielsatz folgender Weise verschlüsseln:
A | B | C | D | E | F | G | H | I |
J | K | L | M | N | O | P | Q | R |
S | T | U | V | W | X | Y | Z | / |
Der Beispielsatz lautet: 'Ein Verschlüsselungsverfahren sollte auch einfach anzuwenden sein."
C | L | A | S | B | T | U | V | W |
X | Y | Z | D | E | F | G | H | I |
J | K | M | N | O | P | Q | R | / |
In der Verschlüsselung werden nun die Buchstaben aus der Klartabelle mit denen aus dem gleichen Feld in der Code-Tabelle ersetzt:
So lautet der verschlüsselte Beispielsatz also:
"Bwe Nbijavzmbjjbzmeujnbitcvibe jfzzkb cmav bwetcav cermobesbe jbwe."
Entschlüsselung
Der verschlüsselte Beispielsatz lautet: "Bwe Nbijavzmbjjbzmeujnbitcvibe jfzzkb cmav bwetcav cermobesbe jbwe."
In der Entschlüsselung werden nun die Buchstaben aus der Code-Tabelle mit denen aus dem gleichen Feld in der Klartabelle ersetzt:
So lautet der entschlüsselte Beispielsatz also:
"Ein Verschluesselungsverfahren sollte auch einfach anzuwenden sein."
Sicherheitsbewertung
- Anzahl der Schlüssel ist nahezu unendlich → Entschlüsselung ohne den Namen des Absenders ist nur mit Brute Force oder einer Häufigkeitsanalyse möglich
- Entschlüsselung durch Häufigkeitsanalyse ist möglich, da es sich um ein reines Substitutionsverfahren handelt und sich so nur der Buchstabe zur zugehörigen Wahrscheinlichkeit ändert und nicht die Wahrscheinlichkeit an sich
- Schwachpunkt des Verfahrens liegt darin, dass wenn der Name des Absenders bekannt ist, der Text schnell und einfach zu entschlüsseln ist
- zusätzliche Schwierigkeit durch 'Auffüllen' bis zum eigentlichen Ende des Namens
- auf lange Zeit eher unsicher, da in eine Senderichtung immer der gleiche Schlüssel (der eigene Name) benutzt wird
- je kürzer die Nachricht ist bzw. je weniger verschiedene Buchstaben im Text vorkommen, desto sicherer ist die Verschlüsselung (geringere Erfolgschancen bei der Häufigkeitsanalyse)
Voraussetzungen für die maximale Sicherheit:
- der Name des Absenders ist unbekannt und/oder sehr selten, kompliziert oder lang
- die Nachricht ist verhältnismäßig kurz (geringe Buchstabendiversität)
- der Mitlesende / der Dritte ist mit dem Verfahren nicht vertraut
- die Nachricht ist die erste mitgelesene bzw. abgefangene Nachricht (der Dritte hat 'noch' eine geringere Wahrscheinlichkeit, eine Häufigkeitsanalyse erfolgreich durchzuführen)
Fazit:
Das Verfahren kann aufgrund der riesigen Masse an Vornamen als sehr sicher betrachtet werden. Es weist allerdings klare Schwachstellen auf, so nutzt das Verfahren nichts, wenn der Mitlesende den Namen des Absenders kennt.
Das "my name is the key"-Verfahren kann also unter den richtigen Bedingungen als relativ sicher betrachtet werden.