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; }