Announcement

Collapse
No announcement yet.

Verschlüsselungsgadget für die Hosentasche - Algorithmus sicher?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verschlüsselungsgadget für die Hosentasche - Algorithmus sicher?

    Hallo,
    ich habe die Tage ein winziges Programm für Arduboy in C geschrieben. Es verschlüsselt und speichert bis zu sieben Notizzettel mit je 128 Zeichen auf dem Device das von der größe wie eine Scheckkarte in den Geldbeutel passt und man kann überall schnell darauf zugreifen.
    Die Passwörter bestehen aus Tastenkombinationen ähnlich den Kombinationen von Streetfighter Moves :-)
    Die Hardware ist dannach autark und kann so niemals korrumpiert werden, keine Internetverbindung etc.
    Also auch sicher vor Keyloggern und allen sonstigen Schädlingsprogrammen.
    Außerdem kann man damit auch lange Schlüssel für andere Programme generieren und sicher Nachrichten mit Freunden austauschen.

    Das war mein Ziel,theoretisch, aber ich bin alles andere als ein Profi Programmierer. Aber es funktioniert vollständig auch wenn mein Code vermutlich nach Chaos aussieht *lol*

    Weshalb ich hier schreibe ist der Verschlüsselungsallgorithmus, bzw. herauszufinden was Ihr davon haltet. Er ist simpel und unkonventionell, aber so hoffe ich in Verbindung mit dem Passwortaufbau sehr stark und ohne Schwachstellen. Aber was weiß ich schon von Verschlüsselung ;-)

    Das Passwort besteht aus 16 Schlüsselelementen, jedes ist eine Kombination aus gedrückten Tasten, bis zu 6 in Folge. Die Tasten können auch während der Eingabe losgelassen werden solange zumindest eine Taste gehalten wird. Ist die länge von 6 Zeichen erreicht oder alle Tasten werden losgelassen ist die Eingabe des Elements beendet und das nächste Schlüsselelement ist bereit zur Eingabe.

    Als standard Sicherheit rate ich 2x einen Schlüssel mit 6 Tasten Länge einzugeben. 2x5, sowie 4x2, die restlichen 8 Schlüsselelemente können 1 Button Eingaben sein. Eine stärke des Systems liegt darin das der Angreifer nicht weiß an welchen Schlüsselstellen die Langen Eingaben gemacht wurden und wo die kurzen. Man bringt seine langen und kurzen Eingaben also nach eigenem Ermessen unter.

    Dazu kommt die Verschlüsselung:
    Die vollständig und relativ Rechenaufwendig durchgeführt werden muss ehe gesagt werden kann ob das Passwort stimmt. Zuerst werden 7 der 8 Textzeilen durch Werte verändert die einmal aus dem Passwort und einmal aus der ersten unveränderten Textzeile bestehen, die Verschlüsselung erfolgt also auch inhaltsabhängig. Ein Zeichen im Inhalt führt genauso wie ein Element im Schlüssel zu einem völlig anderem Ergebnis. Nachdem der Inhalt verändert wurde werden die Elemente der 7 Zeilen miteinander ausgetauscht, auch abhängig vom Schlüsselelement und dem aktuellen Inhalt von Zeile 1. Jeweils zwei Elemente miteinander aber sehr oft. Zuletzt wird Zeile 1 mit der letzten Zeile ausgetauscht, was dafür sorgt das diese unveränderte Zeile beim nächsten mal "mitgemischt" wird. Dannach wird das ganze Prozedere wiederholt mit dem zweiten der 16 Schlüsselelemente, und so weiter. Nach allen 16 Schlüsselemente so durchgerechnet werden und der Quelltext völlig verändert wurde, wird das komplette prozedere 27 mal wiederholt.

    Dieser Vorgang lässt sich schwer abkürzen da Schlüssel wie auch der zu kodierende Inhalt beteiligt sind und dauert auf dem Arduboy etwa eine Sekunde. Das stört das handling nicht aber ist auch nichts wovon man per bruteforce in einer Millisekunde hundert tausende Varianten durchrechnen könnte.

    Bei dem was ich als Standardsicherheit vermute liegen wir bei 4,00E+21 Schlüsselkombinationsmöglichkeiten. Ich persönlich verwende mindestens 3x6 buttons + 3x5 buttons + 5x2 buttons was man sich auch sehr leicht merken kann und es erreicht über 8,45E+30 Variationen für den Schlüssel.

    Aber ich habe von Kryptographie nicht wirklich Ahnung und vielleicht findet doch jemand eine Lücke für einen Angriff?
    Da das ganze sehr überschaubar ist ist es jedenfalls sehr schön zum tüfteln / daran kniffeln geeignet.

    Ich habe auch eine einfache Aufgabe mit bewußt schwachem Passwort in die Info Textdatei gepackt.

    Das Programm:
    HTTP://WWW.3DARTLAB.DE/SAFE-AND-SOUND.ino

    Anleitung mit Challenge:
    HTTP://WWW.3DARTLAB.DE/INFO.TXT

    Wie es damit genau weiter geht weiß ich noch nicht, keine Ahnung wer den Nutzen darin erkennt und wie das Feedback ist.
    Ich freue mich jedenfalls sehr um jedes Feedback und hoffe wir haben alle etwas Spaß damit. So sieht das erste Rätsel ürigens aus:

    Crypted text:
    P5YA!%ÖS2TG2CU3E
    ,SHßO!DÜRY2\P@/$
    O<!%/FÜCOWKD.O0N
    $!>TG9S.0:X,@E76
    ">YMB=3Ö<A9V!35\
    Ü?"01!F6GJ-Y3,ÄÜ
    YH2SXEA7Ö2NC4$(6
    IZ#0WC/ CEÜ9EEI,

    VG
    Markus

  • #2
    Du hast keine Verschlüsselung programmiert, sondern eine Verschleierung.
    Bei einer Verschlüsselung kannst du den Code haben und trotzdem das Passwort nicht entschlüsseln.

    Hier lässt sich das -wenn man Lust hat - einfach zurückverfogen

    Christian

    Comment


    • #3
      Hi,
      vielleicht habe ich es nicht gut genug erklärt. Hier lässt sich garnichts zurückverfolgen. Alles was ein Angreifer machen kann ist jedes mögliche Passwort auszuprobieren.
      Das geht bei jedem Verschlüsselungsverfahren ist aber dann trotzdem kein Weg wenn die möglichen Varianten durch das Passwort groß genug ist auch in Betracht auf den Rechenaufwand den man für das austesten eines einzelnen Versuchs braucht.
      Gruß
      Markus

      Comment

      Working...
      X