woody-woodpacker/rsa/guide.txt

31 lines
662 B
Plaintext

Soit p et q deux nombres premiers
n = p * q
phi(n) = (p - 1)(q - 1)
choisir e tel que gcd(phi(n), e) = 1
soit un message m
on veut creer un message chiffre c a partir de m
c = m^e mod(n)
ed = 1 mod(phi)
m = c^d mod(n)
Les nombres doivent etre d'une taille arbitraire.
Ils seront stocker dans un tableau.
Il faut definir une structure pour decrire un grand nombre.
Ainsi que plusieurs operations : addition, multiplication, soustraction et modulo.
Il faut soit changer la taille des nombre quand necessaire, soit definir une taille fixe pour chacun des nombres, ce qui est plus simple.
len == length of array
s_bigint {
uint32_t *data;
size_t len;
}