PRESENT - Cryptage de blocs ultra-léger (traduction du PRESENT original: Un chiffrement de blocs ultra-léger)

Bonjour, Habr! Voici la traduction de l' article original «PRESENT: An Ultra-Lightweight Block Cipher» de Robert B. Weide Bogdanov, Lender, Paar, Poshman, Robshav, Seurin et Wikkelsoy.


annotation


Avec l'introduction d' AES, le besoin de nouveaux algorithmes de chiffrement par blocs a chuté, car dans la plupart des cas, AES est une excellente solution. Cependant, malgré sa facilité de mise en œuvre, AES n'est pas adapté à des environnements extrêmement limités tels que les étiquettes et les lecteurs RFID . Cet article décrira l'algorithme de chiffrement de bloc ultra-léger PRESENT. Lors du développement de cet algorithme, à la fois l'efficacité de l'implémentation dans le fer et la fiabilité du cryptage ont été prises en compte. Par conséquent, le résultat des exigences du système est comparable à celui des meilleurs chiffrements de flux compacts d'aujourd'hui.

1. Introduction


Le cours principal de l'informatique du siècle actuel est le développement de petits appareils informatiques, qui sont utilisés non seulement dans les produits de consommation, mais font également partie intégrante - et invisible - de l'environnement - l'infrastructure de communication. Il a déjà été révélé que de telles implémentations créent toute une gamme de menaces de sécurité très spécifiques. Dans le même temps, les solutions cryptographiques disponibles, même plutôt primitives, ne sont souvent pas adaptées à une utilisation dans des environnements à ressources limitées.

Dans cet article, nous proposons un nouvel algorithme de chiffrement par blocs optimisé pour le matériel, développé avec les limites de taille et de puissance maximales possibles. Dans le même temps, nous avons essayé d'éviter de compromettre les données. Pour y parvenir, nous avons profité de l'expérience DES et complété les propriétésSerpent comme ayant montré des performances incroyables dans le matériel.

Peut-être que cela vaut la peine d'expliquer pourquoi nous avons décidé de développer un nouveau chiffrement par bloc, car le fait généralement admis est que les chiffrements de flux sont potentiellement plus compacts. En effet, au début, nous avons fait des efforts pour comprendre la conception de chiffrements de flux compacts dans le processus de travail sur le projet eSTREAM , ainsi que plusieurs autres hypothèses prometteuses qui semblent agir rapidement. Mais nous avons remarqué plusieurs raisons pour lesquelles nous avons néanmoins choisi un chiffrement par bloc. Premièrement, le chiffrement par bloc est universel et primitif, et lorsqu'il est utilisé en mode de chiffrement, c'est à dire. en utilisant les blocs déjà chiffrés pour chiffrer les éléments suivants, nous obtenons un chiffrement en continu. Deuxièmement, et peut-être principalement, les subtilités des principes de fonctionnement des chiffrements par blocs semblent être mieux étudiées que les principes de fonctionnement des algorithmes de chiffrement de flux. Par exemple, bien qu'il existe une théorie approfondie basée sur l'utilisation de registres à décalage avec rétroaction linéaire , il n'est pas si facile de combiner ces blocs de manière à obtenir une offre sûre. Nous supposons qu'un chiffrement de bloc soigneusement conçu peut être plus sécurisé qu'un chiffrement de flux fraîchement créé. Ainsi, nous constatons qu'un chiffrement par bloc qui nécessite autant de ressources en fer qu'un chiffrement par flux compact peut être très intéressant.

Il est important de noter que lors de la création d'un nouvel algorithme de chiffrement par blocs, en particulier avec des performances accrocheuses, nous ne poursuivons pas seulement l'innovation. Au contraire, le développement et la mise en œuvre du chiffrement vont de pair, révélant des limites fondamentales et des limites inhérentes. Par exemple, un niveau de sécurité donné impose des restrictions sur les longueurs minimales de clé et de bloc. Même le traitement d'un état 64 bits avec une clé 80 bits limite la taille minimale du périphérique. Vous pouvez également remarquer que le mode de réalisation du matériel - en particulier la compacité de la mise en œuvre matérielle - contribue à la répétabilité. Même de petits changements peuvent nuire au volume de l'appareil. Cependant, les cryptanalystes apprécient également la répétabilité et recherchent des structures mathématiques qui se multiplient facilement en plusieurs tours.Alors, combien de structures répétitives simples peuvent être utilisées sans compromettre la sécurité du système?

Ainsi, cet article décrira le chiffrement par bloc compact PRESENT. Après une brève revue de la littérature existante, nous avons conçu le reste de l'article sous une forme standard. Le code est décrit dans la section 3, dans la section 4 les décisions de conception sont décrites. Dans la section 5, nous examinerons la sécurité, tandis que la section 6 contiendra une analyse détaillée des performances. Ce travail se termine par nos conclusions.

2. Travaux existants


Alors que le volume de travail consacré à la cryptographie bon marché est en constante augmentation, le nombre d'articles consacrés aux chiffres ultra-légers est étonnamment faible. En se concentrant sur le dispositif de protocole, nous ne ferons plus référence aux travaux sur les protocoles de communication et d'identification bon marché. L'un des travaux les plus approfondis sur la mise en œuvre compacte est actuellement associé au projet eSTREAM. Dans le cadre d'une partie de ce projet, de nouveaux chiffrements de flux adaptés pour une implémentation efficace dans le matériel ont été proposés. Au cours de ce travail, des candidats prometteurs sont présentés. Jusqu'à présent, les ratios sont approximatifs, mais il résulte des brochures d'implémentation que les chiffres compacts du projet eSTREAM nécessiteront environ 1300-2600 GE (équivalents Gate) .

Parmi les chiffrements par blocs, l'un des plus connus, à savoir DES, a été créé en tenant compte de l'efficacité de l'équipement. Compte tenu de l'état très limité des semi-conducteurs au début des années 1970, il n'est pas surprenant que le DES possède des propriétés d'implémentation très compétitives. Au cours du développement, 3 000 GE ont été dépensés pour le DES et, après la sérialisation, ce nombre est tombé à 2 300 GE. Cependant, la longueur de clé DES limite son utilité dans de nombreuses applications et conduit au fait que des modifications spécialisées sont développées sur sa base, par exemple, avec une force cryptographique accrue ou une clé étendue.

En ce qui concerne les chiffrements de blocs modernes, cet article fournit une analyse approfondie de l' AES à faible coût. Cependant, sa mise en œuvre nécessite environ 3 600 GE, ce qui est une conséquence indirecte de la conception d'amendes pour les processeurs 8 et 32 ​​bits. Les exigences du système <a href = " TEA ne sont pas connues, mais selon les estimations, elles nécessitent environ 2100 GE. Il existe 4 autres solutions conçues pour des équipements à faible coût: mCRYPTON (a une exécution exacte de 2949 GE), HIGHT (environ 3000 GE), SEA (environ 2280 GE) et CGEN (également vers 2280 GE), malgré le fait que ce dernier n'a pas été conçu comme un chiffrement par blocs.

3. Chiffrement de bloc PRÉSENT


PRESENT est un cas particulier du réseau SP et se compose de 31 tours. La longueur du bloc est de 64 bits et les clés sont prises en charge en 2 versions, 80 et 128 bits. Ce niveau de protection devrait être suffisant pour les applications à faible sécurité qui sont généralement utilisées pour le déploiement basé sur des balises et, plus important encore, PRESENT coïncide largement dans ses caractéristiques de conception avec les chiffrements de flux du projet eSTREAM, affinés pour une implémentation efficace dans le matériel, ce qui nous permet de comparer adéquatement leur.
Les exigences de sécurité et les propriétés opérationnelles des versions 128 bits sont fournies dans l'annexe à l'article d'origine.

Chacun des 31 tours consiste en une opération XOR pour entrer la clé K i pour 1 ≤ i ≤ 32, où K 32 est utilisé pour«Blanchir» la clé , la permutation linéaire au niveau du bit et la couche de substitution non linéaire (ou, plus simplement, augmenter la force du chiffrement). La couche non linéaire utilise des blocs S séparés de 4 bits , qui sont appliqués en parallèle 16 fois à chaque tour. Le chiffre décrit par le pseudo-code est montré dans la figure:



Maintenant, chaque étape est déterminée à son tour. Les justifications de conception sont données dans la section 4, et les bits sont numérotés partout à partir de zéro, en commençant par celui de droite dans un bloc ou un mot.

