#code #mathematiques #cryptographie

La cryptographie de courbes elliptiques est un algorithme de public key cryptographie basée sur des courbes elliptiques. Cette technique vient remplacer l’algorithme de chiffrement RSA.

Chiffrement RSA

RSA est un acronyme pout pour “Rivest, Shamir et Adleman”, les 3 chercheurs ayant découvert cet algorithme. Dans les grandes lignes, l’algorithme utilise la factorisation de nombres premiers comme fonction irréversible: multiplier deux nombres premiers est facile, mais retrouver les facteurs à partir du résultat est très difficile.

Son utilisation est aujourd’hui encore très répandue, sur le web, le secteur bancaire, militaire, etc. Cependant, des attaques au chiffrement RSA (autrement dit: des algorithmes meilleurs que le brut force pour décrypter) ont été découvertes. Ce chiffrement n’est considéré comme sécurisé qu’avec des clés relativement longues, ce qui a représente un coût non-négligeable sur les performances.

Courbes Elliptiques

Une technique plus récente, basée sur les courbes elliptiques, donne un bien meilleur encryptage, même avec des clés plus courtes. D’un point de vue mathématiques, ce sont les courbes du type y^2 = x^3 + ax + b. Sur une courbe elliptique, il est possible de définir une opération qui permet de se déplacer sur la courbe de manière très aléatoire, si bien qu’en arrivant sur un point donné, il est (presque) impossible de deviner le chemin parcouru. En utilisant un modulo et en la partie entière des valeurs, cela donne une bonne fonction asymétrique (facile à calculer dans un sens, difficile dans l’autre).

Les courbes elliptiques peuvent également être utilisées pour générer des nombres pseudo-aléatoires, mais leur performances sont bien moindre que d’autres méthodes.