Maison / l'Internet / Quelle est la longueur de la clé de chiffrement. clés cryptographiques. Considérons ce processus en utilisant des clés réelles comme exemple.

Quelle est la longueur de la clé de chiffrement. clés cryptographiques. Considérons ce processus en utilisant des clés réelles comme exemple.

De nombreux algorithmes de chiffrement à clé publique modernes sont basés sur la fonction de factorisation unidirectionnelle d'un nombre qui est le produit de deux grands nombres premiers. Ces algorithmes peuvent également être soumis à une attaque similaire à l'attaque par force brute utilisée contre les chiffrements à clé secrète, avec une différence : vous n'avez pas besoin d'essayer chaque clé, vous avez juste besoin de pouvoir factoriser un grand nombre.

Bien sûr, factoriser un grand nombre en facteurs est une tâche difficile. Cependant, une question raisonnable se pose immédiatement, quelle est la difficulté. Malheureusement pour les cryptographes, la difficulté de le résoudre diminue. Et pour aggraver les choses, cette difficulté diminue à un rythme beaucoup plus rapide que prévu. Par exemple, au milieu des années 1970, on pensait qu'il faudrait des dizaines de quadrillions d'années pour factoriser un nombre de 125 chiffres. Et à peine deux décennies plus tard, à l'aide d'ordinateurs connectés à Internet, il était possible de factoriser un nombre de 129 chiffres. Cette percée a été rendue possible par le fait qu'au cours des 20 dernières années, non seulement de nouvelles méthodes de factorisation plus rapides ont été proposées gros chiffres, mais aussi augmenté les performances des ordinateurs utilisés.

Par conséquent, un cryptographe qualifié doit faire preuve d'une grande prudence et d'une grande discrétion en ce qui concerne la longueur de la clé publique. Il est nécessaire de considérer la valeur des informations classées avec son aide et combien de temps elles doivent rester secrètes pour les étrangers.

Et pourquoi, se demande-t-on, ne pas prendre une clé de 10 000 bits ? Après tout, toutes les questions liées à la stabilité d'un algorithme de chiffrement asymétrique à clé publique, basé sur la décomposition d'un grand nombre en facteurs, disparaîtront. Mais le fait est qu'assurer une force suffisante du chiffrement n'est pas la seule préoccupation du cryptographe. Il existe des considérations supplémentaires qui affectent le choix de la longueur de clé, et parmi elles se trouvent des problèmes liés à la faisabilité pratique de l'algorithme de chiffrement pour la longueur de clé choisie.

Pour estimer la longueur d'une clé publique, on va mesurer la puissance de calcul dont dispose un cryptanalyste en années dites carlin, c'est-à-dire le nombre d'opérations qu'un ordinateur capable de fonctionner à la vitesse de 1 million d'opérations par seconde effectue dans un an. Supposons qu'un pirate ait accès à ressources informatiques avec une puissance de calcul totale de 10 000 pug-années, une grande entreprise - 107 pug-années, un gouvernement - 109 pug-années. Ce sont des chiffres assez réalistes si l'on considère que le projet de décomposition à 129 chiffres mentionné ci-dessus n'a utilisé que 0,03% de la puissance de calcul d'Internet, et pour y parvenir, ils n'ont pas eu besoin de prendre de mesures extraordinaires ni d'aller au-delà de la loi.

Supposons également que la puissance de calcul augmente de 10 fois tous les 5 ans, et que la méthode utilisée pour factoriser les grands nombres permette de le faire avec la complexité indiquée dans le tableau 1. 6.3.

Tableau 6.3. La complexité de la factorisation de grands nombres

Les hypothèses faites permettent d'estimer la longueur d'une clé publique forte en fonction de la durée pendant laquelle il est nécessaire de garder secrètes les données chiffrées avec elle (tableau 6.4). Il faut se rappeler que les algorithmes cryptographiques à clé publique sont souvent utilisés pour protéger des informations très précieuses pendant une très longue période. Par exemple, dans les systèmes de paiement électronique ou avec notarisation signature électronique. L'idée de passer plusieurs mois à factoriser un grand nombre peut sembler très séduisante à quelqu'un s'il finit par pouvoir payer ses achats avec votre carte de crédit. De plus, je ne pense pas que vous seriez heureux d'être convoqué devant un tribunal des successions dans 20 ans et de défendre l'impossibilité de falsifier la signature électronique de votre grand-père qu'il a utilisée pour rédiger un testament en votre faveur.

Avec donné dans le tableau. 6.4 tous les cryptographes réputés ne sont pas d'accord avec les données. Certains d'entre eux refusent catégoriquement de faire des prévisions à long terme, estimant que c'est une entreprise inutile. D'autres, par exemple, des spécialistes de la NSA, sont trop optimistes, recommandant une longueur de clé publique de seulement 512-1024 bits pour les systèmes de signature numérique, ce qui, à la lumière des données de Table. 6.4 est totalement insuffisant pour fournir une protection adéquate à long terme.

De nombreux algorithmes de chiffrement à clé publique modernes sont basés sur la fonction de factorisation unidirectionnelle d'un nombre qui est le produit de deux grands nombres premiers. Ces algorithmes peuvent également être soumis à une attaque similaire à l'attaque par force brute utilisée contre les chiffrements à clé secrète, avec une différence : vous n'avez pas besoin d'essayer chaque clé, vous avez juste besoin de pouvoir factoriser un grand nombre.

Bien sûr, factoriser un grand nombre en facteurs est une tâche difficile. Cependant, une question raisonnable se pose immédiatement, quelle est la difficulté. Malheureusement pour les cryptographes, la difficulté de le résoudre diminue. Et pour aggraver les choses, cette difficulté diminue à un rythme beaucoup plus rapide que prévu. Par exemple, au milieu des années 1970, on pensait qu'il faudrait des dizaines de quadrillions d'années pour factoriser un nombre de 125 chiffres. Et à peine deux décennies plus tard, à l'aide d'ordinateurs connectés à Internet, il était possible de factoriser un nombre de 129 chiffres. Cette percée est devenue possible grâce au fait qu'au cours des 20 dernières années, non seulement de nouvelles méthodes plus rapides de factorisation de grands nombres ont été proposées, mais aussi que la productivité des ordinateurs utilisés a augmenté.

Par conséquent, un cryptographe qualifié doit faire preuve d'une grande prudence et d'une grande discrétion en ce qui concerne la longueur de la clé publique. Il est nécessaire de considérer la valeur des informations classées avec son aide et combien de temps elles doivent rester secrètes pour les étrangers.

Et pourquoi, se demande-t-on, ne pas prendre une clé de 10 000 bits ? Après tout, toutes les questions liées à la stabilité d'un algorithme de chiffrement asymétrique à clé publique, basé sur la décomposition d'un grand nombre en facteurs, disparaîtront. Mais le fait est qu'assurer une force suffisante du chiffrement n'est pas la seule préoccupation du cryptographe. Il existe des considérations supplémentaires qui affectent le choix de la longueur de clé, et parmi elles se trouvent des problèmes liés à la faisabilité pratique de l'algorithme de chiffrement pour la longueur de clé choisie.

Pour estimer la longueur de la clé publique, nous allons mesurer la puissance de calcul dont dispose le cryptanalyste dans le système dit pug-yo, c'est-à-dire le nombre d'opérations qu'un ordinateur capable de tourner à une vitesse de 1 million d'opérations par seconde effectue en un an. Disons qu'un pirate informatique a accès à des ressources informatiques d'une puissance de calcul totale de 10 000 pug-années, une grande entreprise - 10 7 pug-années, le gouvernement - 10 7 pug-années. Ce sont des chiffres tout à fait réalistes, étant donné que le projet de décomposition à 129 chiffres mentionné ci-dessus n'a utilisé que 0,03% de la puissance de calcul d'Internet, et pour y parvenir, ils n'ont pas eu besoin de prendre de mesures extraordinaires ni d'aller au-delà de la loi.

Supposons également que la puissance de calcul augmente de 10 fois tous les 5 ans, et que la méthode utilisée pour factoriser les grands nombres permette de le faire avec la complexité indiquée dans le tableau 1. 6.3.

Tableau 6.3. La complexité de la factorisation de grands nombres.

Les hypothèses faites permettent d'estimer la longueur d'une clé publique forte en fonction de la durée pendant laquelle il est nécessaire de garder secrètes les données chiffrées avec elle (tableau 6.4). Il faut se rappeler que les algorithmes cryptographiques à clé publique sont souvent utilisés pour protéger des informations très précieuses pendant une très longue période. Par exemple, dans les systèmes de paiement électronique ou lors de la légalisation d'une signature électronique. L'idée de passer plusieurs mois à factoriser un grand nombre peut sembler très séduisante à quelqu'un s'il finit par pouvoir payer ses achats avec votre carte de crédit. De plus, je ne pense pas que vous seriez heureux d'être convoqué devant un tribunal des successions dans 20 ans et de défendre l'impossibilité de falsifier la signature électronique de votre grand-père qu'il a utilisée pour rédiger un testament en votre faveur.

An Pirate grande entreprise Gouvernement
2000 1024 1280 1536
2005 1280 1536 2048
2010 1280 1536 2048
2015 1536 2048 2048

Avec donné dans le tableau. 6.4 tous les cryptographes réputés ne sont pas d'accord avec les données. Certains d'entre eux refusent catégoriquement de faire des prévisions à long terme, estimant que c'est une entreprise inutile. D'autres, par exemple, des spécialistes de la NSA, sont trop optimistes, recommandant une longueur de clé publique de seulement 512-1024 bits pour les systèmes de signature numérique, ce qui, à la lumière des données de Table. 6.4 est totalement insuffisant pour fournir une protection adéquate à long terme.

Le but principal de l'utilisation des certificats SSL est de crypter les données transmises au serveur par le client et au client par le serveur. Pour assurer la sécurité d'une telle connexion, les navigateurs modernes utilisent l'algorithme TLS basé sur des certificats X.509. Cet algorithme utilise le chiffrement asymétrique pour générer une clé de session pour le chiffrement symétrique. Ce dernier est utilisé directement pour le transfert de données après l'établissement d'une connexion sécurisée.

Qu'est-ce qu'une clé en cryptographie ?

Une clé en cryptographie est une information secrète qui est utilisée en cryptographie pour chiffrer et décoder les messages, pour les signer numériquement et les vérifier, pour calculer les codes d'authentification des messages, etc. La fiabilité d'une clé est déterminée par ce que l'on appelle la longueur de la clé, qui est mesurée en bits. La longueur de clé standard pour les certificats SSL est de 128 ou 256 bits. La longueur de clé de l'autorité de certification racine (certificat racine) ne doit pas être inférieure à 4096 bits. Toutes les autorités de certification avec lesquelles nous coopérons fournissent des certificats SSL avec une clé entièrement conforme aux normes modernes :

Clé publique et privée dans le chiffrement asymétrique

Le chiffrement asymétrique utilise paire de clés: ouvert (clé publique) et fermé, aussi appelé secret (Clé privée). Les clés publique et privée permettent dans ce cas à l'algorithme cryptographique de chiffrer et de déchiffrer le message. Les messages chiffrés avec la clé publique ne peuvent être déchiffrés qu'avec la clé privée. La clé publique est publiée dans le certificat du propriétaire et est disponible pour le client qui se connecte, tandis que la clé privée est stockée par le propriétaire du certificat. Les clés publiques et privées sont interconnectées par des dépendances mathématiques, il est donc impossible de récupérer une clé publique ou privée dans un délai court (durée de validité du certificat). C'est pourquoi la durée de validité maximale des certificats SSL d'un niveau de protection supérieur est toujours inférieure. Ainsi, vous pouvez commander un maximum de 2 ans. Dans le même temps, lors de la commande d'un nouveau certificat SSL ou du renouvellement d'un ancien, il est important de générer une nouvelle demande CSR, car votre clé privée y est liée, et il est préférable de la mettre à jour lorsqu'un nouveau certificat SSL est émis . Le client interagit avec le serveur de la manière suivante :
  1. le navigateur crypte la requête sur la base de la clé publique et l'envoie au serveur ;
  2. le serveur, à l'aide de la clé privée, déchiffre le message reçu ;
  3. le serveur crypte son identifiant numérique avec une clé privée et le transmet au client ;
  4. le client vérifie l'identifiant du serveur et envoie le sien ;
  5. après authentification mutuelle, le client chiffre la clé de la future session avec la clé publique et la transmet au serveur ;
  6. tous les messages ultérieurs qui sont envoyés entre le client et le serveur sont signés avec la clé de session et chiffrés à l'aide des clés publique et privée.
