Hallo,
soetwas selber zu Programmieren ist nicht schwer. Du musst nur die Matrix auf dem Server abspeichern, sowie welche Startpositionen schon verwendet wurden.
Danach muss der User seine geheime Lesemethode ausdenken.
Dies kann man so realisieren: Man zeigt ihm eine leere Matrix, und eine fiktive Startposition, z.B. in der Mitte der Matrix.
Danach klickt er der Reihe nach die Kästchen an, die er für seine Lesemethode verwendet. Wie in der Demo also 7 Kästchen nach rechts.
Der Server speichert dann immer delta-X und delta-Y zur Startposition ab, so kann er später in einer Schleife diese Einträge durchlaufen und das delta-X/Y zur Startposition addieren, um so an den Key zu gelangen.
Dann beim Login wird eine zufällige, nicht verwendete Startposition benutzt und die vom User generierte Lesemethode wird dann auf die Matrix angewendet, so ermittelt der Server das benötigte PW.
Mit ein paar Grundketnissen im Programmieren hast du, bis auf den Generator, das in etwa 10 Minuten geschrieben.
Wie lange man für den Generator man benötigt, hängt von seinem Umfang ab. Gibt der User einfach in eine Textbox die delta-X/Y Werte ein, würde das auch wieder max. 10 Minuten dauern. Mit einer GUI, so wie oben beschrieben, könnte das etwas länger dauern, aber auch max. 30 Minuten.
Edit:
Achtung!
Diese Methode mit der Key Card ist aber sehr unsicher.
Geht man von einer 11x26 Karte aus, so enthält diese 286 Zeichen und auch 286 Startpositionen.
Wenn ein Angreifer jetzt nur 20 Logins mitlauscht, so hat er bis zu 56% der Key-Card (bei PW Länge von 8 Zeichen).
Auch an die "geheime" Lesemethode gelangt man so sehr schnell. Normale User verwenden oft leichte Lesemethoden, aber auch an schwerere Methoden gelangt man schnell.
Und zwar schneidet ein Lauscher z.B. das PW mit der Startposition C4 mit.
Evt. hat er auch das Passwort für A4. Wenn jetzt der User die, wie in der Demo vorgeschlagene Lesemethode benutzt (8 Zeichen nach rechts), so sind die letzten 6 Zeichen vom A4-Passwort gleich den ersten 6 Zeichen des C4-Passworts.
Auch wenn der User eine komplexere Methode verwendet, was eher selten ist, so kann man über dieses Verfahren an die Lesemethode gelangen. Man beginnt beim ersten mitgeschnittenem Passwort und schaut, ob Fragmente von dem Passwort woanders vorkommt. Dies macht man mit allen mitgeschnittenen Passwörter und schon gelangt man an die Lesemethode.
Hat man jetzt die Lesemethode, so kann man mit den übertragenen Passwörtern die Zeichen exakt den Positionen in der Matrix zuordnen.
Wenn der User z.B. als Lesemethode die 8 Zeichen nach rechts liest, der Lauscher das Passwort für E8 hat, und jetzt nach dem Passwort für B8 gefragt wird, so braucht man nur noch 2 Zeichen per Brute Force knacken, was ca. 3800 Kombinationen sind.
Sobald man also das Passwort auf 3 Zeichen genau bestimmen kann, ist ein Login mittels BruteForce sehr einfach.
Dort ist die Methode mit dem Hash-Verfahren doch deutlich sicherer.