Qu'est-ce qui rend SPECK et SIMON particulièrement adaptés aux appareils IoT?

12

Pour certains appareils IoT, les données qui doivent être envoyées sont confidentielles, et donc les envoyer en texte brut n'est pas acceptable. Par conséquent, j'ai réfléchi à la façon de crypter les données envoyées entre les appareils IoT. Un article que j'ai récemment lu sur le site Web du RFID Journal mentionne les chiffrements SPECK et SIMON développés par la NSA comme particulièrement adaptés aux applications IoT:

La NSA met les chiffres à disposition [...] gratuitement, dans le cadre d'un effort visant à garantir la sécurité de l'Internet des objets (IOT), dans lequel les appareils partagent des données avec d'autres sur Internet.

[...]

Les chercheurs de la NSA ont développé SIMON et SPECK comme une amélioration des algorithmes de chiffrement par blocs déjà utilisés, qui étaient, dans la plupart des cas, conçus pour les ordinateurs de bureau ou les systèmes très spécialisés

Pourquoi devrais-je sélectionner un algorithme plus récent tel que SIMON ou SPECK pour mon appareil IoT, en particulier pour les applications où l'alimentation est limitée (par exemple, la batterie uniquement)? Quels sont les avantages par rapport à d'autres systèmes de cryptage tels que AES ?

Aurora0001
la source

Réponses:

7

Dans "The Simon and Speck Block Ciphers on AVR 8-bit Microcontrollers" Beaulieu et al. étudier l'implémentation de SIMON et SPECK sur un microcontrôleur 8 bits bas de gamme et comparer les performances à d'autres cyphers. Un Atmel ATmega128 est utilisé avec 128 Ko de mémoire flash programmable, 4 Ko de SRAM et trente-deux registres à usage général de 8 bits.

Trois implémentations de chiffrement sont comparées:

  1. Réduction de la RAM

    Ces implémentations évitent l'utilisation de RAM pour stocker les clés rondes en incluant les clés rondes pré-étendues dans la mémoire du programme flash. Aucune planification de clé n'est incluse pour la mise à jour de cette clé développée, ce qui rend ces implémentations adaptées aux applications où la clé est statique.

  2. Haut débit / basse énergie

    Ces implémentations incluent la planification des clés et déroulent suffisamment de copies de la fonction ronde dans la routine de chiffrement pour atteindre un débit d'environ 3% d'une implémentation entièrement déroulée. La clé, stockée en flash, est utilisée pour générer les clés rondes qui sont ensuite stockées dans la RAM.

  3. Réduction du flash

    Le calendrier clé est inclus ici. Les limitations d'espace signifient que nous ne pouvons fournir qu'une description incomplète de ces implémentations. Cependant, il convient de noter que les deux types d'implémentations précédents ont déjà des tailles de code très modestes.


Pour comparer différents cyphres, une mesure d'efficacité des performances - le classement - est utilisée. Le rang est proportionnel au débit divisé par l'utilisation de la mémoire.

SPECK se classe au premier rang pour chaque bloc et taille de clé qu'il prend en charge. À l'exception de la taille de bloc de 128 bits, SIMON se classe deuxième pour toutes les tailles de bloc et de clé.

...

Sans surprise, l'AES-128 a de très bonnes performances sur cette plate-forme, bien que pour le même bloc et la même taille de clé, SPECK ait environ deux fois les performances. Pour la même taille de clé mais avec une taille de bloc 64 bits, SIMON et SPECK atteignent respectivement des performances globales deux et quatre fois supérieures à AES.

En comparant le SPECK 128/128 à l'AES-128, les auteurs constatent que l'empreinte mémoire du SPECK est considérablement réduite (460 octets contre 970 octets) tandis que le débit n'est que légèrement diminué (171 cycles / octet contre 146 cycles / octet). Ainsi, les performances de SPECK (dans la métrique choisie) sont supérieures à AES. Considérant que la vitesse est corrélée à la consommation d'énergie, les auteurs concluent que "l'AES-128 peut être un meilleur choix dans les applications critiques en énergie que le SPECK 128/128 sur cette plate-forme." Cependant, les auteurs ne savent pas si l'utilisation intensive de l'accès RAM (implémentations AES à haute vitesse) est plus économe en énergie qu'une implémentation basée sur des registres de SPECK. Dans les deux cas, une réduction significative de l'utilisation de la mémoire flash peut être obtenue, ce qui pourrait être pertinent pour les microcontrôleurs bas de gamme.

Si une application nécessite une vitesse élevée et que l'utilisation de la mémoire n'est pas une priorité, AES a l'implémentation la plus rapide (en utilisant 1912 octets de mémoire flash, 432 octets de RAM) parmi tous les chiffrements de blocs avec un bloc et une clé de 128 bits que nous connaissons, avec un coût de seulement 125 cycles / octet. Le concurrent AES le plus proche est le SPECK 128/128, avec un coût de 138 cycles / octet pour une implémentation entièrement déroulée. Étant donné que la vitesse est corrélée à la consommation d'énergie, l'AES-128 peut être un meilleur choix dans les applications critiques en énergie que le SPECK 128/128 sur cette plate-forme. Cependant, si un bloc de 128 bits n'est pas requis, comme on peut s'y attendre pour de nombreuses applications sur un microcontrôleur 8 bits, alors une solution plus économe en énergie (en utilisant 628 octets de flash, 108 octets de RAM) est SPECK 64/128 avec le même taille de clé que l'AES-128 et un coût de cryptage de seulement 122 cycles / octet,


De plus, cet exposé contient une figure d' Enigma , qui pourrait résister à un chiffre qui fait référence à Enigma ?

Ghanima
la source