Cela fournit plusieurs points de sécurité :
  • la possibilité de fuite d'informations est exclue - lorsqu'elle est interceptée, elle ne peut pas être déchiffrée ;
  • le serveur confirme son adresse et son identifiant, la possibilité de redirection vers un autre site est coupée (hameçonnage) ;
  • le client se voit attribuer une session individuelle, ce qui permet de le distinguer plus sûrement des autres clients ;
  • une fois qu'une session sécurisée est établie, tous les messages sont cryptés à l'aide de l'identité du client et ne peuvent être interceptés ou modifiés sans être remarqués.

Dans le cas général, le chiffrement à clé publique et privée peut être considéré comme un cas où deux clés sont utilisées : l'une ne peut être que fermée, l'autre peut être ouverte. Si la mallette a été fermée avec la première clé, seule la deuxième pourra l'ouvrir, si elle a été fermée avec la deuxième clé, la première sera nécessaire pour l'ouvrir. Vous pouvez clairement voir cela dans le diagramme ci-dessus.

Les clés cryptographiques sont utilisées comme informations secrètes.

Une clé cryptographique est une séquence de caractères générée selon certaines règles. Cette séquence est utilisée dans les transformations cryptographiques de textes. Chaque algorithme cryptographique a ses propres exigences, selon lesquelles les clés sont créées. Chaque clé est créée pour un algorithme spécifique.

Afin d'assurer la non-reproductibilité de la signature électronique et l'impossibilité de lire des textes cryptés par des personnes non autorisées, des clés cryptographiques sont utilisées en cryptographie.

Une clé cryptographique moderne est une séquence de nombres d'une certaine longueur, créée selon certaines règles basées sur une séquence de nombres aléatoires. Pour chaque clé, une séquence de nombres aléatoires est créée à nouveau, aucune séquence n'est utilisée plus d'une fois. Pour générer des séquences de nombres aléatoires, des objets ou dispositifs logiciels spéciaux appelés générateurs de nombres aléatoires sont utilisés.

Chaque algorithme a ses propres exigences de clé, de sorte que toute clé cryptographique est créée pour un algorithme spécifique et utilisée uniquement avec cet algorithme.

Si la génération d'une signature électronique et sa vérification, ou le chiffrement et le déchiffrement d'un texte sont effectués à l'aide de la même clé, cette approche est appelée cryptographie symétrique(respectivement algorithmes symétriques et clés symétriques). Les opérations de cryptographie symétrique sont rapides et relativement simples. Mais ils nécessitent la connaissance de la clé par au moins deux personnes, ce qui augmente considérablement le risque de leur compromission (c'est-à-dire leur accès par des personnes non autorisées).

Par conséquent, il est maintenant principalement utilisé cryptographie asymétrique. Dans la cryptographie asymétrique, la génération d'une signature électronique ou d'un chiffrement est effectuée sur une clé, et la vérification ou le déchiffrement de la signature est effectué sur une autre clé appariée.



Dans la cryptographie asymétrique, ce que l'on appelle des paires de clés sont utilisées. Chacune de ces paires se compose de deux clés interconnectées. L'une de ces clés est une clé privée. Il n'est connu que du propriétaire de la clé et ne doit en aucun cas être accessible à quelqu'un d'autre. L'autre clé est publique (clé publique), elle est accessible

à qui veut.

Méthodes d'authentification

Authentification - la délivrance de certains droits d'accès à l'abonné en fonction de l'identifiant dont il dispose. IEEE 802.11 propose deux méthodes d'authentification :

