[delphi] jak wylosowac dwie duze liczby 1-sze.

0

Potrzebne mi jest do wygenerowania kluczy RSA dwie liczby pierwsze oczywiscie w miare duuuze. tylko nie chce generowac w tablicy miliona liczb i losowo wybierac tylko wylosowac liczbe z zkaresu np:
365432312 a np 987887667
Da sie jakos sprawdzic zeby liczby wylosowane i rozniace sie od siebie byly liczbami 1szymi?

0

Jeśli chcesz zrobić przedział to wystarczy ze zrobisz POCZĄTEK_PRZEDZIAŁU+random(WIELKOŚĆ_PZEDZIAŁU) a jeśli chodzi o liczby pierwsze to GOOGLE i na pewno coś znajdziesz

0

ale czy da sie jakos latwo sprawdzic c zy wylosowana liczba to wlasnie liczba 1sza ? czy jedynym roziwzaniem to jest dzielenie jej od 2 do wielkosci tej liczby i sprawdzanie reszty?

0

istnieją do tego szybkie algorytmy - np. probabilistyczne, które sprawdzają czy liczba jest pierwsza z jakimś prawdopodobieństwem, typowo 1/2 lub 3/4. wykonujesz wtedy kilkadziesiat sprawdzeń i masz p-wo 2-N lub 2-2*N, że dana liczba zostanie błędnie sklasyfikowana. kiedyś implementowałem rsa w turbo pascalu, powinienem gdzieś mieć źródła.
http://pl.wikipedia.org/wiki/Test_pierwszo%C5%9Bci

0
masterO napisał(a)

...liczby pierwsze oczywiscie w miare duuuze
A co to znaczy? 32 bity, 64 czy więcej?

0

klucz powienien byc 1024 bitowy to liczba jaka powinna byc dluga 128 znakow?

1 użytkowników online, w tym zalogowanych: 0, gości: 1