Funktion erstellen nach Messwerten (Wertetabelle)
-
Hallo,
ich möchte mal fragen, ob es möglich ist, eine math. Funktion(es kann auch eine Reihe sein) zu erstellen nach vorhandenen Messwerten.
Wie geht man da vor?
Ich möchte nur mal nachrechnen wie man die Dauer zum "knacken" eines Passworts errechnet, nach Länge des Passworts.
Hier eine Übersicht:
Die CPU:
Passwortlänge - Dauer
5 Stellen - 24 sek.
6 " - 1 Std. 30 Min (also 5400 sek.)
7 " - 4 Tage
8 " - 75 Tage
9 " - 43 Jahre
63 " - ???Die GPU:
Passwortlänge - Dauer
5 Stellen - <1 sek.
6 " - 4 sek.
7 " - 17 1/2 Min.
8 " - 7 Std.
9 " - 48 Tage
63 " - ???Mit raten und Dreisatz kommt man nicht so einfach drauf...
Gibt es mögliche Tipps, wie man das lösen kann, mit mathematischen Techniken?
Also nur durch analysieren.Danke!
-
Das google-Wort ist Exploratory Data Analysis, dort findest Du dann haufenweise spezielle Techniken.
Aber ich fasse das mal für dich zusammen:
- Daten plotten
- Nachdenken
- Funktion raten, Parameter ranfitten
- Neue Darstellungen überlegen und dann wieder bei 1) anfangen.
In deinem Fall kann man ja leicht ein paar Funktionen "raten", je nachdem, wie Du Passwörter rätst (Brute Force?), wird ein n Zeichen langes Passwort schon grob mit X^n gehen, wobei X deine Alphabetgröße ist ...
-
..
-
Beim gegebenen Problem könnte man vermuten, dass eine Exponentialfunktion zugrunde liegt und anschließend per least-squares fitten.
Siehe:
http://mathworld.wolfram.com/LeastSquaresFittingExponential.html
-
Die Werte sehen nach denen einer Brute-Force-Attacke aus. Man probiert also alles durch bis man einen Treffer findet. Der zeitliche Aufwand skaliert mit der Anzahl der Möglichkeiten. Wenn du ein Zeichen des Passwortes aus einem Alphabet von A Buchstaben wählst und ein Passwort um eine Stelle länger machst, gibt es im Vergleich zu vorher A-mal so viele Kombinationen; denn alle Passwörter der Länge n über ein Alphabet der Größe A bekommst du, in dem du bei allen Passwortern der Länge n-1 jeweils A verschiedene Zeichen dranhängst.
Wenn du die Anzahl der Stellen (x-Achse) gegen die logarithmierte Zeit (y-Achse) plottest, müsste da eine Gerade rauskommen. Die Steigung der Geraden verrät dir dann ungefähr, wieviele verschiedene Möglichkeiten pro Stelle durchprobiert werden. Aber das müsstest Du eigentlich vorher schon wissen. Dir fehlt also nur noch ein Freiheitsgrad, der im Wesentlichen verrät, wieviele Passwörter pro Sekunde durchprobiert werden können.