Réalisation d’un logiciel de Chiffrement RSA.

Slides:



Advertisements
Présentations similaires
État de l’art de la sécurité informatique
Advertisements

Systèmes d ’Information :
Algorithmes et structures de données avancés
Fonctions & procédures
ARITHMETIQUE Bernard Izard 3° Avon PG I - DIVISEURS
La spécialité mathématique en TS
Enseigner l’arithmétique en série L
Fractions.
INTRODUCTION.
5. Les structures répétitives
Par Clément en vacances sur la Côte d’Azur Le 17 décembre 2011
Les bases de l’Algorithmique
Cryptographie Mener des Activités en classe
Enseignement de spécialité en S
Utilise la barre d’espace ou les flèches pour naviguer
CryptoGraphy
Démarche de résolution de problèmes
Fondements de la Cryptographie
Le codage des nombres en informatique
Nombres entiers. Ensembles de nombres
Chapitre 1 PGCD de deux nombres.
Division euclidienne - décimale
Algorithmique et Programmation
? EPFL Playstations 3 Cryptologie Internet Sécurité Algorithme RSA
Les Algorithmes Cryptographiques Symétriques
EXEMPLE DE MESSAGE CRYPTE PUIS DECRYPTE avec la méthode RSA
Cryptographie Réalisé par TOUJENI Noura BEN SOUISSI Rania KARAOUD Imen
ARITHMETIQUE : NOMBRES PREMIERS, PGCD
Techniques de test Boulanger Jean-Louis.
Chiffrement de Lester Hill
DIVISION 1. Division euclidienne - Méthode
Factorisation par division
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
Cryptographie - 2.
Elaboré par : Seif MESDOUA Mme M.DRIDI
Eléments d’arithmétique dans l’ensemble des naturels
Arithmétique Modulaire
Le chiffrement asymétrique
Le chiffrement symétrique
DU1 Sécurité : DU Commerce Electronique Michel de Rougemont Université Paris II Les systèmes à clé publique: RSA.
La spécialité mathématique en TS
Le protocole d’authentification
Les Algorithmes Cryptographiques Asymétriques
L’écriture des grands nombres: les puissances de 10
Un survol du language C.
Attaque du protocoles RSA Yoann Moulin ESISAR IR - P2004
Pr BELKHIR Abdelkader USTHB
Définition de file En informatique, on définit une file comme étant une structure de données où l’on peut insérer et extraire en fonctionnant selon le.
Cryptographie.
Étude d ’approfondissement Le Paiement Électronique
Chapitre -3- FRACTIONS [A] MULTIPLES ET DIVISEURS (rappels de 6°: fiche n°106) jeudi 13 avril 2017  multiples  diviseurs  critères de divisibilité 
Mathématiques Discrètes Chapitre 2 (section 3)
Les algorithmes recursifs
Le cryptosystème RSA à clés publiques
Algorithme des différences
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Ecritures fractionnaires Quotients
Algorithme des différences Fraction irréductible
Leçon Nombres entiers et rationnels
La pile de crêpes.
Chapitre 4 La représentation des nombres.
Seconde 8 Module 3 M. FELT 22/09/2015.
PGP Pretty Good Privacy « Tu vois, c'est ça le problème avec les terroristes : ils n'ont aucun respect pour ta vie privée. » Arnold Schwarzenegger Thomas.
Algorithmique Boucles et Itérations
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Division euclidienne - décimale
Chap.V RSA. I. Rappels Mathématiques La congruence Définition 1 a et b sont congrus modulo n s’ils ont même reste par la division par n. On note a≡b[n]
Introduction Le mathématicien
Transcription de la présentation:

Réalisation d’un logiciel de Chiffrement RSA. Projet ER13 – 2009- 2010 Réalisation d’un logiciel de Chiffrement RSA.

Sommaire Objectifs Chiffrement L’algorithme RSA Organisation

Sommaire Objectifs Chiffrement L’algorithme RSA Organisation Généralités RSA ? Évaluation Chiffrement L’algorithme RSA Organisation

Objectifs - Généralités Réaliser un programme de chiffrement RSA, 6 séances TP, 3 équipes de 4 personnes.

Objectifs – RSA ? RSA : Rivest, Shamir, Adleman, Premier algorithme à clef publique, Inventé en 1977 3DES, AES, … Adi Shamir, Ronald Rivest, and Leonard Adleman

Objectifs – Evaluation Bon fonctionnement, Qualité du code, Jeux de tests.

Sommaire Objectifs Chiffrement L’algorithme RSA Organisation Symétrique Asymétrique L’algorithme RSA Organisation

Chiffrement - symétrique Confidentialité repose sur un secret, Ex : décalage de 3 rangs dans l’alphabet : 3 est la clef secrète.

Chiffrement - symetrique Symétrique : même clef pour chiffrer et déchiffrer, Comment échanger la clef ?

Chiffrement - asymétrique 2 clefs L’une publique : Chiffre, Publique, L’autre privée : Déchiffre, Secrète.

Sommaire Objectifs Chiffrement L’algorithme RSA Organisation Définitions mathématiques Déchiffrement Robustesse Organisation

