46
Vývoj / Re:Srovnání algoritmů na prvočísla
« kdy: 07. 12. 2022, 01:21:06 »A jde o časouvou a ne pamět. NárocnostMůžu se zeptat, co je opravdu cílem cvičení? Obvykle v reálu jde o tradeoff mezi výpočtem a pamětí. Přesněji - co to je "velké vstupní n"? Protože mám pocit, že v tom máte zmatek a že ve skutečnosti se bavíte o nízkých desítkách bitů maximálně. (a pak nemá smysl mluvit o asymptotách). Pokud jde o velká čísla (u bezpečných šifer se bavíme řádově o kilobitech, pokud prvočíslo použijete na vytvoření eliptické křivky, tak ve stovkách bitů), pak vřele doporučuji pročíst zde https://en.wikipedia.org/wiki/Primality_test#Probabilistic_tests a optimálně ještě od Bruce Schneiera knížku Applied Cryptography.
Navíc ale ono taky záleží jaká operace, třeba násobení n-bitových čísel znamená n * (rotace + sčítání), takže tam pak máme nějaké ln(x) ke složitosti navíc.
Ktomu doplňme, že i na paměti záleží. Hustota prvočísel je x/ln(x). To znamená, že pro tabulku 64-bitových prvočísel (potřebných k faktorizaci 128bit čísel) potřebujete cca 3ExaByte, což není málo ;-)
Citace: CPU
Pokud jde o známá prvočísla, pak existuje rovnice, která s konstantní (relativně malou)nemáte prosím odkaz? Připadá mi to příliš dobré, aby to byla (obecně) pravda (aneb, proč se třeba při genrsa používají probability testy a ne ta rovnice), tak by mě zajímalo, o co jde a jaká to má ty "ale".