Articles

algorithme RSA (Rivest-Shamir-Adleman)

L’algorithme RSA est la base d’un cryptosystème-une suite d’algorithmes cryptographiques utilisés pour des services ou des fins de sécurité spécifiques-qui permet le cryptage à clé publique et est largement utilisé pour sécuriser les données sensibles, en particulier lorsqu’elles sont envoyées sur un réseau non sécurisé tel qu’internet.,

RSA a été décrit publiquement pour la première fois en 1977 par Ron Rivest, Adi Shamir et Leonard Adleman du Massachusetts Institute of Technology, bien que la création en 1973 d’un algorithme à clé publique par le mathématicien britannique Clifford Cocks ait été classée par le GCHQ britannique jusqu’en 1997.

la cryptographie à clé publique, également connue sous le nom de cryptographie asymétrique, utilise deux clés différentes mais mathématiquement liées-Une publique et une privée. La clé publique peut être partagée avec tout le monde, alors que la clé privée doit être gardée secrète.,

en cryptographie RSA, les clés publiques et privées peuvent chiffrer un message; la clé opposée à celle utilisée pour chiffrer un message est utilisée pour le déchiffrer. Cet attribut est l’une des raisons pour lesquelles RSA est devenu l’algorithme asymétrique le plus largement utilisé: il fournit une méthode pour assurer la confidentialité, l’intégrité, l’authenticité et la non-répudiation des communications électroniques et du stockage de données.

de nombreux protocoles comme secure shell, OpenPGP, S/MIME et SSL / TLS s’appuient sur RSA pour les fonctions de chiffrement et de signature numérique., Il est également utilisé dans les logiciels-les navigateurs en sont un exemple évident, car ils doivent établir une connexion sécurisée sur un réseau non sécurisé, comme internet, ou valider une signature numérique. La vérification de signature RSA est l’une des opérations les plus couramment effectuées dans les systèmes connectés au réseau.

pourquoi L’algorithme RSA est utilisé

RSA tire sa sécurité de la difficulté de factoriser de grands entiers qui sont le produit de deux grands nombres premiers., Multiplier ces deux nombres est facile, mais déterminer les nombres premiers d’origine à partir du total-ou factoriser-est considéré comme infaisable en raison du temps qu’il faudrait utiliser même les superordinateurs d’aujourd’hui.

l’algorithme de génération de clés publiques et privées est la partie la plus complexe de la cryptographie RSA. Deux grands nombres premiers, p et q, sont générés à l’aide de L’algorithme de test de primalité de Rabin-Miller. Un module, n, est calculé en multipliant p et Q. ce nombre est utilisé à la fois par les clés publiques et privées et fournit le lien entre elles., Sa longueur, généralement exprimée en bits, est appelée longueur de clé.

La clé publique se compose du module n et un public, exposant, e, qui est normalement fixé à 65537, car c’est un nombre premier qui n’est pas trop grand. Le chiffre e ne doit pas nécessairement être un nombre premier secrètement sélectionné, car la clé publique est partagée avec tout le monde.

la clé privée se compose du module n et de l’exposant Privé d, qui est calculé à l’aide de l’algorithme euclidien étendu pour trouver l’inverse multiplicatif par rapport au totient de N.,

lisez ou regardez la vidéo ci-dessous pour une explication plus détaillée du fonctionnement de L’algorithme RSA.

Comment fonctionne L’algorithme RSA?

Alice génère ses clés RSA en sélectionnant deux nombres premiers: p=11 et q=13. Le module est n = p×q=143. L’indicateur est n ϕ(n)=(p−1)x(q−1)=120. Elle choisit 7 pour sa clé publique RSA e et calcule sa clé privée RSA en utilisant l’algorithme euclidien étendu, ce qui lui donne 103.

Bob veut envoyer à Alice un message chiffré, M, donc il obtient sa clé publique RSA (n, e) qui, dans cet exemple, est (143, 7)., Son message en clair est juste le numéro 9 et est crypté en texte chiffré, C, comme suit:

Me mod n = 97 mod 143 = 48 = C

lorsque Alice reçoit le message de Bob, elle le déchiffre en utilisant sa clé privée RSA (d, n) comme suit:

Cd mod n = 48103 mod 143 = 9 = m

pour utiliser les clés RSA pour signer numériquement un message, Alice devrait créer un hachage-un résumé de message de son message à Bob-chiffrer la valeur de hachage avec sa clé privée RSA, et ajouter la clé au message., Bob peut alors vérifier que le message a été envoyé par Alice et n’a pas été modifié en déchiffrant la valeur de hachage avec sa clé publique. Si cette valeur correspond au hachage du message d’origine, seule Alice aurait pu l’envoyer-authentification et non-répudiation-et le message est exactement comme elle l’a écrit-intégrité.

Alice pourrait bien sûr chiffrer son message avec la clé publique RSA de Bob-confidentialité-avant de l’Envoyer à Bob. Un certificat numérique contient des informations qui identifient le propriétaire du certificat et contient également la clé publique du propriétaire., Les certificats sont signés par l’autorité de certification qui les émet et peuvent simplifier le processus d’obtention des clés publiques et de vérification du propriétaire.

RSA security

RSA security repose sur la difficulté de calcul de l’affacturage des grands entiers. À mesure que la puissance de calcul augmente et que des algorithmes d’affacturage plus efficaces sont découverts, la capacité à factoriser des nombres de plus en plus grands augmente également.

la force du chiffrement est directement liée à la taille de la clé, et le doublement de la longueur de la clé peut générer une augmentation exponentielle de la force, bien que cela nuise aux performances., Les clés RSA ont généralement une longueur de 1024 ou 2048 bits, mais les experts estiment que les clés 1024 bits ne sont plus entièrement sécurisées contre toutes les attaques. C’est pourquoi le gouvernement et certaines industries passent à une longueur de clé minimale de 2048 bits.

à moins d’une percée imprévue dans l’informatique quantique, il faudra de nombreuses années avant que des clés plus longues ne soient nécessaires, mais la cryptographie à courbe elliptique (ECC) gagne la faveur de nombreux experts en sécurité en tant qu’alternative à RSA pour implémenter la cryptographie à clé publique. Il peut créer des clés cryptographiques plus rapides, plus petites et plus efficaces.,

le matériel et les logiciels modernes sont compatibles ECC, et sa popularité devrait croître, car ils peuvent offrir une sécurité équivalente avec une puissance de calcul et une utilisation des ressources de la batterie inférieures, ce qui les rend plus adaptés aux applications mobiles que RSA. Enfin, une équipe de chercheurs, qui comprenait Adi Shamir, un co-inventeur de RSA, a créé avec succès une clé RSA 4096 bits en utilisant la cryptanalyse acoustique; cependant, tout algorithme de chiffrement est vulnérable aux attaques.