VT2015 Factoring RSA

From air
Jump to navigation Jump to search

Présentation

  • Enseignants : Georges-Pierre Bonneau, Didier Donsez (VT2015)
  • Sujet : Factoring RSA Keys With TLS Perfect Forward Secrecy
  • Auteur : Sébastien TOUSSAINT
  • Date : 02 octobre 2015


Mots Clés

RSA, théorème des restes chinois, TLS, Perfect foward secrecy, confidentialité persitante, handshake, diffie-hellman.

Synthèse

Introduction

La croissance importante des transactions effectuées sur internet dans le début-milieu des années 90 et début des années 2000 a sensibilisé les chercheurs à trouver et développer des techniques de sécurisation des données sur internet. Le 21 septembre 2000, la fin du brevet de chiffrement RSA détenu jusqu’alors par le Massachusetts Institute of Technology (MIT), fut une grande avancée dans la sécurisation des données confidentielles sur internet. Ce système de chiffrement est le plus sûr aujourd’hui. Un article de Florian Weimer paru le 2 septembre 2015 dit qu’il est possible de récupérer des clés privées de RSA, spécialement, si elles ont été implémentées été implémenté à l’aide du théorème des restes chinois. Nous allons dans cette synthèse revenir sur les bases de RSA, du théorème des restes chinois et le TLS perfect foward secrecy avec ses mécanismes (handshake, Diffie-Hellman) avant d’étudier les travaux de Florian Weimer.

Le chiffrement RSA

Le chiffrement RSA est un système de cryptographie asymétrique. Cela signifie qu’il y existe deux clés dans notre système. Une clé privée connue par une seule entité. Elle va lui permettre de déchiffrer les messages qui lui ont été envoyés. Une clé publique connue de tout le monde et qui va chiffrer le message que l’on souhaite envoyer. Ces clés sont produites par une seule entité.

Example.jpg

L’image ci-dessus représente une communication RSA entre deux utilisateurs, Alice et Bob. Les éléments en vert sur l’image représentent les informations en clair dans le canal de communication de ce protocole, donc tout le monde y a accès. Les éléments en rouge représentent les informations privées de chaque utilisateur. Donc du côté d’Alice ces informations permettent de créer sa clé privée. Tout d’abord Alice choisit deux nombres premiers distincts p et q puis elle fait leur produit afin d’obtenir le nombre n, ensuite l’indicateur de Euler ou fonction Phi de n f = (p-1) (q-1). Puis on calcul e premier avec f donc e = 5 et on calcule d, inverse de e modulo f. Donc pour chiffrer les messages nous avons y = x^e mod n. Et pour déchiffrer les messages nous avons z = y^d mod n.