1. Authentification ouverte authentification ouverte):

Le poste de travail effectue une demande d'authentification contenant uniquement l'adresse MAC du client. Le point d'accès répond par un refus ou une confirmation d'authentification. La décision est prise sur la base du filtrage MAC, c'est-à-dire en fait, il s'agit d'une protection basée sur la restriction d'accès, qui n'est pas sécurisée.

2. Authentification par clé partagée Authentification par clé partagée):

Vous devez configurer une clé de chiffrement WEP statique. Confidentialité équivalente filaire). Le client fait une demande d'authentification au point d'accès, pour laquelle il reçoit une confirmation, qui contient 128 octets informations aléatoires. La station crypte les données reçues avec l'algorithme WEP (addition bit à bit modulo 2 des données du message avec la séquence de clé) et envoie le texte chiffré avec la demande d'association. Le point d'accès décrypte le texte et le compare aux données d'origine. En cas de correspondance, un accusé de réception d'association est envoyé et le client est considéré comme connecté au réseau.
Le schéma d'authentification à clé partagée est vulnérable aux attaques "Man in the middle". L'algorithme de cryptage WEP est un simple XOR d'une séquence de clés avec informations utiles, ainsi, en écoutant le trafic entre la station et le point d'accès, vous pouvez récupérer une partie de la clé.
L'IEEE a commencé à développer une nouvelle norme IEEE 802.11i, mais en raison de difficultés d'approbation, WECA (eng. Alliance Wi-Fi) avec l'IEEE ont annoncé la norme WPA (Eng. Accès Wi-Fi protégé). WPA utilise TKIP. Protocole d'intégrité de clé temporelle, Key Integrity Protocol), qui utilise une méthode avancée de gestion des clés et un changement de clé image par image.

WPA utilise également deux méthodes d'authentification :

