krypt - ein Kryptographie-Analyse-Tool

Vorläufige Beschreibung

  1. Zweck

    Krypt wird aus verschiedenen Gründen programmiert. um möglichst allgemein zu bleiben, wird es unter die GPL gestellt, im Sourcecode verteilt, und nur auf Kommandozeilenebene betrieben. Durch die Benutzung von plattformunabhängigen Headern dürfte es auf allen anderen System auch laufen. Wer unbedingt eine Oberfläche will, dem empfehle ich es in Java oder Qt herzunehmen, da zweites auch grade auf die Windows Plattform portiert wurde. krypt soll dazu dienen dass Wissen der praktischen Kryptanalyse zu vertiefen, bzw. Kryptanalytikern ein Tool an die Hand geben, mit dem sie Chiffretexte bestimmter Verschlüsselungsarten leichter analysieren und gegebener Weise knacken zu können. Zu oft muss man für irgendeine Verschlüsselung ein Tool machen, obwohl es ganz leicht zu analysieren ist.

  2. Funktionalität

    Grösstmögliche Freiheit in der Benutzung  Einerseits soll krypt gut automatisierbar sein, andererseits, soll es auch Berichte und Ergebnisse für den Endandwender gut präsentieren. Daraus resultieren viele EingabeVorgaben und Ausgabeformate. Da die Zahl der Funktionen sehr stark ansteigen wird ( Meiner Schätzung nach könnten es sogar bis zu 40 einzelne Funktionen werden), würde ich vorschlagen jeder Funktion eine Nummer zuzuordnen ( Beispiel: "krypt Nummer param1 param2 param3 ... "). Eine Funktion kann dabei, nur die Anzahl der Bytes in einer Datei auf dem Bildschirm ausgeben, oder automatisch einen Chiffretext analysieren. Ich will also auch kleine Funktionen dem Anwender zur Verfügung stellen, damit er freie Wahl bei der Analyse von Chiffretexten hat. Nun will ich etwas zu den Formatierungsparametern erwähnen. Erstens soll man immer die Wahl haben ob ein Ergebnis auf dem Bildschirm ausgegeben wird oder als Datei. Für nähere Angaben ein Beispiel. Angenommen ich habe aus einer ChiffreDatei jedes 3. byte extrahiert. Wenn nun die Chiffredatei ein AscciText war, werden die Bytes meistens einen char-Wert repräsentieren. Nun will ich dem Anwender die Wahl lassen ob er die buchstaben in der Datei hat oder deren Ascci Werte. Zudem bei besserer Lesbarkeit sollte diese Ausgabe mit setwidth oder ähnlichem formatiert werden. Fuer eine bessere Automatisation ist ein fester Abstand von Byte zu byte in der neuen Datei besser. Aus diesem Grund soll auch das frei wählbar sein.

    Nun eine kleine Auflistung für welche Verschlüsselungsarten ich die automatisiertesten Knacksysteme implementieren will, deren einzelne Funktionen aber auch wiederrum dem Anwender zur Verfügung stehen sollen.Die Verschlüsselungen selbst werden auch mit implementiert, versteht sich ;-), jedenfalls, soweit vorhanden und lizenzrechtlich erlaubt

    Sonstige Funktionen sollen/sind auch enthalten sein:

    Was besonders wichtig ist, bei den Ver/Entschlüsselungen und das Brechen derselben, diese sollen auf allen möglichen Alphabeten basieren (ganzer Asciisatz, nur kleine Buchstaben, Buchstaben und Sonderzeichen, etc ) Generell gilt, wird eine Datei bearbeitet, kommt das Ergebnis in eine neue Datei, obwohl man soetwas auch als Option implementieren kann Man sieht es sind zum Teil recht primitive Funktionen dabei, aber sie erleichtern einem unter Umständen die Arbeit und helfen Neueinsteigern bei der Analyse. Bei manchen Funktionen mag so mancher den praktischen Zweck bezweifeln, aber bei der Analyse von Chiffraten, ist mir solches schon untergekommen. Was vielleicht auch hilfreich beziehungsweise nötig ist, sind mittels distr.c(von wobst) oder das im Programm enthaltene Äquivalent oder anderes StandardVerteilungen und Häufigkeitstabellen für Dateien (siehe wpcrack) und Sprachen ( zb.Deutsch, Englisch, Buchstabenhäufigkeit und Bigramm auftreten) zu verteilen /erstellen /suchen. Der User sollte in der Lage sein vorgegebene und andere (im richtigen format vorhandene ) Muster/Tabellen -Dateien zu benutzen. Dies ist bei verschiedenen Automatismen zur Brechung notwendig
  3. Hosting,Seiten und Entwickler/ung

SourceForge Logo