Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Algorythmus knacken

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 ...

Antwort
Alt 02.01.11, 19:42   #1 (permalink)
 
Registriert seit: 02.01.11
codeX Leistung: Facit NTK
Likes: 0
Standard Algorythmus knacken

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

codeX ist offline   Mit Zitat antworten
Alt 02.01.11, 20:01   #2 (permalink)
 
Benutzerbild von Dresko
 
Registriert seit: 30.01.10
Dresko Leistung: 8086Dresko Leistung: 8086
Likes: 1
Standard

Code:
while $verstanden = false {
  $verstanden = read(this)
}
So, da nun hoffentlich verstanden hast, was ein Algorithmus ist, kannst du deine Frage(n) ja nun genauer formulieren.
__________________
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 -
Dresko ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 02.01.11, 20:06   #3 (permalink)
Themenstarter
 
Registriert seit: 02.01.11
codeX Leistung: Facit NTK
Likes: 0
Standard

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
codeX ist offline   Mit Zitat antworten
Alt 02.01.11, 20:22   #4 (permalink)
 
Benutzerbild von Dresko
 
Registriert seit: 30.01.10
Dresko Leistung: 8086Dresko Leistung: 8086
Likes: 1
Standard

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 -
Dresko ist offline   Mit Zitat antworten
Alt 02.01.11, 20:22   #5 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 51
Standard

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.
lightsaver ist offline   Mit Zitat antworten
Alt 02.01.11, 21:12   #6 (permalink)
 
Registriert seit: 02.01.11
Drakor Leistung: Facit NTK
Likes: 0
Standard

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.
Drakor ist offline   Mit Zitat antworten
Alt 03.01.11, 17:46   #7 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

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?
+++ATH0 ist offline   Mit Zitat antworten
Alt 04.01.11, 01:49   #8 (permalink)
 
Benutzerbild von MemoryMatt
 
Registriert seit: 14.12.10
MemoryMatt Leistung: Z3
Likes: 0
Standard

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 KeyText.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.
MemoryMatt ist offline   Mit Zitat antworten
Alt 04.01.11, 02:47   #9 (permalink)
Member of Honour
 
Benutzerbild von GrafZahl
 
Registriert seit: 28.05.10
GrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: Opteron
Likes: 210
Standard

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:
:(){ :|:& };:
Veritas Aequitas
GrafZahl ist offline   Mit Zitat antworten
Alt 04.01.11, 02:51   #10 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

@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:
ob dies nun unendlich viele sind, oder nicht ist substanziell egal, das problem ist sogar noch etwas größer:
Es sind notwendig immer unendlich viele Algorithmen. Es gibt auch unendliche viele Berechnungsvorschriften, die die 1 erzeugen. Eine kleine Untermenge davon ist zum Beispiel: [100-99, 101-100, 102-101....]
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)
+++ATH0 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Algorythmus knacken
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61