Ładny brzuch

Bardziej by to pasowalo do dzialu 'matematyka & algorytmy' ale takowego tu nie ma, a ze jest to powiazane z RSA to tu tez pasuje ;). Moze mi ktos wyjasnic jak sie robi dzialanie x^y mod z bez podnoszenia x do potegi y? Znalazlem rozpisane takie dzialanie, ale niestety nie jestem w stanie stwierdzic co tam sie dzieje :(.

19^17 mod 143= =((1*19) mod 143)*((19^2) mod 143)^(17 div 2)= =(19*(75^8)) mod 143= =((75^2) mod 143)^(8 div 2)= =(19*(48^4)) mod 143= =((48^2) mod 143)^(4 div 2)= =(19*(16^2)) mod 143= =((16^2) mod 143)^(2 div 2)= =(19*(113^1)) mod 143= =((19*113) mod 143)*((113^2) mod 143)^(1 div 2)= =(2*(42^0)) mod 143= =2

P.S> oczywiscie x^y to jest x do potegi y ;).



Przesstawie Ci caly algorytm bo analizowanie linijka po linijce nic tutaj nie da.

rozwazmy wyrazenie g^e mod n

a <- 1 while e <> 0 do if e mod 2 > 0 then a <- a * g; a <- a mod n; e <- e div 2; if e <> 0 then g <- g * g; g <- g mod n;

W co drugiej lini tego co wkleiles jest blad.
Wezmy np. linie druga:

=((1*19) mod 143)*((19^2) mod 143)^(17 div 2)= 19 mod 143 * (361 mod 143) ^ 8 = 19 * (75) ^ 8 > 2

druga linia powinna wygladac:

=(((1*19) mod 143)*((19^2) mod 143)^(17 div 2))[b]mod 143[/b] =
Uytkownik osiara edytowa ten post 26 sierpie 2006, 21:21

Przesstawie Ci caly algorytm bo analizowanie linijka po linijce nic tutaj nie da.

rozwazmy wyrazenie g^e mod n

a <- 1 while e <> 0 do if e mod 2 > 0 then a <- a * g; a <- a mod n; e = e div 2; if e <> 0 then g <- g * g; g <- g mod n;


Troche nie rozumiem kodu :/. A dokladniej operatora "<-" - co on oznacza? Rozumiem ze intstrukcje warunkowe obejmuja wyrazenia o szerokosci danego wciecia, tak?

Standardowo znaczek <- oznacza przypisanie.
czyli a = 1; w C i a := 1; w Pascalu.




Standardowo znaczek <- oznacza przypisanie.
czyli a = 1; w C i a := 1; w Pascalu.

Wielkie dzieki! Tak podejrzewalem ale "e = e div 2;" zbilo mnie z tropu :).


Wielkie dzieki! Tak podejrzewalem ale "e = e div 2;" zbilo mnie z tropu :).

Juz poprawiam :)

BTW. Piszesz szyfrator RSA ?? JEzeli tak to w jakim jezyku, w Delphi ?


Juz poprawiam :)

BTW. Piszesz szyfrator RSA ?? JEzeli tak to w jakim jezyku, w Delphi ?

Tak. Na razie w delphi. Jestem w fazie testow - sprawdzam co gdzie i jak dziala, wiec operuje na malych liczbach (32 bity) ale jak juz opanuje ta maszynerie to jakiegos dll'a zrobie chyba (z obsluga duzo wiekszych liczb oczywiscie). A jak sie uda to moze i w C napisze conieco :).

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •