FR2590383A1 - Dispositif electronique de communication cryptographique, et procede correspondant - Google Patents

Dispositif electronique de communication cryptographique, et procede correspondant Download PDF

Info

Publication number
FR2590383A1
FR2590383A1 FR8517185A FR8517185A FR2590383A1 FR 2590383 A1 FR2590383 A1 FR 2590383A1 FR 8517185 A FR8517185 A FR 8517185A FR 8517185 A FR8517185 A FR 8517185A FR 2590383 A1 FR2590383 A1 FR 2590383A1
Authority
FR
France
Prior art keywords
base
information
sep
devices
secret
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8517185A
Other languages
English (en)
Other versions
FR2590383B1 (fr
Inventor
Marc Giraud
Bernard Geniaux
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Dassault Electronique SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dassault Electronique SA filed Critical Dassault Electronique SA
Priority to FR8517185A priority Critical patent/FR2590383B1/fr
Publication of FR2590383A1 publication Critical patent/FR2590383A1/fr
Application granted granted Critical
Publication of FR2590383B1 publication Critical patent/FR2590383B1/fr
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

LA MEMOIRE 1 ET L'UNITE DE TRAITEMENT SONT AGENCEES POUR CONSTRUIRE ET STOCKER, A PARTIR D'UNE BASE B SECRETE (ZONE 10) FORMANT RACINE PRIMITIVE D'UN NOMBRE ENTIER PREDETERMINE P ET NON CONFIDENTIEL, UN JEU CORRESPONDANT DE DECALAGES (ZONE 11) FORMANT UNE TABLE DE RESIDUS OU PERMUTATIONS SUR P-1 ETATS DIFFERENTS. LE TRANSCODAGE DEFINI EN 16 PEUT S'EFFECTUER DANS UNE RELATION PREDETERMINEE AVEC L'UN AU MOINS DESDITS DECALAGES. UN CHIFFREMENTDECHIFFREMENT EST ALORS POSSIBLE PAR LA SEULE DISPOSITION D'UN NOMBRE ENTIER SECRET B ET DU NOMBRE PREMIER NON CONFIDENTIEL P. PREFERENTIELLEMENT, L'INVENTION PERMET, PAR LA TRANSMISSION PUBLIQUE DE DEUX NOMBRES, DE DEFINIR DES CLEFS SECRETES SPECIFIQUES OU COMMUNES A CHACUN DES CORRESPONDANTS, EN VUE D'UN CHIFFREMENT CLASSIQUE, OU MIEUX, D'UN CHIFFREMENT SELON L'INVENTION.

Description

Dispositif électronique de communication cryptographique, et procédé correspondant.
L'invention concerne le chiffrement/déchiffrement d'informations.
I1 s'agit, pour l'essentiel, d'effectuer un transcodage d'informations brutes en informations chiffrées. Le transcodage inverse, ou déchiffrement, permet de retrouver les informations brutes à partir des informations chiffrées. Un tel transcodage est défini par une loi.
L'application de cette loi peut se faire par le calcul. I1 en résulte souvent un temps de chiffrement (ou déchiffrement) prohibitif, lequel ne peut être réduit que par l'emploi de circuits intégrés spécifiques.
L'autre solution consiste à écrire le tableau complet des opérations élémentaires qui définissent le transcodage en question. I1 en résulte un besoin en mémoire de travail d'autant plus important que le niveau de sûreté désiré est plus haut. De plus, la nécessité de communiquer un tableau de ce type à un ou plusieurs usageras, augmente en général la probabilité d'interception. Enfin et surtout, cela est peu compatible avec le fait bien connu qu'un code doit être changé périodiquement.
La Demanderesse s'est posé le problème consistant à définir un moyen de transcodage qui puisse opérer à partir d'un nombre de paramètres secrets aussi faible que possible, et définir complètement le transcodage, en des temps de calcul aussi brefs que possible, à partir de ces paramètres secrets.
L'invention s'applique à un dispositif électronique numérique comportant une mémoire, une unité de traitement et une unité d'entrée/sortie ainsi que des moyens permettant le transcodage d'informations, lors de leur transfert, dans l'un ou l'autre sens, entre la mémoire et l'unité d'entrée/sortie, afin de leur faire subir un chiffrement ou un déchiffrement.
Selon un premier aspect de l'invention, la mémoire et l'unité de traitement sont propres à contenir sélectivement un nombre entier P et un autre nombre entier B, ou base secrète, inférieur à P, ainsi qu'à calculer, pour tout nombre entier de départ inférieur à P, un nombre entier transformé ou résidu égal au reste de la division entière, par P, de la base B portée à une puissance égale au nombre entier de départ le transcodage comporte la modification des informations en fonction de la relation entre au moins un nombre entier de départ et le résidu associé.
Ceci permet le chiffrement ou le déchiffrement d'au moins une information par la seule disposition du nombre entier
P, non confidentiel, et du nombre entier secret B, lequel peut être modifié aisément à tout moment.
Dans un mode de réalisation, la mémoire et l'unité de traitement sont propres à stocker, en correspondance de chaque base, une représentation numérique de relations entre un jeu de nombres entiers de départ inférieurs à P et les résidus correspondants, ledit jeu étant choisi de façon à définir avec les résidus correspondants une permutation portant sur une partie au moins des P-l premiers nombres entiers.
Avantageusement P est un nombre premier, et ladite représentation numérique est un tableau dont les nombres entiers de départ, ou indices, sont les P-l premiers nombres entiers.
Dans une application de l'invention, le transcodage utilise tous les éléments de ladite permutation, comme table de chiffrement ou déchiffrement. En ce cas, le transcodage peut comprendre l'application de la permutation à (P-l) informations numériques, ou à (P-l) blocs d'informations numériques, que comporte le message. Plus particulièrement encore, le transcodage peut comprendre l'application d'un chiffrement ou déchiffrement, en particulier du type OU EXCLUSIF entre (P-l) informations ou blocs d'informations numériques et la suite des (P-l) résidus. De plus, il est intéressant que le transcodage évolue de manière déterminable lorsqu'on passe d'un ensemble de lP-l) informations ou blocs d'informations à un autre.
Selon un autre aspect de l'invention, en plus de la base B, la mémoire et l'unité de traitement sont agencées pour stocker un nombre entier C, formant convertisseur de base, et défini comme l'indice dont une autre base B' est le résidu, dans la permutation associée à la base B, ainsi que pour déterminer des résidus associés à cette autre base par le calcul du produit, modulo P-l, de ses propres résidus avec le convertisseur de base. Ceci permet une transmission d'informations protégée entre deux dispositifs, par la seule disposition des deux nombres entiers secrets B et B' et, dans l'un de ceux-ci, du convertisseur de base C, en plus du nombre non confidentiel P.
L'invention s'applique aussi dans le cas où un programme d'application peut être reçu en mémoire à travers unité d'entrée/ sortie. Ce programme est chiffré selon la base B secrète du dispositif, et l'unité de traitement et la mémoire sont agencées pour le déchiffrer au moins en partie avant exécution.
De préférence, deux bases différentes sont utilisées pour le programme utilisateur et pour le programme de maintenance, respectivement.
Pour certaines applications, dont celle ci-dessus, la ou les bases, ainsi que le ou les convertisseurs de base sont stockés en mémoire de façon inaccessible au détenteur du dispositif.
On préfère actuellement que P soit un nombre de la forme 2Q+1, où Q est un nombre premier, ou bien l'un des nombres de Fermat, de préférence 257 ou 65 537.
Le dispositif selon l'invention contient le nombre P par le fait qu'il comprend des moyens de calcul modulo P, et, avantageusement, des moyens de calcul modulo P-1.
Plus généralement, l'invention s'applique encore à une installation comprenant plusieurs dispositifs du type défini plus haut, mis en relation par des moyens de transfert d'in- formations non protégés. Chaque dispositif possède une base qui lui est propre, l'un au moins des dispositifs possédant un convertisseur de base à l'égard d'au moins un autre dispositif.
Dans une première application élémentaire de ce genre, le dispositif possédant le ou les convertisseurs de base transmet une information tire de l'indice correspondant à une information brute dans sa base propre, d'où chacun des autres dispositifs tire un paramètre spécifique, dans sa base propre, tandis que le premier dispositif retrouve les paramètres spécifiques des autres à partir des convertisseurs de base, ce qui lui permet de distribuer publiquement des paramètres secrets spécifiques à chacun des autres dispositifs.
Dans une seconde application élémentaire de ce genre, un dis positif dit central, possède des convertisseurs de base par rapport aux bases des autres dispositifs, et transmet sélectivement à ceux-ci, pour une information brute donnée, une information tirée du produit de l'indice associé à celle-ci dans la base du central par le convertisseur de base concerné, réduit modulo P, chacun des autres dispositifs retrouvant l'information brute à partir de la relation entre l'indice reçu et le résidu associé dans sa propre base, ce qui permet la distribution publique de paramètres secrets communs à tous les dispositifs.
Dans une première application plus évoluée, certains au moins des dispositifs reçoivent une information définie par deux nombres entiers (m et n), chacun étant propre à en tirer une clef K par la relation, prise modulo P-l
K = R D I(m,B) . I(n,B) , B 2 où B est la base du dispositif concerné, I et R sont les fonctions Indice et Résidu définies dans la description ; le dispositif qui émet les deux nombres entiers m et n possède des convertisseurs de base à l'égard des autres, d'où il tire les clefs K respectivement déterminées par les autres dispositifs, ce qui permet la distribution publique de paramètres secrets spécifiques à chacun des dispositifs.
Dans une seconde application plus évoluée, certains au moins des dispositifs, qui comportent un convertisseur (C') d'une base de référence (Bg) dans leur base propre, reçoivent une information définie par deux nombres entiers (m et n), chacun étant en mesure de déterminer une clef secrète commune (Kg) par la relation, prise modulo P-l
I(Ko,B) = I(m,B) . I(n,B) . C' où B et C' sont la base et le convertisseur du poste concerné, tandis que I est la fonction Indice, telle que définie dans la description.
L'invention concerne enfin un procédé de communication cryp tographique, comprenant l'envoi d'informations choisies à au moins un dispositif tel que défini ci-dessus, ou l'échange d'informations entre deux de ces dispositifs.
D'autres caractéristiques et avantages de l'invention apparaitront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels
- la figure 1 illustre le schéma général d'un dispositif
selon l'invention
- la figure 2 est un tableau montrant la construction d'un
jeu de décalages selon l'invention ;
- les figures 3A, 3B et 3C sont trois exemples particuliers
de tableaux construits selon la figure 2
- la figure 4 est un premier exemple d'installation selon
l'invention ; et
- la figure 5 est un second exemple d'installation selon 1' invention.
Sur la figure 1, une unité de mémoire est représentée en 1, tandis que la référence 2 identifie une unité de traitement, et la référence 3 une unité d'entrée/sortie.
Dans une première zone 10, l'unité de mémoire 1 comprend une base B selon l'invention, et le cas échéant un ou plusieurs convertisseurs de base que l'on note généralement C.
Le dispositif contient aussi un nombre entier P, supérieur à B, par mémorisation et/ou par câblage : aptitude à des calculs modulo P, et aussi, de préférence, modulo P-l.
A tout moment, l'unité de traitement 2 peut calculer à partir de la base B une table de résidus (comme décrit ci-après), qui est alors stockée dans un emplacement de mémoire 11.
Un emplacement de mémoire 15 contient des données brutes.
Un emplacement de mémoire 16 contient le cas échéant une loi de transcodage (chiffrement) et/ou de transcodage inverse (déchiffrement). Enfin, un emplacement de mémoire 17 est propre à recevoir des données d'entrée/sortie modifiées, à savoir notamment
- soit des données qui viennent d'être transcodées locale
ment à partir des données brutes,
- soit des données qui ont été transcodées en un autre
poste, et qui doivent subir localement un transcodage
inverse pour recouvrer les données brutes,
- soit des données définissant une ou plusieurs clefs de
chiffrement.
I1 est maintenant fait référence à la figure 2. Celle-ci se présente comme un tableau défini par un indice i qui va de
O à P-l, P étant maintenant un nombre premier. En regard de chaque indice, l'unité de traitement 2 calcule le reste de la division entière, par le nombre premier P, de la base B, portée à la puissance dudit indice. Ces résidus forment une suite, que l'on note S(B). La suite S(B) peut également être définie comme la liste ordonnée des puissances successives de B, réduites modulo P.
Cette suite représente l'une des (P-l)! permutations possibles sur les P-l premiers nombres entiers. La permutation en question, pour P donné et public, ne dépend que du choix de la base B, laquelle est pour sa part secrète.
Les notations suivantes seront également utilisées : un résidu Ri associé à la base B est noté R(i,B). Inversement, l'indice associé à un résidu pour la base B est noté I(R,B).
I1 vient
R(i,B) = Bi (modulo P)
I(Ri,B) = i
Une base B est une racine primitive d'un nombre premier P dès lors que la suite S(B) telle que définie plus haut donne
P-1 résidus distincts et inférieurs à P. On sait aussi définir des racines primitives de certains nombres entiers non premiers.
I1 est à l'heure actuelle considéré comme important que B soit effectivement une racine primitive du nombre entier P.
Toutefois, il est envisageable que B soit un simple entier inférieur à P, la suite S(B) étant alors limitée au nombre de résidus distincts qu'elle contient, si nécessaire, de fa çon à définir une permutation comme ci-dessus.
On donnera maintenant quelques indications plus détaillées sur les nombres en question, étant observé que la connaissance de ces indications n'est pas impérative pour la mise en oeuvre de l'invention. I1 a été établi que tout nombre premier P possède un nombre de racines primitives qui est fonction de la factorisation de P-l. On a établi également que ce nombre de racines primitives est au plus égal à la moitié de P-l.
Bien que l'invention puisse être mise en oeuvre avec la quasitotalité des nombres premiers P, on préfère actuellement utiliser ceux qui se rapprochent le plus de cette limite supérieure.
Cette condition est vérifiée par les nombres de la forme
P = 2Q+1, où Q est lui-même un nombre premier. Ces nombres existent en grande quantité. I1 est possible d'etablir que le nombre de leurs racines primitives est égal à la limite supérieure précitée, moins une unité, à savoir
P-l ~1
2
On connait également les nombres de Fermat, qui atteignent la valeur maximale. Ces nombres sont de la forme
P = 22R + 1
A ce jour, on sait écrire cinq de ces nombres de Fermat, qui sont respectivement P = 3, P = 5, P = 17, P = 257 et
P = 65 537, les deux derniers étant préférentiels.
On notera encore que tous les nombres de Fermat admettent 3 comme racine primitive, ainsi que toutes les puissances impaires de 3, réduites modulo P.
On revient maintenant à la première catégorie de nombres, de la forme P = 2Q+1, en se limitant au cas où le nombre premier Q est de la forme 4K + 1. Ces nombres admettent + 2 (modulo P) comme racine primitive, et par conséquent là encore toutes les puissances impaires de cette racine primitive, (sauf celle d'indice P-l ), réduites modulo P, sont elles 2 aussi des racines primitives.
Enfin, dans le cas des nombres premiers en général, il n'existe pas de moyens connu de détermination des racines primitives, valable quel que soit le nombre premier P, autre que le tâtonnement.
Dans la suite de la présente description, on prendra comme nombre premier P = 23, et les bases Bg = 5, B1 = 7 et B2 = 11.
Les figures 3A, 3B et 3C donnent respectivement les valeurs des résidus relatifs à ces différentes bases, pour des indices qui vont de 0 à P-1 soit 22.
Ces tableaux sont construits de la manière suivante : les colonnes 0 à 9 correspondent au chiffre des unités de l'indice, et les lignes indiquent le chiffre des dizaines : c'està-dire que la première ligne (marquée 0) correspond effectivement aux indices de 0 à 9, la seconde (marquée 10) correspond aux indices de 10 à 19, et la dernière (marquée 20) correspond aux indices de 20 à 22.
On observera également que ces tables comprennent l'indice 0 et l'indice P-l = 22. Ces deux indices font double emploi, étant observé que les P-l premiers nombres entiers vont soit de 0 à P-2, soit de 1 à P-l, suivant que l'on commence à compter à partir de 0 ou de 1.
Sous cette réserve, on pourra vérifier que les trois tableaux des figures 3A, 3B et 3C définissent respectivement trois permutations différentes des indices portant sur les P-l premiers nombres entiers.
On remarquera aussi que, à l'indice 1 et à l'indice P-1 base2 (ici 11) correspondent toujours les résidus B (la base prise en compte) et P-l = 22. Si nécessaire, on pourra ne pas utiliser les transcodages correspondants, afin de ne donner aucune indication sur la construction de la base.
Sur les figures 4 et 5, on a représenté trois postes 20 à 22, ou 30 à 32 respectivement, qui sont interconnectés par un moyen de transmission non protégé, lequel peut consister soit en une liaison matérielle de transmission, soit dans le transport physique d'un support de mémoire quelconque comportant des fichiers.
Ces deux figures ont en commun le fait qu'au premier poste 20 ou 30 est associée une base Bg, au second poste 21 ou 31 une base B1, et au troisième poste 22 ou 32 une base B2.
Le nombre premier P est choisi pour définir une suite de résidus dont la longueur est adaptée au niveau de sécurité demandé. Pour simplifier, on admettra que le nombre premier utilisé est 23, et que les base Bg à B2 sont celles des figures 3A à 3C.
Un autre aspect original de l'invention est l'utilisation de convertisseurs de base. On comprendra tout d'abord que si chacun des postes 20 à 22 ou 30 à 32 travaille suivant sa base propre, sans avoir aucune information sur celle des autres postes, la communication est impossible. L'un au moins des deux postes qui communiquent doit pouvoir retrouver la base de autre.
Dans la mesure où cette base demeure en vigueur pendant longtemps, il serait bien sûr possible de l'implanter a priori au niveau de chacun des postes concernés, au même titre que sa base propre. Cette solution aurait deux inconvénients
- nécessité de communiquer la nouvelle base à chaque fois
qu'on en change, et ce de manière non protégée
- surtout, nécessité de calculer le tableau de résidus non
seulement pour la base propre de l'abonné, mais aussi
pour celle de tous les postes avec lesquels il peut vou
loir dialoguer. Dès lors que les listes de résidus sont
longues, il en résulte un encombrement mémoire prohibitif.
L'invention apporte une solution intéressante à cet autre problème, car il a été observé que
- si l'on nomme convertisseur de base l'indice que présente
la base locale dans la base du poste à traiter, il suffit
de connaître ce convertisseur pour déterminer rapidement
la liste de résidus de la base à traiter
- de plus, la connaissance de ce convertisseur n'a de sens
que pour celui qui; dispose de la base locale ; il peut
donc être transmis publiquement sans inconvénient.
Sur l'exemple chois-i
Cl = I(Bo,Bl) = I(5,7) = 7
C2 = I(Bo,B2) = I(5,11) = 5
Ceci s'applique au cas de la figure 4, où le poste 20 joue un rôle de "central" et connaît les convertisseurs de base
Cl et C2 relatifs aux bases B1 et B2, pour sa base propre Bo.
On note maintenant Kg une information que le poste central 20 veut transmettre aux autres postes. Soit Kg = 11. L'indice de K0 dans la base Bg est 9. On a
I(K1,B0) = I(Ko,Bo) . C1 (modulo P-l)
Dans une application élémentaire, l'information K0 est à transmettre communément à tous les postes. Le poste central 20, transmet à l'abonné 21 la valeur 9 x 7 (mod 22) = 19 (7 est le convertisseur pour la base B1). A l'indice 19, l'abonné 21 retrouve la valeur 11. L'abonné 22 ne peut intercepter le message. I1 recevra de son coté 9 x 5 (mod 22) = 1 (5 étant le convertisseur pour la base B2), d'où il tire à son tour la valeur 11.
Dans une autre application élémentaire, il est souhaité au contraire que chaque poste reçoive une information qui lui est propre. Le poste central transmet directement l'indice 10 = 9 obtenu pour K0 = 11 aux deux abonnés 21 et 22.
Ceux-ci vont déduire respectivement de l'indice 9 les valeurs
K1 = 15 (figure 3B) et K2 = 19 (figure 3C). Mais, connaissant les convertisseurs de base inverses des abonnés C'1 = I(B1,Bo) = 19 et C'2 = I(B2,Bo) = 9, le poste central peut déterminer les valeurs K1, K2 trouvées par les abonnés, par des relations de la forme
I(Kl,Bo) = I0.C'1 (modulo P-l)
Bien entendu les coîncidences apparaissant dans les nombres ci-dessus sont fortuites. Elles seraient très improbables avec P plus grand, ce qui sera le cas en pratique.
L'homme de l'art comprendra que ces calculs effectués modulo
P-1 sont disponibles très rapidement, à l'aide de moyens matériels et/ou logiciels très simples, et à partir de la seule connaissance de la base Bg, du tableau de résidus correspondant (figure 3A) et des convertisseurs de base C1 et C2.
Le processus très simple qui vient d'être décrit est didac tique. En pratique, il est souhaitable de ne pas transmettre les indices eux-mêmes.
Ainsi, il est préférable de définir dans chaque base B une fonction clé K d'après la relation
K = R E I(m,B) . I(n,B) , B 7 (modulo P-l)
Partant de m = 8 et n = 15, qui sont deux résidus aléatoires, c'est-à-dire tirés au sort, on vérifie que l'on obtiendra
Ko = 13 en base Bg = 5, K1 = 9 en base B1 = 7, et K2 = 4 en base B2 = 11.
Le poste central peut alors simplement transmettre publiquement les nombres m = 8 et n = 15. I1 en déduit bien sûr pour lui-même la clé Kg = 13 dans sa base Bg. I1 est en mesure de calculer comme précédemment décrit, à partir des convertisseurs de base C1 = 7 et C2 = 5, les équivalents K1 = 9 et
K2 = 4 dans les bases respectives B1 et B2.
Individuellement, chacun des abonnés 21 et 22 va, à partir des nombres m et n publiquement transmis, être en mesure de déterminer la clé K1 ou K2 qui lui est propre.
Après que cette clé a été transmise, on est dans la situation suivante
- le poste central connaît sa clé propre Kg, et les clés
K1 et K2 de chacun des abonnés
- l'abonné 21 ne connaît que la clé K1 qui lui a été attri
buée
- l'abonné 22 ne connaît que la clé K2 qui lui a été attri
buée.
La clé K de chaque abonné, qui lui est spécifique, peut être utilisée comme clé secrète d'un système de chiffrement classique. Chaque correspondant a ainsi son propre langage que seul l'organisme central peut comprendre.
En tant que système de chiffrement classique, on peut utiliser par exemple celui connu sous le nom de Data Encryption Standard ou D.E.S., mis au point par IBM, et connu par différentes publications, dont
- "Data Encryption Standard", Federal Information Proces
sing Standard F.I.P.S., Publication 46, National Bureau
of Standards, US Department of Commerce, Janvier 1977;
- "The Data Encryption Standard : Retrospective and Pros
pect" R. Morris, IEEE Communication Society Magazine,
Novembre 1978, NO 6 p. 11-14.
Une autre application intéressante est la distribution publique de paramètres secrets communs.
Dans ce cas, qui peut être illustré sur la figure 5, chaque poste ou abonné connaît, et lui seulement, son paramètre convertisseur de base C' défini par
C' = I(B,BO) où B est la base locale de l'abonné, par exemple la base B1 pour l'abonné 31 et la base B2 pour l'abonné 32.
Pour mémoire, on a fait figurer sur la figure 5 un convertisseur C'0 relatif à l'abonné 30, étant observé que dans l'exemple choisi le convertisseur C'0 est la fonction identique, car la base de référence Bg est précisément celle de l'abonné 30 (en variante, la base de référence Bg peut n'appartenir à aucun abonné).
Dans l'exemple des bases illustrées aux figures 3A à 3C, les convertisseurs des abonnés 31 et 32 sont
C'l = I(Bl,Bo) = I(7,5) = 19, qui est connu du seul abonné 31
C'2 = I(B2,Bo) = I(11,5) = 9, qui est connu du seul abonné 32.
En partant toujours du cas où sont distribués publiquement les deux résidus aléatoires m = 8 et n = 15, chaque abonné peut alors déterminer une clé secrète commune notée Kg en faisant l'opération suivante
I(Ko,B) = I(m,B) . I(n,B) . C' (modulo P-l) ou, ce qui est équivalent
Kg = R t I(m,B) . I(n,B) . C' , B 7 (modulo P-l) où B et C' sont spécifiques du poste local.
A titre d'exemple, on vérifie que
I (K0,B1) = I(Kl,Bl) . C'1 (modulo P-l)
Dans l'exemple choisi, le premier correspondant va tout d'abord déterminer K1 à partir des deux résidus m et n transmis publiquement, de la manière précédemment décrite. I1 aboutira donc à K1 = 9. Au résidu 9 il correspond dans la base
B1 (figure 3B) l'indice 4. Le produit de 4 par le convertisseur C'1 = 19 est égal à 76, soit 10 modulo 22.
Enfin, à l'indice 10, il correspond bien dans la base B1 le résidu 13, qui est précisément la valeur Kg cherchée.
On vérifie de la même manière que le second abonné 32 aboutit lui aussi au résultat Kg = 13.
Ainsi, si chaque correspondant connaît son propre convertisseur de base C', l'organisme central peut distribuer publiquement un élément, secret vis-à-vis de l'extérieur, mais commun à tous les correspondants. Cet élément est ici fonction des variables m et n.
Si ce paramètre est utilisé comme clé secrète d'un système de chiffrement connu, tel que D.E.S., tous les correspondants parlent une langue commune qui est comprise par tous, sauf par les tiers étrangers au réseau.
I1 est à noter que, dans ce dernier cas, l'organisme central joue un rôle fictif, et peut être supprimé dès que les paramètres C' ont été attribués, du moins jusqu'à nouvelle attribution de valeurs différentes de ces mêmes paramètres.
En bref, pour se mettre d'accord sur une clé de chiffrement, il suffit de procéder aux opérations suivantes
- émission par n'importe quel abonné de deux nombres aléa
toires m et n inférieurs à P
- calcul chez chaque correspondant de la clé commune ayant
pour indice I(K,B) = I(m,B) . I(n,B) . C' (modulo P-l);
- chiffrement des messages à partir de cette clé.
On décrira maintenant un autre aspect de l'invention.
L'examen des figures 2 ainsi que 3A à 3B montre que chaque suite de résidus S(B) constitue une liste pseudo-aléatoire de P-l nombres distincts. Comme cette liste comporte tous les nombres entiers de 1 à P-l, il est possible de l'utiliser pour mélanger par permutation les éléments d'un message.
La permutation en question sera aisément communiquée par l'indication de la base correspondante. Cette indication peut être donnée soit à partir d'un convertisseur de base (une indication en clair de la base elle-même est bien entendu exclue), soit par des moyens de codage plus complexes, tels que ceux qui viennent d'être décrits pour la transmission des clés K.
Si l'on prend par exemple la suite S(7), illustrée sur la figure 3B, le premier caractère serait mis en septième position, le second caractère en troisième position, le troisième caractère en vingt-et-unième position, et ainsi de suite.
Une telle permutation présente un avantage important, que l'homme de l'art comprendra : elle permet de "casser" les structures figées ou redondantes des messages, et elle réduit ainsi les attaques de décodage basées sur la connaissance de formats implicites.
Une fois le message ainsi mélangé, on peut utiliser à nouveau la liste des résidus, ou éventuellement une autre, pour le chiffrer par substitution, avec un OU EXCLUSIF par exemple.
La liste modifiée une première fois peut être parcourue à partir d'une origine quelconque, dont la position peut elle aussi être déterminée au moyen des opérations précédemment décrites pour la distribution de paramètres secrets.
Afin d'accroître la périodicité des listes constituant les clés, on peut adjoindre des éléments secrets supplémentaires, permettant de les modifier aisément, ou bien utiliser deux listes de résidus. Dans un second cas, par exemple, la période apparente est de l'ordre de P2.
L'opération inverse de déchiffrement des messages est réalisée par le procédé symétrique, et ne nécessite que la connaissance des bases de chiffrement et des éventuels paramètres secrets utilisés pour accroître la périodicité des clés.
On décrira maintenant une application particulière de l'invention, qui peut se placer dans le cadre de la figure 4 ou de la figure 5.
Le réseau de communication est fondé sur
- le nombre public premier P,
- une base de référence Bg qui est une racine primitive
de P.
A chaque poste du réseau, on affecte secrètement les paramètres suivants
- deux bases internes B et B' (pour alléger l'écriture on
n'utilisera pas d'indices pour différencier les diffé
rents postes),
- deux nombres entiers dits décalages D et D', qui peuvent
être quelconques mais inférieurs à P.
Un organe central connait tous les éléments secrets des différents postes, à savoir leurs quatre paramètres, ainsi que la base de référence Bo.
On note comme précédemment S(B) et S(B') les suites de résidus calculées à partir des racines primitives B et B'.
On définira maintenant des suites décalées, qui sont engendrées à partir des suites S(B) et S(B'). A chaque suite décalée est affecté respectivement, l'un des deux décalages
D et D'.
On note ainsi S(D,B) la suite engendrée à partir de la suite
S(B), à chacun des termes de laquelle on ajoute une grandeur
W, avec réduction modulo P, la grandeur W étant à son tour le résidu correspondant à l'indice i = D dans la base B' (ou en variante dans la base B).
On a ainsi
W = R(D,B') et
S(D,B) = S(B) + W (modulo P)
Dans cette addition modulo P, on pourra rencontrer la valeur finale 0. Elle est alors remplacée par la valeur W, comme l'homme de l'art le comprendra, pour obtenir effectivement une liste comprenant les P-l premiers nombres entiers.
Ce qui précède n'est qu'un exemple de transcodage évolué fondé sur l'invention. Bien entendu, on utilisera à chaque fois une ou plusieurs bases internes, mais leurs combinaison peut se faire autrement que par l'usage de décalages tels que ceux qui viennent d'être décrits.
Le mode de chiffrement décrit ci-dessus peut s'appliquer notamment aux fichiers magnétiques bancaires ; le chiffrement comprendra alors les opérations suivantes
- calcul de S(D,B) via W = R(D,B')
- permutation des P-l premiers éléments ou bits du message
au moyen de la liste S(D,B)
- calcul de S(D',B') via W' = R(D',B), avec effacement de
la liste S(D,B) s'il est nécessaire de limiter la taille
de mémoire occupée
- chiffrement, notamment par OU EXCLUSIF, de la liste per
mutée, au moyen de la liste S(D',')
- incrémentation de D et D'
- chiffrement par OU EXCLUSIF des P-1 éléments suivants
du message, etc.
On trouvera en Annexe 1 un exemple de réalisation d'un tel chiffrement, pour lequel le nombre entier premier P est 11, et les éléments secrets d'un poste sont B = 2, B' = 8,
D = 6 et D' = 9.
Le déchiffrement d'effectue par le processus inverse
- calcul de S(D',B') via W',
- déchiffrement par OU EXCLUSIF des P-l premiers éléments du message avec la suite S(D',B'),
- calcul de S(D,B),
- permutation de a suite de la liste déchiffrée au moyen de la suite S(D,B), incrémentation de D et D',
- déchiffrement des P-l éléments suivants, etc.
Un exemple d'un tel déchiffrement se trouve donné en Annexe 1.
Bien entendu, les exemples sont très simplifiés, comme la nature du sujet l'exige.
Dans une réalisation particulièrement commode, ce qui vient d'être décrit utilisera comme nombre entier P le cinquième nombre de Fermat soit 65 537, ce qui amène les avantages suivants
- grande longueur des suites de résidus, qui comprennent
65 536 nombres,
- facilité de manipulation et de calcul des nombres, puis
que les mots sont de 16 bits,
- nombre important de bases possibles, puisque ce cinquième
nombre de Fermat possède 215 racines primitives,
- identification très facile des racines primitives sans
nécessiter de tâtonnement, dans ce cas particulier.
On notera enfin que le fait d'attribuer deux racines primitives par poste permet de générer des clés dont la périodicité est de 7.1010 bits.
Cette périodicité étant nettement supérieure à la longueur des messages stockés sur les bandes magnétiques, l'invention permet donc d'atteindre une grande sécurité.
Dans cet exemple, le nombre de clés distinctes possible est donné par le nombre de couples de bases possible, qui est égal à 215(2l5-l), soit environ 109.
Si l'on tient compte de l'accroissement dû à l'utilisation des coefficients D et D', qui peuvent chacun prendre 65 536 valeurs, on peut atteindre un nombre de clés possible de l'ordre de 5.1018, ce qui est nettement meilleur que les réalisations du même ordre connues jusqu'à présent.
L'homme de l'art comprendra que le mode de chiffrement/déchiffrement qui vient d'être décrit présente les avantages suivants
- sécurité apparente élevée contre l'attaque systématique
exhaustive,
- peu de paramètres secrets à stocker, puisque quatre mots
de 16 bits suffisent pour chaque poste,
- temps de calcul faible, car il suffit, par caractère à
transmettre, des opérations suivantes
. une addition (calcul de S(D,B)),
un adressage indirect (permutation du message),
une addition (calcul de S(D',B')),
. un "OU EXCLUSIF" (chiffrement du message).
Dans ce qui précède le mot "secret" (pour les bases et convertisseurs de base, notamment) signifie soit que ces nombres sont inaccessibles à l'usager, soit que le matériel n'est accessible qu'à des usagers habilités.
L'invention peut également s'appliquer à partir des seuls éléments illustrés à la figure 1. Le message à protéger peut alors être constitué d'un logiciel d'application, destiné à une machine particulière. L'objectif n'est pas dans ce cas la sécurité intrinsèque, mais bien de décourager les utilisateurs de recopier ou d'exploiter des logiciels qui ne leur sont pas destinés.
On utilise alors les éléments généraux suivants
- un nombre premier P, qui peut être publiquement connu,
- une base de référence Bg.
A la fabrication de chaque machine, on affecte les éléments secrets (inaccessibles) suivants
- une base interne B, et
- un convertisseur de base C = I(Bo,B).
- on lui affecte aussi un autre convertisseur C' = I(B,Bo)
qui peut être publiquement distribué.
L'organisme central de gestion, qui attribue les logiciels d'application aux différents usagers, connaît Bg et P, ainsi que bien sûr les paramètres publics C' des machines.
Chaque machine particulière connaît B, C et P. La connaissance signifie ici bien sûr que ces informations sont disponibles dans la zone de mémoire 10 (figure 1) par exemple, mais inaccessibles à l'usager.
Le chiffrement d'un logiciel peut être obtenu en permutant les octets par blocs de P-l octets, ce qui rend le logiciel inutilisable.
On considère tout d'abord le cas d'un logiciel d'application pour un usager particulier.
Son processus de chiffrement est le suivant
- calcul de la base B de la machine par
R(C',Bo) = R( I(B,Bo) , Bg ) = B
- calcul de la suite de résidus S(B),
- permutation des octets à l'aide de S(B) par blocs de
P-1 octets.
Le déchiffrement du programme d'application de l'usager par la machine s'effectue comme suit
- calcul de la suite S(B),
- permutation des octets à l'aide de S(B).
Ce déchiffrement peut s'effectuer bien sûr sur l'ensemble du programme d'application. I1 peut être avantageux de l'effectuer au coup par coup, sur des parties du programme d'application. On évite ainsi qu'il existe à un moment donné en mémoire une copie déchiffrée de l'ensemble du programme d'application. L'homme de l'art sait en effet qu'il serait alors possible de récupérer ladite copie, en appliquant une interruption convenable à l'unité de traitement.
Pour les logiciels de maintenance, on procède de manière un peu différente : le chiffrement s'effectue comme suit
- calcul de la suite S(Bo),
- permutation des octets à l'aide de S(Bo).
Le déchiffrement d'un programme de maintenance par la machine s'effectue de la manière suivante
- calcul de la suite de résidus S(B),
- recherche de'Bg = R(C,B),
- calcul de la suite des résidus S(Bo),
- permutation des octets à l'aide de S(Bo).
On trouvera un exemple détaillé de réalisation de tels modes de protection des logiciels en Annexe 2, où comme précédemment, la valeur choisie pour le nombre P est volontairement très basse, pour simplifier l'exposé.
En pratique, on pourra choisir par exemple P = 28+1 = 257, ce qui permet
- l'utilisation de suites de résidus de longueur accepta
ble par une petite machine (256 nombres),
- la facilité de manipulation et de calcul des nombres
(mots de huit bits),
- un nombre important de bases possibles (128).
Plus généralement, ce mode de protection possède les avantages suivants
- peu de paramètres secrets (2 octets par machine), chif
frement des programmes d'application au moyen de paramètres
publics spécifiques de la machine,
- programme de maintenance chiffré de façon unique,
- taille mémoire nécessaire assez faible (256 octets),
- temps de calcul assez faible (un adressage indirect par
octets).
Bien entendu, la présente invention n'est pas limitée aux utilisations décrites, et s'étend à toute variante conforme à son esprit, et en particulier incluse dans le cadre des revendications ci-après.
ANNEXE 1
CHIFFREMENT A.1.1) Les éléments secrets d'un correspondant sont
B = 2 B' = 8
D = 6 D' = 9
B et B' sont des racines primitives de P(ll),
D et D' sont deux nombres quelconques inférieurs à P.
On cherche à chiffrer le message M=012 34567899876543210
A.1.2) Calcul de S(D,B) = S(6,2)
W = R(D,B') = R(6,8) = 3
La suite S(D,B) = S(6,2) est donc
Figure img00240001
<tb> Indice <SEP> 1 <SEP> 2 <SEP> 3 <SEP> 4 <SEP> 5 <SEP> 6 <SEP> 7 <SEP> 8 <SEP> 9 <SEP> 10
<tb> S(6,2) <SEP> 5 <SEP> 7 <SEP> 3 <SEP> 8 <SEP> 2 <SEP> 1 <SEP> 10 <SEP> 6 <SEP> 9 <SEP> 4
<tb>
A.1.3) Permutation des 10 premiers éléments du message avec
S(6,2).
M1 = 0 ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9
Le message mélangé est obtenu en faisant
lère position : caractère N 5
2ème position : caractère N 7
3ème position : caractère N 3
Le message devient donc
M'l = 4 ; 6 ; 2 ; 7 ; 1 ; 0 ; 9 ; 5 ; 8 ; 3 A.1.4) Calcul de S(D',B') = S(9,8)
W' = R (D',B) = R(9,2) = 6
La suite S(9,8) est
Figure img00240002
<tb> Indice <SEP> 1 <SEP> 2 <SEP> 3 <SEP> 4 <SEP> 5 <SEP> 6 <SEP> 7 <SEP> 8 <SEP> 9 <SEP> 10
<tb> S(9,8) <SEP> 3 <SEP> 4 <SEP> 1 <SEP> 10 <SEP> 5 <SEP> 9 <SEP> 8 <SEP> 6 <SEP> 2 <SEP> 7
<tb> A.1.5) Chiffrement de la suite M'1 avec S(9,8)
M"1 est donc obtenu par le OU EXCLUSIF (bit à bit) 4#3 ; 6#4 ; 2#1 ; 7#10 ; 1#5 ; 0#9 ; 9#8 ; 5#6 ; 8#2 ; 3#7
M"l = 7 ; 2 ; 3 ; 13 ; 4 ; 9 ; 1 ; 3 ; 10 ; 4 A.1.6) Incrémentation de D et D' au bout de chaque module, de longueur au plus égale à P-l.
Les nouveaux paramètres de décalage sont donc D + 1 = 7 et D' + 1 = 10.
A.1.7) Calcul de S(D+1,B) = S(7,2)
W = R(7,8) = 2
Figure img00250001
<tb> Indice <SEP> | <SEP> 1 <SEP> 1 <SEP> i <SEP> 2 <SEP> | <SEP> 3 <SEP> 3 <SEP> j <SEP> 4 <SEP> 1 <SEP> 5 <SEP> | <SEP> 6 <SEP> 6 <SEP> 7 <SEP> 7 <SEP> 8 <SEP> 8 <SEP> 9 <SEP> 9 <SEP> 10 <SEP> j
<tb> S(7,2) <SEP> 4 <SEP> 6 <SEP> 10 <SEP> 7 <SEP> 1 <SEP> 2 <SEP> 9 <SEP> 5 <SEP> 8 <SEP> 3
<tb>
A.1.8) Permutation des 10 éléments suivants du message
M2 = 9 ; 8 ; 7 ; 6 ; 5 ; 4 ; 3 ; 2 ; 1 ; 0
Le message mélangé est
M'2 = 6 ; 4 ; 0 ; 3 ; 9 ; 8 ; 1 ; 5 ; 2 ; 7
A.l.9) Calcul de S(D'+1,B') = S(10,8)
R(10,2) = 1
Figure img00250002
<tb> Indice <SEP> 1 <SEP> 2 <SEP> 3 <SEP> 4 <SEP> 5 <SEP> 6 <SEP> 7 <SEP> 8 <SEP> 9 <SEP> 10
<tb> S(10,8) <SEP> 9 <SEP> 10 <SEP> 7 <SEP> 5 <SEP> 1 <SEP> 4 <SEP> 3 <SEP> 6 <SEP> 8 <SEP> 2
<tb>
A.1.10) Chiffrement de M'2 avec S(10,8)
M" est obtenu en faisant 6#9 ; 4#10 ; 0#7 ; 3#5 ; 9#1 ; 8#4 ; 1#3 ; 5#6 ; 2#8 ; 7#2
M"2 = 15 ; 14 ; 7 ; 6 ; 8 ; 12 ; 2 ; 3 ; 10 ; 5
A.l.ll) Le message chiffré global est donc 17 2 3 13 4 9 1 3 10 4 15 14 7 6 8 12 2 3 10 5| DECH I FFREMENT
A.1.12) Calcul de S(D',B') = S(9,8)
A.1.13) Déchiffrement des 10 premiers éléments avec S(9,8) 7+3 ; 2+4 ; 3+1 ; 13+10 ; 4+5 ; 9+9 ; 1+8 ; 3+6 ; 10+2; 4+7
M'1 = 4 ; 6 ; 2 ; 7 ; 1 ; 0 ; 9 ; 5 ; 8 ; 3 A.1.14) Calcul de S(D,B) = S(6,2) A.1.15) Permutation de M'1 avec S(6,2)
ler caractère en position 5
2ème caractère en position 7
3ème caractère en position 3 soit :
M1 = 0 ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9
A.1.16) Incrémentation de D et D'.
A.1.17) Calcul de S(D'+1,B') = S (10,8)
A.1.18) Déchiffrement des 10 éléments suivants avec S(10,8) d'où
M'2 = 6 ; 4 ; 0 ; 3 ; 9 ; 8 ; 1 ; 5 ; 2 ; 7 A.1.19) Calcul de S(D+1,B) = S(7,2) A.1.20) Permutation de M'2 avec S(7,2) on obtient
M2 = 9 ; 8 ; 7 ; 6 ; 5 ; 4 ; 3 ; 2 ; 1 ; 0
Le message déchiffré global est donc
M = 0 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 0
ANNEXE 2
CHIFFREMENT D'UN LOGICIEL D'APPLICATION
A.2.1) Les paramètres choisis sont
P = ll
B0 = 2
Figure img00270001
Généraux
B1 = 8
C1 = 7
C'1 = 3 (public)
Figure img00270002

pour la machine 1
Soit le programme d'application à chiffrer défini par la suite des octets :A ; B ; C ; D ; E t F ; G ; H ; I ; J
A.2.2) Calcul de la base B1
Dans la suite S(2) on cherche le résidu ayant pour indice
C'1 = 3
Figure img00270003
<tb> Indice <SEP> 1 <SEP> 2 <SEP> 3 <SEP> 4 <SEP> 5 <SEP> 6 <SEP> 7 <SEP> 8 <SEP> 9 <SEP> 10
<tb> S(2) <SEP> 2 <SEP> 4 <SEP> 8 <SEP> 5 <SEP> 10 <SEP> 9 <SEP> 7 <SEP> 3 <SEP> 6 <SEP> 1
<tb>
On obtient B1 = 8
A.2.3) Calcul de S(B1) = S(8)
Figure img00270004
<tb> Indice <SEP> 1 <SEP> 2 <SEP> 3 <SEP> 4 <SEP> 5 <SEP> 6 <SEP> 7 <SEP> 8 <SEP> 9 <SEP> 10
<tb> S(8) <SEP> 8 <SEP> 9 <SEP> 6 <SEP> 4 <SEP> 10 <SEP> 3 <SEP> 2 <SEP> 5 <SEP> 7 <SEP> 1
<tb>
A.2.4) Permutation de 10 premiers éléments du programme avec
S(8).
H;I;F;D;J;C;B;E;G;A
Cette permutation représente le programme chiffré compréhensible par la seule machine qui connaît B1 = 8.
A.2.5) Le déchiffrement du programme se fait facilement après avoir généré la suite S(B1). B1 est un paramètre secret connu seulement de la machine.
A.2.6) Dans le cas d'un programme de maintenance, on procède de la façon suivante
Programme à chiffrer M;N;O;P;Q;R;S;T;U;V
A.2.7) Chiffrement du programme
- Calcul de S(Bo) = S(2)
- Permutation du programme avec S(2)
On obtient donc N;P;T;Q;V;U;S;O;R;M
A.2.8) Déchiffrement du programme de maintenance par la machine 1
- Calcul de S(B1) = S(8)
- Détermination de Bg = R(C1,8) = 2
- Calcul de S(Bo) = S(2)
- Permutation du programme reçu au moyen de S(2).

