Projekt Kryptoanalyse am Gymnasium Flöha im Schuljahr 2008/09 - The Making Of history menue Letztmalig dran rumgefummelt: 17.06.09 19:44:22
Wir beginnen mit falschen Vorstellungen ...
  • Vor 200 Jahren hätte es für dieses Projekt den Nobelpreis gegeben - falsch: den gab es damals noch gar nicht ;-)
  • heute löst jedes Kind dieses Problem, da die Lösung ja bekannt und der Zusammenhang eigentlich auch trivial ist - falsch: die Logik und Mathematik hinter diesen Betrachtungen ist hochkomplex ;-)

... und fügen unsere Ideen hinten an ;-)

  • erkennen sowie Lösen umfangreicher auch und vor allem mathematisch/statistischer Betrachtungen
  • Wahrscheinlichkeitsrechnung + Primzahl-Mathematik
  • Erkennen der Grenzen des Computereinsatzes: Man bekommt syntaktisch korrekte Lösungen, ob diese dann auch semantisch exakt sind, ist eine zweite Frage
  • ob sie in "absehbarer" Zeit realistische Lösungen liefern, ist schon wieder ein anderes, jedoch der Problemstellung sehr nahes Feld
  • Teamarbeit - uns somit sinnvolle Arbeitsteilung
  • komplexes Projekt-Management - auch in verschiedenen Programmiersprachen
  • Theoretische Untermauerung ganz praktischer Applikationen
  • es ist schwer, in all dem Wust von Aufgaben auch noch Sinn für ein im Umfang nicht fest geschriebenes Projekt zu finden - es soll auch noch realistisch, optimistisch und aussagekräftig in der Wirkung sein - und was das allerwichtigste ist: anwendbar in der Zukunft soll es auch noch sein

Das offizielle Logo ...

Projekt Kryptologie 2008 - das Logo

Projekt Kryptologie - Teil II
1. Projektidee und Aufgaben - Teameinteilung
2. Theoretische sowie Technische Grundlagen
3. Die Arbeiten am Projekt
4. Die Ergebnispräsentationen
5. Ähnliche Projekte


1. Grundidee des Projektes und Aufgaben - Teameinteilung history menue scroll up

Viele Bücher sowie auch Theorien versprechen: das geht! Wir wissen nun, dass eine ganze Reihe von Faktoren mitspielen müssen, damit diese Aussage auch wirklich stimmt! Ist die Zeichenmenge klein (unter 20) geht's sicher nicht! Ist sie größer 20, kann's funktionieren - muss aber nicht automatisch - und genau dies ist der Haken: Software versucht dies ja automatisch - wir haben die Stelle, an welcher wir bemerken, wie weit wir von wirklicher künstlicher Intelligenz entfernt sind - das nämlich ist die Synthese von Semantik und Syntaktik sowie richtigen Folgerungen aus beiden - diese Schiene ist und bleibt vorläufig ausschließlich zur endgültig logisch sauberen Entscheidung dem Menschen vorbehalten!!!
Analysieren bekannter und einfacher Chiffrierverfahren
Studieren und logistische Aufbereitung der entstandenen Ciphertexte
Stärken sowie Schwächen des Vigenre-Chiffres erkennen und nutzen
Verständnis für die mathematischen Modelle des Kasiski-Tests
Anwenden des Friedmann-Tests
Folgende Projekte stehen zur Lösung an und sollten einer solchen noch im ersten Semester zugeführt werden, wobei alle Projekte enthalten müssen:
  • Klartext-Bereinigung (Umwandlung in Großbuchstaben, Sonderzeichen und Leerzeichen entfernen, Ziffern in Text umwandeln, Anordnung in wahlweise Blocklängen (4 oder 6))
  • Schlüsseleingabe numerisch oder als Zeichen des Alphabet (auf Positionsverschiebung achten (wird auf oder um X Positionen verschoben))
  • logisch saubere Benutzerführung (testen an fremden Personen)
  • Anzeigen des eventuell genutzten Geheimalphabets - mit numerischer Positionsbezeichnung (ich muss nicht zählen - das macht das Programm)
  • numerische Auswertung (wie viele Ein- und Ausgabezeichen, wie viele Buchstaben jedes Zeichens wurden verarbeitet)
  • Laufzeitstatistik
  • Wahlweise Eingabemöglichkeit durch Kopieren auch sehr langer Texte oder als Eingabe via Tastatur
  • eventuell notwendige automatische Auffüllung von Dummyzeichen (Transpositionschiffre)
  • Erklärung notwendiger Besonderheiten
  • Ein- und Ausgabe wahlweise in Morscode, Polybius-Code, ASCII-Zeichen, Binärmuster, Hexadezimal, Flaggenzeichen, Blindenschrift, Luftfahrtalphabet, Baudot-Code, Chappé-Code, Handzeichen
  • Entwicklung sauberer Grafiken (hier könnte man sich eine Zusammenarbeit mit den Schülern der Kunst- & Computerkurse vorstellen)
  • Grafische Eingabe-Möglichkeiten (z. B. für die Rotationsschablonen)

