Iesmikre gondoltam, csak nem akartam káromkodni :DDD Van valami iesmi itt: fi(N) jelöli, hogy N-nek hány nála kisebb relativ primje van. És N=fi(N)+1, ha N prim. (Ha valaki megtalálja a fi ascii kódját, az szóljon:)) Ez használható valamire?
Ehhez használható a Fermat-(vagy az Euler-?)tétel. Valami iteráció, ami mindig kizárja a lehetséges osztóknak (vagy azoknak a számoknak, amelyek x-szel nem relatív prímek?) legalább a felét, így viszonylag kevés lépés után (n) nagy valószínűséggel (1>p>1-2^(-n)) mondhatod egy számról, hogy prím. Még rémlik, hogy vannak a csúnya Carmichael (?) számok, amelyek összetettségük ellenére prímnek mutatják magukat minden esetben a próba során, és hogy ezeket is ki lehet cselezni valahogy. Sajnos a részletek a feledés homályába merültek... Így visszaolvasva túl sok a kérdőjel. :(
Például amikor az n-jegyü prímeket generálja a program, akkor igazából nem próbálja ki az összes lehetséges osztót, hanem bizonyos próbákat végez, amik sikeréből nagy valószínűséggel állíthatja, hogy a szám prím (lusta vagyok utánanézni hogy konkrétan mi ez a próba ;)
Gondolom, a Fermat-tétel bizonyítására gondolt, ahhoz pedig még pluszban be kell vezetni egy-két számelméleti fogalmat. Sajna teljesen elfelejtettem a lényeget, pedig a szigorlathoz még kelleni fog. :) Mondjuk arra emlékszem, hogy bőven elfér a levezetés két lazán írott A4-es oldalon (a hozzá tartozó definíciókkal).
1ébként lehet, hogy hülyén fogalamztam;> A "komoly" relativ. Az egészet onnan vettem, hogy az egyetemen 1 előadás erről szólt, és a prof. számelméletileg(!) bonyloultnak nevezte a titkositás gyökereihez való visszavezetést. Én pedig kiváncsi lettem, hogyan csinálják meg nálam okosabb emberek ezt a gyakorlatban.
"...es gondolom aki azon tori a fejet, hogy megcsinalja a meglevoknel jobban..."
1.) Nem célom a világot megváltani
2.) Én is tudom a képleteket, iesmiket. Csak annyi hiányzott, hogy nem tudtam olyan irtózatosan nagy primszámokat generálni (könnyen).
Más: A számelméleti (legyen algebrai) felkészültségről: én a komoly szót nem arra értettem, hogy az illető tud hatványozni, és tudja, mi az a mod. Ha ezeket ismered, a programot megirhatod, de nem érted meg a dolog lényegét. Úgy tudom, hogy a középsulikban nem tanulnak a kongruenciáról,stb...
Miert, itt most hasznalni akarja valaki a RSA-t vagy implementalni?
Az utobbit minek, amikor tele van a net free megvalositasokkal? [es gondolom aki azon tori a fejet, hogy megcsinalja a meglevoknel jobban, az nem ide roham, es nem azzal a kerdessel, hogy hallott-e valaki olyanrol, hogy RSA...]
(Amugy ha van egy kesz BigInt konyvtarad, az egesz RSA implementacio par kepernyonyi kod, nem nagy durranas, es hje Knuth-ban benne van ez is, mint annyi minden ;)
sem nem komoly sem nem szamelmeleti... leginkabb algebrai es ha nem ilyedsz meg elso latasra akkor nagyon hamar rajossz, hogy kozepiskolas matekon alapsziik az eges :) ha megerted az elmeletet onnantol az implementracio gyerekjatek.
Köszi. Majd beszerzem. Picit utánanéztem az elméletnek is, de úgylátom ez komoly számelméleti felkészültséget igényel:D Te foglalkoztál már iesmivel gyakorlatban?