Il existe de nombreuses parties différentes de la cryptographie. Cependant, si vous souhaitez chiffrer certaines données, vous pouvez utiliser deux types d'algorithmes: les algorithmes de chiffrement symétriques et les algorithmes de chiffrement asymétriques. Le concept est le même: ils peuvent chiffrer des données mais fonctionnent sur des principes différents et ont d'autres cas d'utilisation.
La différence titulaire, cependant, décrit les clés de chiffrement. Un algorithme de chiffrement symétrique utilise une seule clé partagée pour chiffrer et déchiffrer les données. Un algorithme de chiffrement asymétrique utilise deux clés liées, une pour déchiffrer et une pour déchiffrer.
Terminologie
Les algorithmes de chiffrement asymétrique reposent sur l'utilisation de deux clés distinctes. Une clé peut être utilisée pour chiffrer les données et l'autre pour les déchiffrer. Les deux clés de chiffrement ne sont pas n'importe quelles anciennes valeurs. Ils sont intrinsèquement liés et doivent être générés par un algorithme de génération de clé.
Un autre nom pour le chiffrement asymétrique est le chiffrement à clé publique. En effet, il est prévu que l'une des deux clés soit publique. Le concept traditionnel est que la clé de chiffrement est partagée publiquement et que la clé de déchiffrement est strictement privée. Pour cette raison, la clé de chiffrement est appelée clé publique et la clé de déchiffrement est la clé privée.
Cette configuration permet à quiconque de chiffrer un message afin que seul le propriétaire de la clé privée puisse le déchiffrer. Ceci est utile car n'importe qui peut communiquer en toute sécurité avec le destinataire prévu avec une seule clé de chiffrement publiée. Pour communiquer en toute sécurité, le destinataire doit utiliser la clé publique de l'expéditeur d'origine.
Théoriquement, il n'y a aucune raison pour que vous ne puissiez pas échanger les clés et partager la clé de déchiffrement tout en gardant la clé de chiffrement privée. Cela pourrait être utilisé pour vérifier l'authenticité de la source, sinon fournir une sécurité significative. Cependant, cela n'est pas fait dans la pratique, car d'autres mécanismes existent pour obtenir le même résultat.
Propriétés des algorithmes de chiffrement symétrique
Les algorithmes de chiffrement asymétriques nécessitent l'utilisation de clés beaucoup plus grandes que les algorithmes de chiffrement symétriques lorsqu'ils offrent le même niveau de sécurité. Généralement, un algorithme de chiffrement symétrique avec une clé de chiffrement de 128 bits est considéré comme sûr, bien que les clés de 256 bits soient préférées. Dans un algorithme de chiffrement asymétrique, les clés de 2048 bits sont considérées comme sûres.
L'exemple de clé de 2048 bits s'applique à RSA, qui a longtemps été la norme pour le chiffrement asymétrique. La cryptographie à courbe elliptique, cependant, est un concept plus récent qui est également asymétrique mais utilise des clés beaucoup plus petites. Une clé RSA 2048 bits offre une sécurité équivalente à une clé à courbe elliptique 224 bits.
Conseil: Les valeurs ci-dessus sont considérées comme sûres pour un usage commercial, mais la NSA exige des clés plus fortes pour le chiffrement top secret. Des clés RSA d'au moins 3072 bits sont nécessaires, tandis que des clés de courbe elliptique de 384 bits sont nécessaires. Il convient de noter qu'une clé RSA 3072 bits est plus faible qu'une clé à courbe elliptique 384 bits.
Les algorithmes de chiffrement asymétriques ont tendance à être relativement lents par rapport aux algorithmes de chiffrement symétriques. Une communication sécurisée peut être effectuée sur un canal non sécurisé si les deux parties génèrent une paire de clés asymétriques, puis échangent des clés publiques. De cette manière, les deux parties peuvent envoyer des messages que seule l'autre peut déchiffrer.
En pratique, au moins une des parties doit vérifier l'intégrité de sa clé publique. Cela se fait via PKI ou Public Key Infrastructure. Cela prend la forme d'autorités de certification qui signent les clés des autres pour montrer que leur identité a été vérifiée. Dans ce système, toutes les autorités de certification doivent être approuvées; sans cela, le système s'effondrera.
Utilisation en pratique
Les algorithmes de chiffrement asymétrique ne sont généralement pas utilisés pour le chiffrement en bloc, en particulier lorsque le temps ou les performances posent problème. Ils peuvent être utilisés pour chiffrer des messages ponctuels tels que le contenu d'un e-mail. Cependant, leur capacité à sécuriser un canal non sécurisé en fait un excellent choix pour un protocole d'échange de clés qui transmet des clés symétriques qui peuvent ensuite être utilisées pour un chiffrement en bloc plus efficace.
C'est le cas d'utilisation dans TLS, qui assure la sécurité dans HTTPS. Un utilisateur se connecte à un serveur Web; ils échangent ensuite des clés publiques pour chiffrer les petits messages entre eux. Le serveur génère alors une clé symétrique, la crypte avec la clé publique de l'utilisateur et la lui envoie. L'utilisateur déchiffre la clé et peut ensuite utiliser la clé symétrique pour chiffrer efficacement les futures communications avec le serveur.
Une autorité de certification dans le processus ci-dessus vérifie la clé publique du serveur. Cela permet à l'utilisateur d'être sûr qu'il communique avec qui il essaie de communiquer. Dans la plupart des cas, l'utilisateur génère une clé à usage unique, car le serveur n'a pas besoin de vérifier avec quel utilisateur il communique.
Conclusion
Les algorithmes de chiffrement asymétrique utilisent deux clés distinctes. Une clé est utilisée pour le chiffrement et l'autre pour le déchiffrement. Les clés sont liées mathématiquement et doivent être générées par un algorithme de génération de clés; les valeurs aléatoires ne fonctionnent pas. En règle générale, la clé de chiffrement est partagée publiquement, ce qui permet à quiconque de chiffrer un message destiné au propriétaire de la paire de clés.
Tant que la clé de déchiffrement reste privée, seul le propriétaire de la clé peut déchiffrer les messages chiffrés avec la clé publique. En tant que tel, le chiffrement asymétrique est souvent également appelé cryptographie à clé publique.