Projekt 1: Wahlweise

  • Sägezahn-Transpositionschiffre
  • Gartenzaun-Transpositionschiffre
  • Annagramm
  • Rotationsschablonen
  • Arbeitsgruppe: Felix Queitzsch, Marcel Keller

Projekt 2: Wahlweise

  • einfacher Cäsar
  • Cäsar mit Schlüsselwort
  • Annagramm
  • Additive sowie substraktive Chiffres
  • Arbeitsgruppe: Martin Uhlmann, Martin Schmidt, Martin Sachse

Projekt 3: Wahlweise

  • einfacher Vigenére mit Ziffern- oder Zeichencode (Position beachten - das kann ganz schnell falsch werden!)
  • Playfair-Chiffrierung
  • Kassiski-Test
  • Friedmann-Test
  • Arbeitsgruppe: Oehme, Philipp; Kindt, Benjamin

Beim Durchsehen der Aufgabenstellung fällt sofort auf, dass bestimmte Dinge von allen Teams bewältigt werden müssen. Dumm, wenn dann jedes Team allen neu macht. Kommunikation zwischen den Teams ist durchaus gewollt!!!


2. Theoretische sowie Technische Grundlagen history menue scroll up

Um in die Gesamtheit dieses Projektes einzudringen, muss man sich schon erst einmal mit den theoretischen Betrachtungen sowie einigen historischen Studien befassen. Geheimhaltung ist seit Erfindung der Schrift ein Anliegen der Menschen in den unterschiedlichsten Zeiten sowie politischen Umfeldern gewesen.
zwei Projekte, welche aufeinander aufbauen sind unser heiliges Ziel:
  • Knacken einer monoalphabetischen Chiffre (hier wird aus jedem Klaretextzeichen (Plaintextzeichen) ein anderes, aber immer gleiches Geheimtextzeichen (Ciphertextzeichen)
  • Ansätze zum Knacken einer polyalphabetischen Chiffre (hier wird aus jedem Klaretextzeichen (Plaintextzeichen) ein anderes, aber fast immer anderes Geheimtextzeichen (Ciphertextzeichen)

aber wie kann man überhaupt etwas geheim auf offenen Kanälen übertragen?

z. B. mit Steganografie

ein Grabstein in Californien, aufgestellt von den 'Freunden' eines Schwulen, der an (geheimgehaltenem) AIDS verstorben ist

... oder mit Codes ...

Codewandlungen

... oder auch mit  Transpositionscodes ...

Die Skytale - wie ersichtlich: nach Tino Hempel als alten James Bond Fan ;-)

 

... aber auch CÄSAR-Chiffrierung ist eine denkbare Lösung ...

CÄSAR-Chiffre

... schwerer angreifbar ist der Vigenère-Chiffre ...

Vigenère-Verschlüsselung

Babagge- oder Kasiski-Test

... und hier nun geht's zur ENIGMA

... und hier nun geht's zur Lorenzmaschine

Kryptoanalyse

die Rotor-Chiffriermaschinen in der Zeit des II. Weltkrieges

RSA-Verfahren & Einwegfunktionen

RSA-Verfahren

ZERO-Knowledge-Bases

Pretty Good Privacy

Hash-Werte

Trapdoorfunktion

   


3. Die Arbeit am Projekt history menue scroll up

Das vollständige Projekt ist über Zwischenstadien gelaufen - diese jeweils natürlich in der Wertung als Einzelleistung (unser Klausurprojekt befindet sich hier). Anzukämpfen hatte man gegen die Tücken der Häufigkeitsverteilung - überhaupt: das Auffinden irgendwelcher Muster in einem Geheimtext (Ciphertext) ist fast immer ein Angriffpunkt für den erfolgreichen Codebrecher.

Erstellen sowie Knacken einer monoalphabetischen Chiffre (CÄSAR-Chiffre)

Plaintextbeispiel als Abbildung

Plaintextbeispiel im Word Format

Cyphertextbeispiel als Abbildung

Cyphertextbeispiel im Word Format

Häufigkeitsverteilung der Zeichen des Alphabets im Deutschen und Englischen

  • die Texte entstehenden Ciphertexte sehen nur verstrickt aus (das sollten sie ja auch schon vor 2000 Jahren - und sie haben es getan)
  • sie sind nicht wirklich komplex verschlüsselt - ab einer Zeichenmenge von 50 dechiffriert man den schon in 80 % aller Fälle fehlerfrei
hier nun kommen unsere Projekte ins Spiel:
  • Klartext in die Programmoberfläche auf der Klartext- oder Eingabeseite einfügen
  • Schlüssel wählen und Startbutton schalten
  • chiffrierten Text markieren und kopieren - einsetzen in die Eingabeseite
  • Code knacken suchen und der Statistik folgen - dabei mitdenken
  • eindeutig als falsch erkannte Zeichen austauschen
... und nun machen wir das mal - für Dich zum Nachspielen:
  • Programm öffnen - ich verwende dasjenige von Robert Baldauf ;-)
  • Plaintext einsetzen
  • diesen mit gewünschten Parametern (Geheimwort sowie Startposition für den Key) chiffrieren (ich verwende ROTKAEPPCHEN ab der Position 15)
 

 

