Travaux pratiques de math´ematiques - M´ethode RSA (page 2/6)
Snb-tp3.4 . Puissances: algorithme na¨ıf. [1- B. Ischi 14-15 ]
(1) Calculer 12123456 mod 3, 121234567 mod 3, 1212345678 mod 3 et 12123456789 mod 3 de tˆete.
(2) Calculer 12123456 mod 3, 121234567 mod 3, 1212345678 mod 3 et 12123456789 mod 3 avec l’algo-
rithme na¨ıf en ex´ecutant les commandes mp(12,123456,3),mp(12,1234567,3), etc.
Pourquoi le temps de calcul est-il long ?
(3) Est-il possible de calculer 12(10300 )mod 3 avec l’algorithme na¨ıf ?
Snb-tp3.5 . Base 2. [1- B. Ischi 14-15 ]
Compl´eter le script Octave suivant
1cl ea r −a
2function r=tobin(e)
3l=?;
4while e>?
5r(l)=mod ( ? , ? ) ;
6e=(e−?) / ? ;
7l=l+?;
8end
9end
10 tobin (123)
pour cr´eer une fonction tobin qui donne l’´ecriture en base 2 d’un nombre edonn´e en base 10. Par
exemple, l’ex´ecution de la commande tobin(123) donne
octave:16> tobin(123)
ans =
1101111
car
123 = 1 ·20+ 1 ·21+ 0 ·22+ 1 ·23+ 1 ·24+ 1 ·25+ 1 ·26
Snb-tp3.6 . Algorithme rapide. [1- B. Ischi 14-15 ]
Compl´eter le script Octave suivant
1cl ea r −a
2function r=tobin(e)
3l=;
4while e>?
5r(l)=mod ( ? , ? ) ;
6e=(e−?) / ? ;
7l=l+?;
8end
9end
10 function s=pmsmart (k,e,n)
11 r=tobin(e) ;
12 l=length ( ? ) ;
13 s=?;
14 kn=mod ( ? , ? ) ;
15 for k=1:?
16 i f r( ? )==?
17 s=mod ( ? , ? ) ;
18 end
19 kn=mod ( ? , ? ) ;
20 end
21 end
22 pmsmart (12 ,123456789 ,3)
pour cr´eer une fonction pmsmart(k,e,n)qui calcule kemod eavec l’algorithme rapide.