Article View: pl.comp.lang.asm
Article #310Re: 1024 bitowa liczba pierwsza
From: Stachu 'Dozzie' K.
Date: Sun, 04 Jun 2006 13:33
Date: Sun, 04 Jun 2006 13:33
38 lines
2593 bytes
2593 bytes
On 04.06.2006, Bogdan (bogdro) <bogdan@bogdan.pl> wrote: > zrn napisał(a): >> Witam! >> Do mojego programu (DOS/Windows) potrzebuję wstawki asemblerowej >> sprawdzającej czy dana 1024 bitowa liczba jest pierwsza. Liczba jest dana >> w postaci tablicy zer lub jedynek. >> Z asemblera jestem mniej niż cienki. >> Proszę o pomoc, wskazówki, namiary itp. > > Na myśl przychodzi mi najprostszy (czyli też najdłuższy) sposób: > dzielenie podanej liczby przez wszystkie liczby nieparzyste mniejsze > równe od liczba/2 (== liczba >> 1). > Jeśli ostatni bit = 0, to wiesz, że liczba dzieli się przez 2, więc > pierwsza nie jest. > Omówienie operacji wielokrotnej precyzji znajdziesz m.in. w książce > Randalla Hyde'a "Art of Assembler", wersja 32-bitowa, > http://webster.cs.ucr.edu. > > Są też inne sposoby. Słyszałem o teście Fermata, ale złożoność > problemu nie jest banalna. Test Fermata (Rabina-Millera, znacznie skuteczniejszy, też) to test probabilistyczny. Z zerową szansą uznania liczby pierwszej za złożoną. Niespecjalnie złożony, nawiasem mówiąc. > W końcu to dzięki złożoności takich testów > (i faktoryzacji liczb) szyfr RSA żyje jeszcze i ma się dobrze :) Jakiej znowu złożoności? Ocena pierwszości zadanej liczby to problem klasy P, o czym wiadomo od paru lat. Zdaje się, że to był wykładnik rzędu 10, ale to jest wielomian, a nie coś większego. RSA zresztą nie opiera bezpieczeństwa o trudność stwierdzenia, czy dana liczba jest pierwsza (co jest łatwe), tylko właśnie o trudność rozkładu dużych (specjalnie wybieranych) liczb na czynniki pierwsze. -- Feel free to correct my English Stanislaw Klekot
Technical Details
Message-ID:
<slrne85orr.881.dozzie@hans.zsh.bash.org.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mailReferences:
<e5uk4t$dfl$1@atlantis.news.tpi.pl> <e5umtv$q4t$1@nemesis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail From: "Stachu 'Dozzie' K." <dozzie@dynamit.im.pwr.wroc.pl.nospam> Newsgroups: pl.comp.lang.asm Subject: Re: 1024 bitowa liczba pierwsza Date: Sun, 4 Jun 2006 13:33:21 +0000 (UTC) Organization: Dialog Net Lines: 38 Message-ID: <slrne85orr.881.dozzie@hans.zsh.bash.org.pl> References: <e5uk4t$dfl$1@atlantis.news.tpi.pl> <e5umtv$q4t$1@nemesis.news.tpi.pl> NNTP-Posting-Host: xdsl-2827.wroclaw.dialog.net.pl Mime-Version: 1.0 X-Trace: news.dialog.net.pl 1149428001 12930 81.168.251.11 (4 Jun 2006 13:33:21 GMT) X-Complaints-To: abuse@dialog.net.pl NNTP-Posting-Date: Sun, 4 Jun 2006 13:33:21 +0000 (UTC) User-Agent: slrn/0.9.8.1 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit