AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Angriff auf die Vegenere-Chiffre
Thema durchsuchen
Ansicht
Themen-Optionen

Angriff auf die Vegenere-Chiffre

Ein Thema von Nikolas · begonnen am 19. Apr 2006 · letzter Beitrag vom 24. Mai 2006
 
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#1

Angriff auf die Vegenere-Chiffre

  Alt 19. Apr 2006, 18:45
Ich habe ein Programm geschrieben mit dem man die Vigenere-Verschlüsselung knacken kann. Dieser Angriff wurde von Charles Babbage vor etwa 150 Jahren entwickelt. Heutzutage wird dieser Code wohl kaum noch benutzt. Aber weil ich nichts besseres zu tun hatte, habe ich mich mal dran gesetzt und diesen Angriff implementiert.
Dafür habe ich mir die Klasse TVegenere geschrieben, die die grundlegenden Funktionen wie Ver oder Entschlüsseln und ein paar andere benötigte Funktionen beinhaltet.

In den anderen Units werden die einzelnen Abschnitte des Angriffs bearbeitet (Suche der Schlüssellänge und dann der Angriff gegen die monoalphabetische Verschlüsselung).

Natürlich funktioniert dieses Methode nicht immer, da sie im Endeffekt auf der Häufigkeitsverteilung der Buchstaben aufbaut. Wenn also der Schlüssel also lang genug ist, wird das Entschlüsseln recht schwierig bis unmöglich.

Hier mal ein Beispiel:

Man nehme Das Lied von der Glocke und verschlüssle es mit dem Wort 'Goldhamster'. Das sollte recht einfach zu knacken sein, da die Glocke etwa 10000 Zeichen lang ist und der Schlüssel nur 11.

Der Angreifer nimmt jetzt diesen Text und klickt auf 'Wiederholungen im Text suchen' kopiert den Code in das linke Memo, klickt auf Start und geht sich einen Kaffee holen. Im Memo ganz rechts wird nun angezeigt, wie oft ein Wiederholung nach einer bestimmten Anzahl von Zeichen ergeben hat. Nach den ersten 1500 Zeichen sieht dass dann so aus:
Code:
Länge 2 --> 688
Länge 22 --> 597
Länge 3 --> 546
Länge 33 --> 487
Länge 4 --> 406
Länge 11 --> 365
Länge 44 --> 351
Länge 5 --> 348
Länge 6 --> 342
Länge 55 --> 308
Länge 7 --> 303
Länge 66 --> 301
Länge 77 --> 249
Länge 8 --> 246
Länge 9 --> 224
Länge 88 --> 216
Länge 99 --> 191 
(...)
Daraus muss man nun die richtige Schlüssellänge raussuchen. Auffallend ist hier, dass neben den kleinen Zahlen alle anderen durch 11 teilbar sind. Somit kann man hier davon ausgehen, dass der Schlüssel 11 Zeichen lang ist. Damit ist die Chiffre eigentlich schon geknackt. Denn jetzt weiss man, dass sich der Schlüssel alle 11 Zeichen wiederholt.
Nimmt man jetzt das 1, 12, 23 usw. Zeichen, weiss man, dass alle mit dem gleichen Buchstaben verschlüsselt wurden und damit die gleiche Buchstabenverteilung wie der gesamtze Text haben. Damit hat man nur noch eine einfache monoalphabetische Chiffre zu knacken. Dafür nimmt man das dritte Formular und gibt unten den verschlüsselten Text ein.
In der mittleren Trackbar stellt man nun die Schlüssellänge auf 11. Der linke Regler bleibt erst mal auf 1.
Drückt man nun den Zeichnen-Button sieht man in Schwarz die Verteilung der Buchstabenmenge bestehend aus dem 1,12.. Buchstaben. Anscheind ist hier das K am häufigsten. Aktiviert man den Schatten sieht man in Rot die Verteilung in der deutschen Sprache. Mit der Trackbar ganz recht kann man nun die schwarzen Balken so, dass sie am Besten mit den Roten in Überdeckung stehen. Über der Trackbar kann man nun den ersten Buchstaben des Codewortes ablesen.
Stellt man den linken Regler nun auf 2 wird die Menge der Buchstaben mit den Nummer 2,13,24,... angezeigt. Gleiches Spiel von vorne usw.
Nach und nach erhält man so den Schlüssel.
Einen einfach Caesar kann man somit natürlich auch knacken, in dem man die Schlüssellänge auf 1 setzt.

Der Code ist sicher nicht optimal was die Laufzeit angeht, wer will kann ihn ja verbessern.
Lizenztechnisch darf jeder mit dem Programm machen, was er will, es soll aber deutlich zu erkennen sein, wer den Code geschrieben hat.

// Neue Version: Problem mit den Trackbars gelöst
// Neue Version: Noch ein kleiner Fehler weniger.

Vielen Dank an alle, die mir bei der Trackbar geholfen haben
Angehängte Dateien
Dateityp: zip vigenere_2_496.zip (277,2 KB, 139x aufgerufen)
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz