| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: Algorythmus knacken im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo, habe ein .txt in der sich etwa 20.000 16 stellige codes befinden die alle nach einem bestimmten Algorythmus ...
![]() |
| | #1 (permalink) |
| Registriert seit: 02.01.11 ![]() Likes: 0 | Anzeige Hallo, habe ein .txt in der sich etwa 20.000 16 stellige codes befinden die alle nach einem bestimmten Algorythmus aufgebaut sind... Suche jetzt ein Programm das anhand der 20 k codes diesen Rythmus knacken kann, und mir neue, nach dem gleichen Rythmus aufgebaute 16 stellige codes ausgibt.. kennt jemand ein solches Programm oder hat eine Idee das ganze zu schaffen? Vielen Dank schonmal greetz codeX |
| | |
| | #2 (permalink) |
| Registriert seit: 30.01.10 ![]() ![]() Likes: 1 | Code: while $verstanden = false {
$verstanden = read(this)
}
__________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rick Cook - |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 02.01.11 ![]() Likes: 0 | okay, habe verstanden ^^ also die 16 stelligen codes bestehen immer aus den zahlen 0-9 und ca. 10 verschiedenen buchstaben. diese sind immer unterschiedlich angeordnet.. ich glaube anhand von einem Beispiel kann man sich am besten ein Bild davon machen! Hier mal 20 der 20.000 codes: p8wmmp692d6t73pg 03mdaw5591j8p1p5 p80871d307330t09 030wt11a61m246g1 80m0jm395979t539 7tp8ap0wt280pwdj 07wa1t244091t18j 0t24t60g4p30t701 p8004868td2w642m 784390m3m46tj047 1501mg10887g5pjt p7gw1t16t30wd114 7p747matmdm8a4g6 001g6686j0a0w709 8g5damw0707aa374 7771w972996906dm tp05m9d5jg49a0j1 08p3j9p0d14t6107 1g6tw76j3200d0wa 00m15d2j3101a151 greetz codeX |
| | |
| | #4 (permalink) |
| Registriert seit: 30.01.10 ![]() ![]() Likes: 1 | Das Problem ist, dass es unendlich viele Algorithmen gibt. Es kann dir so keiner sagen, ob das entschlüsselt werden kann und wenn ja wie. Du kannst mal versuchen mit Hilfe einer Suchmaschine herauszufinden, wie diese Strings erzeugt werden. Dafür musst du ja nur wissen mit welchem Programm diese Zeichenketten generiert wurden. Falls du da nicht fündig wirst, kannst du noch alle gängigen Hash-/Verschlüsselungsverfahren an einem String (wovon du den Klartext kennst) durchprobieren. Wenn jedoch ein Salt verwendet wurde, kommst du auch damit nicht sehr weit. Dann blieben meines Wissens nur noch kryptografische Analysen und/oder Reverse Engineering.
__________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rick Cook - |
| | |
| | #5 (permalink) |
| Moderator ![]() Registriert seit: 19.06.06 ![]() ![]() ![]() Likes: 51 | Es ist sehr unwahrscheinlich, dass du anhand der Codes auf den Algorithmus schließen können wirst, aber vielleicht kann dir jemand helfen, wenn du sagen kannst, wofür die Codes sind. |
| | |
| | #6 (permalink) |
| Registriert seit: 02.01.11 ![]() Likes: 0 | Erinnert mich an diese CocaCola-Codes xD ... @TS: Ja ich denke, wenn man den Kontext kennt kann dir evtl. jemand helfen. Es sieht sehr nach Hashes aus, aber es könnte auch ein RollCode sein. In jedem Fall denke ich aber, dass eine statistische Analyse einige Informationen zutage fördert. z.b. häufigkeit der einzelnen Muster oder deren abhängigkeit voneinander. |
| | |
| | #7 (permalink) |
| Member of Honour ![]() Registriert seit: 02.04.05 ![]() ![]() ![]() Likes: 76 | Es gibt unendlich viele Algorithmen, die diese 20.0000 codes erzeugen kann. Wie willst du herausfinden, welches dieser unendlich vielen Algorithmen nun auch weitere gültige andersartige codes erzeugt? |
| | |
| | #8 (permalink) |
| Registriert seit: 14.12.10 ![]() Likes: 0 | Nehmen wir an es ist ein symetrisches Kryptosystem so ergibt sich folgendes Schema: Verschlüsslung: Algorithmus( Text.Plain, Key ) = Text.Crypted Algorithmus( Text.Crypted, Key) = Text.Plain Um nun auf den Algorithmus zu schließen benötigst du, abgesehen von einer guten Begabung in Mathematik, einige gültige Kombinationen vom Schema Key Text.Plain,Text.Crypted)Solltest du keine gültige Kombination haben, so könntest du probieren anhand von typischen Charistiken auf den benutzen Verschlüsselungsalgorithmus zu schließen und probieren einen der in der Datenbank vorkommenen verschlüsselten Texte zu finden. Dies funktioniert allerdings nur wenn es ein Resultat eines symetrisches Kryptosystem ist und kein Resultat eines asymetrisches Kryptosystem bzw. ein Hash ist. |
| | |
| | #9 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 210 | informationstheoretisch ist das problem nicht eindeutig lösbar ... wie +++ath0 schon geschrieben hat, gibt es viele algorithmen die diese werte als ausgabe haben können ... ob dies nun unendlich viele sind, oder nicht ist substanziell egal, das problem ist sogar noch etwas größer: der algorithmus, egal wie er ausssieht, lässt sich als turingmaschine darstellen. die aufgabe hier wäre also diejenige turingmaschine zu finden, die die betreffende ausgabe erzeugt, von der ein teil (besagte 20k zeilen) vorliegt. aus der aufgabe weitere codes zu erzeugen folgt, dass die ausgabe (keyspace) größer ist, als das was bekannt ist. (eigentlich trivial) ohne den algorithmus, oder die erzeugende turingmaschine ist es nicht möglich diesen fehlenden teil der ausgabe zu erzeugen. ohne den fehlenden teil ist es nicht möglich eine potentielle turingmaschine gegen das problem zu testen ... da man das problem die besagte turingmaschine/ den algorithmus zu finden auch durch eine turingmaschine lösen können muss (alternativ wäre das problem eh größer als "nur" turingvollständig, und somit nicht mit bekannten mitteln lösbar) kann man nun das problem theoretisch lösen in dem man eben diese turingmaschine findet. egal ob man diese turingmaschine nun hat, oder wo sie herkommen soll, sie hat eine interessante eigenschaft: man kann nicht sagen, ob diese turingmaschine hält oder nicht ... eine turingmaschine kann dieses problem also nicht zweifelsfrei berechnen ... laut Church-Turing-These kann ein mensch das in diesem fall auch nicht. das ende vom lied: man kann nichtmal sagen ob die bemühungen, wie auch immer sie aussehen, vom teil der ausgangsdaten auf den algorithmus zu schließen jemals zu einer aussage über die lösbarkeit der aufgabe kommen ... (intuitiv: "weil immer eine rest-unsicherheit besteht, ob ein potentieller algorithmus auch wirklich die vorhandenen aber unbekannten ausgaben erzeugt, und eben nur diese") all dies beinhaltet keine aussage darüber ob man einen "passenden" algorithmus nicht mit einer hinreichenden gewissheit finden kann ... den original algorithmus mit gewissheit zu finden, ist auf grund des entscheidungsproblems in endlicher zeit nicht möglich
__________________ Code: :(){ :|:& };: |
| | |
| | #10 (permalink) | |
| Member of Honour ![]() Registriert seit: 02.04.05 ![]() ![]() ![]() Likes: 76 | @MemoryMatt: Es handelt sich hier aber nicht um ein Verschlüsselungsverfahren, sondern um einen Algorithmus, welcher n Serials errechnet. Entweder mit Fremdeingabe oder eingenständig. Edit: Zitat:
Also übertragen auch unendlich verschiedene Automaten, die diese Ausgabe erzeugen. Man wird für diese 20.000 Serials also auch unendlich viele Automaten finden. Die einzige Möglichkeit ist auf "Ockham's razor" zu vertrauen. Der menschlichste und einfachste Algorithmus, der all diese Serials erzeugt, ist mit hoher Wahrscheinlichkeit der Gesuchte. Geändert von +++ATH0 (04.01.11 um 02:58 Uhr) | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |