当前位置:网站首页>Motivation du Protocole de chiffrement avancé AES
Motivation du Protocole de chiffrement avancé AES
2022-07-02 22:58:00 【L'ombre est le corps.】
J'ai étudié récemmentAESProtocole de cryptage avancé,J'aimerais écrire un article surAESLa motivation de chaque opération,C'est comme ça qu'on se pousse à penser plus,Enregistrements multiples.
Si ce n'est pas clairAESQuel est le fonctionnement de.
Voir ce billet de blog,Ou à la fin de ma brève explication.
AESMotivation
Ce que je veux dire, c'est que,AESPour chaque opération,Pourquoi?.
Documents de référence:《Cryptographie et cybersécurité Principes et pratiques》No6Édition ,Par storlings.
Tout d'abord,,Je voudrais donner un exemple de mon point de vue.
Disons que je veux transmettre un numéro0101, Je veux le crypter , Ne laissez pas quelqu'un d'autre que le destinataire l'identifier ,Et donc,, J'ai créé une clé , J'ai réglé ça à 1001, J'aime les chiffres. 0101 Faites - lui une Xor avec la clé ,Le résultat est,0101^1001=1100,Et donc,, Sur le canal de transmission ,C'est ça.1100, Même si un voleur l'a eu , C'est ce que j'ai vu. 1100Au lieu de0101, Cela fonctionne comme un chiffrement .
Il y a un problème , Ce que le receveur a aussi 1100, Mais ce que je voulais lui montrer, 0101,Et alors?? Alors je vais dire au destinataire ,La clé est0101, L'opération est une opération inverse de XOR , Laissez le destinataire faire lui - même une opération anti - Xor , L'anti - Xor est en fait XOR ,1100^1001=0101, C'est le nombre que je voulais lui dire .
Par ici., En fait, on peut savoir , La clé est chiffrée ,Et puis, Pourquoi utiliser Xor? ? D'autres opérations sont possibles. , Mais pour être fondamentalement compatible avec 2Demandes,1 Est capable de chiffrer ,2 Est l'existence d'une opération inverse .
Afin de garantir davantage la sécurité des données , Je veux que les données soient cryptées 0101Faites quelque chose., Ces opérations n'ont aucun effet cryptographique , Mais ça rend les données encore plus confuses. ,Par exemple,Je vais0101 Par une table de cartographie , Map to another Number ,Réception arrivée, Et à travers l'inverse de cette table de cartographie ,Mapping back. Supposons que dans ce tableau 0101Mapping as1011, Faites les calculs ci - dessus ,1011^1001=0010,Alors, Les données présentées sur la ligne de transmission sont 0010, Cela améliorera encore l'effet du chiffrement .
AES Clé de roue pour , C'est une opération cryptée . Et quelques autres opérations ,Remplacement d'octets、Déplacement de ligne、 Le mélange de colonnes est une opération confuse . La combinaison des deux , Améliore efficacement le chiffrement .
Remplacement d'octets
Remplacement d'octets, Le rôle principal est de réaliser une cartographie des données , Il n'a pas la fonction de cryptage ,En fait, toutAES Il n'y a que la clé de roue plus cette étape a la fonction de chiffrement , Les autres étapes sont utilisées pour confondre les données ,Et ils “Clé de roue plus“Action commune, Augmenter la difficulté de déchiffrer ,C'est un1+1>2 Processus abstrait .
Le coeur de la substitution d'octets est S Cartouche ,S Les données de la boîte sont dans AESC'est fixe.,Alors,C'estS Comment la boîte est arrivée ? Pourquoi choisir un tel S Où est la boîte? ? Est - ce que sa cartographie peut créer de la confusion ?Comment ça marche??
S La construction de la boîte est divisée en 3Pas
La première étape est d'initialiser l'opération
Deuxième étape.
Quand on pense à une carte qui peut être utilisée pour le chiffrement , Voici quelques points de base. ,Comme suit:
1、 Cette cartographie doit être dans une certaine mesure .(0~(2^8)-1).
2、 Chaque nombre doit avoir un résultat de cartographie .
3、 Le résultat de la cartographie pour chaque nombre est unique .
Voilà.3Point,C'est compréhensible,Par exemple,3Point,Si2 Octets de texte clair cartographiés à la même donnée , La cartographie inverse n'est donc pas possible , Parce qu'il n'est pas possible de dire à quel octet de texte clair l'inverse doit être cartographié .Avant2 Les points sont la base de la cartographie , Il doit y avoir une cartographie pour cartographier .
Et puis, Considérez les conditions plus profondes .
1、 L'espacement des cartes est aussi grand que possible
2、 Non - linéarité aussi élevée que possible
3、 Peut être calculé facilement et efficacement
Par exemple,, Si une carte est (1->4,2->3,3->2,4->1) Nous pouvons sentir intuitivement que c'est une cartographie très régulière , Haute linéarité , On peut penser que cette cartographie n'est pas assez confuse .
Si oui(1->2,2->4,3->1,4->3), On se sentirait un peu plus confus .
Pour trouver une cartographie plus chaotique , Un article a été consacré à la discussion .
《Differentially-uniform-mappings-for-cryptography》 Ce que cet article a finalement trouvé, c'est le domaine GF(2^8) La carte de multiplication inverse de , Et quantifie ses performances . On montre que la corrélation minimale de l'inversion multiplicative n'est que 2^(-3), C'est très petit. .
S Numéro de la boîte 2 L'étape est d'utiliser cette relation de cartographie . Quant à la raison pour laquelle la cartographie de l'inverse multiplicatif est si confuse , Voir le contenu de l'article pour plus de détails .
Consideration of paragraph3Étapes,Pourquoi?2- Oui., J'ai trouvé l'auteur.
This affine transformation has no impact on the nonlinearity properties, but if properly chosen, allows SRD to have a complex algebraic expression. We have chosen an affine transformation that has a very simple description per se, but a complicated algebraic expression if combined with the transformation Inv8. Because this still leaves many possibilities for the choice of Aff8, we additionally imposed the restriction that SRD should
have no fixed points and no opposite fixed points:
Divisé en2Un point:
1、 Une expression simple en soi , Mais combiné avec l'inverse de multiplication, il devient une opération algébrique complexe ,Augmenter la difficulté de craquage.
2、 Parce qu'il y a beaucoup de façons de cartographier qui satisfont à l'article précédent , Une autre condition a été ajoutée. ,C'est juste queS-box Le tableau n'a pas de point fixe , Et il n'y a pas de point fixe inversé ,Par exemple,00Ça ne correspond pas00En soi.(00 Le résultat de la multiplication inverse de 00En soi)
C'est mon point de vue, Les points de vue du livre sont les suivants: :
Déplacement de ligne
Le mobile:Ajouter de la confusion.
Comment ça marche: Puisque le texte clair et le calcul de la clé sont en colonnes , On s'attend donc à ce que le calcul de la confusion , Le déplacement de ligne permet de répartir les éléments d'une colonne en colonnes .
C'est mon point de vue,Le livre dit que:
Mélange de colonnes
Le mobile:Ajouter de la confusion.( Codage linéaire basé sur la distance maximale entre les mots de code )
Comment ça marche:Multiplication matricielle. La matrice fixe est la suivante
Pourquoi une telle matrice fixe a - t - elle été conçue pour multiplier les données ? Selon la description de l'auteur:
Le but d'une matrice fixe est de , Pour une bonne diffusion , Supposons qu'il y ait une colonne , Juste Un octet non nul ,[0 0 0 1](C'est uncol) Après la confusion des colonnes ,Ça va arriver.4 Octets non nuls ,C'est - à - dire[1 1 3 2]. Définir un nombre d'octets non nul branch number=1+4=5, La matrice est conçue pour branch numberAssez gros..
S'il y a une colonne ,Oui.2 Octets non nuls ,Après le calcul,Au moins.3 Octets non nuls .
Par exemple[0 0 1 1 ], Après calcul, c'est [0 2 1 3].
Concevoir cette matrice fixe selon ce principe .
En plus, Compte tenu également des difficultés de mise en œuvre ,Seulement1、2、3 La matrice fixe de .Compte tenu de ce qui précède, Une telle matrice fixe a été conçue .
Points de vue dans le livre :
Clé de roue plus
Extension de la clé
Motif de l'extension de la clé , En fait, vous pouvez vous référer aux opérations ci - dessus pour déduire .
Considérations générales
AESQu'est - ce que c'est??
Je n'ai qu'une simple explication à faire ici ,AES- Oui.advanced encryption standard, C'est une façon de crypter . Habituellement utilisé pour le chiffrement avant le transfert de données , Pour protéger la sécurité des données .
AESOui.5Principales étapes,Respectivement:
n Extension de la clé
n Remplacement d'octets
n Déplacement de ligne
n Mélange de colonnes
n Clé de roue plus
RegardeAESProcédure d'exécution pour
L'image est encore assez intuitive pour voir toute l'étape .
Parmi eux5 Les principales étapes ,Voici une brève description de.
Extension de la clé:Pendant le chiffrement, Il y a un total de clés de roue plus 11Une fois, Processus de chiffrement chaque fois que la clé est différente , Il suffit d'entrer une clé , Et avec cette clé, 10Clés, Ça fait 11 Les clés sont là. . La méthode d'extension est la suivante
Parmi eux,T La fonction est divisée en 3Étapes
a. Cycle de mots :Oui.1 En mots 4 Rotation des octets à gauche 1Octets. Mot à saisir [b0, b1, b2, b3]Convertir en[b1,b2,b3,b0].
b.Remplacement d'octets: Utilisation des résultats de la boucle de mot S Boîte pour la substitution d'octets .
c. Constante de roue XOR : Comparer les résultats des deux premières étapes avec les constantes de cycle Rcon[j]XOR,Parmi euxjIndique le nombre de Tours.
Constante de roueRcon[j]C'est un mot, Les valeurs sont indiquées dans le tableau ci - dessous. .
Remplacement d'octets: Utiliser une liste de données pour devenir SLa boîte,S La boîte est un tableau de données fixe , Remplacer les données correspondant à l'abscisse et à l'ordonnée par les données du tableau ,Par exemple,S Box No. 0Ligne0Le numéro de la colonne est0x63, Alors quand un des octets des données est 0x00Heure, Après le remplacement des octets ,Et ça devient0x63.
Déplacement de ligne:Mettre les données1Ligne gauche0Octets,No2Ligne gauche1Octets,No3Ligne gauche2Octets,No4Ligne gauche3Octets.
Mélange de colonnes: Multiplier les données par une matrice fixe . La matrice fixe est
Clé de roue plus: Xor les données et la clé de la roue courante .
边栏推荐
- 中国信通院、清华大学、腾讯安全,云原生安全产学研用强强联合!
- 成功改变splunk 默认URL root path
- Qt QSplitter拆分器
- 从2022年Q1财报看携程的韧性和远景
- Additional: [login information storage] and [login status verification]; (including: summarizing all the contents of [login information storage] and [login status verification] so far;)
- Go four singleton modes
- 【喜欢的诗词】好了歌
- Dahua cloud native load balancing article - the passenger flow of small restaurants has increased
- Storage unit conversion
- JS syntax ES6, ES7, es8, es9, ES10, es11, ES12 new features (Abstract)
猜你喜欢
Webrtc audio and video capture and playback examples and mediastream media stream analysis
悬镜安全在RSAC2022上斩获Global InfoSec Awards四项大奖
Mathematical modeling -- graph and network models and methods (I)
Baidu AI Cloud - create a face recognition application
Learning records of data analysis (II) -- simple use of response surface method and design expert
Array advanced improvement
Gas station [problem analysis - > problem conversion - > greed]
Jatpack------LiveData
Share 10 JS closure interview questions (diagrams), come in and see how many you can answer correctly
AES高级加密协议的动机阐述
随机推荐
杰理之修改不需要长按开机功能【篇】
百度智能云-创建人脸识别应用
Dahua cloud native load balancing article - the passenger flow of small restaurants has increased
LeetCode 968. 监控二叉树
odoo13搭建医院HRP环境(详细步骤)
go 条件变量
Qt QProgressBar详解
easyclick,ec权朗网络验证源码
Jerry's prototype will trigger shutdown after multiple touches [chapter]
PMP项目整合管理
Kubernetes uses the host name to allocate the pod on the specified node
中国信通院、清华大学、腾讯安全,云原生安全产学研用强强联合!
移动端 1px 像素兼容性问题,实现1px 边框
Qt QScrollArea
Lambda表达式:一篇文章带你通透
世界环境日 | 周大福用心服务推动减碳环保
LC173. 二叉搜索树迭代器
Comprehensively analyze the logic of the shared purchase business model? How sharing purchase empowers Enterprises
Mathematical modeling -- graph and network models and methods (I)
Higher order operation of bits