Ajout d'une clé ronde (addRoundKey). La clé ronde K i = k i 63 ... k i 0 , où 1 ≤ i ≤ 32, ainsi que l'état actuel b 63 ... b 0. L'ajout d'une clé ronde à l'état actuel se produit modulo 2 (b j = b j ⊕ k i j , où 0 ≤ j ≤ 63).

Couche S-Box (sBoxlayer). Les blocs S utilisés dans PRESENT mappent les blocs 4 bits à des blocs 4 bits. L'action de ce bloc dans le système numérique hexadécimal est indiquée dans le tableau suivant:



Pour la couche de bloc S, l'état actuel b 63 ... b 0 est de 16 mots de 4 bits w 15 ... w 0 , où w i = b 4 * i + 3 || b 4 * i + 2 || b 4 * i + 1 || b 4 * i pour 0 ≤ i ≤ 15. Sortie de trame S [w i] renvoie les valeurs d'état mises à jour de manière évidente.

Couche de permutation (pLayer). Permutation au niveau du bit utilisée PRESENT définie dans le tableau suivant (l'état du bit i est déplacé vers la position P (i)):



Conversion de clé ( le programme de clé ). PRESENT peut utiliser des clés de 80 et 128 bits, cependant, nous nous concentrerons sur la version 80 bits. La clé fournie par l'utilisateur est stockée dans le registre de clé K, représenté par k 79 k 78 ... k 0 . Au i-ème tour, une clé ronde de 64 bits K i = k 63 k 62 ... k 0, composé de 64 bits de gauche du contenu actuel du registre K. Ainsi, dans le i-ème tour nous avons:
K i = k 63 k 62 ... k 0 = k 79 k 78 ... k 16 .

Après avoir déballé la clé ronde K i, le registre de clés K = k 79 k 78 ... k 0 est mis à jour comme suit:
1. [k 79 k 78 ... k 1 k 0 ] = [k 18 k 17 ... k 20 k 19 ]
2. [k 79 k78 k 77 k 76 ] = S [k 79 k 78 k 77 k 76 ]
3. [k 19 k 18 k 17 k 16 k 15 ] = [k 19 k 18 k 17 k 16 k 15 ] ⊕ round_counter

Par conséquent, enregistrez-vous la clé est décalée de 61 positions vers la gauche, les 4 bits les plus à gauche ont traversé le bloc S et round_counter la valeur de i est ajoutée modulo 2 avec les bits k 19 k 18 k 17 k 16 k 15de K avec le bit le moins significatif de round_counter vers la droite.



Une conversion de clé pour un algorithme 128 bits peut être trouvée dans l'annexe à l'article d'origine.

4. Caractéristiques de conception de PRESENT


En plus de la sécurité et de la mise en œuvre efficace, la principale réalisation de PRESENT est sa simplicité. il n'est donc pas surprenant que des projets similaires aient été adoptés dans d'autres circonstances et aient même été utilisés comme manuel pour les étudiants. Dans cette section, nous justifierons les décisions que nous avons prises lors de la conception de PRESENT. Cependant, tout d'abord, nous décrivons les exigences d'application attendues.

4.1. Objectif et environnement d'application


Lors de la conception d'un chiffrement par blocs qui est applicable dans des environnements étroitement contraints, il est important de comprendre que nous ne créons pas un chiffrement par blocs qui sera certainement applicable dans de nombreuses situations - il y a AES pour cela. Au contraire, nous visons une application très spécifique pour laquelle l'AES ne convient pas. Ce qui précède détermine les caractéristiques suivantes.

  • Le chiffrement sera implémenté "en matériel"
  • Les applications ne seront nécessaires que pour ajuster le niveau de sécurité. Par conséquent, une clé de 80 bits serait une solution robuste. Notez que les développeurs de chiffrement de flux du projet eSTREAM adhèrent à la même position.
  • Les applications ne nécessitent pas le cryptage de grandes quantités de données. Ainsi, une implémentation peut être optimisée en termes de performances ou d'espace sans trop modifier.
  • , . , ( ).
  • , , , , , .
  • , , (encryption-only mode). , - (challenge-response) , , , , .

Sur la base de ces considérations, nous avons décidé de créer PRESENT en tant que chiffrement de bloc 64 bits avec une clé de 80 bits. Le chiffrement et le déchiffrement, dans ce cas, ont approximativement les mêmes exigences physiques. Avec la possibilité de prendre en charge à la fois le chiffrement et le déchiffrement, PRESENT sera plus compact que la prise en charge uniquement du chiffrement AES. Et dans le cas d'une exécution uniquement par chiffrement, notre chiffrement sera complètement super facile. Les sous-clés de chiffrement seront calculées lors de vos déplacements.

Il existe de nombreux exemples dans la littérature d' attaques de compromis entre l'heure, la date et la mémoire , ou d'attaques utilisant le paradoxe d' anniversairelors du cryptage de grandes quantités de données. Cependant, ces attaques ne dépendent que des paramètres du chiffrement et n'utilisent pas la structure interne. Notre objectif est de faire de ces attaques le meilleur qu'ils puissent utiliser contre nous. Les attaques de canaux tiers et les attaques de bris de puce directes menacent PRESENT autant que les autres primitives cryptographiques . Cependant, pour des applications probables, des exigences de sécurité modérées rendent les avantages pour un attaquant en pratique très limités. Dans l'évaluation des risques, ces menaces ne sont pas perçues comme un facteur important.

4.2. Couche de permutation


Lors du choix d'une couche de mélange de clés, notre attention à l'efficacité matérielle nécessite une couche linéaire, qui peut être implémentée avec un nombre minimum d'éléments de commande (par exemple, des transistors). cela conduit à une permutation au niveau du bit. Faisant attention à la simplicité, nous avons choisi une permutation régulière au niveau du bit, ce qui permet de mener une analyse de sécurité transparente (voir section 5).

4.3. Blocs en S.


Chez PRESENT, nous utilisons des blocs S séparés qui traduisent 4 bits en 4 bits (F 4 2 → F 4 2 ). C'est une conséquence directe de notre désir d'efficacité matérielle, et la mise en œuvre d'un tel bloc S est généralement beaucoup plus compacte que celle d'un bloc S 8 bits. Puisque nous utilisons la permutation bitmap pour une couche de diffusion linéaire, les technologies de diffusion de type AES ne sont pas une option pour notre chiffrement. Par conséquent, nous imposons des conditions supplémentaires aux blocs S afin de réduire ce que l'on appelle «l'effet d'avalanche» . Plus précisément, les blocs S pour PRESENT satisfont aux conditions suivantes, où nous notons le coefficient de Fourier S par

S W b (a) = ∑ (-1) <b, S (x)> + <a, x> , x∈F 42

1. Pour tout biais d'entrée non nul fixe ∆ I ∈ F 4 2 et tout biais d'entrée non nul fixe ∆ O ∈ F 4 2 à l'intérieur du bloc S, nous avons besoin de
# {x ∈ F 4 2 | S (x) + S (x + Δ I ) = ∆ O } ≤ 4.

2. Pour toute différence d'entrée non nulle fixe ∆ I ∈ F 4 2 et toute différence de sortie non nulle ∆ O ∈ F 4 2 telle que wt (∆ I ) = wt (∆ O ) = 1 , nous avons
{x ∈ F 4 2| S (x) + S (x + ∆ I ) = ∆ O } = ∅

3. Pour tout non différent de a a ∈ F 4 2 et tout différent de zéro b ∈ F 4, il est considéré que | S W b (a) | ≤ 8
4. Pour tout non nul a ∈ F 4 2 et tout non nul b ∈ F 4 tels que wt (a) = wt (b) = 1, S W b (a) = ± 4 est valable.

Comme cela ressort clairement de la section 5, ces conditions garantissent que PRESENT résiste aux attaques différentielles et linéaires. En utilisant la classification de tous les blocs S à 4 bits satisfaisant aux conditions ci-dessus, nous avons choisi le bloc S, qui est particulièrement adapté à une implémentation matérielle efficace.

5. Analyse de sécurité


Nous allons maintenant présenter les résultats de la présente analyse de sécurité.

Cryptanalyse différentielle et linéaire


La cryptanalyse différentielle et linéaire est l'une des méthodes les plus puissantes disponibles pour les cryptanalystes. Pour mesurer la résistance actuelle à la cryptanalyse différentielle et linéaire, nous fixons la limite inférieure du nombre de blocs S dits actifs participant à la caractéristique différentielle (ou linéaire).

Cryptanalyse différentielle


Le cas de la cryptanalyse différentielle est couvert par le théorème suivant.

Théorème 1. Toute caractéristique différentielle à cinq circuits de PRESENT a au moins 10 blocs S actifs.

Le théorème 1 est démontré à l'annexe 3 de l'article original, et nous continuons les observations. Nous divisons 16 blocs S en 4 groupes:



les nombres à l'entrée (ci-dessus) indiquent le numéro du bloc S à l'étape précédente, et à la sortie (en bas) - à la prochaine

Remarque:

  1. Les bits d'entrée du bloc S proviennent de 4 blocs S différents du même groupe.
  2. Les bits d'entrée pour les groupes de quatre blocs S proviennent de 16 blocs S différents.
  3. Quatre bits de sortie d'un bloc S particulier sont inclus dans quatre blocs S différents, chacun appartenant à un groupe distinct de blocs S au tour suivant.
  4. Les bits de sortie des blocs s dans différents groupes vont à différents blocs s.

Selon le théorème 1, toute caractéristique différentielle pour plus de 25 tours de PRESENT doit avoir au moins 5 × 10 = 50 blocs S actifs. La probabilité différentielle maximale du bloc S PRESENT est de 2 -2 , et donc la probabilité d'une caractéristique différentielle unique de 25 tours est limitée à 2 -100. Les méthodes avancées permettent au cryptanalyste de supprimer les tours externes du chiffrement afin d'utiliser une caractéristique plus courte; cependant, même si nous autorisons un attaquant à supprimer six tours du chiffrement, ce qui est une situation sans précédent, les données requises pour utiliser la caractéristique différentielle restante de 25 tours dépasseront la quantité disponible. Ainsi, les limites de sécurité sont plus que fiables. Cependant, nous avons pratiquement confirmé que la limite du nombre de blocs S actifs dans le théorème 1 est étroite.

Confirmation pratique


Nous pouvons définir des caractéristiques qui incluent dix blocs S sur cinq tours. La caractéristique itérative suivante à deux tours comprend deux blocs S par tour et se maintient avec une probabilité de 2 à 25 pendant cinq tours.

Des caractéristiques plus complexes sont conservées avec une probabilité de 2 à 21 pendant 5 tours.

Bien que la probabilité de cette deuxième caractéristique soit très proche de la limite de 2-20Il n'est pas itératif et a peu de valeur pratique. Au lieu de cela, nous avons confirmé expérimentalement la probabilité d'un différentiel itératif à deux tours. Dans des expériences avec plus de 100 sous-clés indépendantes utilisant 223 paires de texte en clair sélectionnées, la probabilité observée a été prédite. Cela semble suggérer que pour cette caractéristique particulière, il n'y a pas de différentiel significatif concomitant. Cependant, déterminer l'étendue de tout effet différentiel est une tâche complexe et longue, même si notre analyse préliminaire était encourageante.

Cryptanalyse linéaire


Le cas de la cryptanalyse linéaire PRESENT est considéré dans le théorème suivant, dans lequel nous analysons la meilleure approximation linéaire des quatre tours de PRESENT.

Théorème 2. Soit E 4R le déplacement linéaire maximal de l'approximation à quatre tours en utilisant PRESENT. Alors E 4R ≤ 2 -7 .
La preuve du théorème est contenue dans l'annexe 4 de l'article original. Ensuite, pendant 28 tours, le déplacement maximal sera de
2 6 × E 4R 7 = 2 6 × (2 -7 ) 7 = 2 -43

Par conséquent, en supposant qu'un cryptanalyste n'a besoin que d'environ 28 des 31 tours dans PRESENT pour lancer une attaque de récupération de clé, une cryptanalyse linéaire d'un chiffre nécessitera environ 2 84 textes en clair / textes chiffrés connus. Ces exigences en matière de données dépassent le texte disponible.

Quelques attaques différentielles / linéaires avancées


La structure PRESENT nous permet de considérer certaines des formes distinctes d'attaques. Cependant, aucun d'entre eux n'a conduit à une attaque nécessitant moins de texte que la limite inférieure des exigences de texte pour la cryptanalyse linéaire. Parmi les attaques distinguées, nous avons considéré une qui utilise des différences palindromiques, car les différences symétriques persistent avec une probabilité d'une (c'est-à-dire toujours) sur la couche de diffusion, et certaines versions avancées d'attaques linéaires différentielles. Bien que les attaques semblaient prometteuses pour plusieurs rounds, elles ont très rapidement perdu leur valeur pratique et sont peu susceptibles d'être utiles dans la Cryptanalyse ACTUELLE. Nous avons également constaté que la cryptanalyse différentielle tronquée est susceptible d'avoir une valeur limitée, bien que les deux prochains tours.

L'expansion tronquée est effectuée avec une probabilité de un.

Même lorsqu'ils sont utilisés pour réduire la longueur des caractéristiques différentielles déjà identifiées, les exigences en matière de données restent excessives. L'expansion classée est effectuée avec une probabilité de un.

5.2. Attaques structurelles


Les attaques structurelles, telles que la cryptanalyse intégrée et l'analyse des goulots d'étranglement, sont bien adaptées pour analyser des chiffres de type AES. Ces chiffrements ont de fortes structures de type mot, où les mots sont généralement des octets. Cependant, la construction de la représentation est presque exclusivement au niveau du bit, et bien que l'opération de permutation soit quelque peu régulière, le développement et la distribution des structures de mot sont perturbés par les opérations au niveau du bit utilisées dans le chiffrement.

5.3. Attaques algébriques


Les attaques algébriques ont été utilisées pour réussir avec succès lorsqu'elles étaient appliquées à des chiffrements de flux, plutôt que pour bloquer. Cependant, la structure simple de PRESENT signifie qu'ils méritent une étude sérieuse. Le bloc S PRESENT est décrit par 21 équations quadratiques pour huit variables de bit d'entrée / sortie sur le champ G (2). Cela n'est pas surprenant, car il est bien connu que tout bloc S à quatre bits peut être décrit par au moins 21 de ces équations. Ensuite, le chiffre entier peut être décrit par des équations quadratiques e = n × 21 dans les variables v = n × 8, où n est le nombre de blocs S dans l'algorithme de chiffrement et de transformation de clé.

Pour PRESENT, nous avons n = (31 × 16) + 31, donc tout le système se compose de 11 067 équations quadratiques en 4 216 variables Le problème général de la résolution d'un système d'équations quadratiques multidimensionnelles est NP-difficile. Cependant, les systèmes obtenus pour les chiffrements par blocs sont très rares, car ils consistent en n petits systèmes reliés par de simples couches linéaires. Cependant, il n'est pas clair si ce fait peut être utilisé dans la soi-disant attaque algébrique. Certaines méthodes spécialisées ont été proposées, telles que XL et XSL, bien que des lacunes aient été découvertes dans les deux méthodes. Au lieu de cela, les seuls résultats pratiques sur la cryptanalyse algébrique des chiffres de bloc ont été obtenus en appliquant les algorithmes de Buchberger et F4 .dans le cadre de Magma. La modélisation sur des versions à petite échelle d'AES a montré que pour tous les réseaux SP, sauf les plus petits , des difficultés surviennent rapidement en termes de temps et de complexité de la mémoire. Il en va de même pour PRESENT.

Confirmation pratique.Nous avons effectué des simulations sur des versions à petite échelle en utilisant l'algorithme F4 dans Magma. Lorsqu'il y a un bloc S, c'est-à-dire un très petit bloc avec une taille de quatre bits, Magma peut résoudre le système d'équations résultant en plusieurs tours. Cependant, à mesure que la taille des blocs augmente et que des blocs S sont ajoutés, ainsi que la variante correspondante de la couche de diffusion linéaire, le système d'équations devient rapidement trop grand. Même en considérant un système composé de sept blocs S, c'est-à-dire ayant une taille de bloc de 28 bits, nous n'avons pas pu obtenir dans un délai raisonnable une solution pour la version chiffrée raccourcie qui a passé deux tours. Notre analyse montre que les attaques algébriques sont peu susceptibles de constituer une menace pour PRESENT.

5.4. Attaques de conversion de clés


Puisqu'il n'y a pas de lignes directrices établies pour le développement de transformations clés, il existe à la fois une grande variété de projets et une grande variété d'attaques basées sur les caractéristiques du projet. Les attaques les plus efficaces relèvent du titre général d' attaque sur les clés associées et d' attaque par cisaillement , et les deux sont basées sur la construction de relations identifiables entre différents ensembles de sous-clés. Pour contrer cette menace, nous utilisons un compteur dépendant du tour, de sorte que les ensembles de sous-clés ne peuvent pas être facilement «décalés», et nous utilisons une opération non linéaire pour mélanger le contenu du registre de clés K. En particulier:

  • tous les bits du registre de clé sont une fonction non linéaire de la clé de 80 bits fournie par l'utilisateur à la ronde 21,
  • que chaque bit dans le registre de clé après la ronde 21 dépend d'au moins quatre des bits de clé fournis par l'utilisateur, et
  • au moment où nous obtenons K 32 , six bits sont des expressions de degré deux sur 80 bits de clé fournis par l'utilisateur, 24 bits sont de degré trois, tandis que les bits restants sont fonction du degré six ou de degré neuf bits de clé fournis par l'utilisateur.

Nous pensons que ces propriétés sont suffisantes pour résister aux attaques de clés basées sur la conversion de clés.

6. Productivité du "fer"


Nous avons implémenté PRESENT-80 en VHDL et l' avons adapté à la bibliothèque standard de cellules de silicium virtuel (VST) basée sur la logique UMC L180 0,18 μ 1P6M. Nous avons utilisé le Mentor Graphics Modelsim SE PLUS 5.8 c pour la simulation et la compilation Synopsys Design Y-2006.06 pour la synthèse et la modélisation de la consommation d'énergie. Des valeurs typiques pour la fonderie ont été utilisées (1,8 Volts pour la tension du cœur et 25 ° C pour la température), et le modèle proposé de charge des fils a été utilisé pour modéliser la puissance. Veuillez noter qu'une telle simulation est destinée aux structures d'environ 10 000 GE, donc les résultats de puissance seront pessimistes pour les structures beaucoup plus petites. Sur l'image



Le chemin de données illustré est PRESENT-80 optimisé pour l'espace sans possibilité de déchiffrement (chiffrement uniquement), qui effectue un tour par cycle, c'est-à-dire que le chemin de données a une largeur de 64 bits. Veuillez noter qu'au stade de la conception actuelle, nous utilisons le même bloc S 16 fois au lieu d'avoir 16 blocs S différents, ce qui facilite la sérialisation ultérieure du projet, c'est-à-dire avec un canal de données 4 bits. Notre implémentation nécessite 32 cycles d'horloge pour chiffrer le texte en clair 64 bits avec une clé 80 bits, prend 1570 GE et a une consommation électrique de 5 microns en modulation.



Exigences spatiales PRESENT

La majeure partie de la zone est occupée par des déclencheurs pour le stockage de l'état des clés et des données, suivis par la couche S et le service de saisie XOR. Les permutations de bits de permutation simple n'augmenteront la zone que lorsque la mise en œuvre atteindra l'étape de lieu et d'itinéraire. Notez que l'objectif principal de notre implémentation était une petite quantité de matériel, cependant, nous avons également synthétisé un processus optimisé pour la puissance. Pour 53 GE supplémentaires, nous atteignons une consommation d'énergie de seulement 3,3 μW, et les 128 actuels occuperont une superficie estimée à 1886 GE. En plus de sa très petite taille, PRESENT a un débit assez élevé, donnant une bonne énergie par bit. La comparaison avec d'autres chiffres est donnée dans le tableau:



7. Conclusion


Dans cet article, nous avons décrit le nouveau chiffrement de bloc PRESENT. Notre objectif était un chiffrement ultraléger, qui offre un niveau de sécurité proportionné à la taille d'un bloc 64 bits et d'une clé 80 bits. Par conséquent, PRESENT a des exigences de mise en œuvre similaires à celles de nombreux chiffrements de flux compacts. Par conséquent, nous pensons qu'il présente un intérêt à la fois théorique et pratique. Comme toutes les nouvelles propositions, nous n'encourageons pas le déploiement immédiat de PRESENT, mais demandons son analyse.

Confession


Les travaux présentés dans ce document ont été partiellement soutenus par la Commission européenne à travers le STREP UbiSec & Sens du programme-cadre de l'UE 6 pour la recherche et le développement (www.ist-ubisecsens.org). Les opinions et conclusions contenues dans ce document sont celles des auteurs et ne doivent pas être interprétées comme constituant une politique officielle ou une approbation exprimée ou approuvée par le projet UbiSec & Sens ou la Commission européenne.

Source: https://habr.com/ru/post/undefined/


All Articles