Comprendre l'algorithme RSA

L'algorithme RSA est une technique de cryptage à clé publique et est considéré comme le moyen de cryptage le plus sûr. Il a été inventé par Rivest, Shamir et Adleman en 1978 et d'où son nomRSA algorithme.

Algorithme

L'algorithme RSA possède les fonctionnalités suivantes -

  • L'algorithme RSA est une exponentiation populaire dans un champ fini sur des entiers comprenant des nombres premiers.

  • Les nombres entiers utilisés par cette méthode sont suffisamment grands, ce qui la rend difficile à résoudre.

  • Il existe deux ensembles de clés dans cet algorithme: la clé privée et la clé publique.

Vous devrez suivre les étapes suivantes pour travailler sur l'algorithme RSA -

Étape 1: Générer le module RSA

La procédure initiale commence par la sélection de deux nombres premiers à savoir p et q, puis le calcul de leur produit N, comme indiqué -

N=p*q

Ici, soit N le grand nombre spécifié.

Étape 2: Nombre dérivé (e)

Considérez le nombre e comme un nombre dérivé qui devrait être supérieur à 1 et inférieur à (p-1) et (q-1). La condition principale sera qu'il ne devrait y avoir aucun facteur commun de (p-1) et (q-1) sauf 1

Étape 3: clé publique

La paire de nombres spécifiée n et e forme la clé publique RSA et elle est rendue publique.

Étape 4: Clé privée

Clé privée dest calculé à partir des nombres p, q et e. La relation mathématique entre les nombres est la suivante -

ed = 1 mod (p-1) (q-1)

La formule ci-dessus est la formule de base de l'algorithme euclidien étendu, qui prend p et q comme paramètres d'entrée.

Formule de cryptage

Prenons l'exemple d'un expéditeur qui envoie le message en texte brut à quelqu'un dont la clé publique est (n,e). Pour crypter le message en texte brut dans le scénario donné, utilisez la syntaxe suivante -

C = Pe mod n

Formule de décryptage

Le processus de décryptage est très simple et comprend des analyses pour le calcul dans une approche systématique. Considérant le récepteur C a la clé privée d, le module de résultat sera calculé comme -

Plaintext = Cd mod n