Implémentation de quelque algorithmes D de cryptage d’image
Présentation des algorithmes
Algorithme RSA
RSA est un système cryptographique, ou crypto-système, pour le chiffre- ment à clé publique. Il est souvent utilisé pour la sécurisation des données confidentielles, en particulier lorsqu’elles sont transmises sur un réseau peu sûr comme Internet. Principe de fonctionnement : Génération des clés : Pour générer le pair de clés RSA on suit les étapes suivantes : 1.Générer deux grands nombres premiers p et q. 2.Calculer n : n= p*q. 3.Calculer φ(n) : φ(n)= (p-1)(q-1) 4.Sélectionner un entier e s] 1, φ(n)(n) [tels que : pgcd (φ(n), e)=1 (e est premier avec φ(n)) 5.Calculer d= e1 dans Zφ(n) c.à.d : d*e =1 mod φ(n) ou e*d mod (φ(n))=1
– clé publique = (e,n). – clé privé = (d,n). Chiffrement et Déchiffrement d’un message Soit m le message en clair (non crypté) et c le message encrypté. 1.Pour encrypter le message : c = me mod n 2.Pour décrypter le message : m = c d mod n Soit Alice la personne qui désire recevoir un message chiffré, et Bob la personne qui envoie le message.
Comme illustre la figure ci-dessus, Alice choisit p et q et fait leur produit n = p.q. Puis elle choisit un entier e premier avec φ(n). Enfin, elle publie dans un annuaire, par exemple sur le web, sa clef publique : (n, e). Bob veut donc envoyer un message à Alice. Il cherche dans l’annuaire la clef de chiffrement qu’elle a publiée. Le message m est chiffré par la formule c= me mod n, ou` c est le message chiffré que Bob enverra à Alice. Alice calcule à partir de p et q, qu’elle a gardés secrets, la clef d de déchiffrage (c’est sa clef privée). Le message chiffré C sera déchiffré par la formule m = cd mod n. Exemple Supposons qu’on veuille envoyer le message sécurité en se servant du tableau de l’alphabet pour transformer les lettres en nombres
On choisit : – Les deux entiers : p=17 et q=19. – La clé publique : n=p*q = 17*19 = 323. – φ(n) =(p-1)*(q-1)=288. – e= 5 (clé publique).
ELGamel
L’algorithme EL Gamal est une suite logique de l’échange de clés déffiehellman. On peut résumer le fonctionnement de cet algorithme comme suit : [60] Principe de fonctionnement 1. Génération des clés —Détermination de p et a : On choisit deux entiers p et a. —Détermination de s : On choisit la clé secrète s tel que s < p —Détermination de A : On calcul la clé publique A = a s mod(p). 2. Chiffrement d’un message Pour chiffrer un message M, on choisit un nombre aléatoire k qui est connu par l’émetteur. On notera que la valeur de k ’est utilisée qu’une seule fois, c’est-à-dire le chiffrement d’un seul message. La haute sécurisation de ce chiffrement d’ELGAMEL vient du fait qu’un clair pourra avoir plusieurs chiffrés. Pour chaque k choisie, on calcule alors : B=ak mod (p) C=M. Ak mod (p). On obtient alors le message chiffré qui est représenté par le couple = (B,C).
Exemple
On veut chiffrer le mot ” Médical ”en utilisant le protocole EL Gamal, pour cela on choisit : p=661, a=23 et une clé secrète s=7. Chiffrement du message M On commence par convertir ce message en chiffres. On assigne un nombre à deux chiffres à chaque caractère en se référant au tableau ci-dessous
Le message chiffré Médical est : M=13050409030112 Ce message est découpé en blocs de même longueur de telle fa¸con que la valeur numérique de chacun de ces blocs devant être inférieure à p=661.
Les courbes elliptiques
Les courbes elliptiques sont un sujet très à la mode en mathématiques. Elles sont à la base de la démonstration du grand théorème de Fermat par Andrew Wiles. Elles sont aussi à l’origine de nouveaux algorithmes de cryptographie très sûrs, et on entrevoit les prémices de leur utilisation pour la factorisation de grands nombres entiers . Définition Un courbes elliptiques est un cas particulier d’une courbe algébrique munie d’une loi de groupe, pas n’importe quelle loi de groupe, évidement, sinon ce serait facile et ¸ca n’aurait aucun intérêt, lais loi tels que les coordonnées de la somme s’expriment en fonction de celles des point de départ suivant l’équation Weierstrass : y 2 +a1xy + a3y = x 3 + a2 x 2 + a 4 x + a6 —Les coefficients a1, a2 , a3, a4 et a6 sont des éléments du corps K sur lequel est définie la courbe. Ces éléments formés de deux opérations : l’addition et manipulation. —Une courbe elliptique E est définie sur K point à l’infini, noté ◦ . à laquelle on a rajouté un E= {(x,y) ∈ K 2 y 2 + a1xy +a3y = x 3+ a2 x 2+ a 4 x + a6 ∪ {◦ } } —La condition δ = -16(4a 3 + 27b 2 )ƒ= 0 s’assure que la courbe elliptique est ¡lisse¿, c’est-à-d, qu’elle ne possède ni point double, ni point de rebroussement (il n’y aucun point auquel la courbe possède deux ou plusieurs tangents distinctes E´quations de Weierstrass Pour leur usage en cryptographie, a1, a2 et a3 doivent être égaux à 0. Comme les cryptographes ont l’habitude de renommer a4 = a et a6 = b, on obtient : Un exemple typique de courbe elliptique est donné sur la figure ci-dessous. Son équation est : y 2=x 3 – x
Opérations sur les courbes elliptique
On va définir les forme qui permettent de calculer les coordonné du point ’R’ résultant d’une addition ou multiplication ou soustraction de deux point p et q. Addition des points : Soient E une courbe elliptique définie sur un corps K, et deux points P, Q ∈ E(K), (L) la droite reliant P à Q (la tangente à E si P = Q) et R le troisième point d’intersection de (L) avec E. Soit (L’)la droite verticale passant par R. On définit P + Q ∈ E(K) comme étant le deuxième point d’intersection de (L’) avec E. le groupe muni de cette loi de composition (E(K)+) est un groupe abélien dont l’élément neutre est le point à l’infini O.