Autor Beitrag
oOXTCOo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows XP Prof. 3
Delphi 7
BeitragVerfasst: Sa 01.11.08 07:03 
hallo!

ich habe eine frage und hoffe jemand kennt eine gute antwort ;o)

ich müsste eine test machen:

ich habe einen zahlencode der genau 15 stellen lang ist und eben nur aus zahlen besteht.

wie ich aus den bereits durchsuchten tausenden fertigen passwörtern gesehen habe,
kommt keine zahl in diesem 15 stelligen code mehr als drei mal hintereinander
vor jedoch kann es sein das es sich in dem code wiederholt.

also zb. wenn x für die zahlt steht: 123xxx45xxx5678

ich habe wie gesagt um die 1000 berechnete codes untersucht, und
unter diesen ist es nicht vorgekommen das die zahl x in einem code
mehr als in 3 stellen hintereinander vorkommt.


das heißt ich kann code wie
000000001111111
000000011111111
000000111111111
000001111111111
000011111111111
000111111111111
001111111111111
011111111111111
123456781231111
111123456789011

usw auschließen....


zahlen von 0 bis 9 in 15 stellen und pro zahl nicht
mehr als 3 mal hintereinander in einem code.


jetzt meine weitere frage.
dadruch müsste ich den bruteforce vorgang erhäblich verkürzen können.

wie berechne ich dies, wie viele versuche nun maximal möglich sind
und wenn ich sagen wir nur 1 bis 2 versuche pro sekunden testen kann
da dies von einem delphi programm auf dem laptop mittels interface
auf ein gerät ausgeführt werden soll.

also 1 jedoch maximal 2 versuche bei voller geschwindigkeit sind
scheinbar drinn.


und wie schreibe ich einen bruteforce algo, der keine zahl mehr
als drei mal hintereinander in einem code ausführt?

das ziehlgerät hat einen counter der pro versuch einen abzieht.
es gibt 3/3 und 10/10 versuche, wir haben aber einen weg gefunden
wie wir diesen aber immer wieder zurück stellen können.

wären also 13 versuche bis wir den counter wieder zurück setzen
müssen, das auch wieder um die 2-3 sekunden dauert.

wir habe also nur noch eine begrenzung die durch die wiederbeschreibarkeit
des flshbausteines und die bruteforce zeit abhängig wäre...


ideen?



mfg.


Moderiert von user profile iconKha: Topic aus Sonstiges (Delphi) verschoben am Sa 01.11.2008 um 14:37
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 01.11.08 15:01 
Cool. Stateful Bruteforcing ... mit echtem Brute Force :mrgreen:

Schau mal in den Thread bzgl. den Binomial-Koeffizienten rein, der hier kürzlich war, bzw. in meine Lösung zur Paranuss 2007 mzgl. TSP. So einen ähnlichen Grundalgo würd ich da vorschlagen, da dieser extrem schnell ist und gut mit zusätzlichen Prüfbedingungen erweitert werden kann.

Bei den von dir genannten zeitlichen Abhängigkeiten dürfte aber die Geschwindigkeit des Delphi-Programms vernachlässigbar sein, da die von mir oben genannte Implementation im Falle des TSP dieses in unter einer Sekunde gelöst hat (10 Orte), du also damit rechnen kannst, dass dir allein das Delphi-Programm in einer Sekunde etwa 5 Millionen Passörter gibt.

Wenn du nun noch schaust, dass der Tag 86400 Sekunden hat und ich deine Zeitbedingungen mal hochrechne, komm ich darauf, dass Du 10^15 * ((113+3)/13) / 86400 / 365 = 39027436,3 Jahre brauchen wirst ...

BTW: Worum handelt es sich bei dem Device?

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.