Claims (20)

Revendications
1. Dispositif électronique numérique de communication cryptographique, comportant une mémoire (1), une unité de traitement (2) et une unité d'entrée/sortie (3), ainsi que des moyens permettant un transcodage (16) d'informations lors de leur transfert, dans l'un ou l'autre sens, entre la mémoire (1) et l'unité d'entrée/sortie (3), afin de leur faire subir un chiffrement ou déchiffrement, caractérisé en ce que la mémoire (1) et l'unité de traitement (2) sont propres à contenir sélectivement (10) un nombre entier P et un autre nombre entier B, ou base secrète, inférieur à P, ainsi qu'à calculer, pour tout nombre entier de départ inférieur à P, un nombre entier transformé ou résidu (11) égal au reste de la division entière, par P, de la base B portée à une puissance égale au nombre entier de départ, et en ce que le transcodage (16) comporte la modification des informations en fonction de la relation entre au moins un nombre entier de départ et le résidu associé, ce qui permet le chiffrement ou le déchiffrement d'au moins une information par la seule disposition du nombre entier P, non confidentiel, et du nombre entier secret B, lequel peut être modifié aisément à tout moment.
2. Dispositif selon la revendication 1, caractérisé en ce que la mémoire (1) et l'unité de traitement (2) sont propres à stocker, en correspondance de chaque base, une représentation numérique (11) de relations entre un jeu de nombres entiers de départ inférieurs à P et les résidus correspondants, ledit jeu étant choisi de façon à définir avec les résidus correspondants une permutation portant sur une partie au moins des P-l premiers nombres entiers.
3. Dispositif selon la revendication 2, caractérisé en ce que, P étant un nombre premier, ladite représentation numérique et un tableau (11) dont les nombres entiers de départ, ou indices, sont les P-l premiers nombres entiers.
4. Dispositif selon l'une des revendications 2 et 3, caractérisé en ce que le transcodage (16) utilise tous les éléments de ladite permutation, pour du chiffrement ou déchiffrement proprement dit.
5. Dispositif selon la revendication 4, caractérisé en ce que le transcodage (16) comprend l'application de la permutation à (P-1) informations numériques, ou à (P-l) blocs d'informations numériques, que comporte le message.
6. Dispositif selon l'une des revendications 4 et 5, caractérisé en ce que le transcodage (16) comprend l'application d'un chiffrement ou déchiffrement, en particulier du type
OU EXCLUSIF entre (P-l) informations ou blocs d'informations numériques et la suite des (P-l) résidus.
7. Dispositif selon l'une des revendications 4 à 6, caractérisé en ce que le transcodage (16) évolue de manière déterminable lorsqu'on passe d'un ensemble de (P-l) informations ou blocs d'informations à un autre.
8. Dispositif selon l'une des revendications 2 à 7, caractérisé en ce qu'en plus de la base B, la mémoire (1) et l'unité de traitement (2) sont agencés pour stocker (10) un nombre entier C, formant convertisseur de base, et défini comme l'indice dont une autre base B est le résidu, dans la permutation associée à la base B, ainsi que pour déterminer des résidus associés à cette autre base par le calcul du produit, modulo P-l, de ses propres résidus avec le convertisseur de base, ce qui permet une transmission protégée d'informations entre deux dispositifs, par la seule disposition des deux nombres entiers secrets B et C dans l'un de ceux-ci, en plus du nombre non confidentiel P.
9. Dispositif selon l'une des revendications 2 à 8, dans lequel un programme d'application peut être reçu en mémoire à travers l'unité d'entrée/sortie (3), caractérisé en ce que, le programme étant chiffré selon la base B secrète du dispositif, l'unité de traitement (2) et la mémoire (1) sont agencées pour le déchiffrer au moins en partie avant exécution.
10. Dispositif selon la revehdication 9, caractérisé en ce que deux bases différentes sont utilisées pour le programme utilisateur et pour le programme de maintenance.
11. Dispositif selon l'une des revendications précédentes, caractérisé en ce que la ou les bases, ainsi que le ou les convertisseurs de base sont stockés en mémoire de façon inaccessible au détenteur du dispositif.
12. Dispositif selon l'une des revendications précédentes, caractérisé en ce que P est un nombre de la forme 2Q+1, où
Q est un nombre premier, ou bien l'un des nombres de Fermat de préférence 257 ou 65 537.
13. Dispositif selon l'une des revendications précédentes, caractérisé en ce qu'il comprend des moyens de calcul modulo
P.
14 Dispositif selon l'une des revendications 8 et 11, caractérisé en ce qu'il comprend des moyens de calcul modulo P-l.
15. Installation comprenant plusieurs dispositifs (20-22, 30-32) selon l'une des revendications précédentes, mis en relation par des moyens de transfert d'informations non protégés, caractérisé en ce que chaque dispositif possède une base qui lui est propre, l'un au moins des dispositifs possédant un convertisseur de base à l'égard d'au moins un autre dispositif.
16. Installation selon la revendication 15, caractérisée en ce que le dispositif possédant le ou les convertisseurs de base transmet une information tirée de l'indice correspondant à une information brute dans sa base propre, d'où chacun des autres dispositifs tire un paramètre spécifique, dans sa base propre, tandis que le premier dispositif retrouve les paramètres spécifiques des autres à partir des convertisseurs de base, ce qui lui permet de distribuer publique aefltdes paramètres secrets spécifiques à chacun des autres dispositifs.
17. Installation selon la revendication 15, caractérisée en ce qu'un dispositif dit central, possède des convertisseurs de base par rapport aux bases des autres dispositifs, et transmet sélectivement à ceux-ci, pour une information brute donnée, une information tirée du produit de l'indice associé à celle-ci dans la base du central par le convertisseur de base concerné, réduit modulo P, chacun des autres dispositifs retrouvant l'information brute à partir de la relation entre l'indice reçu et le résidu associé dans sa propre base, ce qui permet la distribution publique de paramètres secrets communs à tous les dispositifs.
18. Installation selon la revendication 15, caractériséeen ce que certains au moins des dispositifs reçoivent une information définie par deux nombres entiers (m et n), chacun étant propre à en tirer une clef K par la relation
K = R I(m,B) . I(n,B) , B 2 (mod P-l) où B est la base du dispositif concerné, I et R sont les fonctions Indice et Résidu définies dans la description, et en ce que le dispositif qui émet les deux nombres entiers m et n possède des convertisseurs de base à l'égard des autres, d'où il tire les clefs K respectivement déterminées par les autres dispositifs, ce qui permet la distribution publique de paramètres secrets spécifiques à chacun des dispositifs.
19. Installation selon la revendication 15, caractérisée en ce que certains au moins des dispositifs, qui comportent un convertisseur (C') d'une base de référence (Bg) dans leur base propre, reçoivent une information définie par deux nombres entiers (m et n), chacun étant en mesure de déterminer une clef secrète commune (Ro) par la relation
I(Ko,B) = I(m,B) . I(n,B) . C' (modulo P-1) où B et C' sont la base et le convertisseur du poste concerné, tandis que I est la fonction Indice, telle que définie dans la description.
20. Procédé de communication cryptographique, caractérisé par l'envoi d'informations choisies à au moins un dispositif selon l'une des revendications 1 à 19.
FR8517185A 1985-11-20 1985-11-20 Dispositif electronique de communication cryptographique, et procede correspondant Expired FR2590383B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8517185A FR2590383B1 (fr) 1985-11-20 1985-11-20 Dispositif electronique de communication cryptographique, et procede correspondant

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8517185A FR2590383B1 (fr) 1985-11-20 1985-11-20 Dispositif electronique de communication cryptographique, et procede correspondant

Publications (2)

Publication Number Publication Date
FR2590383A1 true FR2590383A1 (fr) 1987-05-22
FR2590383B1 FR2590383B1 (fr) 1988-02-05

Family

ID=9325009

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8517185A Expired FR2590383B1 (fr) 1985-11-20 1985-11-20 Dispositif electronique de communication cryptographique, et procede correspondant

Country Status (1)

Country Link
FR (1) FR2590383B1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2486680A1 (fr) * 1980-07-11 1982-01-15 Trt Telecom Radio Electr Procede et dispositif de permutation des elements d'un ensemble

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2486680A1 (fr) * 1980-07-11 1982-01-15 Trt Telecom Radio Electr Procede et dispositif de permutation des elements d'un ensemble

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PROCEEDINGS OF THE IEE, vol. 125, no. 12, décembre 1978, pages 1327-1328, Londres, GB; S.C.KAK: "Encryption of signals using data transpositions" *

Also Published As

Publication number Publication date
FR2590383B1 (fr) 1988-02-05

Similar Documents

Publication Publication Date Title
US8085938B2 (en) Secret information management scheme based on secret sharing scheme
EP0282123B1 (fr) Système et procédé pour cryptographie avec application
EP2232765B1 (fr) Procede et entite de chiffrement symetrique probabiliste
EP0402210B1 (fr) Procédé pour vérifier l&#39;intégrité d&#39;un logiciel ou de données, et système pour la mise en oeuvre de ce procédé
EP1617586B1 (fr) Chiffrement en continu du contenu d&#39;une mémoire externe à un processeur
EP1151576B1 (fr) Procede cryptographique a cles publique et privee
CH634161A5 (fr) Appareil de dechiffrage d&#39;un message chiffre et son utilisation dans une installation de transmission.
FR2625636A1 (fr) Systeme pour acheminer des informations pour une authentification fiable d&#39;une multitude de documents
WO2009019298A1 (fr) Système d&#39;information et procédé d&#39;identification par un serveur d&#39;application d&#39;un utilisateur
FR2842691A1 (fr) Procede et dispositif de transformation d&#39;un signal numerique
EP0346180B1 (fr) Dispositif de communication sécurisée de données
FR2853175A1 (fr) Procede et systeme de cryptage
FR2808948A1 (fr) Systeme et methode pour authentifier de maniere unique chaque reproduction d&#39;un groupe de documents electroniques
EP1721246B1 (fr) Procede et dispositif pour accomplir une operation cryptographique
EP0666664B1 (fr) Procédé de signature numérique et d&#39;authentification de messages utilisant un logarithme discret avec un nombre réduit de multiplications modulaires
WO2003042813A2 (fr) Procede pour generer des nombres aleatoires
EP1829279A2 (fr) Procede et dispositif d&#39;execution d&#39;un calcul cryptographique
FR2590383A1 (fr) Dispositif electronique de communication cryptographique, et procede correspondant
WO1997039408A1 (fr) Dispositif d&#39;authentification d&#39;un fichier de donnees
EP1522168B1 (fr) Procede, systeme et support informatique de securisation de transmission de messages
EP3266148B1 (fr) Dispositif et procédé d&#39;administration d&#39;un serveur de séquestres numériques
FR2786050A1 (fr) Procede, dispositif et support d&#39;enregistrement pour securiser la transmission rapide d&#39;images, de sons, de textes ou de donnees techniques dans un reseau de communication
EP0743775B1 (fr) Procédé de signature numérique à connaissance nulle, permettant d&#39;élaborer une signature résistant aux collisions
FR2736485A1 (fr) Procede de traitement d&#39;un signal numerique tel que le signal numerique en sortie ne peut se deduire du signal numerique en entree et utilisation de ce procede pour le controle d&#39;acces et/ou la signature binaire
CA2288767A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas

Legal Events

Date Code Title Description
ST Notification of lapse