Cr y pt o gr a phi e TD 2 Cryptographie asymétrique
Questions générales : 1) Quels sont sont les éléments éléments généraux généraux présen présents ts dans tous les les algorithmes algorithmes de chiffrement asymétriques ? Il y a une paire de clés privée/publique. On peut aussi considérer la présence de tiers de confiance, pour l'authenticité l 'authenticité des clés publiques. 2) Pour quelles quelles usages usages utilisent utilisent on la cryptograph cryptographie ie symétrique symétrique ? Asymétriqu Asymétrique e? La crypto symétrique : chiffrement de grandes quantités de données, chiffrement rapide. Elle apporte la confidentialité, mais pas le reste. La clé secrète à partager est un point faible. La crypto asymétrique : chiffrement de courts messages, distinction entre émetteur et destinataire. Apporte la confidentialité. Peut également être utilisé dans des schémas de signatures. 3) Quels sont sont les avantages/inconvénients avantages/inconvénients de la cryptographie asymétrique par rapport à la symétrique ? Avantage de l'asymétrique : on peut chiffrer pour quelqu'un sans partager de secret préalable. Seul le destinataire peut déchiffrer déchiffrer.. Par contre, est plus lente que la crypto symétrique. 4) Qu'est Qu'est ce qu'un chiffr chiffrement ement probab probabiliste iliste ? Dans quel cas cas cela est important important ? Un chiffrement probabiliste évite que deux messages n'aient le même chiffré. Par exemple, si l'on chiffre un message dont les morceaux se répètent, cette répétition pourrait apparaître dans le chiffré (cas d'une image). Le chiffrement probabiliste rende différente tous les chiffrés. 5) Qu'est-c Qu'est-ce e qu'un chiffre chiffrement ment détermini déterministe ste ? Donner un exemple. exemple. C'est l'inverse de probabiliste. RSA est déterministe déterministe : si l'on chiffre plusieurs fois le même message, on obtient le même chiffré. 6) Qu'est-c Qu'est-ce e que l'indistingu l'indistinguabilit abilité é ? Quelles Quelles sont les hypothèse hypothèses s principales principales considérées pour cela ? Est-ce que ElGamal répond à ces hypothèses ? Et RSA ? Un système cryptographique est indistinguable si, pour deux messages clairs et le chiffré de l'un des deux messages, l'attaquant ne peut pas déterminer de quel message clair il s'agit. Rappel sur l'analyse d'un système de chiffrement : principe de la boite noire. L'attaquant peut avoir accès à un oracle de (dé)chiffrement, qui lui cache la clé. On voit alors l'analyse comme un jeu, ou à partir de plusieurs tentatives de (dé)chiffrement, (dé)chiffr ement, on cherche à retrouver la clé, ou a (dé)chiffrer des messages sans passer par l'oracle. Il y a trois hypothèses principales à considérer : - ind-cpa : l'attaquant soumet deux messages clairs, et reçoit un seul chiffré au hasard. Il ne doit pas pouvoir retrouver de quel message clair il provient. Comme il
dispose d'un oracle de chiffrement, un algorithme déterministe ne peut pas être indcpa (il suffit à l'attaquant de chiffrer les deux messages lui même). - ind-cca : l'attaquant à maintenant accès à un oracle de déchiffrement (en plus de l'oracle de chiffrement). Il peut l'utiliser tant qu'il n'a pas reçu l e chiffré (du test précédent). - ind-cca2 : il peut utiliser l'oracle de déchiffrement tout le temps, sauf qu'il ne peut pas lui soumettre le chiffré reçu lors du challenge. RSA n'est pas ind-cpa, ElGamal l'est, mais n'est pas ind-cca. 7) Qu'est ce qui est important pour la clé publique ? La clé privée ? La clé publique doit pouvoir être « authentifiée », ou associée à un util isateur/une identité. En revanche, elle peut être diffusé sans restriction. La clé privé ne doit jamais être diffusée, et son stockage doit faire l'objet d'une sécurité importante. Applications : 1) Quels sont les trois étapes d'un algorithme de chiffrement symétrique ? Génération de clé, Chiffrement, Déchiffrement 2) Décrire ces trois étapes pour ElGamal. Voir le cours 3) Supposons qu'Alice souhaite envoyer un petit message à Bob en utilisant ElGamal. Quels éléments du calcul doit-elle connaître à l'avance ? (p,g,y) la clé publique de Bob. 4) Quels moyens peut-on utiliser pour assurer l'authenticité d'une clé publique ? On utilise généralement un ou plusieurs tiers de confiance. Une autorité de certification par exemple, mais également des systèmes distribués ou chacun peut « confirmer » une clé publique. En générale, tout les individus d'un groupe doivent utiliser la même PKI pour cela. 5) Proposer un protocole qui permettrait à Alice d'envoyer un très gros fichier à Bob, en utilisant à la fois la cryptographie symétrique et asymétrique. L'objectif est de permettre un envoi le plus rapide possible mais sécurisé. Alice génère une clé secrète, qu'elle chiffre avec la clé publique de Bob (petit message). Elle chiffre ensuite avec de la crypto symétrique (algo et mode d'utilisation) en utilisant cette clé secrète. Elle envoie ensuite à Bob le chiffré de la clé secrète, ainsi que le message chiffré en symétrique. Dans ce schéma, seul Bob peut déchiffrer la clé, et récupérer le message.