besten dank, dass du dir die muehe gemacht hast, aber leider hast du dir das eis noch nicht verdient.
1. deine w-funktion ist naemlich leider falsch. ausserdem hast du noch ein paar gedankenfehler in deinem kleinen prg.
Du bist nicht wirklich davon ausgegangen, das a) dich jemand ernst nimmt und dir ein lauffähiges Programm schreibt,
und b) das das nebenbei auch noch der Mathematik größte Funktion ever mal eben so umdreht?
Du gehörst nicht in den Knast, du gehörst in eine Klinik. Und nicht die für gebrochene Knochen.
dass mich hier niemand ernst nimmt, habe ich irgendwie schon gemerkt. dass der sha so eine geniale funktion ist, bin
ich nicht der meinung. da ist e=m*c viel genitaler. und es waere wirklich schoen, wenn mir jemand einen aufenthalt in
so einer klinik bezahlen wuerde. schaetze aber, dass du nicht zu diesen gehoertst.
und meiner meinung nach ist die w-funktion von sich selber abhaenig. waere wirklich toll, wenn man sie auf deine weise wirklich so vereinfachen koennte.
nur so nebenbei: glaubst du wirklich, dass dein prg den a-wert in deiner lebenszeit um eins erhoeht?
Jau, tut sie. Zählt ja nur 32 bit, das dauert so lange auch nicht.
Ist jetzt nix für die Mittagspause, geht aber.
Bei angesetzten 100 Durchgängen pro Sekunde ist das Teil in 12000h fertig und hat alle Kollisionen gelistet. Nach ca.
18 Monaten also.
Da kann der LBC aber einpacken!
also habe es mal ueberschlagen. mein schlapptop wuerde so ca 2 jahre brauchen, um die erste schleife um eins
raufzusetzen, so wie er z. zt. rechnet zumindest. das waeren dann so ca 2 000 millionen jahre, bis er wirklich das programm abgearbeitet haette.
kann natuerlich sein, dass du einen besseren rechner hast.
und das ist nicht um kollisionen zu finden, sonder nur um kandidaten fuer moeglich kollisionen zu haben, falls du kollisionen finden moechtest, musst du diese kandidaten noch durchprobieren, weil der gleiche w63-wert nicht gleich gleicher hash ist. hoffe, dass das jetzt klar geworden ist.
was du mit lbc meinst weiss ich nicht.
ausserdem machtst du die gleiche operation immer und immer wieder. ist also nicht sehr optimiert.
Also, so ähnlich wie du? Du versuchst auch immer wieder was neues. Was das gleiche alte ist wie gestern, nur mit einem "warte, jetzt hab ichs" davor.
finde ich gut, dass du so viel ahnung hast. dann kannst du mir bestimmt helfen, und schreiben, warum
"123" nicht st r(1) & s tr(2) & s t r(3) und nicht ch r(49) & c hr(50) & c h r(51) ist. *)
beim meinem teil kommen da verschiedene hashwerte raus. kann natuerlich auch am interpreter liegen, aber ich kann mir das wirklich nicht erklaeren. damit werden die zwei die ich vorher gefunden habe, nicht mehr sehr glaubwuerdig.
also im prinzip waren es s t r(65) & s t r (69) wie s t r (236) & s t r(106) und s t r(135) & s t r(75) wie s t r(213) & s t r (52)
das w-array enthaelt naemlich in den ersten 16 stellen die orginalnachricht.
Was meinst du wozu da "wbuf[15]=in" steht? Das kopiert deine "Originalnachricht" ins W-Array. Dein Original ist ja
auch nichtmal 12bit groß.
Selbst da hast du es noch nicht geschnallt.
naja, mit dieser syntax komme ich nicht so ganz zu recht. fuer mich fehlen da irgendwie die ersten 15 und die bit-anzahl am schluss auch.
also nochmal zum mitschreiben: wenn ich das w-array von einem hash kenne, kenne ich die orginalnachricht.
Nope. Nur die ersten 16 Longs eines Blocks von 16 Longs. Du brauchst also jede Menge W-Arrays. So 2000 Stück für einen normalen BTC-Block. Und du kennst nicht ein einziges Array durch den Hash.
Achnee, brauchst du nicht, denn die Nachricht wird ja in einen Block von 512 bit geschnitten und dieser in das W-Array
kopiert, um es zu vermischen.
Du könntest also viel einfacher direkt den Qelldatenstrom raten anstatt die 4x so großen W-Arrays, wäre viel
einfacher.
Jetzt musst du nur noch einen Weg finden, aus dem Hash wieder auf die ganzen 512-Bit-Blöcke zurückzurechnen. Werden so viele schon nicht sein, das schafft dein Excel schon.
gut, dass es hier nicht um raten, sonder um rechnen geht. und an sich hatte ich schon weiter oben geschrieben, dass es jezt richtung kollisionen geht. also nicht nicht mehr so viel mit den bloecken zu tun hat. und ich versuche ironie zu vermeiden.
der witz dabei ist, von einem hash kenne ich das w63 element vom w-array. alle kombinationen, die dieses element auch haben, sind kandidaten fuer den gleichen hash. also zum zurueckrechnen, oder besser um die menge einzuschraenken, die ich dann durch brute force ausprobiere, um eine kollision zu finden.
Ach so. Du sparst 1/64tel des Aufwands. Anstatt 2048bit also nur noch 2016bit. Und du fragst mich ernst ob mein
Programm a wohl einmal rum bekommt???
also die zwei paaerchen, die ich in meinem ersten 65-tausender versuch gefunden habe, haben sich nicht als sehr
representativ erwiesen. habe mal mit 6 zahlen probiert und in 300-tausend schon ganze 13 paaerchen gefunden. dabei ist aber das tabellenkalkulationsprogramm hoffnungslos abgestuerzt. verschwendet einfach zu viel speicher. 6k fue eine zelle ist einfach zu viel bei diesen mengen, vor allem, weil ich mir einen assoziativspeicher "gebaut" habe.
086465 118508
059002 119633
098461 124827
101564 145286
025498 158572
169677 183773
196857 202690
210344 211591
030032 286548
128534 288675
188613 289858
110696 295937
091265 307751
das heisst fuer mich, dass ich den brute force fuer eine kollision auf ca 0.04 promill damit verringern koennte, wenn
meine theorie stimmt. also ca 20 tausend mal damit schneller machen koennte.
also brauche ich garnicht riesen
grosse bloecke, weil laut informationstheorie die kollision in der gleichen laenge mindestens einmal auftauchen muss.
Ja, natürlich.
also warum sollt ich dann nach bloecken suchen, die groesser sind als ein hash, wenn ich die kollision schon vorher
gefunden haben haette koennen?
so, aber jetzt habe ich schon wieder einiges preisgegeben, was ich an sich nicht mehr wollte.
Also nix, wie immer. Und doch wieder, wie immer.
Gibt's eigentlich nichts sinnvolleres was du machen könntest?
Aus dem Fenster kucken zum Bleistift?
dafuer bezahlt mir leider niemand was, mache ich aber gerne, wenn ich einen sponsor haette.
*) nur noch eine kurze erklaerung. aufgrund der komandos hier oben im text hat mich der server bockiert. ich dachte zuerst, dass es an etwas anderem liegt, habe aber ein paar leerzeichen dazwischen eingefuegt, damit ich es jetzt posten kann.
man lernt nie aus.
@cris601: ich finde keinen beitrag schlecht. jeder ist besser als keiner. also der einzige beitrag, der schlecht waere, ist der, den man weglaesst.
das mit dem merit ist eine echt gute idee. kann mir das jemand etwas genauer erklaeren? gibt es da eine einstufung, was einer "wert" ist und wieviele kann man davon "ausgeben"?