matematyka
 ° Forum ° Odpowiedz ° Rejestracja ° Szukaj °
samochody ciężarowe ° Auto giełda ° Sprzedam motocykle °

algorytm na x^a mod n

Matma / algorytm na x^a mod n
Autor Wiadomość
Filip

Posted: 16 Gru 2000 21:40:58



No wlasnie jak w temacie. Matematycy powinni cos wiedziec na ten temat.
Teraz stosuje wielokrotne podnoszenie do kwadratu i za kazdym razem redukuje
mod n, dziala nawet calkiem szybko, ale podobno istnieje algorytm ktory jest
o wiele szybszy. Wymaga podobno konwersji reprezentacji liczby na cos
dziwnego, a wtedy bardzo szybko oblicza reszte z potegowania modulo. Jesli
ktos o tym slyszal to bede dziweczny...

Fil






PiotrCF

Posted: 17 Gru 2000 16:54:11



Filip napisał:
No wlasnie jak w temacie. Matematycy powinni cos wiedziec na ten temat.
Teraz stosuje wielokrotne podnoszenie do kwadratu i za kazdym razem
redukuje

mod n, dziala nawet calkiem szybko, ale podobno istnieje algorytm ktory
jest

o wiele szybszy. Wymaga podobno konwersji reprezentacji liczby na cos
dziwnego, a wtedy bardzo szybko oblicza reszte z potegowania modulo. Jesli
ktos o tym slyszal to bede dziweczny...




Poczytaj o tzw. kongruencjach i relacji "przystawania do"
modulo <liczba. Mówimy, że dwie liczby a, b przystają
do siebie modulo m, jeśli a mod m = b mod m.

Własności (wszystkie modulo m):

Jeśli (a przystaje do b) i (c przystaje do d) to
(a+c przystaje do b+d)

Jeśli (a przystaje do b) i (c przystaje do d) to
(a*c przystaje do b*d)

Wynika stąd, że aby policzyć np. 7^1024 mod 13,
można zacząć od 7 mod 13 ("p.d." oznacza "przystaje do")

7 p.d. 7
7^2 p.d. 7^2 = 49 p.d. 10
7^4 p.d. (7^2)^2 p.d. 10^2 = 100 p.d. 9
7^8 p.d. (7^4)^2 p.d. 9^2 = 81 p.d. 3

...itd. aż do
7^1024 p.d. 9

Czyli 7^1024 mod 13 = 9.

A jak policzyć 7^1025 mod 13? Skoro mamy już 7^1024 mod 13
oraz 7^1 mod 13, to możemy skorzystać z własności o mnożeniu:

7^1025 p.d. (7^1024 * 7^1 ) p.d. 7*9 = 63 p.d. 11

Czyli 7^1025 mod 13 = 11

I już widać: trzeba zamienić 1025 na postać dwójkową,
znaleźć 7^1 mod 13, ..., 7^1024 mod 13 i wymnożyć
te wartości (reszty), które odpowiadają "jedynkom"
w reprezentacji binarnej 1025.


Piotr



--
Zabezpieczenie antyspamowe: w moim adresie nie ma cyfr






PiotrCF

Posted: 17 Gru 2000 16:56:02



Filip napisał:
No wlasnie jak w temacie. Matematycy powinni cos wiedziec na ten temat.
Teraz stosuje wielokrotne podnoszenie do kwadratu i za kazdym razem
redukuje

mod n, dziala nawet calkiem szybko, ale podobno istnieje algorytm ktory
jest

o wiele szybszy. Wymaga podobno konwersji reprezentacji liczby na cos
dziwnego, a wtedy bardzo szybko oblicza reszte z potegowania modulo. Jesli
ktos o tym slyszal to bede dziweczny...




Poczytaj o tzw. kongruencjach i relacji "przystawania do"
modulo <liczba. Mówimy, że dwie liczby a, b przystają
do siebie modulo m, jeśli a mod m = b mod m.

Własności (wszystkie modulo m):

Jeśli (a przystaje do b) i (c przystaje do d) to
(a+c przystaje do b+d)

Jeśli (a przystaje do b) i (c przystaje do d) to
(a*c przystaje do b*d)

Wynika stąd, że aby policzyć np. 7^1024 mod 13,
można zacząć od 7 mod 13 ("p.d." oznacza "przystaje do")

7 p.d. 7
7^2 p.d. 7^2 = 49 p.d. 10
7^4 p.d. (7^2)^2 p.d. 10^2 = 100 p.d. 9
7^8 p.d. (7^4)^2 p.d. 9^2 = 81 p.d. 3

...itd. aż do
7^1024 p.d. 9

Czyli 7^1024 mod 13 = 9.

A jak policzyć 7^1025 mod 13? Skoro mamy już 7^1024 mod 13
oraz 7^1 mod 13, to możemy skorzystać z własności o mnożeniu:

7^1025 = (7^1024 * 7^1 ) p.d. 7*9 = 63 p.d. 11

Czyli 7^1025 mod 13 = 11

I już widać: trzeba zamienić 1025 na postać dwójkową,
znaleźć 7^1 mod 13, ..., 7^1024 mod 13 i wymnożyć
te wartości (reszty), które odpowiadają "jedynkom"
w reprezentacji binarnej 1025.


Piotr



--
Zabezpieczenie antyspamowe: w moim adresie nie ma cyfr







Leszek Rybicki

Posted: 17 Gru 2000 21:41:47



Kolega wlasnie ta metode stosuje...

Swoja droga - sam jestem ciekawy... moze ktos sie spotkal...

Nie bez szacunku
Leszek Rybicki






Marek Szyjewski

Posted: 29 Gru 2000 19:53:13




No wlasnie jak w temacie. Matematycy powinni cos wiedziec na ten temat.
Teraz stosuje wielokrotne podnoszenie do kwadratu i za kazdym razem redukuje
mod n, dziala nawet calkiem szybko, ale podobno istnieje algorytm ktory jest
o wiele szybszy. Wymaga podobno konwersji reprezentacji liczby na cos
dziwnego, a wtedy bardzo szybko oblicza reszte z potegowania modulo. Jesli
ktos o tym slyszal to bede dziweczny...

Fil


W. Sierpinski "Arytmetyka teoretyczna", Rozdzial IV, paragraf 13.

Pierwiastki pierwotne i wskazniki.


Z powazaniem
Marek Szyjewski

My, samotnicy, powinnismy trzymac sie razem!




Twoja wypowiedź

Bold Style  Italic Style  Underlined Style  Image Link  Insert URL  Email Link  Wyłącz BB code


Zanim wyślesz jakąś wiadomość z polskimi znakami, upewnij się czy kodowanie znaków w twojej przeglądarce to ISO-8859-2
 » Login  » Hasło 
 


Czas ładowania strony (sek.): 0.614
miniBB.net © 2001-2008 op19 transport ekonomia
  • Przychodzi e-baba do lekarza
  • Wirtualny pacjent zamiast rycin w podręcznikach. Wkrótce studenci medycyny już od pierwszego roku będą poznawać sztukę lekarską, lecząc... e-pacjentów.
  • Akupunktura, czyli żadne czary-mary
  • To jedna z niewielu metod medycyny niekonwencjonalnej, która została uznana przez jej klasyczną siostrę. Choć nie do końca wiadomo na czym polega jej działanie, grunt, że w leczeniu bólu naprawdę jest skuteczna.
  • Przełomowy zabieg - Claudia oddycha oskrzelami wyhodowanymi w laboratorium