Hackovanie suchalovho kluca

To je pekne, ale cistym bruteforcom to podla mna nedas, kym nemas celoplanetarny botnet k dispozicii. :slight_smile: Kukni ten clanok hore. To uz je nad moje chapanie, ale tada nejako pojde cesta.

Veď ako som písal hore, zatiaľ zraniteľnosť nebola zverejnená - preto nechápem čo tu chcete faktorizovať.

Ja som to v tom golang skúšal vyslovene len ako benchmark. Robiť brute-force určite nejdem.

1 Like

Cau, ja som to robil v c#, bez cuda, …

Issue je v tom, ze N % i je podstatne narocnejsie pre vecsie N…

To si mal co na mysli? Faktorizovat cislo 2881039827457…735453 ?

Ja som sa pokusil najst niekde daku biginteger kniznicu tak aby som si ju vedel upravit a vypocty fungovali priamo na gpu… Predbezne som sa dostal na mojom notebooku na 1 miliardu operaciu za sekundu ale zatial iba pre mensie mod…

Inac takato kniznica by sa dala optimalizovat tym, ze sa predpocitaju zakladne modulo a potom to ide rychlejsie… ale npr modulo na 8 bit zabere 256*256 256 * 8 bajtov pamete co je 134.217.728 B… Otestoval som to zatial na 7bit 128128 * 128 * 8 = 16.777.216 B a vyzera ze je to podstatne rychlejsie ako standardne modulo procesorom…

1 Like

Scholtz > Pozri zdroják. Je fakt jednoduchý. A faktorizujem v ňom priamo Suchalove N

no, ak sa vam faktorizovat suchalov kluc, tak sice to k teme vela nepovie ale inak sa vam podari narusit princip PKI a skoncili elektronicke podpisy.

Inac mozno by sme mali vyskusat urobit iteraciu cez vsetky

N^(1/4)

N mod (Min^(1/2) ^ 2 az po N^(1/4) ^ 2)
a pripadne
N mod ((Min^(1/2) ^ 2)*4+3 - (N^(1/4)) ^ 2) * 4 + 3

Tychto cisel bude podstatne menej, takze za hodku dve ich mozme vsetky prejst ak najdeme daku dobru kniznicu :slight_smile:

Nie. Lebo ak to chcu zlomit, tak musia vyuzit tu zranitelnost infineonu. Inak to je nemozne (teda velmi neekonomicke) v casovom horizonte platnosti certu (5 rokov?).

Scholtz > Nechápem čo by sme tým získali. Čítal si tie “papiere” ? Dáta resp. privátne aj verejné klúče z Infineon kariet sú zverejnené od augusta 2016 - čítaj https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_svenda.pdf Ak chceš experimentovať tak sa hraj s nimi. Zvoľ si nejaký interval a snaž sa faktorizovať. Nemá žiadny zmysel ZATIAĽ lámať Suchalov klúč.

To by sme boli dobri ak by sa nam podarilo narusit cele RSA… :slight_smile:

To by som si asi vydoloval zopar privatnych klucov ku bitcoinovym uctom a nikomu nic nepovedal :slight_smile:

Bitcoin tusim bezi na eliptickych krivkach, cize to by si asi nedal.

mozno najdu skratku a tak vyvratia predpoklad ze to inak ako brute force nejde. :slight_smile: zatial sa nic ine nedeje

ale princip je ten isty, kluc je stale sucin dvoch prvocisel.

Bohužiaľ, aj kedy to robilo miliardu testov/s pri 2^2048 alebo aj odmocnine je hocijaké sekvenčne alebo aj paralelne prehľadávanie unreal. Ak by ste to dokázali tak odmena je na RSA challenge za zlomenie 1024 a aj 2048 dosť pekná suma. A šanca ze to niekto tipne náhodou je o mnoho radov nižšia ako 1 cena v eurojackpot. Ale stačí par dni trpezlivosti a … :slight_smile:

1 Like

Kukol som, ale aj tak tam nic o GPU nevidim… vedel by si vygooglit ci sa da go math/big accelerovat na gpu?

skusis toto prosim?

N mod (Min^(1/2) ^ 2 az po N^(1/4) ^ 2)
a pripadne
N mod ((Min^(1/2) ^ 2)*4+3 - (N^(1/4)) ^ 2) * 4 + 3

n^1/4 je podstatne menej … :slight_smile:

a mozes rovno skakat bud kazdy druhy alebo stvrty i :slight_smile:

ja len tak zo zvedavosti, ved rovno mozete pouzit tu inkriminovanu kniznicu z infineounu na generovanie prvocisel, pripadne jej spravnu verziu http://primesieve.org/
ale ak chape,m problem, tak chyba je niekde vo vybere prvocisel, a teda bud sa niekde objavi kniznica ktora sa pouzila pri infineone a z nej bude mozne odvodit dalsie zuzenie alebo to prezradia autori, ktori nasli pravidelnost na velkej vzorke.
Rovnako ak maju test, tak z jeho zdrojaku sa da vycitat aku charakteristiku maju kluce ( mali by byt nahodne ale zjavne nie su )

Ta kniznica je verejna? Ja som myslel ze to maju ako closed source…

Je teda toto issue ktory sposobuje ROCA bug? Merge pull request #41 from kimwalisch/EratMedium-bug-fix · kimwalisch/primesieve@703f578 · GitHub

Na CUDA si treba tie matematické operácie (Modulo, Exp, …) proste napísať. No ja sa do CUDA ani OpenCL architektúry nevyznám. Ale jednoduchým googlením je jasné, že nie sme jediný čo by to radi robili. Vyzerá to tak, že sa to zatiaľ nikomu nepodarilo. Problém je (dúfam že nezavádzam a pochopil som to správne) že CUDA pracuje iba so 64bit operáciami a všetky operácie s väčšími dátovými typmi už majú príliš veľký overhead. A teda je výpočet nakoniec pomalý.

Z iného zdroja zase: “According to the nVidia CUDA Programming Guide integer modulo is apparently very slow.”

presne pre to som sa zamyslal nad vytvorenim cache modul aspon pre jeden byte, co by bola extremene rychla operacia vynasobenia dvoch malych cisel pre vypocet kde presne to je…

cuda je ale aj tak ovela ovela rychlejsia ako cpu… navyse na virtualnych serveroch od googlu, aws, alebo v azure by sme mohli dostat zaujimave benchmarky :slight_smile:

FYI: eID prelomene?