1. Authentification à l'aide d'une clé WPA-PSK pré-partagée (eng. Clé Pré-Partagée) (authentification d'entreprise) ;

2. Authentification à l'aide d'un serveur RADIUS Service utilisateur d'accès à distance)

Types de chiffrement

Chiffrement- méthode de conversion informations ouvertes fermé et retour. Utilisé pour le stockage une information important dans des sources non fiables ou sa transmission par des canaux de communication non sécurisés. Le chiffrement est divisé en processus de chiffrement et de déchiffrement.

Selon l'algorithme de conversion des données, les méthodes de chiffrement sont divisées en force cryptographique garantie ou temporaire.

Selon la structure des clés utilisées, les méthodes de chiffrement sont divisées en

§ chiffrement symétrique : les personnes non autorisées peuvent connaître l'algorithme de cryptage, mais une petite partie des informations secrètes est inconnue - une clé qui est la même pour l'expéditeur et le destinataire du message ;

§ cryptage asymétrique : des tiers peuvent connaître l'algorithme de chiffrement, et éventuellement la clé publique, mais pas la clé privée connue uniquement du destinataire.

Les primitives cryptographiques suivantes existent :

§ Sans clé

1. Fonctions de hachage

2. Permutations unilatérales

3. Générateurs de nombres pseudo-aléatoires

§ Schémas symétriques

1. Chiffrements (bloc, flux)

2. Fonctions de hachage

4. Générateurs de nombres pseudo-aléatoires

5. Primitives d'identification

§ Schémas asymétriques

3. Primitives d'identification

Cryptage de disque
Système Zserver - moyens de protection information confidentielle stockées et traitées sur des serveurs d'entreprise en cryptant les données sur disque. Zserver fonctionne sur le principe du cryptage de partition "transparent" disques durs. Le système crypte automatiquement, en mode en ligne, les informations lors de l'écriture sur le disque et les décrypte lors de la lecture à partir de celui-ci. Cela garantit que les données sont stockées sur le disque sous forme cryptée et ne peuvent pas être utilisées sans la clé de cryptage, même si le serveur ou le support est supprimé. Le système Zserver crypte les fichiers et les dossiers sur le disque, ainsi que toutes les informations de service - tables d'allocation de fichiers, etc. Ainsi, le système Zserver protège non seulement de manière fiable les données confidentielles, mais cache également le fait même de leur présence aux étrangers. Les informations sur les disques sécurisés sont stockées sous forme cryptée et deviennent disponibles uniquement lorsque l'administrateur réseau accorde à l'utilisateur les autorisations appropriées. Les droits d'accès aux disques protégés sont définis au moyen du système d'exploitation. Le cryptage des fichiers et des dossiers sur le disque est effectué par le pilote logiciel. Les clés de cryptage des données sur disque sont entrées lorsque le serveur est démarré à partir d'une carte à puce protégée par un code PIN. Sans connaître le code PIN, vous ne pouvez pas utiliser la carte à puce. Trois tentatives de saisie incorrecte du code PIN bloqueront la carte. Une carte à puce est requise uniquement lors de la connexion d'un support sécurisé et n'est pas requise pendant le fonctionnement. Si vous redémarrez le serveur sans carte à puce, les lecteurs protégés ne seront pas disponibles. Le système Zserver offre la possibilité de saisir à distance des clés de cryptage et d'administrer le système à partir de n'importe quel poste de travail réseau local, ou via Internet. Actuellement, des systèmes Zserver ont été développés qui fonctionnent sous le contrôle des éléments suivants systèmes d'exploitation: Windows 2000/XP/2003/2008 (32 et 64 bits) ; Linux avec le noyau 2.6.x.

Les données dans ce cas sont considérées comme des messages, et pour protéger leur signification est utilisée technique de cryptage classique.

La cryptographie implique trois composants : les données, la clé et la transformation cryptographique. Lors du cryptage, les données initiales seront le message et les données résultantes seront le cryptage. Une fois déchiffrés, ils changent de place. On pense que la transformation cryptographique est connue de tous, mais sans connaître la clé avec laquelle l'utilisateur a fermé le sens du message des regards indiscrets, il faut un effort inimaginable pour restaurer le texte du message. (Il convient de rappeler qu'il n'y a pas de chiffrement qui soit absolument résistant à l'ouverture. La qualité d'un chiffrement n'est déterminée que par l'argent qui doit être payé pour l'ouvrir de 10 $ à 1 000 000 $.) Une telle exigence est satisfaite par un certain nombre de systèmes cryptographiques modernes, par exemple, créés selon le "National Data Encryption Standard US Bureau of Standards" DES et GOST 28147-89. Étant donné qu'une série de données est essentielle à certaines de leurs distorsions qui ne peuvent pas être détectées à partir du contexte, seules de telles méthodes de cryptage sont généralement utilisées qui sont sensibles à la distorsion de n'importe quel caractère. Ils garantissent non seulement une confidentialité élevée, mais également une détection efficace de toute distorsion ou erreur.

Options d'algorithme

Il existe de nombreux (au moins deux douzaines) algorithmes de chiffrement symétrique dont les paramètres essentiels sont :

§ durabilité

§ longueur de clé

§ nombre de tours

§ la longueur du bloc traité

§ complexité de la mise en œuvre matérielle/logicielle

§ complexité de la transformation

[Algorithmes communs

§ AES Standard d'encryptage avancé) - norme de cryptage américaine

§ GOST 28147-89 - norme nationale de cryptage des données

§ DES Norme de chiffrement des données) - Norme de cryptage de données américaine jusqu'à AES

§ 3DES (Triple-DES, triple DES)

§ RC6 (chiffre Rivest)

§ IDÉE Algorithme international de chiffrement des données)

§ SEED - Norme coréenne de chiffrement des données

clé publique, a noté que cette exigence nie toute l'essence de la cryptographie, à savoir la capacité de maintenir le secret universel dans les communications.

La deuxième tâche est la nécessité de créer de tels mécanismes, à l'aide desquels il serait impossible de remplacer l'un des participants, c'est-à-dire besoin signature numérique . Lors de l'utilisation de communications à des fins diverses, telles que des fins commerciales et privées, les messages et documents électroniques doivent avoir l'équivalent d'une signature contenue dans des documents papier. Il est nécessaire de créer une méthode par laquelle tous les participants seront convaincus que l'e-mail a été envoyé par un participant particulier. Il s'agit d'une exigence plus forte que l'authentification.