RSA – nombres premiers Nombre premier : un nombre premier est un nombre entier qui n’est divisible que par lui-même ou par 1, 3, 5, 7, 11, 13 sont des nombres premiers. 91 n’est pas un nombre premier car 91 = 7 x 13

RSA – nombres premiers entre eux Nombres premiers entre eux : deux nombres entiers sont premiers entre eux si ils n’ont aucun diviseur commun à part 1, 15 et 8 sont des nombre premiers entre eux, 34 et 51 ont un diviseur commun : 17, ils ne sont donc pas premiers entre eux.

RSA – Reste d’une division euclidienne. Rappel : l’opérateur % du C retourne le reste d’une division entre entiers. 55 % 12 = 7 car 55 = 4 * 12 + 7, 55 = 7 [12]. // On dit que 55 est égal à 7 modulo 12. Remarque : le modulo, c’est 12 et non 7 comme on l’entend souvent dire par erreur.

RSA – L’indicatrice d’Euler C’est une fonction notée . Elle est définie de la manière suivante : (N) est le nombre d’entiers inférieurs à N, premiers avec N. Un exemple en page suivante pour calculer (55) .

RSA – L’indicatrice d’Euler On écrit tous les entiers entre 1 et 55. On barre ceux qui ne sont pas premiers avec 55. On compte combien il en reste, c’est (55) 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55. (55)=40.

RSA – un gros théorème ! Si P et Q sont premiers, et si N = P x Q, alors (N) = (P-1)(Q-1), (55) = (5x11) = (5-1).(11-1) =40. Plus facile !

RSA – Un exemple de chiffrement Q = 11, (55) =40, Message :12456668452351254626.

RSA – chiffrement Découper le message en nombres < N (55), 12 45 6 6 6 8 45 23 51 25 46 26, M1 = 12, M2 = 45 …

RSA – chiffrement déterminer un nombre  qui soit premier avec (N), Ex : (N) = 40,  = 3.

RSA – chiffrement Élever chaque partie du message à la puissance , …

RSA – chiffrement Calculer l’équivalent modulo N de chaque partie du message élevée à la puissance , (M1)[N]=(12)3[55]=1728[55]=23= MC1 (M2)[N]=(45)3[55]=91125[55]=45= MC2 …

RSA – chiffrement Message chiffré : 23 45 51 51 51 17 45 12 46 5 41 31 Clef publique = (N, ). Attention : seuls N et  sont divulgués. P et Q sont secrets

RSA – déchiffrement On a chiffré en élevant des blocs à la puissance  modulo N. On va déchiffrer en utilisant le même principe. On va élever les blocs chiffrés à une puissance  modulo N.

RSA – déchiffrement Pour ça, on va déterminer  entier tel que :  = 1 [ (N) ] ((M1)) [N] = M1 [N].

RSA – déchiffrement  x  = 1 + ( k x (N) ) Dans notre exemple : 3 = 1 + 40k C’est-à-dire que 3 % 40 = 1 On considère  comme un compteur. On part de  = 1 et on l’incrémente tant que 3 % 40 != 1 Ici on trouve  = 27

RSA – déchiffrement Déchiffrement consiste à effectuer l’opération inverse, (MC1) [N] = ((M1)) [N] = M1 (23)27[55] = ….[55] = 12 = M1 (45)27[55] = ….[55] = 45 = M2 …

RSA – déchiffrement Message déchiffré : 12 45 6 6 6 8 45 23 51 25 46 26  est la clef privée.

RSA – robustesse Longueur de clef = longueur N, Ex : 128 bits = 2128 = 38 chiffres.

RSA – robustesse Trouver  nécessite de calculer (N) Calculer (N), c’est très long sans connaître P et Q. Connaître P et Q nécessite de décomposer N en facteurs premiers. C’est long ! … Voir l’exemple donnés par R, S et A pages suivantes

RSA – robustesse N=3107418240490043721350750035888567930037346022842727545720161948823206440518081504556346829671723286782437916272838033415471073108501919548529007337724822783525742386454014691736602477652346609

RSA – robustesse P=1634733645809253848443133883865090859841783670033092312181110852389333100104508151212118167511579 Q=1900871281664822113126851573935413975471896789968515493666638539088027103802104498957191261465571

RSA – robustesse Factorisé en 5 mois 80 machines 640 bits = 193 chiffres Longueur conseillé : 2048 bits.

Sommaire Objectifs Chiffrement L’algorithme RSA Organisation

Organisation 3 équipes IHM Génération des clefs Chiffrement / Déchiffrement + écritures dans des fichiers

Organisation Fourni : Spécifications Documentation mathématique Exécutable Prototypes des fonctions Structure du projet Jeux de tests pré-remplis

Organisation TP 1 : phase « papier » Etude du projet, réalisation d’un diaporama de présentation par équipe. TP 2 : présentation des diaporamas jusqu’à la pause, puis début du développement. TP 3, 4 : développement TP 5 : fin du développement jusqu’à la pause et intégration. TP 6 : présentation des diaporamas de fin de projet.

Organisation Livrables : Voir détails dans le document joint. Diaporama de début de projet Sources Jeux de tests Rapport Diaporama de fin de projet Voir détails dans le document joint.