Brevet FR2301873A1 — publié le 19760917

La présente invention concerne un procède et un dispositif cryptographiques permettant, dans un système de traitement de données, de chiffrer et de chiffrer des données numériques de manière a assurer le secret des communications. L'emploi de plus en plus répandu des télécommunications dans les systèmes de traitement de données, les très longues liaisons par câbles entre terminaux ou dispositifs d'entree/sortie et unités de contrôle ainsi que l'amovibilité des dispositifs d'emmagasinage rendent inévitable 1 'interoeption ou où la modification des donnees parce que la protection physique des installations ne peut pas en principe être garantie. On sait que la cryptographie est 1 'un des moyens employés pour assurer la sécurité des communications en ce sens quelle protège les données elles-memes plutat que le support utilisé pour les transmettre. Il existe dans l'art antérieur divers procédés cryptographiques tels le procédé de substitution dit de chiffrement par blocs de données dans lequel des blocs de données sont chiffrés au moyen d'une clé, les cryptogrammes ainsi obtenus ne pouvant être déchiffres qu'au moyen de cette même clé. L'un des avantages de la technique de substitution est qu'elle permet de rocéder sans difficulte au déchiffrement en utilisant de façon inverse la clé de chiffrement. A cet égard, on se reportera utilement à l'article de C.E. Shannon, intitulé "Communication Theory of Secrecy Systems" paru dans la publication intitulée "Bell System Technical Journal", Vol. 28, octobre 1949, pages 656 à 715, ainsi qu'à l'article de H.Feistel, intitulé "Cryptography and Computer Privacy" paru dans la publication "Scientific American", Vol.228, No.5, mai 1973, pages 15 à 23. Shannon et Feistel décrivent tous deux un procédé de surchiffrement dans lequel deux chiffres ou davantage sont successivement combinés, par exemple en procédant à une substitution non lineaire suivie d'une transposition lineaire. Le brevet No. 72 240245 dépose en France par la demanderesse le 27 juin 1972, décrit un procédé de surchiffrement qui combine des transpositions lineaires et non linéaires d'un message en clair, lesquelles transpositions sont fonction d'une clé de chiffrement. Cette dernière permet en outre de procéder à diverses substitutions et additions modulo 2 de données partiellement chiffrées au moyen dudit procédé de chiffrement. Toutefois, le brevet précité ne fournit aucune precision en ce qui concerne le transfert des bits de la clé de chiffrement par le répartiteur de clés aux additionneurs modulo 2, la transposition non linéaire particulière effectuée dans les dispositifs qui assurent la fonction de substitution, ou la permutation particulière effectuée par le diffuseur, alors que ces différentes operations affectent de façon importante la qualité du chiffrement. D'autre part, la cle de chiffrement est divisée en petits groupes de bits qui font l'objet, lors du chiffrement, d'un décalage à chaque itération. Compte tenu de la faible longueur de chacun de ces groupes, les bits qu'il contient n'affectent qu'une partie restreinte de l'opération de chiffrement, augmentant ainsi de façon importante la qualite de cet dernier.Par ailleurs, deux types seulement de dispositif de substitution sont utilises dans ce procédé en fonction uniquement d'un bit de la clé de chiffrement , ce qui a egalement pour effet d'augmenter la qualité de ce dernier. Le brevet No. 72 37919 dépose en France par la demanderesse le 18 octobre 1972 décrit un procédé de surchiffrement dans lequel les blocs de données constituant le texte en clair sont divisés en segments qui font l'objet d'une transposition en serie en fonction d'une partie de la clé de chiffrement. Cela a pour effet de ralentir le débit, et si l'on modifiait ce procedé de façon à permettre un chiffrement des blocs en parallèle, il en résulterait une augmentation importante de la complexite du matériel nécessaire. De même que le précédent, le procédé decrit dans ce brevet est limité à deux types seulement de dispositifs de substitution qui ne sont choisis qu'en fonction d'un bit de la clé de chiffrement, ce qui affecte de façon importante la qualité de ce dernier. te dispositif cryptographique de la présente invention permet par exemple de chiffrer un bloc de données de 32 bits ou de chiffrer et déchiffrer un bloc de donnees de 64 bits sous le contrôle d'une clé de chiffrement arbitraire. Le chiffrement est réalisé au moyen d'une opération dans laquelle le bloc de données de 32 bits ou la premiere moitié d'un bloc de 64 bits, considéré comme un ensemble de 8 segments de 4 bits de données chacun, est transformé en 48 bits de données se composant de 8 segments de 6 bits de données chacun, ce résultat étant obtenu au moyen d'une repe- tition des derniers bits de chacun des 8 segments de 4 bits.Les 48 bits ainsi obtenus sont ensuite combinés en parallèle au moyen d'une addition modulo 2 avec les 48 bits d'une clé de chiffrement considérés comme 8 segments de 6 bits et sélectionnés en fonction d'une permutation arbitraire mais fixe, les 8 segments restants de 6 bits chacun formant les arguments effectifs pour 8 fonctions de transformation non-affines.Dans chacune des ces 8 fonctions de transformation, les derniers bits du segment appliqué de 6 bits, résultant de l'addition modulo 2 d'un bit final répété du segment précédent de 6 bits de données et d'un bit permuté de. la clé de chiffrement, et de l'addition modulo 2 d'un bit final r & eté du segment suivant de 6 bits de données et d'un bit permuté différent de la clé de chiffrement, sont effectivement décodés de manière à sélectin- ner l'une de quatre tables de fonction à 16 éléments, chaque élément se composant de 4 bits. L'un des 16 éléments de la table de fonction choisie est alors sélectionné en décodant effectivement les 4 premiers bits du segment de 6 bits.Les tables des 8 fonctions de transformation diffèrent les unes des autres, ce qui donne 8 fonctions de transformation differentes, d'où 8 segments de 4 bits définissant un ensemble de substitution de 32 bits. Cet ensemble est ensuite soumis à une transposition linéaire au moyen d'une permutation arbitraire mais fixe, la combinaison de la transposition non linéaire et de la transposition linéaire se traduisant par un surchiffrement du bloc de données de 32 bits. La seconde moitié (32 bits) du bloc de 64 bits est ensuite modifiée en procédant à une addition modulo 2 de ces 32 bits et des 32 bits de la première moitié du bloc. La seconde moitié ainsi modifiée (32 bits) remplace alors la premiere moitie du bloc laquelle remplace au même instant la seconde moitié.Lors de l'itération suivante, les bits de la clé de chiffrement font l'objet de décalages prédéterminés de manière à obtenir un nouvel ensemble de bits de la clé. Ce nouvel ensemble est ensuite utilise avec la seconde moitié modifiée du bloc pour effectuer une opération de surchiffrement analogue à la précédente, de maniere à modifier la première moitié (32 bits) du bloc. Cette remodification de moitiés alternées du bloc se poursuit au cours d'itérations successives pendant chacune desquelles les bits de la clé de chiffrement font l'objet de décalages prédéterminés de maniere à obtenir un nouvel ensemble de bits de la clé. L'opération décrite ci-dessus peut être utilisée dans le cadre d'un processus de chiffrement effectué au cours d'une série de 16 itérations en fonction d'un algorithme de surchiffrement de blocs de données, lequel peut être défini en termes d'une fonction de chiffrement et d'une fonction de variations de la clé. Ainsi, lors du chiffrement, si le message d'entrée de 64 bits se compose d'un bloc L de 32 bits et d'un bloc R de 32 bits, le message d'entrée peut être designé par le terme LR. D'autre part, si le bloc de bits constituant la cle de chiffrement est obtenu à partir d'une clé "KEY", ce bloc peut être désigné par le terme K. En conséquence, pour toutes les itérations sauf la dernière, le résultat d'une itération pour une entre LR peut être désigné par le terme L'cet peut être défini comme suit: L' = R (1) R' = Lf(R,K) où &commat; indique une addition modulo 2 bit par bit et avant chaque iteration un bloc K différent de bits de la cle de chiffrement est choisi à partir de la clé KEY.Etant donné que la sortie est transposee apres chaque itération, sauf la dernière, le résultat de la derniere itération dans le cas d'une entrée LR peut être désigné par le terme L'R' et defini: L' = L+f(R,K) (2) R' = R Par tailleurs, si un ensemble de modifications KS de la clé est défini comme une fonction d'un nombre entier n dans une gamme allant de 1 à 16 et de la cle KEY, la sélection, permutée des bits de la clé KEY peut être désignée par le terme K et définie comme suit: Kn = KS(n,KEY) (3) Si L0 et R0 sont respectivement égaux à L et R, et si Ln et Rn sont respectivement égaux à L' et R', lorsque Ln-1 et Rn-1 sont respectivement égaux à L et R, le résultat d'une itération lorsque n est compris dans une gamme allant de 1 à 15, peut être défini par:: Ln = Rn-1 (4) Rn = Ln-1 @ (Rn-1, Kn) Etant donné que le résultat est transpose apres chaque itération, exception faite de la dernière, le résultat de la dernière itération lorsque n est égal à 16 peut être défini par: Ln = Ln-1 @f (Rn-1, Kn) (5) R = Rn-1 Lors du chiffrement, K1 est utilisé pendant la premiere itération, K2 pendant la seconde, et ainsi de suite, K16 etant utilisé pendant la 16ieme itération. La figure 8 représente schématiquement un tel processus de chiffrement qui utilise l'algorithme de la présente invention. Les fonctions de chiffrement f (R,K) peuvent être définies en termes de fonctions primitives appelées fonctions de sélection et fonctions de permutation. Ainsi, si on transforme un bloc R de 32 bits en un bloc de 48 bits, ce dernier peut être désigné par le terme E(R). Le bloc E(R) est alors combiné au moyen d'une addition modulo 2 avec un bloc de-bits K de la clé de chiffrement, sélectionnés en fonction d'une permutation arbitraire mais fixe, de maniere à produire 8 segments de 6 bits B1, B2, B3, B4, B5, B6, B7 et B8, qui constituent les arguments de 8 fonctions de sélection distinctes S1, S2, S3, S4, S5, S6, S7 et S8.L'addition modulo 2 peut donc-être définie comme suit: E(R) OK = B1, B2, B3, B4, B5, B6, B7 et B8 (6) Chaque fonction de selection distincte Sj transforme un segment à 6 bits distinct B. en un segment à 4 bits, les 8 fonctions de sélection distinctes pouvant être définies Sî(Bî), S2(B2), S3(B3), S4(B4), S5(B5), S7(B7) et S8(B8). Les sorties (8 segments à 4 bits) des 8 fonctions de sélection sont alors réunies en un unique bloc de 32 bits qui, grâce à une fonction de permutation P devient un nouveau bloc de 32 bits défini comme suit: P(S1(B1), S2(B2), S3(B3), S4(B4), S5(B5), S6(B6), S7(B7), S8(B8)) (7) qui représente la fonction de chiffrement f(R,K). Le déchiffrement d'un bloc de 64 bits à l'aide de la cle utilisée pour le chiffrement nécessite la même série de 16 itérations pendant lesquelles les bits de la cle font l'objet d'un décalage prédéterminé d'une ou de deux positions de bit, mais en sens inverse de celui utilisé lors du chiffrement. On obtient ainsi un alignement approprie des bits de la clé pendant le déchiffrement, de manière à pouvoir inverser les opérations effectuées lors du chiffrement et aboutir à un bloc de 64 bits identique au bloc initial. Le processus de chiffrement de la présente invention peut également être utilise aux fins du déchiffrement, ce dernier étant réalisé en 16 itérations en fonction d'un algorithme de surchiffrement de blocs de données qui peut également être défini en termes d'une fonction de chiffrement et d'une fonction de variations de la clé de chiffrement. Ainsi, si un bloc de données chiffrées de 64 bits se compose d'un ensemble L' de 32 bits et d'un ensemble R' de 32 bits, ledit bloc peut être désigné par le terme L'R'. Le résultat de la première itération avec une entrée L'R' peut donc être désigne, apres transposition, par le terme LR et defini comme suit: L = L' f (R? (R',K) (8) R = R' où, apres chaque itération, un bloc différent K de bits de la clé est choisi à partir de la clé KEY dans l'ordre inverse de celui adopté lors du chiffrement.Après la premiere itération, chaque itération successive, sauf la dernière, est transposée, puis le résultat de chacune de ces itérations, avec L'R' comme entrée, peut être désigné par le terme LR et défini comme suit: L = R' @f (L', K) (9) R = Si Ln et Rn sont respectivement égaux à L et R, et si Ln-1 et Rnî sont respectivement égaux à L' et R', le résultat de la premiere itération lorsque n est égal à 16 peut être défini: Ln-1 = Ln @f (Rn' Kn) (10) Rn-1 = Rn Etant donné que l'on procède à une transposition apres chaque itération, exception faite de la dernière, le résultat de chaque itération successive lorsque n est compris entre 15 et 1 peut être defini comme suit:: Ln-1= Rn @f (Ln, Kn) (11) Rn-1= Ln Lors du déchiffrement, K16 est utilisé pendant la premiere itération, K15 pendant la seconde, ainsi de suite, K1 étant utilise lors de la 16ième itération. La figure 8 représente schématiquement un tel processus de dechiffrement qui utilise l'algorithme de la présente invention. Dans le contexte d'un système de traitement de données, une station emettrice effectue des opérations de chiffrement consistant à modifier une première moitié d'un bloc de données en fonction d'une clé de chiffrement permutée, puis en procedant à une substitution non linéaire et à une permutation linéaire, le résultat étant utilisé pour modifier la seconde moitié dudit bloc. La seconde moitié ainsi modifiée et la première moitié originelle du bloc sont ensuite remplacées l'une par l'autre de telle sorte que ladite seconde moitie modifiée serve d'argument pour une iteration de l'opération de surchiffrement à l'aide des bits permutés de la clé de chiffrement qui font l'objet de decalages predetermines, pour modifier la première moitie du bloc. L'opération de surchiffrement comporte seize itérations, le résultat d'une iteration constituant l'argument de la suivante, et le résultat finalement obtenu étant la version chiffrée du bloc initial. A une station réceptrice, le déchiffrement est effectue, de façon analogue, à l'aide de la clé de chiffrement, en seize iterations, les bits de la clé étant décalés en sens inverse de celui dans lequel le décalage s'est effectue lors du chiffrement, de manière à inverser les opérations exécutées lors du chiffrement et à obtenir un bloc identique au bloc initial. L'un des objets de la présente invention est donc de réaliser un dis positif capable d'assurer la sécurité des données dans le contexte d'un système de traitement de données. Un autre objet de l'invention est de réaliser un dispositif cryptographique permettant de chiffrer des blocs de données, dispositif dans lequel le chiffrement s'effectue au moyen d'une clé qui fait l'objet de decalages prédéterminés. Un autre objet de l'invention est de définir un procedé de chiffrement de blocs de données dans lequel le chiffrement d'un bloc s'effectue au moyen d'un nombre prédéterminé d'itérations d'une opération de surchiffrement, le résultat d'une de ces itérations servant d'argument pour l'itération suivante. Un autre objet de l'invention est de définir un procédé de chiffrement de blocs de données dans lequel le chiffrement d'un bloc s'effectue au moyen d'un nombre prédéterminé d'itérations d'une opération de surchiffrement de bloc à l'aide d'une clé de chiffrement qui fait l'objet de décalages prédétermines et dans une direction prédéterminée pendant lesdites itérations. Un autre objet de l'invention est de définir un procede de chiffrement de blocs de données dans lequel le chiffrement d'un bloc de données s'effectue au moyen d'un nombre prédéterminé d' itérations d'une operation de surchiffrement de bloc à l'aide d'une clé de chiffrement qui fait l'objet de décalages prédéterminés dans un sens prédéterminé pendant lesdites itérations, de telle sorte que différentes clés de chiffrement soient utilisées pendant lesdites itérations. Un autre objet de l'invention est de définir un procedé de déchiffrement de blocs de données dans lequel le déchiffrement s'effectue au moyen d'un nombre prédéterminé d'itêrations d'une opération de surchiffrement à l'aide d'une cle de chiffrement qui fait l'objet de décalages préd & ermi- nés pendant lesdites iterations, mais en sens inverse de celui dans lequel le bloc de données a été chiffré. Un autre objet de l'invention est de définir un procédé de chiffrement de blocs de données dans lequel une serie d'opérations de surchiffrement sont effectuées au moyen d'une clé de chiffrement qui fait l'objet de décalages prédéterminés. Un autre objet de l'invention est de définir un procédé de chiffrement de blocs de données dans lequel des moitiés alternées de chaque bloc sont modifiées au moyen d'un nombre prédéterminé d'opérations de surchiffrement exécutees à l'aide d'une clé de chiffrement qui fait l'objet de décalages prédéterminés. Un autre objet de l'invention est de définir un procédé de déchiffrement de blocs de données dans lequel des moitiés alternées de chaque bloc de données chiffrées sont modifiées au moyen d'un nombre prédéterminé d'opérations de surchiffrement de bloc exécutées au moyen de la même clé que celle utilisée aux fins du chiffrement, ladite clé fait l'objet de décalages prédétermines mais en sends inverse de celui dans lequel le bloc a été chiffré. Pour ne pas compliquer inutilement la présentation de l'invention les opérations de chiffrement et de surchiffrement seront appelées, dans ce qui suit, opérations de chiffrement lorsque ce terme plus general pourra être utilise sans confusion possible. L'un des objets de la présente invention est donc de réaliser un dispositif cryptographique permettant de procéder au chiffrement d'un bloc de données au moyen d'une clé de chiffrement. Un autre objet de l'invention est de définir un procédé de surchiffrement permettant de chiffrer des blocs de données numériques à l'aide d'une clé de chiffrement. Un autre objet de l'invention est de definir un procéde de surchiffrement par blocs de données qui comporte une transposition non linéaire effectuée en fonction d'une clé de chiffrement et de données numériques. Un autre objet de l'invention est de définir un procede de surchiffrement de blocs de données qui comprend plusieurs transpositions non linaires. Un autre objet de l'invention est de définir un procedé de surchiffrement dans lequel on augmente le nombre de bits d'un bloc de données à chiffrer en doublant certains de ces bits et en incluant une fonction de transposition non linéaire effectuée au moyen d'un ensemble de bits de la clé de chiffrement et d'un ensemble composé des bits de donnees et des bits de données ainsi doublés. Un autre objet de l'invention est de definir un procedé de surchiffrement de blocs de données dans lequel on augmente le nombre de segments parallèles de bits de données à chiffrer en doublant certains des bits de chaque segment et en incluant un groupe de fonctions de transposition non linéaire effectuées au moyen d'un groupe de segments paralleles d'un ensemble de bits de la clé de chiffrement et du groupe de segments paralleles de bits de données et de bits de données doublés. D'autres objets, caractéristiques et avantages de la présente invention ressortiront mieux de l'exposé qui suit, fait en référence aux dessins annexés à ce texte, qui représentent un mode de réalisation préféré de celle-ci. La figure 1 represente schématiquement l'emplacement de dispositifs cryptographiques utilises en conjonction avec un systeme de traitement de données. La figure 2 représente schématiquement le dispositif cryptographique de la présente invention. La figure 3 montre la façon dont les figures 3a à 3j doivent être assemblées pour constituer une unique figure. Les figures 3a à 3j, disposées de la façon indiquée sur la figure 3, représentent de façon détaillée le dispositif cryptographique de la présente invention utilisé dans le cadre d'un procéde de chiffrement. La figure 4 représente les détails de la logique d'un circuit de verrouillage utilise dans la présente invention. La figure 5 représente plusieurs diagrammes des temps servant à expli- quer le fonctionnement du circuit de verrouillage de la figure 4. La figure 6 représente les détails d'une unité de substitution utilisée dans la présente invention. La figure 7 montre la façon dont les figures 7a et 7b doivent être disposées de façon à constituer un unique diagramme des temps. Les figures 7a et 7b, disposees de la façon indiquée sur la figure 7, constituent un diagramme des temps utilise dans le cadre d'un procédé de chiffrement et de déchiffrement faisant appel à l'emploi du dispositif cryptographique de la présente invention. La figure 8 représente schématiquement un procédé de chiffrement et de déchiffrement utilisant le dispositif cryptographique de la présente invention. En différents points d'un reseau de traitement de données, il est en principe impossible de prevenir l'interception ou la modification des données ou le retrait physique de dispositifs d'emmagasinage, parti culièrement lorsque les données sont transmises entre un calculateur et une unité de contrôle éloignée ou un terminal éloigné par l'intermédiaire de réseaux de télécommunications ou entre une unité de contrôle et des terminaux ou des dispositifs dientree/sortie par l'intermédiaire d'un tres long cycle, ou lorsque des dispositifs d'emmagasinage amovibles sont prévus. On a recours en pareil cas, pour assurer le secret des transmissions, à l'remploi de dispositifs cryptographiques disposes de façon stratégique dans le réseau. A la station émettrice, les données en clair peuvent être chiffrées à l'aide d'un dispositif approprié, puis transmises à une station réceptrice où elles sont déchiffrées à l'aide d'un autre dispositif approprié de façon à retrouver le texte clair originel. De même, lorsque les fonctions des stations réceptrice et emettrice sont inversées, les fonctions des dispositifs cryptographiques associés à ces stations sont elles aussi inversées si bien que les données en clair provenant de la station réceptrice, fonctionnant à présent comme station émettrice, puissent être chiffres et transmises à la station emettrice, faisant à présent fonction de station réceptrice, où elles sont déchiffrées et remises sous leur forme originelle.La figure 1 montre l'emplacement de tels dispositifs cryptographiques dans un réseau de representatif de traitement de données. La figure 2 représente schématiquement le dispositif cryptographique de la présente invention qui est utilisé pour chiffrer ou chiffrer des blocs de données de 64 bits, ces derniers étant repartis en 8 octets. Ces octets sont appliques en série, un octet à la fois, au dispositif cryptographique par l'intermédiaire du câble d'entrée de donnees, 8 cycles etant donc nécessaires pour transmettre la totalité du bloc de 64 bits de donnees. Chaque octet de données ainsi appliqué au dispositif cryptographique fait l'objet d'une permutation linéaire initiale effectuée au moyen de connexions croisées ordinaires dans des dispositifs appelés ci-après unités P (par exemple, unité P 50). Après cette permutation, chaque octet est divise en deux moities, les bits pairs, O, 2, 4 et 6, étant appliqués à une mémoire tampon d'entrée "supérieure" (UIB) ioe et les bits impairs, 1, 3, 5 et 7, à une memoire tampon d'entrée "inférieure" (LIB) 150.Les mémoires tampon 100 et 150 effectuent une conversion série/ parallele et, après réception des 8 octets du bloc, presentent en parallèle deux moitiés, de 32 bits chacune, du bloc à un registre de données "supérieur" (UDR) 200 et à un registre de données "inferieur" (LDR) 250, respec vivement. Cependant que le bloc de 64 bits est reçu et appliqué aux memoires tampons 100 et 150, la clé de chiffrement est obtenue d'un registre externe de 64 bits qui fournit 8 octets dont chacun est compose de 7 des bits de la clé de chiffrement et d'un bit de parité utilisé de façon externe comme bit de contrôle. Les octets de la clé de chiffrement, chaque 8ième bit (le bit de parite) étant omis, sont appliques en série, un multiplet de 7 bits à la fois, au dispositif cryptographique par l'intermédiaire du câble d'entrée de données, la transmission de la totalité de la clé nécessitant également 8 cycles.Chaque multiplet de la clé de chiffrement qui est reçu par le dispositif cryptographique fait également l'objet d'une permutation initiale dans l'unité P 300, qui est divisée en deux moities, les 4 premiers bits de chaque multiplet de 7 bits étant appliqués à un registre de clé de chiffrement "supérieur" (UKR 350) et les 3 bits restants à un registre de clé de chiffrement "inférieur" (LKR 400).Les registres 350 et 400 comportent chacun 28 étages, le dernier étage du registre 350 étant connecté au 25ieme étage du registre 400 et effectuant une conversion serie/parallele, de telle sorte que pendant la reception en serie des 8 multiplets de 7 bits considérés comme sept groupes de 8 bits chacun, trois des sept groupes des 8 bits reçus en serie aux étages 0, 8 et 16 du registre 350 et trois autres des sept groupes de 8 bits reçus en série aux étages 0,8 et 16 du registre LKR 400 sont chacun convertis en trois groupes parallèles de 8 bits qui peuvent être considérés comme deux groupes parallèles de 24 bits dans le registre UKR 350 et dans le registre LKR 400. Les 8 bits du dernier des sept groupes sont reçus en série à l'étage 24 du registre UKR 350.La connexion entre le dernier étage du registre 350 et l'étage 24 du registre 400 permet la transmission à ce dernier des 4 premiers bits dudit dernier groupe reçu par le registre UKR 350, si bien que, pendant la réception du groupe de 8 bits, les 4 premiers bits sont convertis en un sous-groupe parallèle de 4 bits dans les quatre derniers étages du registre LKR 400 et les 4 bits restants sont convertis en un sous-groupe parallèle de 4 bits dans les quatre derniers étages du registre UKR 350. Les registres 350 et 400 contiennent alors la clé de chiffrement considérée comme deux groupes parallèles de 28 bits chacun. Les deux moitiés du bloc de données se trouvent alors transférées aux registres UDR 200 et LDR 250, et la clé de chiffrement est contenue dans les registres UKR 350 et LKR 400. Une fois ces deux derniers registres chargés, la connexion entre les deux registres n'est plus utilisée et ils fonctionnent comme deux registres à décalage indépendants d'une capacité de 28 bits. Lors d'un chiffrement, 16 itérations sont effectuées, avant lesquelles la clé de chiffrement contenue dans les registres 350 et 400 fait l'objet d'un pre-décalage d'une position de bit. Pendant ces itérations, exception faite de la première, le contenu des registres 350 et 400, qui est la clé de chiffrement, fait l'objet d'un décalage d'une ou deux positions de bit.Cela permet d'obtenir un alignement correct des bits de la cle de chiffrement puisque le contenu de chaque registre fait toujours l'objet d'un décalage d'exactement 28 positions en fonction d'un "programme11 de décalages prédéterminé. Pendant la première itération, la première moitie du bloc contenue dans le registre UDR 200 et composée de 32 bits de données sous la forme de 8 segments de 4 bits chacun, est convertie en 48 bits de donnees répartis en 8 segments de 6 bits chacun, ce résultat étant obtenu en répetant les derniers bits de chacun des 8 segments. Ces 8 segments de 6 bits sont alors appliqués en parallele à 8 additionneurs modulo 2 500 à 514 dont chacun se compose de 6 circuits OU Exclusif. Dans le même temps, un ensemble choisi de 48 bits predetermines des 56 bits de la clé de chiffrement, 24 des bits de cet ensemble etant choisis dans le registre UKR 350 et les 24 bits restants dans le registre LKR 400, fait l'objet d'une permutation lineaire dans l'unité P 450, cette permutation étant prédéterminée et fixe.Ces 48 bits sont appliqués sous la forme de 8 segments de 6 bits chacun, en parallèle, aux circuits OU Exclusif des 8 additionneurs modulo 2 500 à 514, lesquels combinent effectivement les 8 segments de 6 bits appliqués en parallèle et les 48 bits permutés de la clé de chiffrement, sous la forme de 8 segments de 6 bits, ces derniers segments constituant les arguments effectifs pour 9 unités de fonction de substitution nonaffines 550 à 564, ci-après appelées unités S, dans chacune desquelles une fonction de transformation non linéaire est effectuée.Dans chaque unité S, les derniers bits du segment de 6 bits appliqué qui résulte de l'addition modulo 2 d'un bit final répeté du segment de 6 bits de données précédent et d'un bit permuté de la clé de chiffrement, et de l'addition modulo 2 d'un bit final répété du segment de 6 bits de données suivant et d'un bit permute différent de la clé de chiffrement, sont effectivement décodés de manière à sélectionner l'une de quatre tables de fonction à 16 éléments contenues dans une mémoire inaltérable (ROS) que comporte l'unité S, chacun de ces éléments se composant de 4 bits. L'un des 16 éléments à 4 bits de la table de fonction sélectionnée est alors choisi en décodant effectivement les 4 bits restants, ou bits internes, du segment de 6 bits appliqué. Chaque unité S diffère des autres, ce qui permet d'obtenir 8 fonctions de transformation différentes et 8 segments de 4 bits definissant un ensemble de substitutions de 32 bits. Ce dernier ensemble fait alors l'objet d'une transformation linéaire au moyen d'une permutation arbitraire mais fixe dans l'unité P 600, la transformation non lineaire combinée avec la transformation linéaire se traduisant par un surchiffrement de la première moitié du bloc, soit 32 bits, que l'on applique aux additionneurs modulo 2 650 à 664. Les 32 bits de données de la seconde moitié du bloc contenue dans le registre LDR 250 sont egalement appliques aux additionneurs 650 à 664, ce qui a pour effet de modifier ces 32 bits en fonction du surchiffrement de la premiere moitié du bloc provenant de l'unité P 600 et donne 8 groupes de 4 bits constituant un nouvel ensemble de 32 bits représentant une seconde moitié modifiée du bloc. Cette dernière moitié remplace alors la premiere moitié (32 bits) du bloc contenue dans le registre UDR 200, laquelle est transférée et remplace la deuxième moitié (32 bits) du bloc qui se trouve actuellement dans le registre LDR 250. Pendant l'itération suivante, la clé de chiffrement qui se trouve emmagasinée dans les registres UKR 350 et LKR 400 fait l'objet d'un décalage prédétermine en fonction du "programme" précédemment' mentionne, de maniere à fournir un nouvel ensemble permuté de bits de la clé de chiffrement. La seconde moitie modifiée (32 bits) du bloc de données qui se trouve emmagasinée dans le registre UDR 200 est alors utilisée avec le nouvel ensemble de bits permutes de la clé de chiffrement aux fins d'une opération de surchiffrement analogue dont le resultat est utilise pour les additionneurs modulo 2 650 à 664 pour modifier la premiere moitié (32 bits) du bloc qui se trouve maintenant emmagasinée dans le registre LDR 250.La première moitié modifiée (32 bits) du bloc de données provenant des additionneurs modulo 2 650 à 664 remplace alors la seconde moitié modifiee (32 bits) du bloc de données contenue dans le registre UDR 200, laquelle est simultanément transférée de manière à remplacer la première moitie (32 bits) du bloc actuellement contenue dans le registre LDR 250. Pendant chaque itération suivante, exception faite de la derniers, les bits de la clé de chiffrement qui se trouvent dans les registres UKR et LKR 400 font l'objet d'un décalage prédéterminé en fonction du "programme" precedemment mentionne de manière à fournir un nouvel ensemble de bits permutes de la clé de chiffrement, une moitié modifiée (32 bits) du bloc emmagasinée dans le registre LDR 250 est remodifiée en fonction d'un surchiffrement de la moitié précédemment modifiée (32 bits) du bloc emmagasinée dans le registre UDR 200, et la moitié remodifiee résultante (32 bits) du bloc provenant des additionneurs modulo 2 650 à 664 remplace la moitié (32 bits) précédemment modifiée du bloc qui se trouve dans le registre UDR 200, laquelle remplace le contenu du registre LDR 250. Pendant la derniere itération, les bits de la clé de chiffrement contenue dans les registres UKR 350 et LKR 400 font l'objet d'un dernier décalage en fonction du "programme" précédemment mentionné de maniere à fournir un dernier ensemble de bits permutés de la clé de chiffrement, et l'on procede à une dernière remodification d'une moitie modifiée (32 bits) du bloc emmagasinée dans le registre de LDR 250 en fonction du surchiffrement de la moitié (32 bits) précédemment modifiee du bloc emmagasinée dans le registre UDR 200, mais la moitié remodifiée résultante (32 bits) du bloc provenant des additionneurs modulo 2, 650 à 664, et la moitié précédemment modifiée (32 bits) du bloc emmagasinée dans le registre UDR 200 ne sont pas transposées et constituent à présent la version chiffrée, composée de 64 bits, du bloc de données originel.Après la I6ième itération, le contenu du registre UDR 200 (32 bits) et la sortie (32 bits) des additionneurs modulo 2, 650 à 664, représentant le bloc de données chiffrées, sont transférés à une mémoire tampon de sortie "supérieure" (UOB) 700 et à une mémoire tampon de sortie "inférieure" (LOB) 750, respectivement. Le bloc de données chiffres, qui se compose de 4 octets de données chiffrées emmagasinées dans la mémoire tampon UOB 700 et de 4 octets de donnees chiffres emmagasinées dans la mémoire tampon LOB 750, fait alors l'objet d'une conversion parallèle/série portant sur chacun de ces octets et est appliqué, à raison d'un octet à la fois, a une unité P 800, la transmission de la totalité du bloc de 64 bits de donnees chiffrées nécessitant donc 8 cycles. Chaque octet de données chiffrées fait l'objet d'une permutation linéaire finale de façon à connecter les bits de données chiffrées aux lignes de bit appropriées du câble de données sortantes en vue de leur transmission à une station réceptrice. Le déchiffrement à l'aide de la même clé, à une station réceptrice, du bloc de 64 bits de données nécessite la même série de 16 iterations. Cependant, aucun décalage prealable de la cle contenue dans les registres 350 et 400 n'est effectué. Pendant les itérations afférentes au dechiffrement, exception faite de la première, le contenu des registres 350 et 400 fait l'objet d'un decalage prédéterminé d'une ou deux positions de bit, comme dans le cas du chiffrement, mais en sens inverse de façon à inverser les opérations effectuées lors du chiffrement et à obtenir un bloc de 64 bits de données identique au bloc originel. D'autre part, la clé contenue dans les registres 350 et 400 fait l'objet d'un décalage de 27 positionsde bits pendant les itérations afferentes au déchiffrement. En consequence, puisque les registres 350 et 400 ont une capacite de 28 bits, à la fin du déchiffrement, le contenu de ces registres fait l'objet d'un post-décalage d'une position de bit supplémentaire. Cela permet de transferer complètement la cle au travers de ces derniers registres en fonction du "programme" de décalage pour obtenir un alignement approprié des bits de la clé pendant chacune des itérations effectuées lors du déchiffrement et dans l'attente d'un autre déchiffrement. Le dispositif cryptographique de la présente invention est représenté schématiquement sur les figures 3a à 3j, et décrit ci-apres à l'aide des diagrammes des temps des figures 7a et 7b. On se reportera tout d'abord à la figure 4, qui représente les details logiques d'un circuit de verrouillage utilise dans l'invention. Le circuit de verrouillage 10 peut être réalisé au moyen de circuits dynamiques a transistors a effet de champ utilisant des signaux d'horloge à 4 phases, la durée de chaque phase etant de 250ns, soit un total de îms pour un cycle d'horloge complet. Le circuit de verrouillage se compose essentiellement d'un transistor à effet de champ (FET) 22 connecte entre une source de tension positive et une ligne 28, et dont la porte reçoit un signal d'horloge de phase 1 (i); des paires parallèles de transistors FET montes en série 23, 24 et 25, 26-, respectivement connectés entre les lignes 28 et 29, les portes de chaque paire étant connectées de maniere a recevoir respectivement les entrées D3, G3 et D4, G4; un transistor FET 30 monté entre la ligne 29 et la masse et dont la porte reçoit un signal d'horloge de phase2, un groupe de trois transistors FET connectés en série 32, 33 et 34 montés entre la source de tension positive et la masse, les signaux d'horloge de phase 3 et 4 étant respectivement appliqués aux portes des dispositifs 32 et 34, cependant que la porte du dispositif 33 est connectee à la ligne 28, la connexion entre les dispositifs 32 et 33 étant prise comme la ligne de sortie 36 du circuit de verrouillage 10 et retransmise en tant qu'entrée D4 à la porte du transistor FET 25. Les resistances parasites qui existent dans le circuit et entre les électrodes des transistors FET sont groupees et représentées en pointilles sous la forme des condensateurs 31 et 35.Les dispositifs 23, 24 et 25, 26 font effectivement fonction de circuits ET, cependant que la ligne 28 assure une fonction OU et que le dispositif 33 fait fonction d'inverseur. Le fonctionnement du circuit 10 de la figure 4 est expliqué ciaprès à l'aide du diagramme des temps de la figure 5. En supposant que ce circuit 10 se trouve initialement dans l'état 0, l'application du signal d'horloge de phase 1, dont le but est de rendre le transistor 22 conducteur a pour effet de porter la tension de la ligne 28 au niveau de celle qui est engendrée par la source de tension positive etant donne que le dispositif 30 est bloqué en raison de l'absence du signal d'horloge de phase 2. Lorsque ce dernier signal est appliqué, la tension de la ligne 28 est maintenue au même niveau ou diminue en fonction des signaux appliqués aux entres D3 et G3 ou D4 et G4.Etant donné que le circuit de verrouillage 10 est supposé se trouver dans l'état O, un signal de niveau bas est appliqué à l'entrée D4 afin que le dispositif 25 reste bloqué et un signal de niveau bas est appliqué à 1 1entrée G4 afin que le dispositif 26 reste bloqué, interdisant ainsi toute voie de decharge par l'intermédiaire des dispositifs 25, 26 et 30. En ce qui concerne la voie de décharge qui comprend les dispositifs 23 et 24, si un bit 1 (signal de niveau haut) est présent à l'entrée D3 en même temps qu'un signal de porte (signal de niveau haut) à l'entrée G3, les dispositifs 23 et 24 conduisent et fournissent une voie de décharge passant par le dispositif 30, faisant ainsi passer le niveau du signal présent sur la ligne 28 a celui de la masse. En revanche, si un bit 0 (signal de niveau bas) est présent à 1 'entrée D3 en même temps qu'un signal de porte à l'entrée G3, pendant la présence du signal d'horloge de phase 2, le dispositif 23 restera bloqué, la voie de décharge ne pouvant donc pas traverser les dispositifs 24 et 30 depuis la ligne 28, et le signal de niveau haut sera maintenu sur la ligne 28. Lors de l'application du signal d'horloge de phase 3 à la porte du dispositif 32, la tension de la ligne 36 est portée au niveau de la source de tension positive puisque le dispositif 34 reste bloque par suite de l'absence d'un signal d'horloge de phase 4. Lorsque ce dernier signal est applique à la porte du dispositif 34, la tension de la ligne 36 est maintenue au même niveau ou diminue en fonction du niveau du signal présent sur la ligne 28. Si un signal de niveau bas est présent sur cette dernière ligne, lequel signal représente un bit 1, pendant la présence du signal d'horloge de phase 4, le dispositif 33 reste bloqué, interdisant ainsi la voie de décharge provenant de la ligne 36 et passant par le dispositif 34, et un signal de niveau haut est maintenu sur la ligne 36, indiquant ainsi la présence d'un bit 1.Pendant la présence du signal d'horloge de phase 4, les signaux positifd respectivement appliqués aux entres D4 et G4 permettent de maintenir une voie de décharge pour la ligne 28, si bien qu'un signal de niveau bas est maintenu sur cette ligne indépendamment du niveau des signaux appliqués aux entres D3 et G3. Par ailleurs, si un signal de niveau haut est présent sur la ligne 28, ce signal représentant un bit d'entrée 0, pendant la présence du signal d'horloge de phase 4, le dispositif 33 est conducteur, fournissant ainsi une voie de décharge par l'intermédiaire du dispositif 34, et un signal de niveau bas est maintenu sur la ligne 36, indiquant ainsi la présence d'un bit 0.Dans ce cas, pendant la présence du signal d'horloge de phase 4, le signal de niveau bas appliqué à l'entrée D4 empêche le dispositif 25 de conduire et bloque de ce fait la voie de décharge pour la ligne 28, si bien qu'un signal de niveau haut est maintenu sur cette ligne. De ce fait, le dispositif 33 reste conducteur, la voie de décharge etant donc maintenue par l'intermédiaire du dispositif 34, et un signal de niveau bas est maintenu sur la ligne 36. Ainsi, pendant la phase 4 d'un cycle d'horloge, on a l'assurance d'obtenir des données valides à la sortie du circuit de verrouillage 10. Lorsque ce dernier circuit se trouve dans l'état 1, un cycle d'horloge est déclenché. L'application d'un signal d'horloge de phase 1 rend le dispositif 22 conducteur et porte la tension de la ligne 28 au niveau de la source de tension positive, comme précédemment. Lors de l'application du signal d'horloge de phase 2, le niveau de tension de la ligne 28 est, comme précédemment, maintenu ou diminue en fonction des signaux appliqués aux entres D3 et G3 ou aux entrées D4 et G4. Si un bit de donnée 1 est applique à l'entrée D3, un signal de niveau bas est maintenu sur la ligne 28, alors que si un bit de donnée 0 est appliqué à l'entrée D3 un signal de niveau haut est maintenu sur la ligne 28, de la façon précédemment décrite.Lorsque le signal d'horloge de phase 3 est appliqué à la porte du dispositif 32, la tension de la ligne 36 est de nouveau portee au niveau de la source de tension positive car le dispositif 34 reste bloque du fait de l'absence d'un signal d'horloge de phase 4. Lorsque ce dernier signal est appliqué à la porte du dispositif 34, la tension de la ligne 36 est maintenue au même niveau ou diminue, comme précédemment, en fonction du niveau du signal présent sur la ligne 28. Si ce signal est de niveau bas, représentant un bit 1, un signal de niveau haut est maintenu sur la ligne 36, indiquant ainsi la présence d'un bit 1, alors que si un signal de niveau haut représentant un bit 0, est présent sur la ligne 28 un signal de niveau bas est maintenu sur la ligne 36, indiquant ainsi la présence d'un bit 0, de la façon précédemment décrite.Le nombre des entres du circuit de verrouillage 10 peut être double en lui incorporant les dispositifs 18 et 19 connectes aux entrées D1 et G1, ou triplé en lui incorporant les dispositifs 20 et 21 connectés aux entrées D2 et G2. Dans la réalisation de la présente invention qui est décrite ciapres, des circuits de verrouillage (L) à 1,2 ou 3 paires d'entrées seront utilisés. Comme le montre la figure 3a, un bloc de 64 bits de données se composant de 8 octets est applique en série, un octet à la fois, à l'unité P 50 par l'intermédiaire du cable d'entrée de données, Chaque octet fait l'objet d'une permutation initiale dans l'unité P 50 de telle sorte qu'il soit divise en deux moitiés, les bits pairs étant appliqués à la mémoire tampon UIB 100 et les bits impairs à la memoire tampon LIB 150. Chacune de ces mémoires tampon se compose de 4 registres à décalage à 8 étages références UIB, 1UIB, 2UIB, et 3UIB, et LIB, 1LIB, 2LIB et 3LIB. Le premier et le dernier etage du premier registre à décalage, BUIB, sont représentes de façon détaillée sur la figure 3a, les registres à décalage restants étant représentes sous la forme de blocs car ils sont identiques au registre UIB. Comme on peut le voir sur le diagramme des temps de la figure 7a, pendant le cycle , lorsqu'un multiplet de données valide est appliqué aux mémoires tampon UIB 100 et LIB 150 par l'intermédiaire de l'unité P 50, les signaux sont appliques aux lignes LIB (G3) etflW (G4), provoquant ainsi le chargement du premier octet de donnees dans les bascules a verrouillage du premier étage de chacun des registres a décalage des mémoires tampon 100 et 150. Pendant les cycles 1 à 7, les octets restants du bloc des données sont appliques, un octet à la fois, aux memoires tampon 100 et 150, chaque bit de l'octet étant appliqué au premier etage (D3) de chacun des registres à décalage.Etant donne que les signaux présents sur les lignes LIB et LIB sont appliques à chaque étage des registres à décalage, pendant chacun des cycles 1 à 7 les bits de données sont décalés d'une position dans chacun de ces registres, si bien qu'à la fin du cycle 7 les mémoires tampon 100 et 150 contiennent deux moities du bloc de données appliqué. Les mémoires tampon 100 et 150 effectuent une conversion série/parallèle de telle sorte que les huit octets du bloc actuellement emmagasinés dans ces mémoires tampon permettent d'obtenir en parallèle à leurs sorties deux moitiés de 32 bits chacune du bloc. On se reportera à present aux figures 3b, 3c et 3d. Dans le même temps que le bloc de 64 bits est reçu et chargé dans les mémoires tampon 100 et 150, la clé de chiffrement est obtenue d'un registre externe d'une capacité de 64 bits et appliquée en serine, un multiplet de 7 bits à la fois, à l'unité P 300 par l'intermédiaire du câble d'entrée de la clé. Chaque multiplet de 7 bits fait l'objet d'une permutation initiale dans l'unité P 300, de telle sorte que chacun d'eux soit divise en deux moities, les quatre premiers bits de la clé étant appliqués au registre UKR 350 et les 3 bits restants étant transposés et appliqués au registre LKR 400. Les registres 350 et 400 se composent chacun de trois registres à décalage à 8 etages désignés UKR, 1UKR, 2UKR et LKR, 1LKR et 2LKR, respectivement, et d'un registre à décalage à 4 étages, 3UKR et 3LKR, respectivement, la sortie du quatrième étage du registre à décalage 3UKR étant connectee au premier etage du registre à décalage 3LKR.Le registre a décalage à 8 étages UKR se compose d'une bascule à verrouillage (L) à trois paires d'entrées 352 constituant le premier étage et de 7 bascules à verrouillage à deux paires d'entrées, telles que les bascules 354 et 366 constituant respectivement le second étage et le dernier étage du registre à decalage UKR, représentées de façon détaillée sur la figure 3b. Le registre à décalage à 8 etages 1UKR comporte également uee bascule à verrouillage 368 correspondant à la bascule 352 et sept bascules à verrouillage à deux paires d'entrées telles les bascules 370 et 382 correspondant aux bascules 354 et 366 du registre UKR. Le registre à décalage à 8 étages 2UKR est représenté sous la forme d'un bloc sur la figure 3c étant donné qu'il est identique au registre 1UKR. Le registre à décalage à 4 etages 3UKR se compose d'une bascule a verrouillage à 3 paires d'entrées 384 constituant le premier étage et de trois bascules à verrouillage a deux paires d'entrées, telle que la bascule 390 constituant le dernier étage du registre 3UKR, représentées de façon détaillée sur la-figure 3c. De même, les registres à décalage a 8 étages LKR, 1LKR et 2LKR du registre LKR 400 sont représentes sous la forme de blocs sur les figures 3c et 3d étant donne qu'ils sont identiques aux registres à décalage ssUKR, 1UKR et 2UKR du registre 350.Le registre a décalage a 4 étages 3LKR se compose d'une bascule à verrouillage à trois paires d'entrées 402 constituant le premier étage et connectée a la sortie de la bascule 390 du dernier étage du registre à décalage de 3UKR, et de trois bascules à verrouillage à deux paires d'entrées, telle la bascule à verrouillage 408 constituant le dernier etage du registre 3LKR, représentées de façon détaillée sur la figure 3d. Ainsi, pour les besoins du chargement, l'ensemble des registres UKR 350 et LKR 500 peut être considéré comme composé de 7 registres à décalage à 8 étages pour l'emmagasinage des bits de la clé de chiffrement. Comme le montrent les figures 3b à 3d et le diagramme des temps de la figure 7a, pendant le cycle ss, lorsqu'un multiplet de bits valides de la clé de chiffrement est appliqué aux registres UKR 350 et LKR 400 par l'intermédiaire de l'unité P 300, les signaux sont appliqués aux lignes LDK (G3) et LDK (G4) connectées aux premiers étages des registres à décalage UKR, IUKR, 2UKR, 3UKR, LKR, 1LKR et 2LKR, provoquant ainsi le chargement du premier multiplet de 7 bits de la clé de chiffrement dans les premiers étages de chacun des 7 registres à décalage des unités 350 et 400, par exemple dans les bascules à verrouillage 352, 368, 384 et 402. Pendant le cycle 1, le second des 8 multiplets de 7 bits de la clé de chiffrement est applique au premier étage de chacun des 7 registres à decalage des unités 350 et 400 et chargé dans ceux-ci. Simultanément, le contenu précédent de ces étages, c'est- -dire le premier des 8 multiplets de 7 bits, est décale d'une position de bit par des signaux appliqués aux lignes SR ( G3) et LDR qui sont connectées au second étage de chacun des registres à décalage 0UKR, 1UKR, 2UKR, 3UKR, OLKR, 1LKR et 2LKR. Le temps de résolution dans la bascule à verrouillage de n'importe lequel des étages est suffisant pour permettre l'exécution de l'opération de décalage avant qu'un changement quelconque ne se produise à la sortie de la bascule à verrouillage de l'étage précédent. Pendant le cycle 2, le troisième des 8 multiplets de 7 bits de la clé de chiffrement est charge dans les premiers étages des registres à decalage des dispositifs UKR 350 et LKR 400. Simultanément, le contenu précédent du premier et du second étage, c'est-à-dire le second et le premier des 8 multiplets de 7 bits, respectivement, est décalé d'une position de bit par des signaux appliqués aux lignes SR et LDK qui sont connectées au second étage et au troisième étage des registres a decalage UKR, 1UKR, 2UKR, 3UKR, LKR, 1LKR et 2LKR. Pendant les cycles 3 et 4, le quatrieme et le cinquième des 8 multiplets de 7 bits de la clé de chiffrement sont successivement chargés dans le premier étage de chacun des 7 registres a décalage des dispositifs 350 et 400 cependant que le contenu de ces derniers est décalé d'une position de bit. Toutefois, on notera, en se reportant aux figures 3c et 3d, que pendant le cycle 4, le bit du dernier étage du registre 3UKR est transféré au premier étage du registre à décalage 3LKR.Pendant les cycles 5, 6 et 7, les multiplets restants de 7 bits de la clé de chiffrement sont appliques, un multiplet de 7 bits à la fois, au premier étage de chacun des registres à décalage UKR, 1UKR, 2UKR, 3UKR, LKR, 1LKR, et 2LKR des dispositifs 350 et 400. Etant donné que les signaux présents sur les lignes LKR et t > sont appliqués au premier étage des registres à décalage et que les signaux presents sur les lignes SR et tR sont appliqués aux étages restants de chacun des registres à décalage, pendant chacun des cycles 5, 6 et 7, les bits de la clé de chiffrement sont décales d'une position de telle sorte qu'à la fin du cycle 7, les registres UKR 350 et UKR 400 contiennent deux moitiés de la clé de chiffrement appliquée.Lors de l'opération de chargement, ces deux derniers registres exécutent effectivement une conversion serie/parallele telle que les 8 multiplets de 7 bits de la clé de chiffrement, qui se trouve alors emmagasinée dans les registres 350 et 400, puissent être considérés comme deux moitiés parallèles de 28 bits.Les tableaux 1 et 2 ci-après montrent la répartition des bits de clé de chiffrement dans les registres UKR 350 et LKR 400: TABLEAU 1 REPARTITION DES BITS DE LA CLE DANS LE REGISTRE UKR Positions UKR- Bits de la clé O - 7 56 48 40 32 24 16 8 0 8 - 15 57 49 41 33 25 17 9 1 16 - 23 58 50 42 34 26 18 10 2 24 - 27 59 51 43 35 TABLEAU 2 REPARTITION DES BITS DE LA CLE DANS LE REGISTRE LKR Positions LKR Bits de la clé O - 7 62 54 46 38 30 22 14 6 8 - 15 61 53 45 37 29 21 13 5 16 - 23 60 52 44 36 28 20 12 4 24 - 27 27 19 11 3 On se reportera à présent aux figures 3a et 7a.Comme le montrent ces figures, les registres UDR 200 et LDR 250 se composent chacun de 32 étages comportant respectivement les bascules bistables UDR à 31UDR, et LDR à 31LDR. Pendant le cycle 8, les signaux sont appliqués aux lignes IBT et tEt pour provoquer un transfert parallèle des 32 bits de données qui se trouvent dans la mémoire tampon UIB 100 et des 32 bits de données qui se trouvent dans la memoire tampon LIB 150 aux registres UDR 200 et LDR 250, respectivement. Ainsi, les 64 bits du bloc de données sont répartis de la façon ci-après dans les registres 200 et 250. TABLEAU 3 REPARTITION DES BITS DE DONNEES DANS LE REGISTRE UDR Positions UDR Bits de données O - 7 56 48 40 32 24 16 8 0 8 - 15 58 50 42 34 26 18 10 2 16 - 23 60 52 44 36 28 20 12 4 24 - 31 62 54 46 38 30 22 14 6 TABLEAU 4 REPARTITION DES BITS DE DONNEES DANS LE REGISTRE LDR Positions LDR Bits de données 0 - 7 57 49 41 33 25 17 9 1 8 - 15 59 51 43 35 27 19 11 3 16 - 23 61 53 45 37 29 21 13 5 24 - 31 63 55 47 39 31 23 15 7 On notera en se reportant aux figures 3b, 3c, 3d et 7a, qu'aucun autre signal n'est engendré sur la ligne LDK.En conséquence, la connexion entre la dernière bascule à verrouillage 390 du registre a décalage 3UKR et la première bascule à eerrouillage 402 du registre a décalage 3LKR n'est plus utilisée pour transférer des bits en raison du fait qu'aucun autre signal n'est appliqué à la ligne LDK.D'autre part, la sortie de la dernière bascule 390-du registre à verrouillage 3UKR et la sortie de la dernière bascule a verrouillage 408 du registre a decalage 3LKR sont connectées a la première bascule a verrouillage 352 du registre à décalage LKR. Les registres UKR 350 et LKR 400 peuvent donc être considerés comme deux registres à décalage independants d'une capacité de 28 bits chacun.Avant de procéder au chiffrement, les bits de la clé de chiffrement qui se trouvent alors emmagasinés dans les registres 350 et 400 font l'objet d'un pré-décalage d'une position de bit vers les bits de poids le plus élevé, le bit emmagasiné dans la première bascule 352 du registre UKR 350 étant transféré à la dernière bascule 390 du registre 350, et le bit du premier étage du registre LKR 400 étant transféré à la dernière bascule 408 du registre 400. Cela est réalisé, pendant le cycle 8, en appliquant des signaux aux lignes SL et flW qui sont connectées à chaque étage des registres 350 et 400. La sortie de chaque bascule est connectée à la bascule précédente et, combinée avec les signaux présents sur les lignes SL et LDK, permet de transferer le bit d'une bascule donnée à la bascule précédente.Par exemple, la sortie UKR1 de la bascule à verrouillage 354 est connectée a une entre de la bascule 352, ce qui, en conjonction avec les signaux presents sur les lignes SL et tUR, permet de transférer le bit contenu dans la bascule 354 à la bascule 352. De même, la sortie UKR de la bascule 352 est connectée à une entrée de la bascule 390, ce qui, en conjonction avec les signaux présents sur les lignes SL et LDK, permet de transférer le bit emmagasiné dans la bascule 352 a la bascule 390. Ce pré-décalage d'une position de bit des bits de la clé avant le début de l'opération de chiffrement assure un alignement correct des bits de la clé pendant la première itération du processus de chiffrement.Ultérieurement, le contenu des registres UKR 350 et LKR 400 est décalé d'une ou de deux positions de bit vers les bits de poids le plus élevé pendant chaque itération lors du processus de chiffrement, exception faite de la première itération, de manière à obtenir 27 decalages supplémentaires des bits de la cle contenue dans les registres 350 et 400. Etant donné que ces derniers sont des registres à décalage d'une capacité de 28 bits, les 28 décalages des bits de la cle de chiffrement contenue dans les registres 350 et 400, soit 1 prédécalage et 27 decalages, permettent d'obtenir un alignement correct des bits de la clé pendant les itérations ainsi qu'au début du processus de chiffrement. Les decalages prévus des bits de la clé de chiffrement sont indiqués dans le tableau 5 ci-après: TABLEAU 5 DECALAGES PREVUS DE LA CLE Iteration No. CHIFFREMENT DECHIFFREMENT (décalage vers les (décalage vers les bits de poids le plus bits de plus faible élevé) poids) (Prédécalage) 1 1 1 1 2 2 2 3 2 2 4 2 2 5 2 2 6 2 2 7 2 2 8 1 1 9 2 2 10 2 2 il 2 2 12 2 2 13 2 2 14 2 2 15 1 1 16 (Postdécalage) 1 Dans les colonnes "chiffrement" et "dechiffrement" du tableau 5, la présence d'un 1 indique un décalage d'une position de bit dans les registres 350 et 400, cependant que la présence d'un 2 indique un decalage de deux positions de bit dans ces mêmes registres. Le chiffrement d'un bloc de bits de données a l'aide du dispositif cryptographique de la présente invention comporte 16 itérations. Comme le montrent les figures 3b, 3c, 3d et 7a, un prédécalage des bits de la clé de chiffrement contenue dans les registres UKR 350 et LKR 400 est effectue pendant le cycle 8 avant le chiffrement. Ainsi, les premiers signaux présents sur les lignes SL et LDR et appliqués à tous les étages des registres 350 et 400 provoquent un décalage d'une position de bit de la cle de chiffrement vers les bits de poids le plus élevé conformément au tableau 5 ci-dessus. On obtient ainsi un premier ensemble valide de bits de la cle de chiffrement à la fin du cycle 8 pour la première itération du processus de chiffrement.Cette premiere itération est effectuée pendant les cycles 9 et 10 et est déclenchée au moyen d'une permutation linéaire dans l'unité P 450 de 24 des 28 bits prédécalés de la cle de chiffrement contenus dans le registre UKR350 et de 24 des 28 bits predecales de la clé de chiffrement contenus dans le registre LKR 400. L'unité P 450 assure une permutation arbitraire mais fixe des 48 bits des regis-tres 350 et 400 conformement aux tableaux 6 et 7 ci-après: TABLEAU 6 PERMUTATIONS DES BITS DU REGISTRE UKR Bit UKR No. Bit permute No. 0 13 1 16 2 3 23 4 5 4 6 2 7 27 9 14 5 il 12 9 13 22 14 18 15 11 16 3 18 25 19 7 20 15 22 6 23 26 25 19 26 12 27 1 TABLEAU 7 PERMUTATIONS DES BITS DU REGISTRE LKR Bit LKR No. Bit pennuté No. 12 1 23 2 2 3 8 4 18 5 26 7 1 8 11 10 22 11 16 12 4 13 19 15 15 16 17 18 27 19 5 20 24 21 17 22 13 23 21 24 7 26 27 3 Les 8 additionneurs modulo 2 500, 5Q2, 504, 506, 508, 510, 512 et 514, chacun desquels comporte six circuits OU Exclusif (XOR), reçoivent simultanément, d'une part, les 48 bits permutés de la cle de chiffrement sous la forme de 8 segments de 6 bits, et, d'autre part, la premiere moitié du bloc de données qui se trouve dans le registre UDR 200, soit 32 bits de données répartis en8 segments de 4 bits, après conversion de ces 32 bits en 48 bits répartis en 8 segments de 6 bits. Cette dernière conversion est réalisée en répétant les derniers bits de chacun des 8 segments de 4 bits de données de la façon représentée sur les figures 3e, 3f et 3g. Les 8 additionneurs modulo 2 mentionnés ci-dessus combinent en fait les 48 bits de donnees en parallèle avec les 48 bits permutés de la clé de chiffrement, ce qui donne 8 segments de 6 bits constituant les arguments effectifs pour 8 unités de substitution non-affines (unites S) 550 a 564, de la façon indiquée dans les tableaux 8 et 9 ci-après: TABLEAU 8 Bit UKR | Bit UDR No. Unité S, Unité S No. Permuté No. Bit No. 13 ≈ 31 16 # 8 1 1 ≈ 1 2 23 # 2 3 a 3 4 4 4 5 2 3 0 1 1 27 # 4 4 1 1 14 5 2 1 5 # 6 3 1 2 # 7 4 1 9 3 8 5 1 22 7 0 2 2 18 8 1 2 11 # 9 9 2 2 3 # 10 3 2 25 B 11 4 2 7 12 5 2 15 # 11 0 3 6 12 1 3 26 # 13 2 3 19 14 3 3 12 # 15 4 3 1 # 16 5 3 TABLEAU 9 Bit LKR Bit UDR No. Unité S, Unité S No. Permute No. Bit No. 12 # 15 0 4 23 # 16 1 4 2 # 17 2 4 8 9 18 3 4 18 19 4 4 26 # 20 5 4 1 # 19 0 5 11 # 20 1 5 22 p 21 2 5 16 ≈ 22 3 5 4 23 4 5 19 4 24 5 5 15 # 23 0 6 a # 24 24 1 6 10 # ≈ 25 2 6 27 26 3 6 5 27 4 6 24 B 28 5 6 17 ≈ 27 0 7 13 28 1 7 21 29 2 7 7 30 3 7 g # 31 4 7 3 8 5 7 L'unite S (No. fl) 550 representée sur la figure 6 se compose du décodeur 552 et de la mémoire inaltérable (ROS) 584. L'unite 550 reçoit comme entrée un segment de 6 bits provenant de l'additionneur modulo 2 500 (additionneur No. 0). Des signaux représentant les derniers bits du segment ainsi appliqué et qui résultent de l'addition modulo 2 du bit de donné répété UDR 31 et du bit permute UKR 13 de la clé de chiffrement et de l'addition modulo 2 du bit de donné répété UDR 4 et du bit permuté UKR 4 de la clé de chiffrement, sont appliques aux inverseurs 554 et 556 de maniere a fournir des signaux vrais et de complément représentant les derniers bits du segment de 6 bits appliqué à l'unité 550. Lorsque le résultat de l'addition modulo 2 est Bib, l'un des quatre groupes de 16 circuits ET est sélectionne, c'est-à-dire le groupe de circuits ET 568 a 570. De même, lorsque le résultat de l'addition modulo 2 est 01, le second des quatre groupes de 16 circuits ET est sélectionné, c'est-à-dire le groupe de circuits ET 572 à 574. Lorsque le résultat de l'addition modulo 2 est 10, c'est le troisième des quatre groupes de circuits ET qui est sélectionné, c'est-à-dire le groupe de circuits ET 576 à 578. Enfin, lorsque le résultat de l'addition modulo 2 est 11, c'est le quatrième des quatre groupes qui est sélectionné, c'est -dire le groupe de circuits ET 580 à 582.Des signaux représentant les quatre bits "internes", du segment de 6 bits reçu par l'unité 550 sont appliqués aux inverseurs 558, 560, 562 et 564, de manière à obtenir des signaux vrais et de complément représentant les quatre bits internes du segment de 6 bits. Les quatre bits internes de ce segment sont décodes par l'un des 16 circuits ET du groupe sélectionné afin qu'un signal de commande soit appliqué a une ligne d'adresse de la mémoire inaltérable ROS 584. Cette dernière se compose essentiellement de quatre tables de fonction, 0ROS, 1ROS, 2ROS et 3ROS, contenant chacune 16 inscriptions dont chacune se compose de 4 bits emmagasinés dans 4 transistors à effet de champ (FET) tels que les dispositifs 586 à 589 ou 590 à 593. Ces dispositifs, lorsqu'ils sont selectionnes, produisent un segment de quatre bits distinct sur les lignes de sortie 594 à 597 de la mémoire 584, les différents segments étant appliqués aux quatre lignes de sortie Si, S1, S2 et S3 de l'unité S 550. Bien que l'agencement des sept autres unités S soit analogue à celui de l'unité S 550, les tables de fonction des unités S different les unes des autres, ce qui permet d'obtenir 8 fonctions de transformation differentes. Les sorties des tables de fonction des 8 unités S sont indiquées dans les tableaux 10 à 13 ciaprès, dans lesquels chaque numéro de sortie représente une configuration binaire à 4 bits (héxadécimale), c'est-à-dire 14 = 1 1 1 0: TABLEAU 10 UNITE S UNITE S No. 0 No. 1 Bits de sortie Bits de sortie Bits internes 00 01 10 11 00 01 10 11 de l'unité S (0) (1) (2) (3) (0) (1) (2) (3) 0000 ( ) 14 0 4 15 15 3 0 13 0001 (1) 4 15 1 12 1 13 14 8 0010 (2) 13 7 14 8 8 4 7 10 0011 (3) 1 4 8 2 14 7 11 1 0101 (5) 15 2 6 9 11 2 4 15 0110 (6) 11 13 2 1 3 8 13 4 0111 (7) 8 1 11 7 4 14 1 2 1000 (8) 3 10 15 5 9 12 5 11 1001 (9) 10 6 12 11 7 0 8 6 1010 (10) 6 12 9 3 2 1 12 7 1011 (11) 12 11 7 14 13 10 6 12 1100 (12) 5 9 3 10 12 6 9 0 1101 (13) 9 5 10 0 0 9 3 5 1110 (14) 0 3 5 6 5 11 2 14 1111 (15) 7 8 0 13 10 5 15 9 TABLEAU 11 UNITE S UNITE S No. 2 No. 3 Bits de sortie Bits de sortie Bits internes 00 01 10 11 00 01 10 11 de l'unité 5 (0) (1) (2) (3) (0) (1) (2) (3) 0000 ( ) 10 13 13- 1 7 13 10 3 0001 (1) 0 7 6 10 13 8 6 15 0010 (2) 9 0 4 13 14 11@ 9 0 0011 (3) 14 9 9 0 3 5 0 6 0100 (4) 6 3 8 6 O 0 6 12 10 0101 (5) 3 4 15 9 6 15 11 1 0110 (6) 15 6 3 8 9 0 7 13 0111 (7) 5 10 0 7 10 3 13 8 1000 (8) 1 2 11 4 1 4 15 9 1001 (9) - 13 8 1 15 2 7 1 4 1010 (10) 12 5 2 14 8 2 3 5 1011 (11) 7 14 12 13 5 12 14 11 1100 (12) 11 12 5 11 11 1 5 12 1101 (13) 4 11 10 5 12 10 2 7 1110 (14) 2 15 14 2 4 14 8 2 1111 (15) 8 1 7 12 15- 9 4 14 TABLEAU 12 UNITE S UNITE S No. 4 No. 5 Bits de sortie Bits de sortie Bits internes 00 01 10 11 00 01 10 11 de l'unité S (0) (1) (2) (3) (0) (1) (2) (3) 0000 ( ) 2 14 4 11 12 10 9 4 0001 (1) 12 11 2 8 1 15 14 3 0010 (2) 4 2 1 12 10 4 15 2 0011 (3) 1 12 11 7 15 2 5 12 0100 (4) 7 4 10 1 9 7 2 9 0101 (5) 10 7 13 14 2 12 8 5 0110 (6) 11 13 7 2 6 9 12 15 0111 (7) 6 1 8 13 8 5 3 10 1000 (8) 8 5 15 6 0 6 7 11 1001 (9) 5 0 9 15 13 1 0 14 1010 (10) 3 15 12 0 3 13 4 1 1011 (11) 15 10 5 9 4 14 10 7 1100 (12) 13 3 6 10 14 0 1 6 1101 (13) O 9 3 4 7 11 13 0 1110 (14) 14 8 0 5 5 3 11 8 1111 (15) 9 6 14 3 11 8 6 13 TABLEAU 13 UNITE S UNITE S No. 6 No. 7 Bits de sortie Bits de sortie Bits internes 00 01 10 11 00 01 10 11 de l'unité S (0) (1) (2) (3) (0) (1) (2) (3) 0000 ( ) 4 13 1 6 13 1 7 2 0001 (1) 11 0 4 11 2 15 11 1 0010 (2) 2 11 11 13 8 13 4 14 0011 (3) 14 7 13 8 -4 8 1 7 0100 (4) 15 4 12 1 6 10 9 4 0101 (5) O 9 3 4 15 3 12 10 0110 (6) 8 1 7 10 11 7 14 8 0111 (7) 13 10 14 7 1 4 2 13 1000 (8) 3 14 10 9 10 12 0 15 1001 (9) 12 3 15 5 9 5 6 12 1010 (10) 9 5 6 0 3 6 10 9 1011 (11) 7 12 8 15 14 11 13 0 1100 (12) 5 2 0 14 5 0 15 3 1101 (13) 10 15 5 2 0 14 3 5 1110 (14) 6 8 9 3 12 9 5 6 1111 (15) 1 6 2 12 7 2 8 11 Comme le montrent les figures 3e, 3f et 3g, les 8 unités S 550 à 564 produisent 8 segments de 4 bits qui définissent un ensemble de substitution de 32 bits qui sont transformes de façon linéaire au moyen d'une permutation arbitraire mais fixe effectuée dans l'unité de permutation P 600. La combinaison de la transposition non linéaire effectuee par les unités S 550 à 564 et de la transposition linéaire effectuée par l'unité P 600, se traduit par un surchiffrement de la première moitié du bloc de données. La permutation linéaire des sorties de l'unité S est indiquée dans le tableau 14 ci-après: TABLEAU 14 PERMUTATIONS DES SORTIES DE L'UNITE S Bit No. Bit permuté No. S0 S8 S1 S16 S2 S22 S3 S30 S4 S12 S5 S27 S6 S1 S7 S17 S8 S23 S9 S15 S10 S29 S11 S5 512 S25 S13 S19 S14 S9 S15 S0 S16 S7 S17 S13 S18 S24 S19 S2 S20 S3 S21 S28 S22 S10 S23 S18 S24 S31 S25 S11 S26 S21 S27 S6 S28 S4 S29 S26 S30 S14 S31 S20 Les huit additionneurs modulo 2 650, 652, 654, 656, 658, 660, 662 et 664 représentés sur les figures 3h, 3i et 3j se composent chacun de quatre circuits OU Exclusif (XOR).La seconde moitié du bloc contenuedans le registre LDR 250 et qui se compose de 32 bits de données considérés comme 8 segments de 4 bits, ainsi que l'ensemble de 32 bits permutés représentant le surchiffrement de la première moitié du bloc, sont appliqués comme entrées à ces huit additionneurs modulo 2. Ces derniers modifient effectivement les 32 bits de données de la seconde moitie de bloc en parallèle avec les 32 bits représentant le surchiffrement de la première moitié du bloc, produisant ainsi 8 segments de 4 bits qui constituent un nouvel ensemble de 32 bits, représentant la seconde moitié modifiée du bloc, laquelle est appliquée par l'intermédiaire d'un câble au registre UDR 200 de la figure 3a. Comme le montrent les figures 3a et 7a, pendant la première partie du cycle 10, des premiers signaux sont appliqués aux lignes LB et LDR qui sont connectées a toutes les bascules à verrouillage du registre UDR 200, permettant ainsi l'emmagasinage dans le registre 200 du nouvel ensemble de 32 bits représentant la seconde moitié modifiée du bloc de donnees. Simultanément, les signaux présents sur les lignes LB et LDR sont également appliqués à toutes les bascules à verrouillage du registre LDR 250, permettant ainsi l'emmagasinage dans celles-ci de la premiere moitié du bloc depuis le registre UDR 200. Cette transposition de la seconde moitié maintenant modifiée du bloc et de la première moitié du bloc prépare l'itération suivante du processus de chiffrement.La premiere itération déclenchée après le prédécalage de la clé de chiffrement lors du cycle 8 est alors terminée. On se reportera à présent aux figures 3a a 3j et au diagramme des temps de la figure 7a. La seconde itération est effectuee pendant les cycles 10, 11 et 12 et est déclenchée par une opération de décalage exécutée pendant le cycle 10-. Pendant ce dernier cycle, de seconds signaux présents sur les lignes SL et CE et appliqués à tous les étages des registres UKR 350 et LKR 400 provoquent un nouveau décalage d'une position de bit, vers les bits de poids le plus relevé, de la clé de chiffrement conformément au tableau 5 ci-dessus. On obtient ainsi un second ensemble de bits de la clé de chiffrement pour la seconde itération du processus de chiffrement.Pendant ie cycle 11, la seconde moitie modifiée du bloc actuellement emmagasinée dans le registre UDR 200 est alors utilisée aux fins d'une opération de surchiffrement analogue à celle précédemment décrite et dont le résultat est utilisé par les additionneurs modulo 2, 650 à 664, pour modifier la première moitié du bloc de donnees actuellement emmagasinée dans le registre LDR 250. On se reportera à présent aux figures 3a et 7a. Pendant le cycle 12, de seconds signaux sont appliqués aux lignes LB et LDR qui sont connectées a toutes les bascules à verrouillage du registre UDR 200 et permettent de ce fait l'emmagasinage dans ce dernier registre du nouvel ensemble suivant de 32 bits représentant la première moitié modifiée du bloc. Dans le même temps, les seconds signaux présents sur les lignes LB et LDR sont également appliqués à toutes les bascules à verrouillage du registre LDR 250, permettant ainsi le transfert à ce dernier registre et l'emmagasinage dans celui-ci de la seconde moitié modifiee du bloc qui se trouve alors emmagasinée dans le registre UDR 200. Cette opération permet au dispositif cryptographique d'excécuter l'itération suivante du processus de chiffrement. La seconde itération est alors terminée. En ce qui concerne les décalages prévus de la clé de chiffrement qui sont indiques sur le tableau 5, on notera que cette clé doit être décalée de deux positions de bit pendant la troisième itération, laquelle est effectuée pendant les cycles 11, 12, 13 et 14. En conséquence, pendant le cycle 11, la première des deux opérations de decalage de la clé de chiffrement est effectuée en appliquant des troisièmes signaux aux lignes SL et LDR. Cela a pour effet de déclencher le premier des deux décalages afférents à la troisième itération et, compte tenu du temps de résolution du dispositif de chiffrement, n'affecte en rien la seconde operation déclenchée par le second signal appliqué à la ligne SL.Pendant le cycle 12, des quatrièmes signaux appliqués aux lignes SL et t provoquent le décalage d'une position de bit de la cle de chiffrement vers les bits de poids le plus élevé. Ainsi, la cle de chiffrement est décalée de deux positions de bit par les troisièmes et-quatriemes signaux appliques aux lignes SL et LOR pendant la troisième iteration. De façon analogue, et conformément au tableau 5, les itérations successives sont effectuees par le dispositif cryptographique. Pendant chacune des itérations restantes, sauf la dernière, les bits de la clé de chiffrement contenus dans les registres 350 et 400 font l'objet des decalages prévus par le tableau 5, une moitié modifiee du bloc de données emmagasinée dans le registre LDR 250 est remodifiée en fonction du surchiffrement de la moitie précédemment modifiée du bloc qui se trouve emmaga sinée dans le registre UDR 200, et la moitié remodifiée résultante d'un bloc provenant des additionneurs modulo 2, 650 à 664, est appliquée de manière à remplacer la moitie précédemment modifiée du bloc qui se trouve dans le registre UDR 200 et qui est simultanément transférée de manière à remplacer le contenu du registre LDR 250. Pendant la dernière iteration du processus de chiffrement, qui est effectuée pendant les cycles 28 et 39, les bits de la clé de chiffrement qui se trouvent dans les registres UKR 350 et LKR 400 font l'objet d'un dernier décalage conformément au tableau 5 et une dernière remodification d'une moitié modifiée du bloc de données emmagasiné dans le registre UDR 250 est effectuée conformément au surchiffrement de la moitié précédemment modifiée du bloc emmagasinée dans le registre UDR 200, mais la moitié remodifiée résultante du bloc provenant des additionneurs modulo 2, 650 à 664, et la moitié prcédemment modifiée du bloc emmagasinée dans le registre UDR 200 ne sont pas transposées, aucun signal n'étant présent sur la ligne LB, et constituent à présent la version chiffrée du bloc originel de données. En consequence, comme le montrent les figures 3a, 3h, 3i et 3j, la sortie, composée de 32 bits, du registre UDR 200 et celle, également composée de 32 bits, des additionneurs modulo 2, 650 à 664, représentant la version chiffrée, comprenant 64 bits, du bloc de données originel, sont appliquées respectivement aux mémoires tampon UOB 700 et LOB 750 dont chacune se compose de 4 registres à decalage à 8 étages, respectivement désignés 0UOB, 1UOB, 2UOB, 3UOB, et 0LOB, 1LOB, 2LOB et 3LOb. Le premier étage, le second étage et le dernier étage du premier registre decalage UOB sont représentés de façon détaillée sur la figure 3h, les autres registres à décalage étant représentés sous la forme de blocs puisqu'ils sont identiques à ce registre UOB. On se reportera a present aux figures 3h, 3i et 3j ainsi qu'au diaSramme des temps de la figure 7b. Pendant le cycle 40, des signaux sont appliqués aux lignes LDOB et LDOB qui sont connectées à toutes les bascules a verrouillage de chacun des registres a décalage des memoires tampon UOB 700 et LOB 750, telles que les bascules 702, 704 et 716 du registre a décalage UOB. Ces signaux provoquent donc un transfert en parallèle de la sortie, soit 32 bits, du registre UDR 200 à la mémoire tampon UOt 700 et un transfert parallele simultané de la sortie, soit 32 bits, des additionneurs modulo 2, 650 à 664, à la mémoire tampon LOB 750. Le bloc de 64 bits de données chiffrées qui se trouve à présent emmagasine dans les mémoires tampon UOB 700 et LOB 750 fait alors l'objet d'une conversion parallèle/série, à raison d'un octet à la fois, les bits contenus dans le dernier étage de chacun des 8 registres étant appliqués, sous la forme d'un octet, à l'unité P 800, dans laquelle chacun de ces octets fait l'objet d'une permutation linéaire finale pour connecter les bits de donnees chiffrées aux lignes de bit appropriées du câble de sortie des données. Ce résultat est obtenu en appliquant les signaux présents sur les lignes DOB et LDOB aux étages 2 à 8 de chacun des 8 registres à décalage pUOB, 1UOB, 2UOB, 3UOB et LOB, 1LOB, 2LOB, 3LOB.Ainsi, pendant chacun des cycles 41 à 47, les bits de données de chacun des 8 registres à décalage sont décalés d'une position vers les bits de plus faible poids et un octet de 8 bits de données est permuté par l'intermédiaire de l'unité P 800 et appliqués aux câbles de sortie des données. A la fin du cycle 48, le dernier multiplet du bloc de 64 bits de données chiffrées est transmis et le processus de chiffrement est termine. Il est évident que des blocs successifs de donnees peuvent être chiffrés de la façon indiquée ci-dessus, bien que cela ne soit pas représente sur le diagramme des temps des figures 7a et 7b. En consequence, lors du chiffrement du premier bloc de données, si le bloc de données suivant est reçu par le dispositif cryptographique, il peut être charge dans les mémoires tampon UIB 100 et LIB 150. Ensuite, à la fin du cycle 39, lorsque la dernière iteration du premier processus de chiffrement est terminez, la clé de chiffrement a effectué un tour complet dans les registres UKR 350 et LKR 400 et reprend sa configuration originelle de façon à permettre le chiffrement du bloc de donnees suivant.De ce fait, pendant le cycle 40 du processus de chiffrement, pendant le transfert du premier bloc de données chiffres aux mémoires tampon UOB 700 et LOB 750, le bloc de données suivant peut être transféré aux registres UDR 200 et LDR 250 sous le contrôle des signaux appliqués aux lignes IBT et LDR représentées en pointillés sur la figure 7 > et le processus de chiffrement suivant peut se poursuivre pendant que le premier bloc de données est transféré des mémoires tampon 700 et 750 par l'intermédiaire de l'unité P 800 au câble de sortie des donnees.Il est évident que si la vitesse de transmission des blocs de donnees au dispositif cryptographique devient trop élevee, un bloc de données étant alors reçu avant que le bloc de donnees precédent n'ait été transféré des mémoires tampon d'entrée aux registres de données, des circuits doivent être prévus pour indiquer cet état au moyen par exemple d'un signal d'occupation. Cela permettrait la transmission des blocs de donnees successifs de façon synchrone, à la vitesse de fonc ti onnement du dispositif cryptographique. Le déchiffrement d'un bloc de données chiffrées se composant de 64 bits s'effectue à l'aide de la même clé que celle qui a eté utilisée aux fins du chiffrement et necessite la même suite de 16 itérations. Toutefois, dans le cas du déchiffrement, la cle de chiffrement fait l'objet d'un post-décalage après la derniere itération au lieu d'être prédécalée avant la première itération comme dans le cas du chiffrement. D'autre part, la clé n'est pas décalée dans le même sens que lors du chiffrement, mais en sens inverse, conformement au tableau 5 ci-dessus. Cela permet d'obtenir, lors des itérations afférentes au déchiffrement, un alignement des bits de la clé tel que l'on puisse exécuter l'opération inverse de chaque itération effectuée lors du chiffrement et que l'on obtienne un bloc de 64 bits de données identique au bloc originel. On se reportera à présent aux figures 3a à 3d et au diagramme des temps de la figure 7a. Pendant les cycles O à 7, le bloc de données chiffrées est reçu par l'intermédiaire du câble d'entrée de données et chargé dans les mémoires tampon UIB 100 et LIB 150, et la clé de chiffrement est reçue et chargée dans les registres UKR 350 et LKR 400, de la façon precédemment décrite. Pendant le cycle 8, le bloc de donnees chiffrées est transfere en parallèle des mémoires tampon UIB et LIB 150 aux registres UDR 200 et LDR 250, respectivement, de la façon précédemment indiquée. Comme le montrent les figures 3a à 3j, pendant le cycle 9, la première moitié du bloc de données chiffrées qui se trouve alors dans le registre UDR 200 est utilisée avec un ensemble de bits permutés de la cle de chiffrement pour obtenir un surchiffrement dont le résultat est utilise par les additionneurs modulo 2, 650 à 664, pour modifier la seconde moitié du bloc de données qui se trouve alors emmagasinée dans le registre LDR 250, de la façon déjà décrite à propos du chiffrement.Comme le montre la figure 7a, pendant le cycle 10, le premier signal appliqué à la ligne LB et le signal appliqué à la ligne LDR permettent le remplacement par la seconde moitie modifiée du bloc de données chiffrées de la première moitié du bloc de donnees chiffres dans le registre UDR 200, laquelle remplace simultanément la seconde moitie du message chiffré contenu dans le registre LDR 250 en vue de l'exécution de l'itération suivante du processus de déchiffrement. Cette deuxième itération est effectuée pendant les cycles 10, 11 et 12 et est déclenchée en décalant les bits de la clé de chiffrement d'une position de bit vers les bits de plus faible poids pendant le cycle 10. Ce resultat est obtenu par l'application au premier étage des registres UKR 350 et LKR 400 du premier signal présent sur la ligne SR, par l'application aux étages restants de chacun des registres 350 et 400 du premier signal présent sur la ligne SR, et par l'application à tous les étages des registres 350 et 400 du signal présent sur la ligne LDK. Le premier signal présent sur la ligne SRR et le signal present sur la ligne LDK provoquent le transfert des bits contenus dans le dernier étage de chacun des registres 350 et 400 au premier étage de chacun de ces mêmes registres, cependant que le premier signal présent sur la ligne SR et le signal présent sur la ligne LDK qui sont appliqués à tous les étages restants des registres 350 et 400, provoquent le transfert des bits contenus dans chacun des etages de ces registres à l'étage suivant, effectuant ainsi un décalage d'une position de bit de l'ensemble de la clé de chiffrement vers les bits de plus faible poids. On obtient ainsi un nouvel ensemble de bits de la clé de chiffrement pour la seconde iteration du processus de déchiffrement qui est terminée à la fin du cycle 12 de façon analogue à celle déjà décrite a propos du chiffrement. On notera en se reportant au tableau 5 ci-dessus que la clé de chiffrement doit être décalée de deux postions de bit au-début de la troisième itération effectuée lors du déchiffrement. En conséquence, pendant le cycle 11, la première des deux opérations de décalage de la clé est effectuée en appliquant de seconds signaux aux lignes SRR et SR ainsi qu'un signal à la ligne UIfl. Pendant le cycle 12, de troisièmes signaux sont appliqués aux lignes SRR et SR ainsi qu'un autre signal à la ligne I , les seconds et troisièmes signaux appliqués aux lignes SRR et SR provoquant de ce fait les décalages de la clé de deux positions de bits vers les bits de plus faible poids.De même, et conformément au tableau 5, le dispositif cryptographique effectue, lors du déchiffrement, des itérations successives qui sont achevees a la fin du cycle 30, à l'exception du fait que pendant la seizième itération, l'absence d'un signal sur la ligne LB empêche l'exécution d'une opération de transposition analogue à celle décrite à propos de la seizième itération effectuée lors du çhif- frement. Pendant le cycle 40, la clé fait l'objet d'une opération de post-décalage qui lui permet, après avoir effectué un tour complet dans les registres 350 et 400, de reprendre son format originel en vue du déchiffrement du bloc de donnees suivant.Ensuite, pendant les cycles 40 à 48, le bloc de données déchiffrées est transféré en parallèle de la sortie du registre UDR 200 et des additionneurs modulo 2, 650 à 664, aux memoires tampon UOB 700 et LOB 750, respectivement, puis transféré, à raison d'un octet à la fois, au câble de sortie des données par l'inter mediaire de l'unité P 800. A la fin du cycle 48, le dernier multiplet du bloc de 64 bits de données déchiffrées est transmis et le processus de déchiffrement est terminé. Il est sous-entendu que les blocs successifs de donnees chiffres peuvent être déchiffrés de la façon indiquée cidessus, bien que cela ne soit pas représenté sur les diagrammes des temps des figures 7a et 7b.Ainsi que le comprendra l'homme de l'art, l'addition modulo 2 effectuée par les additionneurs 650 à 664 pendant le chiffrement est une operation qui s'inverse d'elle-même lors du déchiffrement. Bien que l'on ait fait état dans la description ci-dessus d'un ensemble d'additionneurs modulo 2, 500 à 514, l'homme de l'art comprendra que l'opération de surchiffrement ne soit pas limite à l'emploi de tels additionneurs, et que tout autre type ou combinaison d'additionneurs permettant d'obtenir une sortie composée de 48 bits puisse être utilisé. Bien que l'on ait décrit dans ce qui precede et représente sur les dessins les caractéristiques essentielles de l'invention appliquees à un mode de réalisation préféré de celle-ci, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles, sans pour autant sortir du cadre de ladite invention. REVENDICATIONS 1.- Procédé de chiffrement d'un bloc de données binaires à l'aide d'une clé de chiffrement représentée par un certain nombre de bits, ce procédé étant caractérisé en ce qu'il comporte les opérations suivantes: transformation linéaire de la clé de chiffrement par réarrangement de certains bits au moins de cette clé; formation d'un bloc de données élargi en doublant certains des bits du bloc, le bloc de données élargi comportant un nombre de bits égal au nombre de bits de la clé transformée; application d'une fonction de transposition non linéaire au moyen des bits du bloc de donnees élargi et des bits de la clé de chiffrement transformée de façon à produire une combinaison de bits dont le nombre de bits est égal au nombre de bits du bloc de donnees;; transformation lineaire de cette combinaison de bits de façon à produire une combinaison de bits transformée. 2.- Procédé selon la revendication précédente caractérisé en ce qu'il est appliqué au premier bloc d'un message de donnees forme de deux blocs de données binaires, le deuxième bloc du message étant modifié en fonction de la combinaison de bits transformée, les opérations produisant la combinaison de bits transformée et le deuxième bloc modifié étant de nouveau exécutées pour modifier le premier bloc du message au moyen du deuxième bloc modifié et de la cle de chiffrement, au prealable decalee dans une certaine direction d'un nombre de positions prédéterniné, un certain nombre d'opérations d'itération étant ensuite exécuté pour remodifier, au moyen de la clé décalée à chaque iteration et du bloc de données le plus récemment modifié, l'autre bloc de données. 3.- Procédé selon la revendication précédente caractérisé en ce que la clé de chiffrement est décalée dans une certaine direction d'un nombre de positions prédéterminées avant de subir une transformation linéaire, les différentes opérations du procédé etant répétées un certain nombre de fois pour obtenir des blocs modifiés a partir d'un message comportant plusieurs blocs. 4.- Procédé de déchiffrement d'un bloc de données binaires chiffré à l'aide d'une clé de chiffrement representee par un certain nombre de bits, ce procéde etant caractérisé en ce qu'il comporte les opérations suivantes: transformation linéaire de la cle de chiffrement par rearrangement d'au moins certains bits de cette clé; formation d'un bloc de données chiffré élargi en doublant certains des bits du bloc, le bloc de données chiffré elargi comportant un nombre de bits égal au nombre de bits de la clé transformée;; application d'une fonction de transposition non linéaire au moyen des bits du bloc de données chiffré elargi et des bits de la clé de chiffrement transformée de façon à produire une combinaison de bits dont le nombre de bits est égal au nombre de bits du bloc de donnees chiffré; transformation linéaire de cette combinaison de bits de façon à produire une combinaison de bits transformée. 5.- Procédé selon la revendication précédente caractérise en ce qu'il est applique au premier bloc chiffré d'un message de donnees formé de deux blocs chiffrés de donnees binaires, le deuxième bloc chiffre du message étant modifie en fonction de la combinaison de bits transformee, les operations produisant la combinaison de bits transformée et le deuxième bloc chiffré modifie etant de nouveau exécutées pour modifier le premier bloc chiffré du message au moyen du deuxième bloc chiffré modifié et de la clé de chiffrement, au préalable décalée dans une certaine direction d'un nombre de positions prédéterniné, un certain nombre d'opérations d'iteration étant ensuite execute pour remodifier, au moyen de la clé décalée à chaque itération et du bloc de donnees le plus récemment modifié, l'autre bloc de données. 6.- Procédé selon la revendication précédente caractérisé en ce que la clé de chiffrement est decalée dans une certaine direction d'un nombre de positions prédéterminées avant de subir une transformation linéaire, les différentes opérations du procédé étant repétees un certain nombre de fois pour obtenir des blocs modifiés à partir d'un message chiffré comportant plusieurs blocs. 7.- Procédé de chiffrement d'un bloc de données binaires à l'aide d'une cle de chiffrement représentée par un certain nombre de bits, ce procédé étant caractérisé en ce qu'il comporte les opérations suivantes: transformation de la cle de chiffrement en plusieurs segments de bits de clé transformée; formation d'un bloc de donnees élargi en doublant certains des bits du bloc, les bits de ce bloc étant groupés en segments de bits dont le nombre est egal au nombre de segments de la clé transformée; application de fonctions de transposition non linéaire au moyen des segments du bloc de données élargi et des segments de la clé transformée de façon a produire une combinaison de bits dont le nombre de bits est égal au nombre de bits du bloc de données;; transformation linéaire de cette combinaison de bits par réarrangement de bits de façon a produire un bloc de données chiffré. 8.- Dispositif de chiffrement pour la mise en oeuvre du procédé suivant la revendication 1 caractérisé en ce qu'il comporte: des premiers moyens d'emmagasinage de données pour emmagasiner le bloc de données; des premiers moyens de transformation linéaire permutant certains bits au moins des bits de la clé de chiffrement; des moyens de génération de bloc de données élargi connectes aux premiers moyens d'emmagasinage pour doubler certains des bits du bloc de données, ces moyens délivrant un bloc de données élargi contenant autant de bits que la cle transformée;; des moyens, connectés à ces moyens de génération de bloc de données elargi et aux premiers moyens de transformation linéaire, appliquant une fonction de transposition non linéaire au moyen des bits du bloc de données élargi et du bit de la clé de chiffrement transformée de façon à produire une combinaison de bits dont le nombre de bits est égal au nombre de bits du bloc de données; des seconds moyens de transformation linéaire connectés aux moyens appliquant la fonction de transposition non lineaire et permutant certains bits au moins de la combinaison de bits pour produire un bloc de données chiffré. 9.- Dispositif selon la revendication 8 caractérisé en ce que les moyens de génération de bloc de donnees élargi doublent la moitié des bits du bloc de données. 10.- Dispositif selon la revendication 8 ou 9 caractérisé en ce que les moyens de transposition non lineaire comportent: des moyens combinant les bits du bloc de données elargi et les bits de la cle transformée pour produire une combinaison de bits; des moyens de transposition non lineaire, connectés a la sortie de ces moyens de combinaison, et appliquant une fonction de transposition non lineaire a la combinaison de bits. 11.- Dispositif de chiffrement pour la mise en oeuvre du procedé selon la revendication 7 caractérisé en ce qu'il comporte: des premiers moyens d'emmagasinage de données pour emmagasiner le bloc de données; des premiers moyens de transformation linéaire permutant les bits de la clé de chiffrement, ces bits étant groupés en plusieurs segments de bits de clé transformee; des moyens de génération de bloc de donnees elargi connectés aux premiers moyens d'emmagasinage pour doubler certains des bits du bloc de données, les bits de ce bloc élargi etant en nombre égal au nombre de bits de la clé transformée et groupés en segments de bits dont le nombre est égal au nombre de segments de la clé transformee;; des moyens appliquant des fonctions de transposition non linéaire au moyen des segments de bits de données et des segments de bits permutés de façon à produire une combinaison de bits dont le nombre de bits est egal au nombre de bits du bloc de donnees; des seconds moyens de transformation linéaire connectés aux moyens appliquant les fonctions de transposition non linéaire et permutant les bits de la combinaison de bits pour produire un bloc de donnees surchiffré. 12.- Dispositif selon la revendication 11 caractérisé en ce que les moyens appliquant les fonctions de transposition non linéaire comportent: des additionneurs combinant les segments de bits de données et les segments de la clé transformée de façon à produire des segments de bits combinés; des moyens de transposition non linéaire connectes aux additionneurs de façon à appliquer des fonctions de transposition non linéaire aux segments de bits combinés. 13.- Dispositif selon la revendication 11 ou 12 caractérisé en ce que les segments de bits de données consistent en différents groupes de bits de données, certains de ces bits étant des bits de données doublés par les moyens de génération de bloc de données élargi. 14.- Dispositif selon la revendication 13 caractérisé en ce que les segments de clé transformée consistent en différents groupes de bits de clé trans formée, les additionneurs comportant des sous-groupes d'additionneurs combinant les groupes de bits de donnees et les groupes de bits de clé transformee pour produire des sous-groupes de bits combinés, les moyens de transposition non linéaire comportant plusieurs sous-groupes connectes en sous-groupes d'additionneurs pour appliquer des fonctions de transposition non linéaire aux sous-groupes de bits combinés et produire des sousgroupes de bits de transposition, les bits doublés de chaque sous-groupes de bits combinés etant utilisés pour effectuer la sélection d'un moyen de transposition non lineaire dans chacun des sous-groupes de moyens de transposition non linéaire. 15.- Dispositif pour la mise en oeuvre du procéde selon la revendication 2 ou 3 caractérisé en ce qu'il comporte: des premiers moyens d'emmagasinage pour emmagasiner le premier bloc d'un message de données ou la première moitié d'un bloc de données; des seconds moyens d'emmagasinage pour emmagasiner le deuxième bloc d'un message de donnees ou la deuxième moitié d'un bloc de données; des troisièmes moyens d'emmagasinage pour emmagasiner une clé de chiffrement; des premiers moyens de transformation linéaire connectés aux troisièmes moyens d'emmagasinage permutant certains bits au moins de cette clé pour produire une clé transformée;; des moyens de génération de bloc de données elargi connectes aux premiers moyens d'emmagasinage pour doubler certains des bits du premier bloc pour produire un premier bloc de données élargi contenant autant de bits que la clé transformée; des moyens connectés à ces moyens de génération de bloc de données élargi et aux troisiemes moyens d'emmagasinage, appliquant une fonction de transposition non linéaire au moyen des bits du premier bloc de donnees elargi et des bits de la clé transformée de façon a produire une combinaison des bits dont le nombre est egal au nombre de bits du premier bloc de données;; des seconds moyens de transformation linéaire connectés aux moyens appliquant la fonction de transposition non linéaire et permutant certains bits au moins de la combinaison de bits pour produire un premier bloc de données chiffre; des moyens de modification connectés aux seconds moyens d'emmagasinage et aux seconds moyens de transformation linéaire, modifiant les bits du second bloc de donnees au moyen du premier bloc de données chiffré pour produire un second bloc de données modifié; des moyens connectés entre ces moyens de modification et les premiers moyens d'emmagasinage pour emmagasiner ce second bloc de données modifié dans les premiers moyens d'emmagasinage; des moyens connectés entre les premiers et seconds moyens d'emmagasinage pour emmagasiner le premier bloc de données dans le second moyen d'emmagasinage, pour compléter une premiere opération d'itération. 16.- Dispositif selon la revendication 15 caractérise en ce que, pour effectuer une deuxième opération d'itération, il comporte en outre des moyens de décalage actifs durant cette seconde opération d'itération pour décaler, d'un nombre de positions prédéterminé et dans une certaine direction, les bits de la clé de chiffrement pour produire une clé de chiffrement decalée. Durant cette seconde opération d'itération, ce dispositif modifie le premier bloc de données emmagasiné dans les seconds moyens d'emmagasinage au moyen du second bloc de données modifie emmagasiné dans les premiers moyens d'emmagasinage et de la clé de chiffrement décalée dans les troisiemes moyens d'emmagasinage, pour produire un premier bloc de données modifié de la même façon qu'a eté produit le second bloc de donnes modifié durant la première opération d'iteration, ce premier bloc modifié étant emmagasiné dans les premiers moyens d'emmagasinage, le second bloc modifié étant emmagasine dans les seconds moyens d'emmagasinage pour compléter la deuxième opération d'iteration. 17.- Dispositif selon la revendication 16 caractérise en ce qu'il comporte en outre: des moyens de commande pour effectuer un nombre prédéterminé d'opérations d'itération de la même manière que la seconde operation d'iteration a eté effectuée; des moyens connectés entre les premiers moyens d'emmagasinage et des premiers moyens de sortie, actifs après la dernière operation d'itération pour transférer le bloc de donnees modifié dans les premiers moyens de sortie à partir des premiers moyens d'emmagasinage; des moyens connectés entre les moyens de modification et des seconds moyens de sortie actifs après la dernière operation d'itération pour transferer le bloc de donnees modifié dans les seconds moyens de sortie, à partir des moyens de modification. 18.- Dispositif de déchiffrement pour la mise en oeuvre du procédé selon la revendication 5 ou 6 caractérisé en ce qu'il comporte: des premiers moyens d'emmagasinage pour emmagasiner le premier bloc d'un message de donnees chiffré ou la première moitie chiffrée d'un bloc de données chiffré; des seconds moyens d'emmagasinage pour emmagasiner le deuxième bloc d'un message de données chiffré ou la deuxième moitié d'un bloc de données chiffre; des troisièmes moyens d'emmagasinage pour emmagasiner une cle de chiffrement; des premiers moyens de transformation linéaire connectés aux troisièmes moyens d'emmagasinage permutant certains bits au moins de cette clé pour produire une clé transformée;; des moyens de génération de bloc chiffré élargi connectés aux premiers moyens d'emmagasinage pour doubler certains des bits du premier bloc chiffré pour produire un premier bloc chiffré élargi contenant autant de bits que la clé transformée; des moyens connectés à ces moyens de generation de bloc chiffré élargi et aux troisièmes moyens d'emmagasinage, appliquant une fonction de transposition non linéaire au moyen des bits du premier bloc chiffré élargi et des bits de la clé transformée de façon à produire une combinaison des bits dont le nombre est égal au nombre de bits du premier bloc chiffré; des seconds moyens de transformation linéaire connectés aux moyens appliquant la fonction de transposition non linéaire et permutant certains bits au moins de la combinaison de bits pour produire un premier bloc de donnees;; des moyens de modification connectés aux seconds moyens d'emmagasinage et aux seconds moyens de transformation linéaire, modifiant les bits du second bloc de données chiffré, au moyen du premier bloc de données, pour produire un second bloc chiffré modifié; des moyens connectés entre ces moyens de modification et les premiers moyens d'emmagasinage pour emmagasiner ce second bloc chiffré modifie dans les premiers moyens d'emmagasinage;; des moyens connectés entre les premiers et seconds moyens d'emmagasinage pour emmagasiner le premier bloc de données chiffré dans le second moyen d'emmagasinage, pour compléter une premiere operation d'iteration, des moyens de décalage actifs durant une seconde opération d'itération pour décaler, d'un nombre de positions prédéterminées et dans une certaine direction, les bits de la clé de chiffrement pour produire une clé de chiffrement décalée.Durant cette seconde opération d'itérationr ce dispo sitif modifie le premier bloc chiffré emmagasiné dans les seconds moyens d'emmagasinage au moyen du second bloc chiffré modifié emmagasiné dans les premiers moyens d'emmagasinage et de la clé de chiffrement décalée dans les troisièmes moyens d'emmagasinage, pour produire un premier bloc chiffré modifié de la même façon qu'a eté produit le second bloc chiffré modifié durant la première operation d'iteration, ce premier bloc chiffré modifié etant emmagasiné dans les premiers moyens d'emmagasinage, le second bloc chiffré modifié étant emmagasiné dans les seconds moyens d'emmagasinage pour compléter la deuxième operation d'iteration. 19.- Dispositif selon la revendication 18 caractérisé en ce qu'il comporte en outre: des moyens de commande pour effectuer un nombre prédéterminé d'opérations d'itération de la même manière que la seconde opération d'itêration a éte effectuee; des moyens connectés entre les premiers moyens d'emmagasinage et des premiers moyens de sortie, actifs après la derniere opération d'itéra- tion pour transférer le bloc de donnees modifié dans les premiers moyens de sortie à partir des premiers moyens d'emmagasinage; des moyens connectés entre les moyens de modification et des seconds moyens de sortie actifs après la dernière opération d'itération pour transferer le bloc de données modifie dans les seconds moyens de sortie, à partir des moyens de modification. 20.- Dispositif de chiffrement selon 1 'une quelconque des revendications 8 à 14 pour effectuer une opération de chiffrement sur un bloc de données de 32 bits sous le contrôle d'une clé de chiffrement de 48 bits, ce dispositif étant caractérise en ce qu'il comporte: des moyens d'emmagasinage pour emmagasiner le bloc de 32 bits de données; des premiers moyens de transformation lineaire permutant les 48 bits de la clé de chiffrement; des moyens de génération de bloc de données élargi doublant 16 des bits de données du bloc de 32 bits pour délivrer un bloc de donnes élargi de 48 bits;; des moyens connectés à ces moyens de génération de bloc de données elargi et aux premiers moyens de transformation linéaire, appliquant au moins une fonction de transposition non linéaire au moyen du bloc élargi de 48 bits et de la cle transformee également de 48 bits de façon à produire une combinaison de 32 bits; des seconds moyens de transformation linéaire connectés aux moyens appliquant la ou les fonctions de transposition non linéaire et permutant la combinaison de 32 bits pour produire un bloc de données chiffré de 32 bits. 21.- Dispositif selon la revendication 18 ou 19 pour effectuer une opération de déchiffrement sur un bloc chiffré de 64 bits de données, caractérisé en ce qu'il comporte: des premiers moyens d'emmagasinage pour emmagasiner la premiere moitié de 32 bits du bloc de données chiffré; des seconds moyens d'emmagasinage pour emmagasiner la deuxieme moitié de 32 bits du bloc de données chiffré; des troisièmes moyens d'emmagasinage pour emmagasiner une clé de chiffrement; des premiers moyens de transformation linéaire connectes aux troisièmes moyens d'emmagasinage permutant certains bits au moins de cette clé pour produire une clé transformée de 48 bits; des moyens de génération connectés aux premiers moyens d'emmagasinage pour doubler 16 bits de la première moitie chiffrée de 32 bits pour produire une première moitié chiffrée élargie de 48 bits;; des moyens connectés à ces moyens de génération et aux troisièmes moyens d'emmagasinage, appliquant une fonction de transposition non linéaire au moyen des 48 bits de la première moitié chiffrée elargie et des 48 bits de la clé transformée de façon à produire une combinaison des 32 bits; des seconds moyens de transformation linéaire connectés aux moyens appliquant la fonction de transposition non linéaire pour produire une combinaison permutée de 32 bits; des moyens de modification connectés aux seconds moyens d'emmagasinage et aux seconds moyens de transformation linéaire, modifiant les 32 bits de la seconde moitié du bloc chiffré au moyen de la combinaison permutée de 32 bits pour produire une seconde moitié modifiée de 32 bits; ; des moyens connectés entre ces moyens de modification et les premiers moyens d'emmagasinage pour emmagasiner cette seconde moitié modifiée de 32 bits dans les premiers moyens d'emmagasinage; des moyens connectés entre les premiers et seconds moyens d'emmagasinage pour emmagasiner la première moitié chiffrée du bloc de données dans le second moyen d'emmagasinage, pour compléter une premiere opération d'iteration, des moyens de decalage, actifs durant une seconde opération d'itération pour decaler, d'un nombre de positions prédéterminées et dans une certaine direction, les bits de la clé de chiffrement pour produire une clé de chiffrement décalée, de bits. Durant cette seconde opération d'iteration, ce dispositif modifie la premiere moitié de 32 bits du bloc de données emmagasiné dans les seconds moyens d'emmagasinage au moyen de la seconde moitié modifiee emmagasinée dans les premiers moyens d'emmagasinage et de la clé de chiffrement décalée de 48 bits, pour produire une premiere moitié modifiee de la même façon qu'a été produit la seconde moitié modifiée durant la première operation d'itération, cette première moitie modifiée etant emmagasinée dans les premiers moyens d'emmagasinage, la seconde moitié modifiée étant emmagasinée dans les seconds moyens d'emmagasinage pour completer la deuxieme opération d'iteration. 22.- Dispositif selon la revendication 21 caractérisé en ce qu'il comporte en outre: des moyens de commande pour effectuer un nombre prédéterminé d'operations d'itération de la même manière que la seconde opération d'itération a ete effectuée; des moyens connectés entre les premiers moyens d'emmagasinage et des premiers moyens de sortie, actifs après la dernière opération d'itération pour transférer les 32 bits de données modifiés dans les premiers moyens de sortie à partir des premiers moyens d'emmagasinage; des moyens connectés entre les moyens de modification et des seconds moyens de sortie actifs après la dernière operation d'itération pour transférer les 32 bits de donnees modifie dans les seconds moyens d'emmagasinage, à partir des moyens de modification. 23.- Dispositif selon l'une quelconque des revendications 8 à 22 caractérisé en ce qu'il est incorporé dans un systeme de traitement de données pour assurer la sécurité des donnees traitées par le système.