Plaintext in die Programm-Oberfläche unter Klartext einsetzen

Chirffrieren

ROTKAEPPCHEN ab Position 15 war Schlüssel (doppelte Zeichen im Schlüsselwort werden gestrichen)

Erstellen sowie Knacken einer monoalphabetischen Chiffre (Vigenere-Chiffre)
  • im 13. Jahrhundert deutet sich an: der CÄSAR-Chiffre ist relativ leicht angreifbar (er hatte bis dahin aber reichlich 1200 Jahre Stand gehalten
  • in den italienischen Stadtstaaten mit ihren Intrigen sowie ihrer Mißgunst waren die Bemühungen um Ersatz am weitesten voran geschritten - wir wissen heute, bereits Port hat das Verfahren beschrieben - so richtig bekannt wurde es aber durch Blaise de Vigenère
  • fast lustig hört sich an, das das Verfahren offen gelegt werden konnte - siehe dazu auch Kerkhoff'sches Prinzip - man brauchte ja noch den Schlüssel, um an einen Plaintext zu gelangen
  • an der Stelle gab es erst einmal eine 500-jährige Barriere - die Chiffre galt seit ihrer Einführung als sicher - folgerichtig gab es vorerst gar keine ernsten Angriffe
  • erst Charles Babbage, durch ein Rätsel in seiner Ehre angestachelt, versuchte sich daran - und zwar mit Erfolg - er fand bereits die mathematischen Zusammenhänge in den Musterfolgen, welche unweigerlich auch in polyalphabetischen Chiffres auftreten
   
     


4. Die Ergebnis-Präsentation des Projektes history menue scroll up

Hier nun stellen einfach aussehende Programmoberflächen echte Hämmer dar, denn sie zeigen ja nicht, was im Hintergrund wie gemacht wird. Möchte man dies detailliert ergründen (anders als detailliert gibt es nicht, muss man sich hier sowie hier bemühen ;-)
monoalphabetische Dechiffrierung durch statistische Analyse der Häufigkeitsverteilungen

CÄSAR-Chiffre-Knackprogramm von Robert Baldauf

Download als EXE-Datei (im ZIP-Archiv)

 

CÄSAR-Chiffre-Knackprogramm von Benet Berger

Download als EXE-Datei (im ZIP-Archiv)

CÄSAR-Chiffre-Knackprogramm von Patrick Rudolph

Download als EXE-Datei (im ZIP-Archiv)

 

CÄSAR-Chiffre-Knackprogramm von Martin Schmidt

Download als JAR-Datei


5. Ähnliche Projekte im Kurs Informatik der Sec. II history menue scroll up

In der Informatik sind auf so konzentrierte Art sowie in solchem Umfange noch nicht sehr viele Projekte gelaufen - das war also eher ein Einstieg und auch eine Möglichkeit, Erfahrungen zu sammeln. Nicht einfach gestaltet sich zum Beispiel, dass wir einen festen Endtermin haben - und nur, wer solche Projekte jemals selbst bearbeitet hat weis, was diese für eine Eigendynamik haben - sprich: die Wachsen während der Bearbeitung! Schwer, da das Ende terminlich fest im Visier zu halten (dies ist auch nicht allen gelungen).

Informatik-Projekte am Gymnasium Flöha

Projekt Kryptoanalyse

Projekt Roboking mit dem Team Rabbi Loew

 

Das Kombinatorik-Projekt

Projekt Bundeswettbewerb für Informatik

Projekt ENIGMA

Projekt Assemblerprogrammierung

Projekt Problemlösungsstrategien

Projekt Mikroprozessor

Projekt Assemblerprogrammierung 2009



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 18. November 2008

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)