Méthodes de cryptage de données - Blog de programmation Web. Cryptage asymétrique. Comment ça fonctionne


Le cryptage est la méthode cryptographique la plus largement utilisée pour préserver la confidentialité des informations, il protège les données d'une familiarisation non autorisée avec elles. Pour commencer, envisagez les méthodes de base de la protection des informations cryptographiques. En bref cryptographie - Science sur la protection des informations utilisant des méthodes mathématiques. Il y a aussi une science opposée à la cryptographie et dédiée aux méthodes d'ouverture d'informations protégées - cryptanalyse. Une combinaison de cryptographie et de cryptanalyse est appelée appelée cryptologie. Les méthodes cryptographiques peuvent être classées d'une manière différente, mais elles sont la plus souvent divisées en fonction du nombre de clés utilisées dans les fermes cryptales correspondantes (voir Fig. 1):

  1. Incinual, dans lequel toutes les clés ne sont pas utilisées.
  2. Montagnes - Ils utilisent un certain paramètre de clé supplémentaire - est généralement une clé secrète.
  3. Deux clés utilisant deux clés dans leurs calculs: secret et ouvert.

Figure. 1. Cryptalgorithmes

Vue d'ensemble des méthodes cryptographiques

Le cryptage est la principale méthode de protection; Considérez-le en détail ci-dessous.

Il vaut la peine de dire quelques mots et des méthodes cryptographiques restantes:

  1. La signature électronique est utilisée pour confirmer l'intégrité et la paternité des données. L'intégrité des données signifie que les données n'étaient pas modifiées accidentellement ou délibérément lorsqu'elles ont été stockées ou transmises.
    Algorithmes signature électronique Utilisez deux types de clés:
    • la clé secrète est utilisée pour calculer la signature électronique;
    • la clé publique est utilisée pour le vérifier.
    Lorsque vous utilisez un algorithme cryptographiquement fort pour la signature électronique et avec un stockage compétent et en utilisant la clé secrète (c'est-à-dire s'il est impossible d'utiliser la clé à autre que son propriétaire), personne d'autre n'est en mesure de calculer la signature électronique correcte de tout document électronique.
  2. L'authentification vous permet de vérifier que l'utilisateur (ou ordinateur distant) Vraiment, pour qui il se donne. Schéma simple L'authentification est un mot de passe - comme élément secret qu'il utilise un mot de passe présenté par l'utilisateur lors de la vérification. Un tel système est prouvé est faible, si des mesures administratives et techniques spéciales ne s'appliquent pas pour l'améliorer. A Basé sur le cryptage ou le hachage (voir ci-dessous), vous pouvez construire des systèmes d'authentification d'utilisateur vraiment forts.
  3. Il existe diverses méthodes de sommation de contrôle cryptographique:
    • hachage clé et invincible;
    • calcul de l'imitheds;
    • À l'aide des codes d'authentification des messages.
    En fait, toutes ces méthodes de différentes manières de ces tailles arbitraires à l'aide d'une clé secrète ou non sont calculées une certaine somme de contrôle de la taille fixe, des données de source pertinentes uniquement.
    Une telle sommation de contrôle cryptographique est largement utilisée dans diverses méthodes Protection de l'information, par exemple:
    • pour confirmer l'intégrité des données dans les cas où l'utilisation de signatures électroniques est impossible (par exemple, en raison d'une forte intensité de ressources) ou est redondante;
    • dans les schémas électroniques de signature eux-mêmes - «signé» généralement des données de hachage, et toutes les données ne sont pas entièrement;
    • dans différents schémas Authentification d'utilisateur.
  4. Générateurs aléatoires et pseudo nombres aléatoires vous permettent de créer des séquences de nombres aléatoires largement utilisés dans la cryptographie, notamment:
    • des nombres aléatoires sont nécessaires pour générer des clés secrètes, ce qui, idéalement, doit être absolument aléatoire;
    • les numéros aléatoires sont utilisés dans de nombreux algorithmes de signature électronique;
    • les numéros aléatoires sont utilisés dans de nombreux schémas d'authentification.
    Il n'est pas toujours possible d'obtenir des nombres absolument aléatoires - pour cela, il est nécessaire d'avoir des générateurs de matériel de haute qualité. Toutefois, sur la base d'algorithmes de cryptage symétrique, vous pouvez construire des chiffres pseudo-aléatoires de haute qualité.
Chiffrement

Chiffrement l'information est la transformation des informations ouvertes en cryptées (ce qui est le plus souvent appelé ciphertext ou alors cryptogramme), et vice versa. La première partie de ce processus est appelée chiffrementdeuxième - décodage.

Vous pouvez soumettre un cryptage sous la forme de la formule suivante:

C \u003d e k1 (m),

où:
M. (Un message) - informations ouvertes,
DE (Texte chiffré) - le cryptage résultant CIPHERText,
E. (Cryptage) - fonction de cryptage qui effectue une conversion cryptographique sur M.,
k1. (Clé) - paramètre de fonction E., appelé clé chiffrement.

Dans le gant-28147-89 standard (standard définit le concept d'algorithme de cryptage de manière symétrique domestique) clé défini comme suit: «L'état secret spécifique de certains paramètres de l'algorithme de transformation cryptographique, fournissant un choix d'une conversion de l'ensemble de toutes sortes pour cet algorithme transformations. "

La clé peut appartenir à un utilisateur ou à un groupe d'utilisateurs spécifique et être unique pour eux. Les informations cryptées à l'aide d'une clé spécifique ne peuvent être déchiffrées que sur la seule clé ou la même clé associée à un certain rapport.

De même, vous pouvez également soumettre au déchiffrement:

M "\u003d d k2 (c),

où:
M "- le message obtenu à la suite du déchiffrement,
RÉ. (décryptage) - fonction de déchiffrement; Tout comme la fonction de cryptage, il effectue des transformations cryptographiques sur le cipherext,
k2. - décryptage clé.

Pour obtenir à la suite du déchiffrement du texte ouvert correct (c'est-à-dire que lui-même, qui était précédemment crypté: M "\u003d m), il est nécessaire de remplir simultanément les conditions suivantes:

  1. La fonction de déchiffrement doit correspondre à la fonctionnalité de cryptage.
  2. La clé de déchiffrement doit correspondre à la clé de cryptage.

En l'absence d'une clé fidèle k2. Obtenir un message source M " = M. en utilisant la bonne fonction RÉ. C'est impossible. Sous le mot "impossible" dans ce cas, il est généralement compris que l'impossibilité de calculer temps réel Avec des ressources informatiques existantes.

Les algorithmes de cryptage peuvent être divisés en deux catégories (voir Fig. 1):

  1. Algorithmes de cryptage symétrique.
  2. Algorithmes pour cryptage asymétrique.

Dans des algorithmes cryptage symétrique Pour le décryptage, la même clé est généralement utilisée comme pour cryptage, ou une clé qui lui est associée par n'importe quel rapport simple. Ce dernier se réunit de manière significative moins souvent, en particulier dans les algorithmes de cryptage modernes. Une telle clé (commune pour le cryptage et le déchiffrement) est généralement appelée simplement cryptage clé.

DANS cryptage asymétrique cryptage clé k1. Facilement calculé à partir de la clé k2. De manière à ce que le calcul inversé soit impossible. Par exemple, le ratio clé peut être:

k1 \u003d un k2 mod p,

où A et P sont les paramètres de l'algorithme de cryptage ayant une dimension suffisamment grande.

Un tel rapport de clé est utilisé dans des algorithmes de signature électronique.

La principale caractéristique de l'algorithme de cryptage est cryptansqui détermine sa résistance aux méthodes de divulgation de cryptoanalyse. Typiquement, cette caractéristique est déterminée par l'intervalle de temps nécessaire à la divulgation du chiffre.

Le cryptage symétrique est moins pratique en raison du fait que lors de la transmission d'informations cryptées, une personne doit recevoir la destination à l'avance pour décrypter les informations. Dans le cryptage asymétrique, il n'y a pas de problème de ce type (car la clé publique peut être librement transmise sur le réseau), cependant, il y a des problèmes, en particulier, le problème de la substitution de clé ouverte et la vitesse de cryptage lente. Le cryptage le plus souvent asymétrique est utilisé dans une paire avec symétrique - pour transmettre une clé de cryptage symétrique sur laquelle la quantité principale de données est cryptée. Cependant, les systèmes de stockage et de transmission de clé sont le sujet d'un article distinct. Ici, je me permettrai de discuter que le cryptage symétrique est utilisé beaucoup plus souvent asymétrique, de sorte que le reste de l'article ne sera consacré qu'à un cryptage symétrique.

Le cryptage symétrique est de deux types:

  • Cryptage de blocs - Les informations sont divisées en blocs de longueur fixe (par exemple, 64 ou 128 bits), après quoi ces blocs sont chiffrés alternativement cryptés. De plus, dans divers algorithmes de cryptage ou même dans différents modes Le travail des mêmes blocs d'algorithme peut être crypté indépendamment l'un de l'autre ou "avec embrayage" - lorsque le résultat du cryptage du bloc de données actuel dépend de la valeur de l'unité précédente ou du résultat du cryptage du bloc précédent.
  • Cryptage de potion - Il est d'abord nécessaire, dans les cas où les informations ne peuvent pas être divisées en blocs - disent qu'un certain flux de données, dont chaque caractère doit être crypté et envoyé quelque part sans attendre d'autres données suffisantes pour former un bloc. Par conséquent, les algorithmes du cryptage de flux chiffrent les données battues ou prévalent. Bien que cela vaut la peine de dire que certaines classifications ne partagent pas le cryptage de bloc et de thread, en considérant que le cryptage des flux est le cryptage des blocs de blocs.

Examinez comment les algorithmes de chiffrement symétrique de bloc ressemblent. Structure des algorithmes de cryptage

La majorité écrasante des algorithmes de cryptage modernes fonctionnent très similaire: sur le texte crypté, une certaine conversion est effectuée avec la participation de la clé de cryptage, qui est répétée un certain nombre de fois (tours). Dans le même temps, selon le type de conversion répétée de l'algorithme de cryptage, il est de coutume de se diviser en plusieurs catégories. Il existe également diverses classifications ici, je vais en donner l'une d'elles. Donc, selon sa structure, les algorithmes de cryptage sont classés comme suit:

  1. Algorithmes basés sur le réseau Faistel.

    Le réseau FAISTEL implique la division du bloc de données traitée dans plusieurs sous-thorces (le plus souvent - deux), dont l'une est traitée par une certaine fonction f () et est superposé à un ou plusieurs autres sous-blocages. En figue. La figure 2 montre la structure la plus courante des algorithmes basés sur le réseau FAISTEL.

    Figure. 2. Structure des algorithmes basées sur le réseau Faistel.

    Argument de fonction supplémentaire f ()marqué à la Fig. 2 comme Ki., appelé clé ronde. La clé ronde est le résultat du traitement de la clé de cryptage clé à l'expansion clé, dont la tâche consiste à obtenir le nombre requis de clés Ki. De la clé de cryptage source d'une taille relativement petite (actuellement suffisante pour une clé de cryptage symétrique, 128 bits sont considérés comme étant. Dans les cas les plus simples, la procédure d'expansion clé simplifie simplement la clé en plusieurs fragments, qui sont alternativement utilisés dans les rondes de cryptage; Significativement plus souvent la procédure d'expansion clé est assez compliquée et les clés Ki. Dépend des valeurs de la plupart des bits de la clé de cryptage source.

    Le chevauchement du sous-bloc traité à la brute est le plus souvent effectué à l'aide d'une opération logique "à l'exclusion ou" - xor (comme illustré à la Fig. 2). Fréquemment souvent au lieu de XOR ici est utilisé en ajoutant le module 2 N.n. - la taille du sous-bloc dans les bits. Après compression, les sous-blocs sont changés dans des endroits, c'est-à-dire dans le prochain cycle de l'algorithme étant déjà traité par un autre sous-bloc de données.

    Une telle structure d'algorithmes de cryptage a reçu son nom de Horst Feistel - l'un des développeurs de l'algorithme de cryptage de Lucifer et de l'algorithme des (standard de cryptage de données) développé sur sa base (mais toujours largement utilisé) la norme de cryptage américain. Ces deux algorithmes ont une structure similaire à celle représentée à la Fig. 2. Parmi les autres algorithmes basés sur le réseau FAISTEL, on peut apporter une norme de cryptage domestique GOST 28147-89, ainsi que d'autres algorithmes très connus: RC5, Blowfish, thé, Cast-128, etc.

    La majorité des algorithmes de cryptage modernes sont basés sur le réseau FAISTel - en raison de l'ensemble des avantages d'une structure similaire, dont il convient de noter ce qui suit:

    • Les algorithmes basés sur le réseau FAISTel peuvent être construits de manière à ce que le même code d'algorithme puisse être utilisé pour chiffrer et décrypter - la différence entre ces opérations ne consiste que dans l'application des clés KI; Cette propriété de l'algorithme est particulièrement utile lorsque sa mise en œuvre matérielle ou sur des plates-formes avec ressources limitées; À titre d'exemple d'un tel algorithme, GOST 28147-89 peut être apporté.
  2. Les algorithmes basés sur le réseau FAISTEL sont les algorithmes les plus étudiés - de tels algorithmes sont consacrés à une énorme quantité d'études cryptanytiques, ce qui constitue un avantage incontestable de la fois dans le développement de l'algorithme et lors de l'analyse.

    Il existe une structure plus complexe du réseau FAISTEL, dont l'exemple est montré à la Fig. 3.

    Figure. 3. Structure du réseau FAISTEL.

    Une telle structure est appelée généralisé ou alors Étendu La chaîne du facetel et est utilisée de manière significative moins fréquente par le réseau traditionnel de la Faistel. Un exemple d'un tel réseau Faistel peut servir d'algorithme RC6.

  3. Algorithmes basés sur réelcounter réseaux (Réseau SP - Réseau de substitution-permutation).

    Contrairement au réseau FAISTEL, le réseau SP est traité dans un bloc crypté entier. Le traitement des données est principalement réduit à des remplacements (lorsque, par exemple, un fragment de la valeur d'entrée est remplacé par un autre fragment conformément à la table de substitution, qui peut dépendre de la valeur de la clé. Ki.) et permutations selon la clé Ki. (Le schéma simplifié est montré à la Fig. 4).

    Figure. 4. Réseau restant.

    Toutefois, ces opérations sont également caractéristiques d'autres espèces d'algorithmes de cryptage. Par conséquent, à mon avis, le nom "Network Wildcake-Renovation" est assez conditionnel.

    Les réseaux SP sont les plus courants moins fréquents que les réseaux de Faistel; À titre d'exemple de réseaux SP, les algorithmes serpents ou plus sûrs peuvent être apportés.

  4. Algorithmes avec la structure "carré" (Carré).

    Pour la structure "carrée", la vue du bloc de données cryptées sous la forme d'une matrice d'octets bidimensionnelle est caractéristique. Les transformations cryptographiques peuvent être effectuées au-dessus d'octets individuels de la matrice, ainsi que sur ses lignes ou colonnes.

    La structure de l'algorithme a reçu son nom de l'algorithme carré, qui a été développé en 1996 par Vincent Rijmen et Joan Daemen - les futurs auteurs de l'algorithme de Rijndael, qui sont devenus une nouvelle norme de cryptage AES américain après la victoire dans la compétition ouverte. L'algorithme de Rijndael a également une structure carrée; Aussi, comme exemple, vous pouvez apporter les algorithmes de requin (développement antérieur du ridgeman et Denima) et de Crypton. L'inconvénient des algorithmes avec la structure "carrée" est leur étude insuffisante qu'ils n'ont pas empêché l'algorithme de Rijndael de devenir une nouvelle norme américaine.

    Figure. 5. Algorithme de Rijndael.

    En figue. 5 montre un exemple de bloc de données effectué par l'algorithme de Rijndael.

  5. Des algorithmes avec une structure non standard, c'est-à-dire des algorithmes qui ne peuvent être trouvés dans aucun des types énumérés. Il est clair que l'ingéniosité peut être sans limites, alors classer toutes les options possibles pour les algorithmes de cryptage est complexe. À titre d'exemple, l'algorithme avec une structure non standard peut être apporté uniques par sa structure l'algorithme de grenouille, dans chaque tour qu'il suffit de règles complexes Une modification de deux octets de données de ciIPHERD est effectuée (voir fig. 6).

    Figure. 6. Modification des deux octets de données cryptées.

    Les limites strictes entre les structures décrites ci-dessus ne sont pas définies, des algorithmes classés assez souvent. différents types structures. Par exemple, l'algorithme CAST-256 fait référence à son auteur au réseau SP et de nombreux experts s'appellent une chaîne prolongée de la Faistel. Un autre exemple est un algorithme HPC, l'appelé par le réseau d'un tissu de l'auteur, mais attribué par des experts aux algorithmes avec une structure non standard.

Sergey Panasenko,
Chef du département de développement logiciel entreprises "Ankad",
[Email protégé]

Concepts de base

Le processus de conversion de données ouvertes en crypté et inversement est appelé cryptage, et les deux composants de ce processus sont appelés cryptage et décryptage en conséquence. Mathématiquement, la transformation semble être les dépendances suivantes décrivant les opérations avec les informations source:

C \u003d ek1 (m)

M "\u003d dk2 (c),

où m (message) est des informations ouvertes (dans la littérature sur la protection des informations est souvent appelée "texte source");
C (texte cipher) - le chiffrement (ou la cryptogramme) obtenu à la suite d'un cryptage;
E (cryptage) - la fonction de cryptage qui effectue des transformations cryptographiques au-dessus du texte source;
K1 (clé) - fonction E paramètre E, appelé clé de cryptage;
M "- informations obtenues à la suite du déchiffrement;
D (déchiffrement) - la fonction de déchiffrement qui effectue les transformations cryptimographiques de cryptage inverse sur le ciphertext;
K2 - La clé avec laquelle les informations décryptes sont exécutées.

Le concept de "clé" conformément à GOST 28147-89 (algorithme de cryptage symétrique) est déterminé comme suit: "L'état secret spécifique de certains paramètres de l'algorithme de transformation cryptographique, qui fournit le choix d'une conversion de l'ensemble de toutes sortes. pour cet algorithme de transformation. " En d'autres termes, la clé est un élément unique avec lequel vous pouvez modifier les résultats de l'algorithme de cryptage: le même texte source lors de l'utilisation de différentes clés sera crypté différemment.

Pour le résultat du déchiffrement avec le message initial (c'est-à-dire à M "\u003d M" \u003d m), effectuant simultanément deux conditions. Premièrement, la fonction de déchiffrement D doit correspondre aux fonctions de cryptage de E. Deuxièmement, la clé de déchiffrement K2 doit correspondre à la clé de cryptage clé .

Si un algorithme de cryptage crypto-résistant a été utilisé pour le cryptage, alors en l'absence de la touche correcte K2, il n'est pas possible d'obtenir m "\u003d M. Cryptoptely est la principale caractéristique des algorithmes de cryptage et indique le degré de complexité de l'obtention de la code source de la clé cryptée du K2.

Les algorithmes de cryptage peuvent être divisés en deux catégories: cryptage symétrique et asymétrique. Pour le premier, le rapport entre les touches de cryptage et de déchiffrement est définie comme K1 \u003d K2 \u003d K (c'est-à-dire les fonctions E et D Utilisez la même clé de cryptage). Avec un cryptage asymétrique, la clé de cryptage K1 est calculée par clé K2 de manière à ce que la transformation inverse ne soit pas possible, par exemple, selon la formule K1 \u003d AK2 MOD P (A et P - Les paramètres de l'algorithme utilisé).

Cryptage symétrique

Son histoire d'algorithmes de cryptage symétriques sont menées avec l'Antiquité: c'est ainsi que l'empereur romain que Julius Caesar au premier siècle avant notre ère a été utilisé par les informations de dissimulation d'informations. ER, et l'algorithme les a inventés est connu sous le nom de cryptosystème de César.

L'algorithme de cryptage des des des des des des des des des des des des des affaires, développé en 1977, jusqu'à récemment, était «Norme américaine», car le gouvernement de ce pays a recommandé de l'appliquer pour la mettre en œuvre. divers systèmes Données de cryptage. Malgré le fait que l'initialement prévu soit prévu au plus 10-15 ans, tente de le remplacer qu'en 1997.

Nous ne considérerons pas les des affaires en détail (presque tous les livres de la liste des matériaux supplémentaires l'ont description détaillée), mais se référer à des algorithmes de cryptage plus modernes. Il convient de noter que la principale raison de modifier la norme de cryptage est son cryptoscope relativement faible, dont la cause est que la clé de la clé des technes n'est que 56 signification bits. Il est connu que tout algorithme crypto-résistant peut être piraté par une attente toutes les options possibles pour les touches de cryptage (la méthode dite de la force grossière - force brute Attaque). Il est facile de calculer qu'un groupe de 1 million de transformateurs, chacun calculera 1 million de touches par seconde, vérifiez 256 options pour les clés des Touches de la part dans près de 20 heures. Et puisque selon les normes actuelles, cette puissance de calcul est assez réelle, Il est clair que la clé 56 bits est trop courte et algorithme des. Il est nécessaire de remplacer plus "fort".

Aujourd'hui, deux algorithmes de cryptage de crypto-crypto modernes sont de plus en plus utilisés: la norme nationale GOST 28147-89 et la nouvelle US Cryptostandart - AES (Standard de cryptage avancé).

GOST standard 28147-89

L'algorithme défini par GOST 28147-89 (figure 1) a une longueur de la clé de cryptage de 256 bits. Il chiffre des informations par des blocs de 64 bits (de tels algorithmes sont appelés bloc), qui sont ensuite divisés en deux sous-blocs 32 bits (N1 et N2). Le sous-bloc de N1 est traité d'une certaine manière, après quoi sa valeur est pliée avec la valeur de la sous-réseau N2 (addition est effectuée selon le module 2, c'est-à-dire une opération de logique XOR est utilisée - "hors ou"), puis le Les sous-blocs sont changés dans des endroits. Cette transformation Un certain nombre de fois est effectué ("rondes"): 16 ou 32, en fonction du mode de fonctionnement de l'algorithme. Dans chaque tour, deux opérations sont effectuées.

Le premier est l'imposition de la clé. Le contenu de la sous-rotation N1 se plie dans le module 2 avec une partie 32 bits de la clé KX. Clé Le cryptage est représenté comme une contenue de 32 bits Confection: K0, K1, K2, K3, K4, K5, K6, K7. Pendant le processus de cryptage, l'une de ces bouchons est utilisée - en fonction du nombre rond et du mode de fonctionnement de l'algorithme.

Deuxième opération - remplacement tabulaire. Après avoir appliqué la clé, le sous-bloc N1 est divisé en 8 parties de 4 bits, chacun remplacé conformément au tableau de remplacement de cette partie du sous-bloc. Ensuite, le décalage cyclique binaire du sous-document laissé à 11 bits est effectué.

Remplacement de tableBoîte de substitution - S-Box) sont souvent utilisés dans des algorithmes de cryptage modernes, il convient donc d'expliquer comment une telle opération est organisée. Les valeurs de sortie de la table sont enregistrées dans le tableau. Le bloc de données d'une dimension spécifique (dans notre cas - 4 bits) a sa propre représentation numérique, qui détermine le nombre de la valeur de sortie. Par exemple, si la boîte en S a le formulaire 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1, et l'entrée à 4 bits Bloc "0100" (valeur 4), puis, selon le tableau, la valeur de sortie sera égale à 15, c'est-à-dire "1111" (0 A 4, 1 A 11, 2 A 2 ...).

L'algorithme, défini par GOST 28147-89, prévoit quatre modes de fonctionnement: remplacement simple, préjudice, gamming avec retour et génération d'imitorés. Ils utilisent la même transformation de chiffrement décrite ci-dessus, mais étant donné que le but des modes est différent, cette conversion est effectuée dans chacune d'elles de différentes manières.

En mode remplacement simplepour chiffrer chaque bloc d'informations 64 bits, 32 rounds décrits ci-dessus sont effectués. Dans le même temps, la prise 32 bits est utilisée dans la séquence suivante:

K0, K1, K2, K3, K4, K5, K6, K7, K0, K1, etc. - en rondes du 1er au 24;

K7, K6, K5, K4, K3, K2, K1, K0 - En rondes du 25 au 32ème.

Décryptage B. ce mode Il est effectué de la même manière, mais avec une séquence d'application légèrement différente de la connexion:

K0, K1, K2, K3, K4, K5, K6, K7 - en rondes du 1er au 8;

K7, K6, K5, K4, K3, K2, K1, K0, K7, K6, etc. - en rondes du 9ème au 32ème.

Tous les blocs sont cryptés indépendamment l'un de l'autre, c'est-à-dire le résultat du cryptage de chaque bloc dépend uniquement de son contenu (le bloc de texte correspondant). S'il existe plusieurs blocs identiques du texte original (ouvert), les blocs correspondants de CIPHERText seront également identiques, ce qui donne un supplément informations utiles Pour essayer d'ouvrir la cryptoanisme de chiffrement. Par conséquent, ce mode est principalement utilisé pour chiffrer la clé de cryptage eux-mêmes (plusieurs systèmes sont très souvent implémentés, dans lesquels les touches sont cryptées les unes sur les autres). Pour le cryptage des informations elles-mêmes, deux autres modes d'exploitation - les gammures de diplôme et de retour d'information sont destinés.

DANS mode Haming Chaque unité de texte ouvert est bloquée par module 2 avec un bloc gamma de chiffrement de 64 bits. Le Cipher Gamma est une séquence spéciale qui donne certaines opérations avec des registres N1 et N2 (voir Fig. 1).

1. Dans les registres N1 et N2, leur remplissage initial est enregistré - la valeur 64 bits appelée Syncopionel.

2. Il est crypté avec le contenu des registres N1 et N2 (dans ce cas - Syncropters) en mode de remplacement simple.

3. Le contenu du registre N1 consiste dans le module (232 - 1) avec la constante C1 \u003d 224 + 216 + 28 + 24 et le résultat de l'addition est enregistré dans le registre N1.

4. Le contenu du registre N2 est formé par module 232 avec une constante C2 \u003d 224 + 216 + 28 + 1 et le résultat de l'addition est écrit au registre N2.

5. Le contenu des registres N1 et N2 sont introduits à la sortie sous la forme d'un bloc gamma de chiffrement de 64 bits (dans ce cas, N1 et N2 forment le premier bloc de la gamma).

Si le prochain bloc gamma est requis (c'est-à-dire qu'il est nécessaire de poursuivre le cryptage ou le déchiffrement), retourne à l'opération 2.

Pour déchiffrer, le gamma est produit de la même manière, puis l'opération XOR est à nouveau appliquée aux bits du texte crypté et de la gamma. Étant donné que cette opération est réversible, dans le cas d'une gamma correctement générée, le texte source (tableau) est obtenu.

Cryptage et décryptage en mode gamming

Pour déterminer le chiffrement de l'utilisateur, la même clé, la même clé et la même valeur de la synchronisation de la synchronisation, utilisée lors du cryptage des informations, devrait être la même clé. Sinon, il ne sera pas possible d'obtenir le texte source du crypté.

Dans la plupart des implémentations de l'algorithme GOST 28147-89, le syncopier n'est pas secret, mais il existe des systèmes où le syncopier est le même élément secret que la clé de cryptage. Pour de tels systèmes, la longueur effective de la clé de l'algorithme (256 bits) augmente par un autre 64 bits de synchronisation secrète, qui peut également être considérée comme un élément clé.

Dans le mode de rétroaction de gammage pour remplir les registres N1 et N2, à partir du 2e bloc, pas du bloc précédent de la gamma, mais le résultat du cryptage du bloc précédent du texte ouvert (Fig. 2). Le premier bloc de ce mode est généré par le précédent similaire à celui précédent.

Figure. 2. Développer un chiffre gamma en mode de gammure de retour.

Considérant le mode génération d'imitheds, Il devrait être déterminé par le concept de génération de génération. L'imitrobristentage est une somme de contrôle cryptographique calculée à l'aide de la clé de cryptage et destinée à vérifier l'intégrité des messages. Lors de la génération d'un imitOD, les opérations suivantes sont effectuées: la première unité de 64 bits du réseau d'informations pour lequel la simplicité est calculée est écrite dans les registres N1 et N2 et cryptées dans le mode abrégé de remplacement simple (les premiers 16 rounds de 32 sont effectués). Le résultat obtenu est additionné par module 2 avec le bloc d'informations suivant tout en maintenant le résultat en N1 et N2.

Le cycle est répété jusqu'au dernier bloc d'information. À la suite de ces transformations, des contenus 64 bits de registres N1 et N2 ou une partie de celui-ci sont appelés simplicité. La taille de la simplicité est sélectionnée, en fonction de la fiabilité requise des messages: la longueur du SIMPSTAB, r bit est la probabilité que la modification du message reste inaperçue, égale à 2-r. 32 bits de Le simpristening est utilisé, c'est-à-dire la moitié des registres. Cela suffit, car, comme toute somme de contrôle, l'imiton est conçue principalement pour protéger contre les distorsions aléatoires d'informations. Pour protéger les mêmes données sur la modification de données délibérées, d'autres méthodes cryptographiques sont utilisées - principalement une signature numérique électronique.

Lors de l'échange d'informations, le Simpristenger est une sorte de moyen de contrôle supplémentaire. Il est calculé pour le texte ouvert lorsqu'il est crypté des informations et est envoyé avec le CIPHERText. Après le décryptage, une nouvelle valeur imitative est calculée, ce qui est comparé à l'envoi. Si les valeurs ne correspondent pas - cela signifie que le ciphertext a été déformé pendant la transmission ou lorsque le déchiffrement a été utilisé des touches incorrectes. Il est particulièrement utile pour la simplicité de vérifier le décryptage correct information clé Lors de l'utilisation de plusieurs régimes.

L'algorithme de GOST 28147-89 est considéré comme un algorithme très fort - il n'est maintenant pas proposé pour sa divulgation. méthodes efficacesque ceux mentionnés ci-dessus la méthode "force grossière". Sa haute résistance est obtenue principalement en raison de la grande longueur de la clé - 256 bits. Lors de l'utilisation de syncopies secrètes, la longueur de la clé effective augmente à 320 bits et la transe de la table de substitution ajoute des bits supplémentaires. De plus, la résistance de Cryptost dépend du nombre de rondes de transformations, qui, selon GOST 28147-89, devraient être 32 (l'effet complet de la dispersion des données d'entrée est atteint après 8 rounds).

Standard AES.

Contrairement à l'algorithme GOST 28147-89, qui est resté longtemps secret, standard américain cryptage AES.La raison du remplacement du DES a été choisie lors d'une concurrence ouverte, où toutes les organisations et individus intéressés pourraient étudier et commenter des demandeurs d'algorithmes.

Le concours de remplacement de DES a été annoncé en 1997 par l'Institut national des normes et des technologies des États-Unis (Institut NIST - National des normes et de la technologie). La compétition a été présentée 15 algorithmes de contenu développés comme dans le domaine des organisations de cryptographie (Sécurité de la RSA, contrepartie, etc.) et des personnes. Les résultats de la compétition ont été résumés en octobre 2000: le gagnant a été déclaré l'algorithme de Rijndael développé par deux cryptographes de Belgique, Vincent Rijman (Vincent Rijmen) et Joan Daemen.

L'algorithme de Rijndael ne ressemble pas à la plupart des algorithmes de cryptage symétriques bien connus, dont la structure s'appelle le "réseau Faistel" et est similaire au Gost 28147-89 russe. La particularité du réseau FAISTel est que la valeur d'entrée est divisée en deux ou plusieurs sous-domues, dont certaines sont traitées dans chaque cycle le long d'une loi spécifique, après quoi elles sont superposées sur les sous-obstacles non traités (voir Fig. 1).

Contrairement à la norme de cryptage domestique, l'algorithme de Rijndael représente un bloc de données sous la forme d'une matrice d'octets bidimensionnelle de taille 4x4, 4x6 ou 4x8 (il est autorisé à utiliser plusieurs tailles fixes du bloc d'informations cryptées). Toutes les opérations sont effectuées avec des octets distincts de la matrice, ainsi que de colonnes et de lignes indépendantes.

L'algorithme de Rijndael effectue quatre transformations: BS (bytesub) - Remplacement de la table de chaque octet de massif (Fig. 3); SR (Shiftow) est une lignée de la matrice (Fig. 4). Avec cette opération, la première ligne reste inchangée et le reste de manière cyclique à gauche au nombre fixe d'octets, en fonction de la taille de la matrice. Par exemple, pour une matrice de 4x4 dimensions de lignes 2, 3 et 4, il est décalé selon les 1, 2 et 3 octets, respectivement. Vient ensuite MC (MixColumn) - une opération sur la colonne indépendante du tableau (Fig. 5), lorsque chaque colonne selon une règle spécifique est multipliée par une matrice fixe C (x). Et enfin, AK (Addroundkey) - Ajouter une clé. Chaque bit du tableau est formé par le module 2 avec un bit correspondant d'une clé ronde, qui est à son tour défini de manière certaine, calculée à partir de la clé de cryptage (figure 6).


Figure. 3. Opération BS.

Figure. 4. Opération SR.

Figure. 5. Opération MC.

Le nombre de rondes de cryptage (R) dans la variable d'algorithme de Rijndael (10, 12 ou 14 rounds) et dépend de la taille de la clé de bloc et de cryptage (plusieurs tailles fixes sont également fournies pour la clé).

Le décryptage est effectué à l'aide des opérations inverses suivantes. Une table et une table de remplacement sur la table inverse (relativement utilisée lorsque crypté) sont effectuées. Le fonctionnement inverse sur SR est un décalage cyclique à droite, non laissé. Fonctionnement inverse pour la multiplication MC - Multiplication selon les mêmes règles d'une autre matrice D (x), condition satisfaisante: C (x) * d (x) \u003d 1. L'ajout de la clé AK est l'opposé elle-même, car il utilise uniquement une opération XOR . Ces opérations inverse sont appliquées lors du décodage dans une séquence, l'inverse de celle utilisée lorsqu'elle est cryptée.

Rijndael est devenu une nouvelle norme de cryptage de données grâce à un certain nombre d'avantages par rapport aux autres algorithmes. Tout d'abord, il fournit une vitesse de cryptage élevée sur toutes les plateformes: la mise en œuvre du logiciel et du matériel. Il est distingué incomparablement les meilleures possibilités de paralléliser des calculs par rapport aux autres algorithmes présentés pour la concurrence. De plus, les exigences relatives aux ressources pour ses travaux sont minimes, ce qui est important lors de l'utilisation des dispositifs avec des capacités de calcul limitées.

L'inconvénient de l'algorithme ne peut être considéré que par la caractéristique du système non traditionnel. Le fait est que les propriétés des algorithmes basées sur le réseau FAISTEL sont bien étudiées et Rijndael, contrairement à elles, peuvent contenir des vulnérabilités cachées qui ne peuvent être détectées qu'après un certain temps depuis le début de son répandu.

Cryptage asymétrique

Des algorithmes de cryptage asymétriques, comme indiqué précédemment, utilisent deux touches: K1 est la clé de cryptage ou ouverte et K2 est la clé de déchiffrement ou le secret. Touche ouverte Il est calculé à partir du secret: k1 \u003d f (k2).

Les algorithmes de cryptage asymétriques sont basés sur l'utilisation de fonctions unidirectionnelles. Selon la définition, la fonction Y \u003d F (x) est unidirectionnelle si: il est facile de calculer pour tous options possibles x Et pour la plupart des valeurs possibles de Y, il est assez difficile de calculer cette valeur x, à laquelle y \u003d f (x).

Un exemple de fonction unidirectionnelle peut être la multiplication de deux grands nombres: n \u003d p * q. En soi, une telle multiplication est une opération simple. Cependant, la fonction inverse (décomposition n en deux grands multiplicateurs), appelée factorisation, selon les estimations temporaires modernes, est une tâche mathématique plutôt compliquée. Par exemple, développez les multiplicateurs N Dimension 664 bits à P? Q nécessitera une exécution d'environ 1023 opérations et pour le calcul inverse x pour modulaire exponential y \u003d hache mod p avec connais a, p et y (avec la même dimension A et P), environ 1026 opérations doivent être effectuées. Le dernier des exemples ci-dessus est appelé - "Problème de logarithme discret" (DLP - problème de logarithme discret), et ce type de fonctions sont souvent utilisés dans des algorithmes cryptage asymétrique, ainsi que dans des algorithmes utilisés pour créer une signature numérique électronique.

Une autre classe importante de fonctions utilisées dans le cryptage asymétrique est des fonctions unidirectionnelles avec un cours secret. Leur définition stipule que la fonction est unidirectionnelle avec un parcours secret s'il est unidirectionnel et qu'il est possible de calculer efficacement la fonction inverse x \u003d F-1 (Y), c'est-à-dire si le "mouvement secret" est connu (un certain numéro secret, En appliquant des algorithmes de cryptage asymétriques - la valeur de la clé secrète).

Les fonctions unidirectionnelles avec un passage secret sont utilisées dans un algorithme répandu pour le cryptage asymétrique RSA.

Algorithme RSA.

Conçu en 1978 par trois auteurs (Rivest, Shamir, Adleman), il a reçu son nom en fonction des premières lettres des noms des développeurs. La fiabilité de l'algorithme repose sur la complexité de la factorisation des grands nombres et le calcul des logarithmes distincts. Le paramètre principal de l'algorithme RSA est le module SYSTÈME N, selon lequel tous les calculs sont effectués dans le système et N \u003d P * Q (p et q - Secret Simple Numes simples simples, généralement la même dimension).

La clé secrète du K2 est choisie au hasard et doit être conforme aux conditions suivantes:

1

où le nœud est le plus grand diviseur commun, c'est-à-dire que K1 doit être mutuellement simple avec la valeur de la fonction Euler F (N), et celle-ci est égale à la quantité d'entiers positifs dans la gamme de 1 à N, d'une simplicité mutuellement simple. avec n, et est calculé comme F (n) \u003d (p - 1) * (Q - 1).

La clé ouverte K1 est calculée à partir du rapport (k2 * k1) \u003d 1 mod f (n)Et pour cela, l'algorithme d'eucyclide généralisé est utilisé (algorithme de calcul du plus grand diviseur commun). Le cryptage du bloc de données M Selon l'algorithme RSA est comme suit: C \u003d M. [à degrés K1] mod n.. Notez que, parce que dans le véritable cryptosystème à l'aide de RSA, le nombre de K1 est très grand (actuellement sa dimension peut atteindre jusqu'à 2048 bits), calcul direct m [à degrés k1] irréaliste. Pour l'obtenir, une combinaison de multiples constructions M dans un carré avec la multiplication des résultats est appliquée.

L'appel de cette fonction sous de grandes dimensions n'est pas impraticable; En d'autres termes, il est impossible de trouver m selon le C, N et K1 connu. Cependant, avoir une clé secrète de la K2, à l'aide de transformations simples, vous pouvez calculer m \u003d ck2 mod N. Il est évident que, en plus de la clé secrète elle-même, il est nécessaire d'assurer le secret des paramètres P et Q. Si L'attaquant ajoute leurs valeurs, il sera capable de calculer la clé secrète du K2.

Quel cryptage est meilleur?

L'inconvénient principal du cryptage symétrique est la nécessité de transférer des clés de la main à la main. Le manque de cela est très grave, car il est impossible d'utiliser un cryptage symétrique dans des systèmes avec un nombre illimité de participants. Cependant, dans le reste, le cryptage symétrique présente des avantages clairement visibles dans le contexte des défauts graves du cryptage asymétrique.

Le premier est à faible vitesse d'exploitation du cryptage et du déchiffrement, en raison de la disponibilité d'opérations à forte intensité de ressources. Un autre inconvénient de "théorique" - cryptoscope mathématiquement des algorithmes pour le cryptage asymétrique n'est pas prouvé. Cela est dû principalement à la tâche d'un logarithme discrète - jusqu'à ce qu'il soit possible de prouver qu'il est impossible de sa décision pour un temps acceptable. Les difficultés impeccessantes créent et la nécessité de protéger les clés opennes de la substitution - en modifiant la clé publique de l'utilisateur légal, l'attaquant pourra crypter un message important sur sa clé ouverte puis la déchiffrer facilement avec sa clé secrète.

Néanmoins, ces lacunes n'empêchent pas l'utilisation généralisée d'algorithmes de cryptage asymétriques. Il existe aujourd'hui des cryptosystèmes qui prennent en charge la certification des clés ouvertes, ainsi que de combiner des algorithmes d'un cryptage symétrique et asymétrique. Mais c'est le sujet pour un article séparé.

Sources d'information supplémentaires

Ces lecteurs qui sont irrévocablement intéressés par le cryptage, l'auteur recommande d'élargir son horizon à l'aide des livres suivants.

  1. Brassar J. "Cryptologie moderne".
  2. Petrov A. "Sécurité informatique: méthodes de défense cryptographiques".
  3. Romanets Yu. V., TimoFeev P. A., Shagin V. F. "Protection des informations dans les systèmes informatiques modernes".
  4. Sokolov A. V., Shagin V. F. "Protection des informations dans les réseaux et systèmes de sociétés distribués".

Une description complète des algorithmes de cryptage peut être trouvée dans les documents suivants:

  1. GOST 28147-89. Système de traitement d'informations. Protection cryptographique. Algorithme de transformation cryptographique. - M.: GosStandart de l'URSS, 1989.
  2. AES Algorithme: http://www.nist.gov/ae.
  3. L'algorithme RSA: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1.

Durée de vie de l'information

§ Lors de l'interception d'un message crypté pour certains types d'algorithmes de cryptage, vous pouvez calculer la fréquence de l'apparence de certains caractères et les comparer à des probabilités de l'apparence de certains caractères ou de leurs combinaisons (biogrammes, trigrammes, etc.). Cela peut à son tour conduire à un déchiffrement sans ambiguïté (divulgation) des sections individuelles du message crypté.

§ Disponibilité de mots probables. Ce sont des mots ou des expressions, dont l'apparence peut être attendue dans le message intercepté (par exemple, pour le texte anglais - "et" "," "," sont ", etc.).

§ Il existe des méthodes qui vous permettent de faire des messages cryptés presque inappropriés pour l'analyse et l'analyse statistiques par des mots probables. Ceux-ci incluent ce qui suit.

§ La diffusion.L'effet d'un symbole de message ouvert est distribué à un ensemble de caractères de message cryptés. Cette méthode, bien qu'elle entraîne une augmentation du nombre d'erreurs lors du décodage, il est toutefois possible de masquer la structure statistique du message ouvert.

§ Confusion.Développement du principe de dispersion. Il a pour effet d'un seul symbole de clé s'étend à une pluralité de caractères cryptés.

messages.

§ Mélange.Il est basé sur l'utilisation de transformations spécifiques du message source, à la suite de laquelle les séquences probables sont dispersées dans l'espace des messages ouverts possibles. Le développement de cette méthode était l'utilisation d'algorithmes de cryptage composites constitués d'une séquence de simples opérations de permutation et de substitution.

Des exemples des méthodes décrites sont les normes du cryptage des et de la GOST 28147-89.

Il existe deux types principaux d'algorithmes de cryptage:

§ algorithmes de cryptage symétrique;

§ Algorithmes pour cryptage asymétrique.

Cryptage symétrique.

Les algorithmes du cryptage symétrique sont basés sur le fait que, pour que le cryptage du message, et que pour son décryptage soit utilisé la même clé (Total) (Fig. 1).

L'un des principaux avantages des méthodes symétriques est la vitesse du cryptage et du déchiffrement, et l'inconvénient principal est la nécessité de transmettre la clé secrète au destinataire.



Inévitablement, le problème se pose: comment transférer la clé et en même temps ne permet pas aux attaquants de l'intercepter.

Avantages de la cryptographie Avec des clés symétriques:

· Haute performance.

· Haute résistance.Conditions de rechange, la stabilité de l'algorithme cryptographique est déterminée par la longueur de la clé. Avec une longueur de clé de 256 bits, il est nécessaire de produire 10 77 surgrows pour le déterminer.

Inconvénients de la cryptographie avec des clés symétriques.

§ Le problème de la distribution des clés.Étant donné que la même clé est utilisée pour le cryptage et le décryptage, des mécanismes très fiables sont nécessaires à la distribution (transmission).

§ Évolutivité.Depuis l'expéditeur, et le destinataire utilise une seule touche, le nombre de clés nécessaires augmente de la progression géométrique, en fonction du nombre de participants à la communication. Pour échanger des messages entre 10 utilisateurs, vous devez avoir 45 clés et pour 1000 utilisateurs - déjà 499 500.

§ Utilisation limitée.Une cryptographie de clé secrète est utilisée pour chiffrer les données et leur restreindre l'accès, il est impossible de fournir de telles propriétés d'informations comme authenticité et

non-courant.

Cryptage asymétrique

Algorithmes de cryptage asymétriques (cryptographie avec clés ouvertes) impliquent l'utilisation de deux clés. Première clé - ouvert.Il applique complètement librement, sans précaution. Deuxième, ferméla clé est gardée secrète.

Tout message crypté à l'aide de l'une de ces touches ne peut être déchiffré que sur une clé de la clé. En règle générale, l'expéditeur du message bénéficie de la clé ouverte du destinataire et le destinataire est sa clé fermée personnelle.

Dans le schéma de transmission asymétrique des messages cryptés, les deux clés sont dérivées d'une seule génération la clef maitresse.Lorsque deux touches sont formées sur la base d'une, elles dépendent du sens mathématique, mais en raison de la complexité de calcul, aucun d'entre eux ne peut être calculé sur la base de l'autre. Une fois que les deux touches sont formées (et ouvertes et personnelles, fermées), la clé principale est détruite et toute tentative de restaurer les valeurs des clés dérivées à l'avenir.

Le schéma asymétrique est parfaitement combiné à l'aide de réseaux de messagerie disponible publiquement (par exemple, Internet). Tout abonné réseau peut complètement transmettre librement la clé publique à son partenaire de négociation et le dernier, comme émetteur du message, utilisera cette clé lors du cryptage d'un message envoyé (fig. 2). Ce message peut déchiffrer votre clé personnelle uniquement le destinataire du message qui a envoyé la clé ouverte correspondante avant. L'attaquant, intercepté une telle clé, sera en mesure de l'utiliser uniquement dans le seul but - de transmettre tout message crypté au bon propriétaire.

L'inconvénient du schéma asymétrique est passé de temps élevé sur le cryptage et le décodage, ce qui ne leur permet pas de les utiliser pour l'échange opérationnel de messages approfondis en mode dialogue. La mise en œuvre des méthodes de cryptage asymétrique nécessite du temps de processeur élevé. Par conséquent, sous sa forme pure, la cryptographie avec des clés ouvertes dans la pratique mondiale n'est généralement pas appliquée.



Figure. 2. Schéma de cryptage asymétrique

Il est impossible de comparer que des algorithmes de cryptage mieux symétrique ou asymétrique. Il est à noter que des algorithmes cryptographiques symétriques ont une plus petite longueur de clé et travaillent plus rapidement.

La cryptographie avec secrète et cryptographie avec des clés open est conçue pour résoudre des problèmes absolument différents. Les algorithmes symétriques conviennent bien au cryptage des données, asymétriques sont mises en œuvre dans la plupart des protocoles cryptographiques de réseau.

Les méthodes combinant les avantages des deux régimes ont reçu le plus répandu. Le principe de fonctionnement des schémas combinés est qu'une clé symétrique (session) est générée pour la prochaine session de messagerie. Cette clé est ensuite cryptée et envoyée à l'aide d'un schéma asymétrique. Après avoir terminé la session de négociation en cours, la clé symétrique est détruite.

C'est souvent une question: quel type de cryptage Wi-Fi à sélectionner pour un routeur à domicile. Cela semblerait inflex, mais avec des paramètres incorrects, au réseau, et la transmission d'informations sur un câble Ethernet peut survenir.

Par conséquent, nous examinerons ici quel type de chiffrement de données Soutien aux routeurs WiFi modernes et le type de cryptage AES diffère du populaire WPA et WPA2.

Type de cryptage réseau sans fil: Comment choisir un moyen de protéger?

Donc, il y a 3 types de cryptage:

  1. 1. Cryptage WEP

Le type de cryptage WEP est apparu dans les distances 90 et a été la première option de protection des réseaux Wi-Fi: il a été positionné en tant que cryptage analogique dans des réseaux câblés et utilisé sur le chiffrement RC4. Il y avait trois algorithmes de cryptage de données transmises communes - Neesus, Apple et MD5 - mais chacun d'entre eux n'a pas fourni de niveau de sécurité approprié. En 2004, IEEE a annoncé la norme obsolète en raison du fait qu'il a finalement cessé d'assurer la sécurité de la connexion au réseau. Pour le moment, ce type de cryptage pour WiFi n'est pas recommandé, car Ce n'est pas crypté.

  1. 2. Wps. - Il s'agit d'une norme qui ne prévoit pas d'utilisation. Pour vous connecter au routeur, il suffit de simplement cliquer sur le bouton correspondant, que nous avons dit en détail dans l'article.

Théoriquement WPS vous permet de vous connecter au point d'accès sur le code à huit chiffres, mais seulement quatre suffisent souvent dans la pratique.

Ces faits sont utilisés silencieusement par de nombreux pirates informatiques, qui sont rapidement (pendant 3 à 15 heures) WIP WIFI Networks, il n'est donc pas recommandé d'utiliser ce composé.

  1. 3. Type de cryptage WPA / WPA2

Il y a beaucoup de meilleures choses avec le cryptage WPA. Au lieu d'un chiffrement vulnérable RC4, un cryptage AES est utilisé ici, où la longueur du mot de passe est une valeur arbitraire (8 à 63 bits). Ce type de cryptage fournit un niveau de sécurité normal et convient parfaitement aux routeurs WiFi simples. Dans le même temps, il existe deux types de ses variétés:

Type PSK (clé pré-partagée) - Connexion à un point d'accès est effectuée à l'aide d'un mot de passe prédéterminé.
- Enterprise - Le mot de passe de chaque nœud est généré automatiquement avec la vérification du serveur Radius.

Le type de cryptage WPA2 est une continuation de la WPA avec des améliorations de sécurité. Dans ce protocole, RSN est utilisé, qui est basé sur le cryptage AES.

Comme avec le cryptage WPA, le type WPA2 dispose de deux modes de fonctionnement: PSK et Enterprise.

Depuis 2006, le type de cryptage WPA2 est pris en charge par tous les équipements Wi-Fi, la GEO correspondante peut être sélectionnée pour n'importe quel routeur.

Avantages du cryptage WPA2 avant WPA:

La génération de clé de cryptage se produit pendant la connexion au routeur (au lieu de statique);
- Utilisation de l'algorithme Michael pour surveiller l'intégrité des messages transmis
- L'utilisation du vecteur d'initialisation est significativement plus longue.
De plus, le type de connexion Wi-Fi de chiffrement est de choisir en fonction de l'endroit où votre routeur est utilisé:

Cryptage WeP, TKIP et CKIP ne doivent pas être utilisés du tout;

Pour un point d'accès à la maison, WPA / WPA2 PSK convient parfaitement;

Car cela vaut la peine de choisir l'entreprise WPA / WPA2.

Peu de gens savent comment travailler un cryptage asymétrique. Par exemple, il y a des personnes qui ne considèrent pas le protocole HTTPS d'une protection adéquate des données transmises. Et en règle générale, tenter de convaincre dans le contraire, ils répondent à quelque chose dans l'Esprit "si nous transmettons des données cryptées, nous devons dire comment les déchiffrer et ces informations peuvent être interceptées et, par conséquent, déchiffrer les données." Et sur les arguments que cela ne constitue pas un cryptage asymétrique, la réponse "Alors quoi?".

Eh bien, je comprends, vous devez connaître toutes les subtilités de la mise en œuvre d'un cryptage asymétrique. Mais le principe général du travail, je pense, devrait connaître quiconque est en quelque sorte relié aux ordinateurs.

Je veux faire l'essence de ce post dans cette annotation: rappelez-vous, création de cryptage asymétriqueNaturellement, lors de toutes les conditions. Et pour le prouver, je vais essayer de décrire l'algorithme de la langue compréhensible afin que tout le monde puisse comprendre que c'est sûr. Rencontrez Alice, Bob et Eve et le transfert de leur rapport secret sous la coupe.

Au fait pourquoi Alice et Bob? Il y a un bref article sur Wikipedia: Alice, Bob et Eve. Pour être plus clair, Alice et Bob veulent échanger des messages et EVA tente d'intercepter et de lire ces messages.

Un peu d'histoire

La cryptographie des siècles passés avait un problème énorme - le problème de la transmission des clés. À cette époque, seuls les ciphers dites «symétriques» existaient - ciffs dans lesquels les données sont cryptées et déchiffrées par la même clé.

Par exemple, Alice a crypté un message et veut l'envoyer à Bob. Naturellement, le Bob a lu, il a besoin de la clé sur laquelle ce message a été crypté. Et puis le problème se pose, comment transférer la clé de sorte que personne ne puisse l'intercepter. Les esprits curieux seront proposés - laissez-les passer à une réunion personnelle, puis communiquer autant qu'ils le souhaitent. Oui, je ne discute pas, sortie. Et maintenant, imaginez une seconde que votre courrier Internet avant de vous connecter elle nécessitera votre voyage à l'emplacement physique du serveur avec courrier. Commodément? Peut-être pas très.

Bien sûr, la clé peut être transmise sur un autre canal de communication. Mais la cryptographie envisage de tous les canaux de communication non protégés comme dangereux. C'est-à-dire que la transmission de la clé de Bob sur le téléphone, par exemple, est considérée comme dangereuse car rien n'empêche Eve à écouter et au téléphone, y compris.

Jusqu'en 70 ans, ce problème était si familier que l'axiome a été considéré comme le fait qu'il est nécessaire de transférer la clé pour transmettre le message et la clé à laquelle le message est crypté (et certaines personnes considèrent toujours de cette façon). Mais en 76, Diffi et Hellman ont offert leur "méthode d'échange exponentiel de clés". À partir de ces années, le développement de cryptosystèmes asymétriques a commencé.

Une petite vie réelle

Avant d'étudier un algorithme, vous devez imaginer comment cela fonctionne. Et le moyen le plus simple est de le comparer avec le travail de quelque chose en réalité.

Imaginez qu'Alice et Bob vivent dans le pays dans lequel tout le système postal est absolument immoral et les employés postaux ont lu toute correspondance non protégée. Alice, la fille n'est pas stupide avant d'envoyer un message Bob, a pris la boîte de fer et en mettant la lettre à l'intérieur et la fermant sur son château, envoie cette boîte à Bob.

Naturellement, vous ne pouvez pas lire cette lettre par la poste, mais le Bob lui-même ne peut pas le lire, car il n'a aucune clé à laquelle le château est fermé. Alice, bien sûr, peut prendre une autre boîte de fer, mettre la clé de la précédente dedans et l'envoyer à Bob, mais son Bob peut également ouvrir ...

La seule façon est de faire une clé en double et de le donner à Bob lors d'une réunion personnelle ...

Et maintenant, il commence à sembler être l'échange de clés est la partie inévitable du cryptage - ou toujours pas?

Imaginez une autre photo. Pas malade à l'étape:

  1. Alice met sa lettre à la boîte de fer et l'a enfermée au château, envoie Bob.
  2. Bob lors de la réception d'une boîte, (ATTENTION!) Prend son château et, en outre, les enfermine la boîte, renvoie.
  3. Alice Box vient déjà avec deux châteaux (je vous rappelle le premier château d'Alice à partir duquel elle a une clé, et avec le second - Bob, d'où il n'ya que la clé de Bob).
  4. Alice élimine son château et envoie une boîte à dos Bob
  5. Bob vient une boîte avec déjà l'un de son château dont il a une clé
  6. Bob déverrouille son château restant avec sa clé et lit un message

La valeur de cette brève histoire est énorme. Il montre que deux personnes peuvent transmettre un message secret sans partager des clés. Pensez à bien! Cette histoire ruine réellement tous les axiomes sur lesquels la cryptographie alors a été construite. Oui, nous obtenons des complications du processus (la boîte devait être envoyée trois fois), mais le résultat ...

Revenons à la cryptographie

Il semblerait que la solution ait été trouvée. L'expéditeur et la réception cryptent son message, puis les interlocuteurs suppriment alternativement leur chiffrement.


Mais le point est qu'il n'ya pas de chiffres de ce type qui permettrait d'éliminer le chiffre sous un autre chiffrement. C'est-à-dire que l'étape où Alice élimine son chiffrement est impossible:


Malheureusement, tous les algorithmes existants nécessitent toujours la suppression des chiffres dans la file d'attente dans laquelle ils ont été appliqués. J'ai peur de l'appeler un axiome (puisque l'histoire connaît déjà les cas lorsque de tels axiomes étaient brisés dans le peluche et la poussière), mais c'est toujours jusqu'à présent.

Revenons en mathématiques

L'idée avec la boîte, que j'ai décrite ci-dessus, a inspiré Diffi et Hellman à demander un moyen de transférer le message. En fin de compte, ils sont arrivés à l'utilisation de caractéristiques unilatérales.

Quelle est la fonction unilatérale? Par exemple, il y a une fonction de doublement, c'est-à-dire double (4) \u003d 8, c'est bidirectionnel, parce que À partir du résultat 8, il est facile d'obtenir la valeur d'origine 4. Fonction à sens unique - la fonction après l'utilisation est presque impossible d'obtenir la valeur d'origine. Par exemple, le mélange de peinture jaune et bleue est un exemple de fonction unilatérale. Mélange les facilement, mais récupérer des composants source - impossible. Une de ces fonctions en mathématiques - calcul du module.

Comme la base de l'algorithme Hellman a offert une fonction Y x (mod p). La transformation inverse pour une telle fonction est très difficile et nous pouvons dire que, en fait, est en toute intégrité des valeurs initiales.

Par exemple, on vous a dit que 5 x (MOD 7) \u003d 2, essayez de trouver x., mais? Trouvé? Et maintenant, imaginez que pour Y et P, des chiffres d'environ 10 300 sont pris.

Au fait, pour augmenter la résistance, le nombre P. doit être un nombre simple, et Y. - être une racine principale du module P.. Mais puisque nous essayons toujours de comprendre la théorie, je ne vois pas le point de déranger à ce sujet.

Algorithme diffa helmana

Et une fois que Hellman peint et il a été capable de développer un algorithme d'échange de clé de travail. Pour travailler sur cet algorithme, vous devez effectuer des étapes des deux côtés, alors je l'esquisse dans la table:

Alice Haricot
Étape 1. Les deux participants négocient les significations Y. et P. Pour une fonction unilatérale commune. Cette information n'est pas un secret. Supposons que les valeurs soient sélectionnées 7 et 11 . La fonction globale ressemblera à ceci: 7 x (MOD 11)
Étape 2. Alice choisit un nombre aléatoire, par exemple 3 UNE. Bob choisit un nombre aléatoire, par exemple 6 , le maintient secret, le dénotant comme un nombre B.
Étape 3. Alice substitue le nombre UNE. 7 3 (MOD 11) \u003d 343 (MOD 11) \u003d 2 uNE. Bob substitue le nombre B. La fonction globale calcule le résultat 7 6 (MOD 11) \u003d 117649 (MOD 11) \u003d 4 , dénote le résultat de ce calcul comme un nombre b.
Étape 4. Alice transmet le nombre uNE. Bob BOB transfère le nombre b. Alice
Étape 5. Alice obtient b. de Bob, et calcule la valeur b A (MOD 11) \u003d 4 3 (MOD 11) \u003d 64 (MOD 11) \u003d 9 Bob obtient uNE. d'Alice et calcule la valeur a b (mod 11) \u003d 2 6 (MOD 11) \u003d 64 (MOD 11) \u003d 9
Étape 6. Les deux participants ont finalement obtenu le numéro 9 . Ce sera la clé.

La magie? Je ne discute pas, au premier abord, c'est incompréhensible. Mais après avoir lu et réfléchi à cette table, il devient clair comment cela fonctionne. Cependant, s'il n'a pas compris, faites défiler la fin du chapitre, j'ai posté une vidéo explicative.

Et veuillez noter que pour obtenir la clé de la formule finale, toute personne doit avoir trois significations:

  • Valeurs uNE. et P.et numéro secret Bob B.
  • ou des significations b. et P.et le numéro secret d'Alice UNE.

Mais les numéros secrets sur la chaîne ne sont pas transmis! Eve n'arrivera pas à restaurer la clé, sans le numéro secret de personne. Pourquoi - j'ai écrit ci-dessus, cette fonction est unilatérale. Essayez de résoudre l'équation 4 x (MOD 11) \u003d 2 Y (MOD 11) trouvé x. et y..

Pour que ce soit plus clair, comment fonctionne le schéma Hellman, imaginez un chiffre dans lequel la couleur est utilisée en quelque sorte comme une clé:

Supposons d'abord que tout le monde, y compris Alice, Boba et Eve, a une banque de trois litres, dans laquelle un litre de peinture jaune est versé. Si Alice et Bob veulent d'accord sur une clé secrète, ils ajoutent à leurs banques un litre leur propre peinture secrète.

Alice peut ajouter de la teinte violette de peinture et Bob Framboise. Après cela, chacun envoie son pot avec un contenu mixte à l'autre.

Enfin, Alice prend un mélange de Bob et versé un litre de sa peinture secrète, et Bob prend un mélange d'Alice et ajoute un litre à sa peinture secrète. La peinture dans les deux banques deviendra maintenant une couleur, car chacune est située à un litre de peinture jaune, violette et framboise.

C'est cette couleur qui a obtenu lors de l'ajout de deux fois dans les boîtes de peinture et sera utilisée comme une clé. Alice n'a aucune idée du type de Bob ajouté et le Bob ne représente pas non plus, quelle peinture a versé Alice, mais les deux ont atteint le même résultat.

Pendant ce temps, Eva est furieux. Même s'il est capable d'intercepter les canettes avec un produit intermédiaire, il ne sera pas en mesure de déterminer la couleur finale, qui sera une clé cohérente. La veille peut voir la couleur de la peinture obtenue lors de la remue de la peinture jaune et de la peinture secrète Alice dans la banque envoyée par Bob, et elle peut voir la couleur de la peinture obtenue lors de la brassole avec une peinture jaune et une peinture secrète Bob dans une banque envoyée par Alice, mais pour trouver la clé, elle est en fait nécessaire de connaître les couleurs des peintures secrètes d'origine d'Alice et Bob. Cependant, compte tenu des banques avec des peintures mixtes, Eve ne sera pas en mesure de déterminer les peintures secrètes d'Alice et Bob. Même si cela prend un échantillon de l'une des peintures mélangées, il ne pourra pas la diviser en une peinture source pour trouver le secret, car le mélange de peinture est une fonction unilatérale.

N'est-ce pas clair? Ensuite, regardez la vidéo:

Eh bien, j'espère que vous réaliserez qu'il existe une très réelle façon d'échanger en toute sécurité des clés. Mais je vous demande de remarquer que cet algorithme asymétrique Cipher ne peut pas encore, comme en fait, il s'agit simplement d'un algorithme de partage des clés.

Cryptage asymétrique

l'algorithme asymétrique suppose la présence de deux clés - publique et privée. C'est-à-dire que le message est crypté par une clé publique, mais est déchiffré par privé et non autrement. En fait, ce concept a été formulé par DIFFE.

En général, l'essence de cet algorithme est que la partie recevant avant d'accepter le message génère une paire de clés basée sur l'algorithme arithmétique modulaire (le principe est le même que dans l'algorithme Diffa Hellman), la clé privée et publique réelle. L'expéditeur avant expédition reçoit une clé publique et crypte le message avec cette clé, après quoi ce message peut être déchiffré uniquement par une clé privée, qui est stockée dans la sélection par la partie destinataire.


Si vous revenez à l'analogie avec des verrous, le cryptage clé open peut être imaginé comme suit:

Toute personne est capable de localiser le château, il suffit de rentrer pour qu'il ferme, mais un seul qui a une clé peut le déverrouiller. Verrouillez facilement le verrouillage (cryptage), presque tout le monde peut le faire, mais l'ouvrir (Decipheering) a la capacité de ne faire que le propriétaire de la clé. Comprendre comment verrouiller le château de sorte qu'il ferme, rien ne vous indiquera comment le déverrouiller.

Vous pouvez passer une analogie plus profonde.

Imaginez que Alice conçoit la serrure et la clé. Elle garda la clé de la vigueur, mais en même temps, des milliers de doublons des châteaux sont fabriqués et les envoyant à des bureaux de poste dans le monde entier. Si Bob veut envoyer un message, il le met dans une boîte, va au bureau de poste local, demande à "Alice Castle" et à les enfermer la boîte. Maintenant, il ne pourra pas ouvrir la boîte, mais lorsque la boîte reçoive Alice, elle pourra l'ouvrir avec sa seule clé.

Verrouiller et claquer pour être fermé, équivalent à une touche commune pour chiffrer, car tout le monde a accès à des verrous et tout le monde peut utiliser le verrou pour fermer le message dans la case. La clé de la serrure est équivalente à une clé secrète pour le déchiffrement, car elle n'est disponible que par Alice, elle ne peut ouvrir la serrure et seulement elle peut accéder au message dans la case.

Plusieurs algorithmes mettent en œuvre un cryptage asymétrique. Les plus célèbres d'entre eux sont RSA. Je ne vois pas son sens pour peindre, car il ne marchera pas comment cela fonctionne de toute façon, et c'est mieux ce qu'il est écrit sur la Wikipedia, je ne peux pas écrire de toute façon.

Conclusion

Eh bien, j'espère que, en réalisant comment le cryptage asymétrique des œuvres intérieures, vous deviendrez plus de confiance et, en conséquence, utilisez SSL \u003d)

Les matériaux du livre Singh Simon - le Livre des Ciffre. Au fait, le meilleur livre pour ceux qui veulent comprendre au moins la cryptographie. Je conseille à tout le monde de lire.

  1. lA TÉLÉ.

    Sélection d'une telle clé, vous prendrez beaucoup de temps. Un peu plus que l'univers. Même sur des ordinateurs très puissants.

  2. Igor

    Pourquoi avez-vous besoin de ce non-sens avec des clés ouvertes? Religieux symétrique.
    Bonne journée!
    Un bon site, il est clairement décrit par le matériel, merci beaucoup à l'auteur. Il est venu ici par hasard en septembre, lorsque je cherchais des informations sur le cryptage pratique.
    J'écris parce que je veux demander: il souhaite savoir comment trouver des chiffres pour un cryptage symétrique? Je peux enseigner sur les doigts comment vérifier rapidement le nombre P à la simplicité (sans rechercher le nombre g) - mais il est peu probable qu'il soit intéressant. Le plus intéressant:
    Trouvez le nombre R de n'importe quelle longueur et nombre g à celui-ci. N ° 2 dans le degré N plus un (ou moins) en même temps, ne l'utilisez pas. Naturellement, c'est gratuit. Il y a même un site web où j'ai posté mon travail.

  • Olya Petrovich

    Je comprends que beaucoup de temps passèrent, mais je vais toujours répondre pour la même chose que je suis de nouveaux lecteurs.

    Cela ne fonctionnera pas, car Après les actions 2 et 3, nous voyons la différence sur laquelle le nombre de chaque blocs a changé, nous devenons donc un nombre évident secret de Bob et qu'il ne reste plus qu'à intercepter le message après la 4ème action (c'est-à-dire sans chiffrement Alice) et Profitez du numéro américain Bob.

  • Evgeny

    Merci beaucoup pour l'article!
    Après avoir lu, presque tout est tombé sur leurs étagères, a gagné une structure facile à construire.
    Avoir une telle structure est facile à générer les bonnes questions (l'étagère des attaques de MITM, grâce à Mikhail :)).

    Du point de vue de la pédagogie, vous avez tout fait parfaitement. Je pense que vous avez raison pour que les attaques de MITM n'ont pas ajouté à cet article autrement, il y aurait un aperçu des informations.

    Adorable vidéo, en particulier compte tenu de son âge.

    PS: Utiliser une métaphore pour expliquer les systèmes "complexes" pour être honnête difficile à surestimer. Merci encore!

  • dbzix.

    De cet article, je n'ai pas saisi le moment de la transition de l'algorithme Diffa Hellman, où deux abonnés à recevoir une clé de clé secrète des données publiques et des résultats intermédiaires des calculs (dans l'exemple, il s'est avéré autant que 6 étapes) à la Étape où une certaine clé publique est utilisée pour le cryptage. Diffrigtion utilisant privé (i ici n'a que 2 phases de transfert de données - envoyant une clé publique et envoyer un message crypté crypté par cette clé).
    Ceux. Je comprends que quelque part entre ces deux explications réside certainement beaucoup de mathématiques et, par conséquent, l'explication revient à "cela fonctionne exactement de cette façon, croyez simplement". Mais il serait probablement plus facile de comprendre cette transition soudaine si une analogie avec des peintures a été distribuée à une explication de l'essence du cryptage avec une clé publique avec le déchiffrement ultérieur du privé. Entre-temps, il s'avère que "B ça fonctionne car - comme", tandis qu'entre A et B n'est pas tracé. Au moins pour moi.
    Cher auteur, ne vous expliqueras pas si merci ce saut mystique d'un k b? :) Merci!

  • Evgeny

    Bonne journée,

    Il est donné: il y a une formule y ^ x (mod p).
    Un exemple dans l'article est basé sur la formule 7 ^ x (MOD 11)

    j'ai pris pour mon exemple 4 ^ x (Mod 7)
    Et je ne pouvais pas venir à une clé commune.
    Question: Pourquoi l'algorithme de l'exemple fonctionne-t-il pour 7 ^ x (MOD 11) et ne fonctionne pas pour 4 ^ x (MOD 7)?

  • Jessi-Jane
  • Andrew

    Merci, l'article est génial!
    Seulement je n'ai pas compris l'algorithme légèrement, dans la façon de calculer par le module.
    Ne me dis pas comment calculer le numéro dans si le numéro est inférieur au module?
    Eh bien, par exemple:
    3 (mod 13) \u003d?

    Je sais que si, par exemple, vous devez calculer 625 (MOD 13), vous devez 625/13, puis le plus grand diviseur total possible (48) multiplié au module (qui sera 624) et enfin 625- 624 \u003d 1
    Numéros 625 et 1 module comparable 13, comme 624 sont divisés en 13.
    C'est ce que je comprends. Mais comment être si le module est supérieur à tout?

  • Horreur jaune

    1. Attaquez «homme au milieu», c'est un problème grave. Pour autant que je puisse juger, dans le cadre de la cryptographie seule, il n'est pas résolu en principe: si nous supposons que EVA est capable d'intercepter et de remplacer imperceptiblement toutes les données venant à Alice ou en émanant d'elle sur tout canal de communication, non Le cryptage aidera. Au moins un certificat doit être obtenu par Alice d'une source absolument fiable. Mais dans le cas où l'attaquant ne peut écouter que le canal de communication et ne pas modifier les données de l'information, le cryptage asymétrique est assez fiable.
    2. En ce qui concerne la capacité de retirer une "couche de chiffrement" de l'autre, cette propriété a une fonction XOR banale, largement utilisée dans la cryptographie des temps anciens à ce jour. Je ne pense pas que cela puisse être breveté: (

    1. Dmitry Amirov Auteur

      Oui, vous avez raison, l'attaque Mitm aujourd'hui n'est pas résolue s'il y a un paranoïaque absolu. S'ils n'ont pas quelque chose avec des certificats et des signatures fournissent une protection «nécessaire et suffisante».

      Quant à la fonction XOR - il est difficile de nommer le chiffre, car Ils sont dans son essence ne l'est pas.

      1. Horreur jaune

        Allez? Googling sur "CIFRA VERNAMA". Ceci est un système de messagerie avec absolu Résistance à la crypto. Et il est basé sur xor. Si vous laissez des difficultés organisationnelles de côté (la création de clés véritablement aléatoires avec une distribution uniforme, la préservation du secret de la cipline dans l'environnement hostile et la destruction fiable des clés utilisées), rien de plus simple et de l'humanité religieuse n'a pas encore inventé .

      2. Horreur jaune

        Bien que, en bonne réflexion, j'ai réalisé que la méthode avec un cryptage double réversible ne fonctionne pas si l'attaquant connaît l'algorithme de cryptage. Considérons l'exemple des idées de Mikhail:

        1. Nous divisons les informations cryptées en blocs. Chaque bloc est représenté par un nombre. La taille du bloc (nombre de bits) détermine le nombre de valeurs possibles du bloc et (respectivement?) Résistance au cryptage.
        2. Alice pour chiffrer le message Sélectionne un numéro secret (qui n'envoie à personne), ce qui ajoute à chacun des chiffres en blocs et envoie le message BOB crypté de cette manière.

        Jusqu'à présent, tout est en ordre: Eva ne peut pas lire le message Alice, car Ne connaît pas la clé. Si les blocs sont suffisamment grands, l'Alice est difficile à restaurer le message et si le bloc est plus long que le message et la touche n'a pas de vulnérabilités - c'est impossible. Mais Eve peut copier le ciicherogramme d'Alice et le fait-il.

        3. Bob accepte un message crypté, sélectionne son numéro secret (qui n'envoie pas non plus personne), ajoute ce numéro à chacun des chiffres dans les blocs de l'alice crypté du message et l'envoie un message à double cryptage Alice.

        Et ici, les problèmes commencent déjà: Eva ne peut toujours pas lire le message Alice, mais avoir une copie du bob Bob reçu de chiffrement et le double cryptage l'a envoyé, il restaure sans problèmes clé Bob.

        4. Alice déduit son numéro secret de chaque numéro dans les blocs de ce double message crypté et envoie le message résultant à Bob.

        Alice a enlevé sa "couche" du chiffre et transfère désormais Bob sa lettre cryptée uniquement par la clé de Bob. Quel Eva est déjà là! Eva décrypte la lettre et le lit, et au cas où il peut restaurer la clé d'Alice, en utilisant le texte déchiffré de la lettre et le premier cipogramme l'a interceptée.

  • Dmitriy.

    Salut. Bon article, mais je n'ai pas non plus compris certains moments décrits ci-dessus.
    Il s'agit de la transition de l'algorithme pour obtenir une clé secrète avec les deux interlocuteurs (Alice et Bob) (sans disposition dans l'accès public) au cryptage asymétrique.
    Vous avez écrit que le message est codé sur le côté de Alice par la clé publique obtenue de Bob. Mais si nous chiffrions la clé publique, alors Eva peut facilement l'obtenir et la déchiffrer lui-même, non?
    Même pour moi, il reste incompréhensible comment vous pouvez crypter la clé publique et déchiffrer seul Secret sur le côté de Bob. C'est-à-dire crypté le mot "maison", mais déchiffré par le mot "monde". Pour moi, c'est une sorte d'échec de moi.
    Sur la base de ces lacunes évidentes (ou de vous, ou avec moi), j'ai conclu que le régime devrait être plus compliqué que dans l'image. Très probablement, sous la flèche de la clé publique, Bob à Alisa se réfère à l'autre, à savoir toute la séquence d'actions pour obtenir "Y" et "P", obtenir des résultats intermédiaires, etc. En d'autres termes, je pense que lorsqu'il est crypté le message source est censé une clé publique, est en fait crypté non public, mais déjà secret, ce qui est calculé de chaque côté séparément.

    J'ai aussi eu une question sur le déchiffrement deux fois le message crypté. Si vous prenez, disons, César Cipher, où chaque lettre est cryptée par une autre lettre debout, disons, sur 3 positions. Si Alice crypte la lettre A dans le message de la lettre B, puis Bob crypte cette lettre B lettrage, puis obtenir la lettre et de g serait simple et dans n'importe quel ordre. Certes, il ne fonctionnera probablement que dans les cas où les deux connaissent tous les deux le type de châssis de la chebracée d'interlocuteur et avec un type de cryptage suffisamment simple (mono alphabétique / polyalphalot). Je suis aussi novice en cryptographie, c'est donc mon IMHO;)

    1. Dmitriy.

      J'ai oublié de demander encore.
      Quelle est la différence entre les manières symétriques et asymétriques?

      1. Dmitriy.

        J'ai lu, plus ou moins corrigé tout dans l'esprit.
        Je vais me répondre aux questions écrites, il peut être possible d'aider ainsi d'autres lecteurs.
        1. À propos

        Vous avez écrit que le message est codé sur le côté de Alice par la clé publique obtenue de Bob. Mais si nous chiffrions la clé publique, alors Eva peut facilement l'obtenir et la déchiffrer lui-même, non?
        Même pour moi, il reste incompréhensible, car vous pouvez crypter une clé publique et déchiffrer uniquement le secret du côté de Bob. C'est-à-dire crypté le mot "maison", mais déchiffré par le mot "monde". Pour moi, c'est une sorte d'échec de moi.

        Cet article fait référence à l'algorithme RSA. Algorithme de cryptage symétrique. L'algorithme suivant est vraiment utilisé:
        1) S'appuyant sur une certaine fonction de cryptage unilatéral (une fonction facile à calculer dans une direction, mais elle est très difficile à une autre. A) Nous créons une paire sur le destinataire (clé publique; clé privée). Cette paire est unique, c'est-à-dire que chaque clé ouverte correspond à une clé fermée unique sous cette fonction unilatérale.

        3) L'expéditeur crypte le message
        4) transmet au destinataire

        Comme vous pouvez le constater, l'expéditeur ne connaît pas la clé fermée et il n'est pas capable de décrypter son propre message crypté. Par conséquent, il est appelé asymétrique que l'on a toutes les clés, et l'autre n'est que la partie nécessaire pour le cryptage.

        Quelle est la différence entre les manières symétriques et asymétriques?
        Si j'ai utilisé l'algorithme diffi et Helmana pour transférer la clé secrète, puis a été capable de transférer le message crypté en toute sécurité, cette méthode serait-elle symétrique?

        Algorithme deffi helman, qui sert à échanger des clés et de cryptage symétrique supplémentaire. C'est-à-dire que c'est le fait que les deux d'abord obtiennent une clé complète pour le cryptage et le décryptage, puis commencer le cryptage symétrique le plus courant.

        Méthode asymétrique - Un nœud a toutes les informations pour le chiffrement. / DecripR., Et une autre, en règle générale, uniquement pour les châtiers de la mousseline.

        Symmetric - Les deux nœuds connaissent toutes les informations du chiffre. / Decripon.

        J'espère que quelqu'un a aidé; 3

        1. Dmitriy.

          Cet article fait référence à l'algorithme RSA. Algorithme Cryptage asymétrique Scellé.

        2. Dmitry Amirov Auteur

          GM ... tout simplement remarqué vos commentaires. Je m'excuse.

          Tout semble vrai. Il y a une chose à propos de votre dernier paragraphe et spécifiquement les termes:

          • Algorithme deffi helman - est un algorithme qui vous permet d'obtenir une clé secrète courante et rien de plus
          • Cryptage assymétrique / symétrique - En général, vous allez bien
          • RSA. - Algorithme qui est une combinaison de ces choses. Sur les doigts: avec l'aide du cryptage Assimir via le protocole DEFFI-CAP, une clé secrète est installée avec laquelle les messages entre les interlocuteurs sont déjà cryptés par la méthode de cryptage symétrique.
        3. Dmitriy

          Je n'ai toujours pas compris la déclaration:
          2) La clé publique est transmise à l'expéditeur.
          3) L'expéditeur crypte le message
          4) transmet au destinataire
          5) Le destinataire décrypte avec une clé fermée. Ce message ne peut pas être déchiffré à l'aide d'une clé publique.

          Il s'avère que vous et melons dès le début. Je chiffrais le mot maison et le monde décrypte le mot. Cela signifie-t-il qu'il existe un autre algorithme d'un monde contraignant et de la maison entre eux?

  • Robert

    Merci beaucoup!!!

  • Roman

    Merci. J'ai finalement décidé de comprendre comment cela fonctionne et compris de cet article. Seulement, je crois, si les complices se connaissent et il est possible d'échanger des clés opençables en toute sécurité, alors cela vaut la peine de faire. Pour éliminer l'effet néfaste de l'apparence possible d'une personne au milieu lors de l'échange des clés, qui s'emporteront comme B et B comment et remplacer les clés à leur propre et parcourent toutes les informations à la fin.

    Et dans la vidéo, je pense, en vain, ils l'utilisent ici 3 ^ (24 * 54), car De tout, il n'est pas évident d'où il est venu, ou expliquerait qu'il est conditionnel.

  • Rinçage.

    Merci pour l'article. Tout est très accessible expliqué.

  • grigory.

    Eh bien, il agace toute cette analphabétisme de l'orthographe - "unilatéral", "appliqué", "long", comme si la 5e année. Et ainsi, ce n'est pas mauvais pour comprendre les bases.

  • grigory.

    Il arrive que la question soit simplement. Les virus chiffers utilisent une clé fermée. Il existe un fichier original, il y a un fichier crypté. Tâche: Trouvez l'algorithme, de dire de sorte que c'est à la recherche d'un algorithme pour convertir le premier fichier dans la seconde ...

  • Allexys

    Merci pour votre article compréhensible et non piété! Enfin, je conduisais dans les bases :).

  • Yaroslav

    Malheureusement, tous les algorithmes existants nécessitent toujours la suppression des chiffres dans la file d'attente dans laquelle ils ont été appliqués.

    Ce n'est pas tout à fait. Je vais donner un exemple:
    - Supposons que chaque lettre correspond au code numérique A \u003d 1, B \u003d 2, B \u003d 3, etc.;
    - Supposons que Alice envoie une lettre à Bob, consistant en une seule lettre A (pour simplifier l'exemple);

    Alice: impose son chiffrement A + 2 \u003d dans

    Bob: impose son chiffre dans + 3 \u003d e
    Bob: envoie une lettre Alice
    Alice: Supprime son chiffon E - 2 \u003d g
    Alice: envoie une lettre à Bob
    Bob: supprime son chiffre g - 3 \u003d a

    Voici le numéro 2 - la clé secrète d'Alice, 3 est la clé secrète de Bob. De plus, ce n'est peut-être pas seul. En principe, sa longueur n'est pas limitée.

  • Dmitriy

    J'ai oublié les fondements théoriques du cryptage asymétrique pendant une longue période. Il savait superficiellement - il y a une clé ouverte cryptée avec des données, et il y a une clôture, ce que ces données sont du décrylglage. Mais j'ai toujours tendu l'idée de mettre en œuvre un tel cryptage.
    Votre article a été largement aidé pour cela merci beaucoup!
    Seulement à sa fin, j'ai de nouveau vu cette nausécite - "crypté par une clé ouverte". Après tout, à proprement parler, le message n'est pas crypté par une clé ouverte, mais la clé obtenue sur la base de la clé fermée de l'expéditeur et de la clé publique du destinataire (qui, à son tour, a été générée sur la base de la clé fermée du destinataire). Après tout, dans la table d'Alice et de Bob - ils et seulement ils ont pu obtenir la même clé "9" - il est utilisé pour crypter et déchiffrer le message. Mais vous pouvez obtenir cette clé uniquement sur la base d'une paire de clés - Secret (Alice / Bob) et Public (Bob / Alice).
    Figuratif - Oui, le message est toujours crypté par la clé secrète de l'expéditeur (elle, à peine parlant, constant) et la clé publique du destinataire (cela dépend du destinataire spécifique), donc dans la description, le "secret" La clé est descendue - et cette omission rompt toute la légumineuse des arguments.

  • clarkson

    j'ai lu l'article et je n'ai pas vraiment compris, bien que cela soit meilleur que sur le wiki. Mais une chose n'est pas comprise que. Si le KTOT peut répondre correctement - aide.

    si j'envoie la question à tout le monde "combien de 2 + 2?", Je dis comment crypter la réponse à moi (je dis à chacun une clé publique) et tout le monde me dira la réponse à la question, comme je le reconnais À qui que j'attends une réponse, TOBTH TOGO avec qui je voulais établir une connexion en fait?

    1. Dmitry Amirov Auteur

      Ici vous faites une petite question incorrecte.

      Si vous devez établir une connexion avec quelqu'un, vous devez passer du contraire. Vous êtes connecté à l'interlocuteur et déjà il est Fournit sa clé publique, et pas vous.

      UPD: Publié par un article sur, je pense que ce sera la bonne réponse à votre question.

      1. clarkson

        avec ma stupidité devra être faite. Le sujet est divisé en commentaires et dans votre article, il semble que tous expliquent.

        encore. Pourquoi ai-je besoin de sa clé publique? Dis-moi si je ne comprends pas correctement.
        J'appuie (j'ai besoin de réponses, dans l'exemple I - la partie destinataire), puis une paire de génération. Ceci est responsable de lui (expéditeur dans votre exemple) j'ai besoin de mon public

        L'expéditeur avant l'expédition reçoit une clé publique et crypte le message par cette touche, après quoi ce message peut être déchiffré uniquement par une clé privée qui est maintenue secrète à la partie destinataire.

  • Être abattu

    Plusieurs fois, lisez cet article et d'autres sur le sujet, sont incompréhensibles à l'algorithme d'utilisation de EDS à El. Documents. Si depuis ici: https://ru.wikipedia.org/wiki/electronic_named, alors il y a des divergences. Donc, tous les mêmes chiffrer avec une clé fermée ou une ouverture?

    1. Dmitry Amirov Auteur

      Si nous souscrivons quelque chose, alors le formulaire de signature sur la base de notre clé fermée. Et notre clé publique devrait être au destinataire, en l'aide de celui-ci, il sera capable de déchiffrer cette signature.

      Si la signature a été "déchiffrée", la clé publique correspond à la fermeture et que Une clé fermée a priori est disponible uniquement par l'expéditeur, cela signifie que l'expéditeur a signé le document.

      1. Être abattu

        Dmitry, j'ai vraiment aidé votre article, vous avez un bon style. Mais il y a un moment incompréhensible, vous soutenez qu'un algorithme asymétrique implique en soi la présence de deux clés - publique et privée. C'est-à-dire que le message est crypté par la clé publique, mais est déchiffré par privé et de toute façon.

        Il peut être possible dans les tâches source, telles que le destinataire, vous devez authentifier le messager.
        Ensuite, je ne peux pas imaginer comment ce schéma peut aider?

        1. Dmitry Amirov Auteur

          C'est-à-dire que le message est crypté par la clé publique, mais est déchiffré par privé et de toute façon.

          Pas tout à fait juste. Le message est crypté avec une seule touche et est déchiffré par un autre. Ceux. Il est tout à fait possible de crypter de privé, mais de déchiffrer le public.

          Regardons l'exemple. Vous voulez m'envoyer un message, je veux m'assurer que vous l'avez envoyé exactement vous. Phased:
          1) Vous chiffrez le message par clé fermée
          2) envoyez-le-moi
          3) Je fais appel à vous et obtenez votre clé publique de votre part
          4) Message reçu décrypter votre clé publique
          5) Si le message a été déchiffré - cela signifie que vous êtes

          Personne d'autre ne peut envoyer ce message en vous introduisant, car il n'y a qu'une clé privée.

          1. Être abattu

            Ok, mais si vous avez besoin de vous cacher d'un œil curieux, un message?

  • Anya

    Bonne journée! L'article a aimé, mais il y avait des questions (même s'il y avait un couple similaire dans les commentaires, mais sans réponses).
    Si dans la deuxième partie de l'article est incroyable à l'analogie avec Alice et Bob, en particulier, aux nombres A, B, A, B, R et au nombre obtenu dans l'exemple 9, qui sera une clé fermée , et qu'est-ce qui est ouvert? Merci d'avance pour la réponse!

    1. Anya

      Ce n'est pas clair, mon commentaire est allé ou non :(

    2. Dmitry Amirov Auteur

      Il sera plus correct de dire que, dans le processus d'échange de données, Alice et Bob reçoit une clé commune 9 qui peut être utilisé pour chiffrer vos messages pour chiffrer vos messages. En substance, dans l'article, j'ai décrit non pas tout cryptage asymétrique en tant que tel, mais le protocole d'échange clé, qui a donné une impulsion au développement du cryptage asymétrique.
      L'algorithme de génération d'une clé privée / publique de paire est en fait un peu plus compliqué, bien qu'il soit similaire à l'algorithme ci-dessus, mais vaut toujours un article distinct. Dans le commentaire, je ne couperai pas ici pour venir ici, car je peux imaginer beaucoup.

  • Grincheux
  • Avez-vous aimé l'article? Partager avec des amis: