Vous êtes sur la page 1sur 1

Université de Bejaia UEF 21.

12 Crypto 2022/2023
Faculté de Technologie M2 - ST
Département ATE

TP 4 Algorithme d’Euclide Etendu :

L’Algorithme d’Euclide Etendu permet de calculer de manière itérative le PGCD de 2 nombres et de


trouver l’inverse d’un nombre mod[ ] si il existe

Ecrivez une fonction sous Matlab qui implémente cet algorithme

Algorithme Euclide Etendu :

PGCD (a,b) = a.u + b. v avec, a < b

pseudo code,

Inputs :a, b
Initialisation : r1=b , r2 =a , u1= 0, v1= 1, u2 = 1, v2= 0

tant que r2 ≠ 0 faire

q = r1/r2 (division entière, fonction idivide )


r3 = r1, u3 = u1, v3 = v1
r1= r2 , u1= u2 , v1= v2
r2= r3 – q * r2
u2 = u3 – q * u2
v2 = v3 – q * v2

Outputs :r1, u1 v1

Si PGCD (a,b) = a.u + b. v= 1, on peut dire ( a . u) = 1 [b] , donc u = a-1 [b]

PGCD = r1 , u = u1 et v = v1 .

Application :

- Trouvez le PGCD(973,301) 301 a t-il un inverse [973], 973 a t-il un inverse [301] ?
- Trouvez le PGCD(67,12) 12 a t-il un inverse [67], 67 a t-il un inverse [12] ?

Sous Matlab
int8 (.) entier sur 8 bits
int16 (.) entier sur 16 bits
int32 (.) entier sur 32 bits

Vous devez donc utiliser int16 ou int32

Vous aimerez peut-être aussi