Diffie et Hellman ont obtenu des résultats significatifs en proposant un moyen de résoudre les deux problèmes qui est radicalement différent de toutes les approches précédentes du chiffrement.

Voyons d'abord les caractéristiques communes. algorithmes de chiffrement avec une clé publique et les exigences pour ces algorithmes. Définissons les exigences auxquelles doit répondre un algorithme qui utilise une clé pour le chiffrement et une autre clé pour le déchiffrement, et il est impossible de déterminer la clé de déchiffrement si seuls l'algorithme de chiffrement et la clé de chiffrement sont connus.

De plus, certains algorithmes, comme RSA, ont la particularité suivante : chacune des deux clés peut être utilisée à la fois pour le chiffrement et pour le déchiffrement.

Nous allons d'abord considérer les algorithmes qui ont les deux propriétés, puis passer aux algorithmes à clé publique qui n'ont pas la deuxième propriété.

Lors de la description cryptage symétrique et le chiffrement à clé publique, nous utiliserons la terminologie suivante. clé utilisée dans cryptage symétrique, nous appellerons clef secrète. Les deux clés utilisées dans le chiffrement à clé publique seront appelées Clé publique et Clé privée. La clé privée est gardée secrète, mais nous l'appellerons clé privée plutôt que secrète pour éviter toute confusion avec la clé utilisée dans cryptage symétrique. La clé privée sera notée KR, la clé publique -KU.

Nous supposerons que tous les participants ont accès aux clés publiques des autres, et que les clés privées sont créées localement par chaque participant et, par conséquent, ne doivent pas être distribuées.

A tout moment, un participant peut changer sa clé privée et publier la clé publique qui compose le couple en remplaçant l'ancienne clé publique par celle-ci.

Diffie et Hellman décrivent les exigences qui Algorithme de cryptage avec une clé publique.

  1. Il est informatiquement facile de créer une paire (clé publique KU, clé privée KR).
  2. Il est calculatoirement aisé, étant donné la clé publique et le message non chiffré M, de créer le message chiffré correspondant :
  3. Il est informatiquement facile de déchiffrer un message à l'aide de la clé privée :

    M = D KR [C] = D KR ]

  4. Il est informatiquement impossible, connaissant la clé publique KU , de déterminer la clé privée KR .
  5. Il est informatiquement impossible, connaissant la clé publique KU et le message chiffré C , de retrouver le message original M .

    Une sixième exigence peut être ajoutée, bien qu'elle ne soit pas valable pour tous les algorithmes à clé publique :

  6. Les fonctions de chiffrement et de déchiffrement peuvent être appliquées dans n'importe quel ordre :

    M = E ku]

Ce sont des exigences suffisamment fortes qui introduisent la notion de . Fonction à sens unique une telle fonction est appelée, dans laquelle chaque argument a une valeur inverse unique, alors qu'il est facile de calculer la fonction elle-même, mais il est difficile de calculer la fonction inverse.

Habituellement "facile" signifie que le problème peut être résolu en temps polynomial de la longueur de l'entrée. Ainsi, si la longueur de l'entrée est de n bits, alors le temps de calcul de la fonction est proportionnel à n a , où a est une constante fixe. Ainsi, l'algorithme est dit appartenir à la classe des algorithmes polynomiaux P. Le terme « dur » désigne un concept plus compliqué. Dans le cas général, nous supposerons que le problème ne peut pas être résolu si l'effort pour le résoudre est supérieur au temps polynomial de la valeur d'entrée. Par exemple, si la longueur de l'entrée est de n bits et que le temps d'évaluation de la fonction est proportionnel à 2 n , cela est alors considéré comme une tâche de calcul impossible. Malheureusement, il est difficile de déterminer si un algorithme particulier présente une telle complexité. De plus, les notions traditionnelles de complexité de calcul se concentrent sur la complexité du cas le plus défavorable ou du cas moyen d'un algorithme. Ceci est inacceptable pour la cryptographie, où il est exigé que la fonction ne puisse pas être inversée pour toutes ou presque toutes les valeurs des entrées.

