Chapitre 4 : La confidentialité de la cryptographie à clé publique Flashcards
Vrai ou faux : Les systèmes de cryptographie à clé publique ont des clés plus courtes que ceux à clés privées.
Faux, elles sont généralement beaucoup plus longues pour empêcher la fouille exhaustive des clés
Qu’est-ce que le groupe additif Zm?
Il s’agit de l’ensemble des valeurs de 1 à m-1 qui possèdent un inverse pour l’addition modulaire (a + a-1 = 0 mod m).
Comment calcule-t-on l’inverse multiplicatif de a (mod m)?
a-1 * a = 1 mod m
Qu’est-ce qu’un problème difficile?
Problème mathématique pour lequel on ne connait pas d’algorithme efficace pour le résoudre (en temps polynomial).
Vrai ou faux : la factorisation est un problème difficile
vrai
Quelle est la longueur de clé recommandée pour RSA?
Au moins 2048 bits
Quelle est l’efficacité de générer un nombre premier?
La probabilité qu’un nombre n soit premier est 1/log n
avec k décimales, le nombre espéré de tentatives est k * 0.23
On peut vérifier facilement s’il est premier avec l’algorithme Miller-Rabin, qui est O(n^2). Trouver un nombre premier est dans O(n^3)
Vrai ou faux : L’algo Miller-Rabin a toujours raison s’il dit que c’est non premier, mais se trompe parfois lorsqu’il dit que c’est premier.
Vrai! Si le nombre est premier, ca dit toujours premier. Si le nombre est composé, ca varie.
Vrai ou faux : Encrypter un message de n décimales avec une clé publique est dans O(n^2)
Faux, c’est dans O(n^3)
Quelle est la plus grande faille de RSA*?
C’est la grande facilité à faire une attaque à textes choisis. (Si on devine M, il suffit de vérifier que C = M^e mod N)
En pratique, quel est le meilleur des deux mondes quand on parle de cryptographie à clés privées ou à clé publique?
Le meilleur des deux mondes est d’utiliser RSA (clé publique) pour partager la clé privée de AES qui sera alors utilisée pour encrypter.
= clé de session (doit être aléatoire et unique à la session)
Comment fait-on pour remédier au fait que les messages trop courts ne peuvent pas être efficacement encodés avec RSA?
On utilise la méthode de remplissage OAEP (Optimal Asymetric Encryption Padding) qui utilise un nonce, un générateur pseudo-aléatoire et une fonction de hachage cryptographique
Vrai ou faux : On utilise la méthode de remplissage OAEP avec RSA seulement quand le message à chiffrer est aussi long que le bloc
Faux, on veut TOUJOURS utiliser le remplissage OAEP avec RSA
Qu’est-ce que le protocole de Diffie-Hellman?
Protocole qui permet d’échanger des clés secrètes de façon publique qui repose sur la difficulté d’extraire les log discrets. Il est utilisé dans SSH pour la création d’un canal sécurisé.
Dans y = g^x, il est difficile de trouver x à partir de y.
Publiquement, les 2 correspondants se partagent O = g^x mod p et A = g^y mod p. L’un connait x, l’autre connait y. K = O^y = A^x. On déchiffre avec K, mais c’est dur à trouver sans connaitre soit x soit y.
Vrai ou faux : Le protocole de Diffie-Hellman n’est vrai que si le canal entre les correspondants est authentifié.
Vrai