Brevet FR2846497A1 — publié le 20040430

La présente invention se rapporte à un dispositif de formation de clefs pour un algorithme standard de cryptage de données et, en particulier, à un dispositif de formation de clefs perfectionné pour un algorithme standard de cryptage de données qui peut fournir des clefs pour cryptage et décryptage dans un logiciel commun. C'est ainsi un objet principal de la présente invention que de mettre en #uvre une partie de formation de clefs pour un algorithme standard de cryptage de données qui peut être appliqué à toutes sortes de systèmes de cryptage dans un équipement matériel de type optimal. Un autre objet de la présente invention est de mettre en #uvre un dispositif de formation de clefs pour cryptage et un dispositif de formation de clefs pour décryptage dans un logiciel commun pour un algorithme standard de cryptage de données. De manière à réaliser les objets décrits ci-dessus de la présente invention, il est créé un dispositif de formation de clefs pour un algorithme standard de cryptage de données comprenant une unité de commande de clef pour produire une donnée montante et une donnée descendante en effectuant des opérations pour cryptage et décryptage par l'utilisation d'une valeur de clef initiale ; une première unité de décalage pour décaler la donnée montante dans une première direction ; une seconde unité de décalage pour décaler la donnée descendante dans la première direction ; et une unité de formation de clefs pour produire des clefs pour le cryptage et le décryptage pour l'algorithme standard de cryptage de données en effectuant un Choix 2 Permuté de l'algorithme standard de cryptage de données par l'utilisation des données décalées dans la première unité de décalage et la seconde unité de décalage, caractérisé en ce que chacune des première et seconde unités de décalage comprend : un registre, un premier multiplexeur pour transmettre de manière sélective au registre soit la donnée montante soit la donnée descendante et une donnée de contreréaction ; une première unité de disposition inverse pour disposer de manière inverse les données du registre ; un second multiplexeur pour transmettre les données du registre pendant le cryptage et transmettre les données de la première unité de disposition inverse pendant le décryptage ; un rotateur pour décaler les données du second multiplexeur dans une première direction en unités de bits ; une seconde unité de disposition inverse pour disposer de manière inverse les données du rotateur ; et un troisième multiplexeur pour transmettre au premier multiplexeur les données du rotateur en tant que données de contre-réaction au cours du cryptage, et transmettre au premier multiplexeur les données de la seconde unité de disposition inverse en tant que données de contreréaction pendant le décryptage. Conformément à un autre aspect de la présente invention, il est prévu un dispositif de formation de clefs pour un algorithme standard de cryptage de données comprenant : une unité de commande de clef pour produire une donnée montante et une donnée descendante en effectuant des opérations pour cryptage et décryptage par l'utilisation d'une valeur de clef initiale ; une première unité de décalage pour décaler la donnée montante ; une seconde unité de décalage pour décaler la donnée descendante ; et une unité de formation de clefs pour produire des clefs pour le cryptage et le décryptage pour l'algorithme standard de cryptage de données en effectuant un Choix 2 Permuté de l'algorithme standard de cryptage de données par l'utilisation des données décalées dans la première unité de décalage et la seconde unité de décalage, caractérisé en ce que chacune des première et seconde unités de décalage comprend : un registre ; un multiplexeur pour transmettre au registre de manière sélective soit la donnée montante soit la donnée descendante et une donnée de contre-réaction ; et un rotateur pour décaler les données du registre dans une première direction en unités de bits pendant le cryptage et le décryptage, et transmettre au multiplexeur les données résultantes en tant que données de contreréaction. L'invention sera mieux comprise, et d'autres buts, caractéristiques, détails et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative qui va suivre faite en référence aux dessins annexés donnés uniquement à titre d'exemple illustrant des modes de réalisation de l'invention et dans lesquels : - la figure 1 est un organigramme montrant un algorithme standard de cryptage de données de type général ; - la figure 2 est une vue montrant une comparaison de dimensions de décalage pendant le cryptage et le décryptage de l'algorithme standard de cryptage de données de la figure 1 ; - la figure 3 est un schéma synoptique illustrant un dispositif de formation de clef conforme à un premier mode de réalisation de la présente invention ; - la figure 4 est un schéma synoptique illustrant une unité de commande de clef de la figure 3 ; - la figure 5 est un schéma synoptique illustrant un dispositif de formation de clefs conforme à un second mode de réalisation de la présente invention ; et - la figure 6 est un schéma synoptique illustrant un dispositif de formation de clefs conforme à un troisième mode de réalisation de la présente invention. En se référant à la figure 1, on a représenté un algorithme standard de cryptage de données de type général qui comprend une partie de cryptage de données 10 et une partie de formation de clefs 20.. La partie de cryptage de données 10 combine de manière initiale des données d'entrée à 64 bits, les divise en données de droite/gauche à 32 bits, répète seize fois un arrondi pour actionner une fonction f et une opération OU exclusif en utilisant des clefs à 48 bits (Ki, i = 1,..., 16) en provenance de la partie de formation de clefs 20 et échange des données droite/gauche dans chaque arrondi, en effectuant ainsi un cryptage. Le fonctionnement de la partie de formation de clefs 20 pour le cryptage va maintenant être expliqué en se référant à la figure 1. Une clef initiale est composée de 64 bits, et un bit de parité est compris dans chaque position multiple de 8 dans une rangée de bits. Ainsi, le bit de parité est réglé de manière que chaque octet puisse présenter un nombre impair de '1'. On effectue tout d'abord le Choix 1 Permuté sur les 64 bits de clef d'origine. Ici, les bits de parité sont exclus, et seuls 56 bits sont utilisés pour le Choix 1 Permuté. Le tableau 1 montre un état de disposition des bits de la clef initiale conforme au Choix 1 Permuté. TABLEAU 1 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 Comme montré au tableau 1, le premier bit obtenu par le Choix 1 Permuté est équivalent au 57e bit de la clef initiale, et le second bit de la valeur résultante est équivalent au 49e bit de la clef initiale. Ainsi, le Choix 1 Permuté change l'état de la disposition des bits à l'exclusion des bits de parité de la clef initiale. Après cela, les résultats du Choix 1 Permuté sont divisés par 28 bits et définis en tant que CO et DO. Un arrondi de décalage est effectué de manière séquentielle sur la base des CO et DO définis ci-dessus. Lorsqu'il est présumé que les résultats de chaque arrondi de décalage sont définis en tant que Ci et Di et que la condition 'i = 1, ..., 16' est satisfaite, les résultats de chaque arrondi de décalage Ci et Di sont déterminés conformément à une dimension de décalage définie au tableau 2. Tableau 2 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Dimension de 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 @écalage Ainsi, Cl et Dl sont produis en décalant CO et DO de 1 bit, C2 et D2 sont produits en décalant Cl et Dl de 1 bit, et C3 et D3 sont produits en décalant C2 et D2 de 2 bits. Ci (i = 1, ..., 16) et Di (1 = 1, ... , 16) peuvent être obtenus de la même manière. Après cela, on effectue le Choix 2 Permuté en utilisant Ci (i = 1, ..., 16) et Di (i = 1, ..., 16) de chaque arrondi de décalage, en obtenant ainsi les clefs Ki pour le cryptage. Le tableau 3 montre un état de disposition des bits conforme au Choix 2 Permuté. Tableau 3 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 De manière identique au Choix 1 Permuté, le Choix 2 Permuté change l'état de disposition des bits de Ci et de Di comme montré au tableau 3, en produisant ainsi 48 bits de clefs Ki correspondant à chaque arrondi de décalage. Les clefs Ki (i = 1,..., 16) ainsi produites sont appliquées à la partie de cryptage de données 10 de l'algorithme standard de cryptage de données. Dans le décryptage, on répète dans un ordre inverse le protocole mentionné ci-dessus, à savoir à partir de C16 et D16 pour produire les clefs. Ici, on a exécuté un décalage à droite. La figure 2 montre la comparaison des dimensions de décalage pendant le cryptage et le décryptage. Comme montré à la figure 2, la dimension de décalage de Cl à C16 dans le cryptage est identique à la dimension de décalage de C16 à Cl dans le décryptage. De manière à mettre en #uvre l'algorithme standard de cryptage de données de la figure 1 dans un équipement matériel, on forme de manière individuelle un bloc de cryptage et un bloc de décryptage. Cependant, en considérant que l'algorithme répété est appliqué à chaque bloc, on utilise de manière individuelle les mêmes éléments constitutifs dans chaque bloc. En conséquence, un grand nombre d'éléments constitutifs et un grand espace sont nécessaires pour mettre en #uvre l'équipement matériel pour l'algorithme standard de cryptage de données, ce qui diminue le caractère efficient de la conception de l'équipement matériel. Un dispositif de formation de clefs pour un algorithme standard de cryptage de données conforme aux modes de réalisation préférés de la présente invention va maintenant être décrit en détail en se référant aux figures 3 à 6. La figure 3 est un schéma synoptique illustrant la structure d'un équipement matériel pour la formation de clefs pour le cryptage et le décryptage pour l'algorithme standard de cryptage de données conforme à un premier mode de réalisation de la présente invention. Le dispositif de formation de clefs comprend trois paires de multiplexeurs 310,312, 314,316, 318 et 320, une paire de rotateurs 326 et 328, une paire de registres 322 et 324 et deux paires d'unités de disposition inverse 330,332, 334 et 336, lesquelles sont divisées en une partie pour calculer les bits Ci de gauche et une partie pour calculer les bits Di de droite. Conformément au premier mode de réalisation de l'invention, le dispositif de formation de clefs calcule des clefs par division pour donner Ci et Di afin d'obtenir de manière efficiente les clefs, et il réduit un grand nombre d'éléments de calcul afin d'optimiser la structure de l'équipement matériel. En outre, l'unité de formation de clefs comprend une unité de commande de clef 340 pour recevoir une valeur de clef initiale K, délivrer Cl et D1 pendant le cryptage, et délivrer C16 et D16 pendant le décryptage, ainsi qu'une unité de formation de clefs 338 pour produire des clefs en utilisant les Ci et Di calculés. L'unité de commande de clef 340 peut être constituée comme montré à la figure 4. Par conséquent, dans le cryptage, une unité de Choix 1 Permuté 350 effectue le Choix 1 Permuté en utilisant 64 bits de clef initiale K, et divise par 28 bits la clef K à 64 bits obtenue pour donner CO et DO, et des dispositifs de décalage 354 et 358 délivrent respectivement Cl et Di en décalant à gauche CO et DO de 1 bit. En outre, dans le décryptage, l'unité de commande de clef 340 divise la clef K initiale en CO et DO après le Choix 1 Permuté, et délivre CO et DO respectivement en tant que C16 et D16. Les multiplexeurs 352 et 356 délivrent Cl et D1 ou C16 et D16 conformément à un signal A de décision de cryptage décryptage. A ce point, si C16 et C17 sont produits en décalant CO et DO comme montré à la figure 2, CO et DO ont 28 bits et leur dimension de décalage est de 28 bits et, ainsi, CO et DO ont les mêmes valeurs que C16 et D16. CO et DO sont en conséquence délivrés en tant que C16 et D16 pendant le décryptage. Il en résulte que, lorsque la clef K initiale est appliquée à l'unité de commande de clef 340, l'unité de commande de clef 340 délivre Ci et Di (Ci et Dl dans le cryptage, et C16 et D16 dans le décryptage) en effectuant les opérations mentionnées précédemment. Après cela, les multiplexeurs 310 et 312 enregistrent Ci et Di à partir de l'unité de commande de clef 340 respectivement sur les registres 322 et 324 conformément à un signal de sélection S. Les registres 322 et 324 transmettent, aux multiplexeurs 314 et 316 et aux unités de disposition inverse 330 et 332, les Ci et Di enregistrés. Les unités de disposition inverse 330 et 332 modifient la disposition de Ci et Di provenant des registres 322 et 324, et les transmettent aux multiplexeurs 314 et 316. Ainsi, les multiplexeurs 314 et 316 reçoivent Ci et Di respectivement à partir des registres 322 et 324 et des unités de disposition inverse 330 et 332. A ce point, Ci et Di transmis à partir des registres 332 et 324 et des unités de disposition inverse 330 et 332 présentent différents états de disposition. Il est à ce point possible de produire le signal de décision A de cryptage décryptage, le signal de sélection S ou un signal de commande de dimension de décalage B qui vont être expliqués plus loin et qui sont fournis par un moyen de commande prédéterminé (non représenté) pour commander le cryptage et le décryptage. Dans le cas où le multiplexeur 310 est conçu pour déterminer de l'existence/absence de signaux à partir de l'unité de commande de clef 340 et du multiplexeur 318 et pour effectuer l'opération de sélection, le signal de sélection S n'a pas besoin d'être appliqué de manière externe. En outre, lorsque le rotateur 326, lequel sera expliqué plus loin, est conçu pour un compteur d'arrondi, le signal B de commande de dimension de décalage n'a pas besoin non plus d'être appliqué de manière externe. Les multiplexeurs 314 et 316 déterminent de produire des clefs pour le cryptage ou des clefs pour le décryptage conformément au signal de décision A de cryptage décryptage. Les multiplexeurs 314 et 316 reçoivent Ci et Di depuis les registres 322 et 324 pour produire les clefs pour le cryptage, reçoivent Ci et Di depuis les unités de disposition inverse 330 et 332 pour produire les clefs pour le décryptage, et ils les transmettent vers les rotateurs 326 et 328. A ce point, les rotateurs 326 et 328 décalent Ci et Di transmis à partir des multiplexeurs 314 et 316 dans une première direction prédéterminée. Dans le cas du décalage à gauche, les bits les plus significatifs (BPS) des rotateurs 326 et 328 sont amenés à tourner pour former les bits les moins significatifs (BMS) et sont ensuite appliqués. A ce point, les rotateurs 326 et 328 commandent les dimensions de décalage de Ci et Di selon le signal B de commande de dimension de décalage qui est appliqué. Les Ci et Di décalés sont transmis vers les multiplexeurs 318 et 320 et les unités de disposition inverse 334 et 336. Les unités de disposition inverse 334 et 336 changent l'état de disposition de Ci et Di en provenance des rotateurs 326 et 328, et ils transmettent Ci et Di vers les multiplexeurs 318 et 320. Les multiplexeurs 318 et 320 reçoivent Ci et Di respectivement à partir des rotateurs 326 et 328 et des unités de disposition inverse 334 et 336. A ce point, Ci et Di transmis à partir des rotateurs 326 et 328 et des unités de disposition inverse 330,332 présentent différents états de disposition. Après cela, les multiplexeurs 318 et 320 déterminent de produire les clefs pour le cryptage ou les clefs pour le décryptage conformément au signal de décision A de cryptage décryptage. Les multiplexeurs 318 et 320 sélectionnent Ci et Di des rotateurs 326 et 328 pour produire les clefs pour le cryptage, sélectionnent Ci et Di des unités de disposition inverse 334, 336 pour produire les clefs pour le décryptage, et ils transmettent, vers les multiplexeurs 310 et 312, les Ci et Di sélectionnés. Les multiplexeurs 310 et 312 enregistrent sur les registres 332 et 334 les Ci et Di qui ont été transmis, et le protocole mentionné précédemment est répété pour calculer Ci et Di jusqu' à C16 et D16 pendant le cryptage et calculer C16 et D16 jusqu'à Cl et D1 pendant le décryptage. L'unité de formation de clefs 338 effectue le Choix 2 Permuté en utilisant Ci et Di enregistrés sur les registres 332 et 324, en obtenant ainsi Ki. Le processus mentionné ci-dessus va maintenant être brièvement expliqué. Les multiplexeurs 314 à 320 reçoivent Ci et Di à partir des registres 322 et 324 ou des rotateurs 326 et 328 pendant le cryptage conformément au signal de décision A de cryptage décryptage, et ils reçoivent les Ci et Di disposés de manière inverse à partir des unités de disposition inverse 330 à 336 pendant le décryptage, en triant ainsi les données selon le cryptage et le décryptage. Les rotateurs 326, et 328 confirment les dimensions de décalage quel que soit le cryptage ou le décryptage, et reçoivent le signal B de commande de dimension de décalage communément utilisé parce que la dimension de décalage de Cl et D1 à C16 et D16 est identique à la dimension de décalage de C16 et D16 à Cl et D1 comme montré à la figure 2. En outre, les unités de disposition inverse 330 à 336 sont formées de manière que les rotateurs 326 et 328 qui décalent Ci et Di dans une première direction puissent être utilisés en commun pour le cryptage et le décryptage. En conséquence, le cryptage et le décryptage peuvent être mis en #uvre dans le même équipement matériel. Par ailleurs, le dispositif de formation de clefs peut être modifié comme montré à la figure 5. Un second mode de réalisation de la figure 5 modifie les rotateurs 326 et 328 du premier mode de réalisation de la figure 3 comme décrit ci-dessus. Le dispositif de formation de clefs de la figure 5 présente la même structure que le dispositif de formation de clefs de la figure 3, à l'exception que les rotateurs 326 et 326 comprennent des compteurs incorporés (non représentés) pour décaler Ci et Di dans chaque arrondi conformément à une dimension de décalage nécessaire. Par conséquent, le signal B de commande de dimension de décalage n'a pas besoin d'être appliqué extérieurement, différemment de la figure 3. Le dispositif de formation de clefs pour l'algorithme standard de cryptage de données peut également être mis en #uvre comme montré à la figure 6. Comme illustré à la figure 6, le dispositif de formation de clefs comprend une paire de multiplexeurs 410 et 420, une paire de registres 430 et 440, et une paire de rotateurs 450 et 460. De manière identique au premier mode de réalisation décrit ci-dessus, le dispositif de formation de clefs est divisé en une partie pour calculer Ci et une partie pour calculer Di afin d'augmenter le caractère efficient dans le calcul et réduire la charge de la structure de l'équipement matériel. Le dispositif de formation de clefs comprend en outre une unité de commande de clef 480 pour recevoir une valeur de clef initiale K, délivrer Cl et D1 pendant le cryptage et délivrer C16 et D16 pendant le décryptage, ainsi qu'une unité de formation de clefs 470 pour produire des clefs en utilisant les Ci et Di calculés. Dans le cryptage, l'unité de commande de clef 480 effectue le Choix 1 Permuté en utilisant la clef K initiale, divise la clef K obtenue en CO et DO, décale à gauche CO et DO de 1 bit et délivre Cl et Dl. Dans le décryptage, l'unité de commande de clef 480 divise la clef K obtenue en CO et DO après le Choix 1 Permuté, et les délivre en tant que C16 et D16. Les opérations respectives pour le cryptage et le décryptage sont déterminées conformément à un signal de décision A de cryptage décryptage. A ce point, si C16 et D16 sont produits en décalant CO et DO comme montré à la figure 2, CO et DO ont 23 bits et leur dimension de décalage est de 28 bits et, ainsi, CO et DO ont les mêmes valeurs que les C16 et D16. En conséquence, CO et DO sont délivrés en tant que C16 et D16 pendant le décryptage. Par ailleurs, l'unité de formation de clefs 470 effectue le Choix 2 Permuté en utilisant les Ci et Di calculés, en produisant ainsi des clefs. Lorsque la clef K initiale pour produire les clefs pour le cryptage et le décryptage est appliquée à l'unité de commande de clef 480, l'unité de commande de clef 480 délivre Ci et Di (Ci et Dl dans le cryptage, et C16 et D16 dans le décryptage) en effectuant les opérations mentionnées ci-dessus. Après cela, les multiplexeurs 410 et 420 enregistrent respectivement sur les registres 430 et 440 les Ci et Di transmis, et les rotateurs 450 et 460 reçoivent respectivement Ci et Di enregistrés sur les registres 430 et 440. Les rotateurs 450 et 460 décalent à gauche Ci et Di pendant le cryptage, et décalent à droite Ci et Di pendant le décryptage. # ce point, les BPS et BMS sont amenés à tourner et sont appliqués respectivement en tant que BMS et BPS. Ainsi, les rotateurs 450 et 460 peuvent effectuer un décalage bidirectionnel, et la direction de décalage est déterminée conformément au cryptage et au décryptage. La décision de cryptage et de décryptage des rotateurs 450 et 460 et les dimensions de décalage résultants sont déterminées conformément au signal de décision A de cryptage décryptage et au signal de commande B de dimension de décalage en tant que signaux pour commander le dispositif de formation de clefs dans le mode de réalisation de la structure de l'équipement matériel de l'algorithme standard de cryptage de données. Ainsi, les rotateurs 450 et 460 déterminent une direction de décalage conformément au signal de décision A de cryptage décryptage et au nombre de bits de décalage conformément au signal de commande B de dimension de décalage, et décalent Ci et Di en provenance des registres 430 et 440 dans la direction de décalage en utilisant un compteur interne ou un compteur externe (non représentés) . Les valeurs décalées sont appliquées aux multiplexeurs 410 et 420, et le processus décrit cidessus est répété pour calculer Cl et Dl à C16 et D16 pendant le cryptage et calculer C16 et D16 à Cl et Dl pendant le décryptage. À ce point, le dispositif de formation de clefs 470 effectue le Choix 2 Permuté en utilisant Ci et Di enregistrés sur les registres 430 et 440, en obtenant ainsi Ki. Conformément à un troisième mode de réalisation selon la figure 6, les rotateurs 450 et 460 comprennent des compteurs pour différemment utiliser le signal de commande B de dimension de décalage. Comme énoncé plus haut, conformément à la présente invention, le dispositif de formation de clefs pour l'algorithme standard de cryptage de données optimise la structure de l'équipement matériel en extrayant des points de décalage communs de l'algorithme standard de cryptage de données dans le cryptage et le décryptage. Un décalage unidirectionnel ou un décalage bidirectionnel est utilisé en commun pendant le cryptage et le décryptage, en optimisant ainsi la zone de la structure de l'équipement matériel. L'invention n'est pas limitée aux exemples de réalisation représentés et décrits en détails car diverses modifications peuvent y être apportées sans sortir de son cadre. REVENDICATIONS 1. Dispositif de formation de clefs pour un algorithme standard de cryptage de données comprenant : une unité de commande de clef pour produire une donnée montante et une donnée descendante en effectuant des opérations pour cryptage et décryptage par l'utilisation d'une valeur de clef initiale ; une première unité de décalage pour décaler la donnée montante dans une première direction ; une seconde unité de décalage pour décaler la donnée descendante dans la première direction ; et une unité de formation de clefs pour produire des clefs pour le cryptage et le décryptage pour l'algorithme standard de cryptage de données en effectuant un Choix 2 Permuté de l'algorithme standard de cryptage de données par l'utilisation des données décalées dans la première unité de décalage et la seconde unité de décalage, caractérisé en ce que chacune des première et seconde unités de décalage comprend : un registre ; un premier multiplexeur pour transmettre de manière sélective au registre soit la donnée montante soit la donnée descendante et une donnée de contre-réaction ; une première unité de disposition inverse pour disposer de manière inverse les données du registre ; un second multiplexeur pour transmettre les données du registre pendant le cryptage et transmettre les données de la première unité de disposition inverse pendant le décryptage ; un rotateur pour décaler les données du second multiplexeur dans une première direction en unités de bits ; une seconde unité de disposition inverse pour disposer de manière inverse les données du rotateur ; et un troisième multiplexeur pour transmettre au premier multiplexeur les données du rotateur en tant que données de contre-réaction pendant le cryptage, et transmettre au premier multiplexeur les données de la seconde unité de disposition inverse en tant que données de contre-réaction pendant le décryptage. 2. Dispositif selon la revendication 1, caractérisé en ce que l'unité de commande de clef effectue un Choix 1 Permuté de l'algorithme standard de cryptage de données en utilisant la valeur de clef initiale, divise la valeur de clef obtenue en une donnée montante initiale et une donnée descendante initiale, produit la donnée montante et la donnée descendante en décalant à gauche la donnée montante initiale et la donnée descendante initiale de 1 bit pendant le cryptage, et produit la donnée montante initiale et la montée descendante initiale en tant que donnée montante et donnée descendante pendant le décryptage. 3. Dispositif selon la revendication 1, caractérisé en ce que l'unité de commande de clef, le second multiplexeur et le troisième multiplexeur déterminent le cryptage et le décryptage conformément à un signal de décision de cryptage décryptage de l'algorithme standard de cryptage de données. 4. Dispositif selon la revendication 1, caractérisé en ce que le rotateur utilise soit le compteur iriterne soit le compteur externe, et détermine une dimension de décalage et la traite conformément à un signal de commande de dimension de décalage de l'algorithme standard de données. 5. Dispositif de formation de clefs pour un algorithme standard de cryptage de données, comprenant : une unité de commande de clef pour produire une donnée montante et une donnée descendante en effectuant des opérations pour cryptage et décryptage par l'utilisation d'une valeur de clef initiale ; une première unité de décalage pour décaler la donnée montante ; une seconde unité de décalage pour décaler la donnée descendante ; et une unité de formation de clefs pour produire des clefs pour le cryptage et le décryptage pour l'algorithme standard de cryptage de données en effectuant un Choix 2 Permuté de l'algorithme standard de cryptage de données par l'utilisation des données décalées dans la première unité de décalage et la seconde unité de décalage, caractérisé en ce que chacune des première et seconde unités de décalage comprend : un registre ; un multiplexeur pour transmettre au registre de manière sélective soit la donnée montante soit la donnée descendante et une donnée de contre-réaction ; et un rotateur pour décaler les données du registre dans une première direction en unités de bit pendant le cryptage et le décryptage, et transmettre au multiplexeur les données résultantes en tant que données de contreréaction. 6. Dispositif selon la revendication 5, caractérisé en ce que l'unité de commande de clef effectue un Choix 1 Permuté de l'algorithme standard de cryptage de données en utilisant la valeur de clef initiale, divise la valeur de clef obtenue en une donnée montante initiale et une donnée descendante initiale, et produit la donnée montante et la donnée descendante en décalant à gauche la donnée montante initiale et la donnée descendante initiale de 1 bit pendant le cryptage, et produit la donnée montante initiale et la donnée descendante initiale en tant que donnée montante et donnée descendante pendant le décryptage. 7. Dispositif selon la revendication 5, caractérisé en ce que le rotateur utilise un compteur interne ou un compteur externe, détermine une dimension de décalage conformément à un signal de commande de dimension de décalage de l'algorithme standard de cryptage de données, décale à gauche les données pendant le cryptage, et décale à droite les données pendant le décryptage. 8. Dispositif selon la revendication 5, caractérisé en ce que l'unité de commande de clef et le rotateur déterminent le cryptage et le décryptage conformément à un signal de décision de cryptage décryptage de l'algorithme standard de cryptage de données.