Retour à la définition fonction unilatérale avec toit ouvrant, qui, comme fonction à sens unique, est facile à calculer dans une direction et difficile à calculer dans la direction opposée jusqu'à ce que certains Informations Complémentaires. Avec cette information supplémentaire, l'inversion peut être calculée en temps polynomial. De cette façon, fonction à sens unique avec toit ouvrant familial fonctions à sens unique f k tel que

Nous voyons que le développement d'un algorithme à clé publique particulier dépend de la découverte de l'algorithme correspondant. fonction unilatérale avec toit ouvrant.

Cryptanalyse d'algorithmes à clé publique

Comme dans le cas cryptage symétrique, Algorithme de cryptage avec une clé publique est vulnérable aux attaques frontales. La contre-mesure est classique : utilisez de grosses touches.

Un cryptosystème à clé publique utilise certains éléments non inversibles fonctions mathématiques. La complexité du calcul de telles fonctions n'est pas linéaire en nombre de bits de clé, mais augmente plus vite que la clé. Ainsi, la taille de la clé doit être suffisamment grande pour rendre une attaque frontale impraticable et suffisamment petite pour permettre un chiffrement pratique. En pratique, la taille de la clé est telle qu'une attaque par force brute n'est pas pratique, mais par conséquent, la vitesse de cryptage est suffisamment lente pour que l'algorithme soit utilisé à des fins générales. Par conséquent, le chiffrement à clé publique est actuellement principalement limité aux applications de gestion de clés et de signature qui nécessitent le chiffrement d'un petit bloc de données.

Une autre forme d'attaque consiste à trouver un moyen de calculer la clé privée à partir de la clé publique. Il est impossible de prouver mathématiquement que forme donnée l'attaque est exclue pour un algorithme à clé publique spécifique. Ainsi, tout algorithme, y compris l'algorithme RSA largement utilisé, est suspect.

Enfin, il existe une forme d'attaque spécifique à l'utilisation des systèmes à clé publique. Il s'agit d'une attaque contre un message probable. Supposons, par exemple, que le message envoyé se compose uniquement d'une clé de session de 56 bits pour un algorithme de chiffrement symétrique. Un adversaire peut chiffrer toutes les clés possibles à l'aide de la clé publique et peut déchiffrer tout message correspondant au texte chiffré transmis. Ainsi, quelle que soit la taille de clé du schéma de clé publique, l'attaque est réduite à une attaque par force brute sur un système 56 bits. clé symétrique. La protection contre une telle attaque consiste à ajouter un certain nombre de bits aléatoires à des messages simples.

Utilisations de base des algorithmes à clé publique

Les principales utilisations des algorithmes à clé publique sont le chiffrement/déchiffrement, la création et la vérification de signature et l'échange de clés.

Chiffrement avec une clé publique comprend les étapes suivantes :


Riz. 7.1.

  1. L'utilisateur B crée un couple de clés KU b et KR b utilisé pour chiffrer et déchiffrer les messages transmis.
  2. L'utilisateur B met à disposition sa clé de cryptage de manière sécurisée, c'est-à-dire clé publique KU b . La clé privée couplée KR b est gardée secrète.
  3. Si A veut envoyer un message à B, il crypte le message en utilisant la clé publique KU b de B .
  4. Lorsque B reçoit le message, il le déchiffre à l'aide de sa clé privée KR b . Personne d'autre ne peut déchiffrer le message, car seul B connaît cette clé privée.

Si l'utilisateur (système final) stocke en toute sécurité sa clé privée, personne ne pourra espionner les messages transmis.

La création et la vérification d'une signature comprennent les étapes suivantes :


Riz. 7.2.
  1. L'utilisateur A génère une paire de clés KR A et KU A , utilisées pour créer et vérifier la signature des messages transmis.
  2. L'utilisateur A met à disposition sa clé de vérification de manière sécurisée, c'est-à-dire