EP0586472A1 - Dispositif cryptographique d'une suite de donnees sans usage de cles - Google Patents

Dispositif cryptographique d'une suite de donnees sans usage de cles

Info

Publication number
EP0586472A1
EP0586472A1 EP92911089A EP92911089A EP0586472A1 EP 0586472 A1 EP0586472 A1 EP 0586472A1 EP 92911089 A EP92911089 A EP 92911089A EP 92911089 A EP92911089 A EP 92911089A EP 0586472 A1 EP0586472 A1 EP 0586472A1
Authority
EP
European Patent Office
Prior art keywords
data
sub
operand
calculation
bits
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.)
Ceased
Application number
EP92911089A
Other languages
German (de)
English (en)
Inventor
Christian Besnard
Jöel MARTIN
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of EP0586472A1 publication Critical patent/EP0586472A1/fr
Ceased 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
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Definitions

  • Block encryption cryptographic device without the use of a key.
  • the invention relates to the field of securing digital data.
  • the asymmetric key encryption means such as those using the RSA public key algorithm, for "RIVEST, SHA-MIR, ADLEMAN” make it possible to provide some of the security operations mentioned above.
  • Symmetric key encryption means such as those using the DES algorithm for "DATA ENCRYPTION STANDARD", also make it possible to ensure most of the data security operations mentioned above. Symmetric key encryption algorithms are much faster than asymmetric key algorithms.
  • the operation of the symmetric key block algorithm is as follows.
  • the user executes the security algorithm to provide a result R which is a function of the data to be secured and the secret key.
  • the server security module performs a similar calculation giving a result R '.
  • the server then checks the consistency of the result R with the result of its ' own calculation R'.
  • Stream encryption algorithms are based on another principle that is both simple and recognized as the most secure.
  • the random string must be as long as the text to be encrypted. This results in problems with transporting the encryption key.
  • One solution to these problems consists in sharing between the two ends a short secret key making it possible to generate a pseudo-random sequence.
  • the invention overcomes these drawbacks by proposing a device for securing digital data, making it possible in particular to ensure all the security operations mentioned above, using no longer encryption algorithms but simple cryptography tools, of easy implementation. , requiring a reduced number of operating conditions and using elementary instructions existing on most digital data processing devices.
  • Another object of the invention is to reduce the role of the encryption keys, these functionally playing only a role identical to that of the data to be processed.
  • the invention aims to decline an operating mode into a plurality of operating modes by modifying a limited number of initialization data.
  • the invention relates to an electronic device for processing digital data, comprising:
  • processing means suitable for providing output data as a function of said data.
  • the processing means comprise:
  • - calculation means suitable for performing a two-operand operation, non-reversible and quasi-random on the arrival set of said operation
  • control means suitable for breaking down the series of data into a set of overlapping portions which constitute the first operand, as well as for initially loading the initial quantity, and a first portion of the series of data in the operand registers, then responding to each appearance of the calculated result by loading this and another portion of the data sequence into the operand registers, until completely processing said portions of the data sequence,
  • the calculation means operate on whole numbers odulo p, p being a prime integer of predetermined size.
  • the calculation means include:
  • the second sub-operation constitutes an EXCLUSIVE OR union of the arrival set of the first sub-operation and the second operand.
  • FIG. 1 is a schematic view of the device according to the invention.
  • FIG. 2 is a schematic view illustrating the decomposition of the series of data to be processed into a set of overlapping portions
  • FIG. 3 is a flowchart illustrating the operation of the device according to the invention.
  • FIG. 4 is a schematic view illustrating the initialisation of the device according to the invention.
  • FIG. 5 is a flowchart illustrating the steps of the data security processing according to the invention.
  • FIG. 6 is a schematic view illustrating obtaining output data on 64 bits with a device working on 16-bit words according to the invention.
  • the reference DT designates the electronic device for processing digital data according to the invention.
  • digital data is meant, in the sense of the invention, any elementary data of any format.
  • these elementary digital data can be a message, a key, an initialization vector, a random datum or any other arbitrary datum to be processed.
  • the elementary data to be processed Bi are applied to an entry ElO.
  • Means MF will form a series of data SD from the input data thus applied to the input ElO.
  • the formatting of the data into an SD suite results for example from an end-to-end assembly of said input data.
  • the input data can come from several sources and be applied to several inputs of the MF means.
  • the input data can also come from a source delivering data forming a key Ki.
  • these data Ki are applied to an input Eli of the means MF.
  • the essential point here is that the means MF form from the data thus received a series of data.
  • END data is applied to an input E12 of the means MF to indicate to the device and in good time the end of the data to be processed.
  • FIG 2 there is shown schematically a series of data SD consisting of the data Bi individualized in B0 to B27.
  • Each datum Bi here has for example the value 0 or the value 1.
  • the output SI of the data sequence means MF will deliver a set of individualized portions Pm in PO to P3 which overlap.
  • FIG 2 there is shown a first portion PO consisting of the individualized bits in BO to B15, that is to say a double byte.
  • the next portion PI which overlaps with the portion PO consists of the individualized bits in B4 to B19.
  • each portion Pm constitutes a window F which has as length here that of a double byte.
  • the length of the window F can have a different value depending on the configuration chosen of the invention.
  • the overlap area T between the portion PO and the portion PI is here 12 bits, that is to say the data B4 to B15.
  • this overlap area T defines a step V which represents the speed at which the window F moves along the elementary data to be processed Bi.
  • the pitch V is 4 bits while the window F is 16 bits.
  • the ratio between the length of the window F in bits and the pitch V in bits determines the number of times that an elementary datum B will intervene in the calculations which will be described in more detail below.
  • the securing of the data is based on MCA calculation means which are suitable for performing a non-reversible and quasi-random two-operand operation on the arrival set of said operation.
  • the concept of non-reversible means according to the invention that it is impossible from an output datum to find the input datum.
  • the concept of quasi-random on the arrival set means that the output data is distributed almost uniformly over the arrival set.
  • the set of portions Pm is applied to the input E2 of an operand register 01.
  • the first portion PO of the data series Bi is loaded into the input E3 of the calculation means MCA via the • operand register 01.
  • an initial quantity RO previously stored in a memory (not shown) is loaded into the input E4 of the calculation means MCA via another operand register 02.
  • the initial quantity RO here has a size equal to that of the portions Pm, that is to say here 16 bits.
  • the control means MCO In response to each appearance of the intermediate result Rq with q an integer varying from 1 to nf / v (where n is the number of data Bi to be processed, f the length in bits of the window and v the displacement in bits of the window, in the example represented in FIG. 2, q varies from 1 to 3) calculated by the calculation means MCA, the control means MCO deliver a control signal C4 so that the intermediate result Rq loaded into the operand register of output 03 is applied to the second operand register 02.
  • the portion PI of the data series SD is loaded in the operand register 01.
  • the control means respond to each appearance of the calculated result Rq by loading it and another portion of the data sequence in the operand registers 01 and 02.
  • the series of intermediate results Rq (here R2 and R3) appearing in the output register 03 provides the output data DS.
  • This DS output data constitutes for example a seal.
  • the initial quantity RO and the intermediate results Rq (here R1, R2 and R3) can be considered as quasi-random data. It is these quasi-random data which confer the quality of quasi-randomness to the operation of the invention mentioned above.
  • FIG. 3 represents a flow diagram illustrating the operation of the device according to the invention.
  • a securing operation has three types of variables: the data to be secured, the keys Ki r and, where appropriate, the initialization values IV.
  • a security operation constructed according to the invention is this time characterized by the sequence of SD data and no longer by the three types of variables mentioned above.
  • Step 10 called initialization consists in manufacturing a series of data SD from the elementary data to be processed, initialization values IV and / or encryption keys Ki.
  • the SD data suite can be broken down into three parts ( Figure 4): - a first part, called the prefix PR placed upstream of the data to be secured Bi proper;
  • the prefix PR and the suffix SU are produced, for example, with initialization values IV associated with the environment of the device and, where appropriate, from encryption keys.
  • the initialization of the securing operation also includes the calculation of the initial quantity RO which plays the role of a quasi-random quantity.
  • this initial quantity RO results from the processing of the data forming the prefix PR by the securisa ⁇ tion device according to the invention.
  • the data forming the prefix PR is processed as described with reference to FIGS. 2 and 3, that is to say first of all subdivided into a set of overlapping portions.
  • references F0 and FI respectively designate the position of the window F at the start of processing and at the end of processing of the prefix PR.
  • the reference RO designates the initial quantity resulting from the processing of the data forming the prefix PR.
  • the initialization step 10 ends when all the data forming the prefix PR have been processed by the security device according to the invention, when the initial quantity RO is determined and when the window F is in front of the data. Bi to deal with.
  • the SD data suite can also include only the Bi data to be secured.
  • the initialization comes down to the formatting of the data in a sequence and the determination of an initial quantity RO.
  • the context 20 * is restored, that is to say the parameters available to the calculation means such as a pointer expressed in bits indicating the current position of window F, the initial quantity RO and the suffix SU.
  • Restoring the context can also include parameters such as the position or number of their intervention, keys and / or initialization values in the bit sequence.
  • the modification of the context thus makes it possible to obtain a plurality of operating modes from the same cryptography tools.
  • the cryptographic calculation 30 to 55 on the data Bi to be processed can begin.
  • the device according to the invention does not present any constraint on the keys and the data to be processed, whether as regards their length, the strength or the weakness of the keys and / or the format of the data.
  • the length of window F is for example also 32 bits.
  • the length of step V is 4 bits.
  • the result of the DS seal will also be for example on 32 bits.
  • the first call from the control means is used to initialize the pointer indicating the current position of the window F and the initial quantity RO which will be used for the cryptographic calculation.
  • the prime number used p is in this example chosen preferentially to the value 2 31 -1 which is in fact the largest prime number that can be stored arithmetically in an operand register of a 32-bit machine.
  • Initialization 10 concerns the formation of the bit sequence and the initialization of the quasi-random generator at the value RO.
  • the calculation means restore the context (step 20).
  • the context which will be used for the calculation thus contains the pointer indicating the current position of the window F, the initial quantity R0 and the suffix.
  • step 30 as long as there are bytes to be processed, the window F is offset by half a byte (step 35), that is to say by step V.
  • step 40 the actual cryptography calculation is carried out.
  • step 45 the window F is again shifted by a half-byte (that is to say by the step V).
  • step 50 the actual cryptography calculation is carried out.
  • step 55 the result of the calculation is saved on the byte thus processed Rq.
  • An output 60 can make it possible to have the result Rq for a chosen security operation.
  • a loop 65 connected to the box 20 makes it possible to apply the result Rq to the other data to be processed.
  • the securing operation continues until there are no more data bytes to process.
  • the suffix bytes are processed by the device according to the invention in a manner identical to that of the data bytes.
  • Step 70 includes processing the suffix bytes, saving the DS output data and, if necessary, destroying the context used by the cryptographic calculation.
  • the cryptography calculation is an operation with two operands, non-reversible and quasi-random on the arrival assembly of said operation.
  • the operation can be broken down into three sub-operations.
  • the first sub-operation SP1 constitutes a projection of the first operand on the arrival set of the first sub-operation.
  • the first operand here consists of the set of portions Pm described with reference to FIG. 2.
  • the second sub-operation SP2 constitutes an EXCLUSIVE OR union of the arrival set EAl of the first sub-operation SP1 and the second operand.
  • the second operand here consists of the initial quantity RO and the successive intermediate results Rq of the operation.
  • the third sub-operation SP3 constitutes a dispersion on the arrival set of the second sub-operation SP2.
  • the arrival set of the first sub-operation SP1 has a size of 31 bits.
  • the calculation means which carry out the second sub-operation SP2 here consist of means capable of making an EXCLUSIVE union of the two operands.
  • the third sub-operation SP3 performs a dispersion of the data on the arrival set of the second sub-operation SP2.
  • the rise to power here is a rise to the square.
  • first and second sub-operations SP1 and SP2 use only a machine instruction.
  • this generally uses two machine instructions.
  • the actual cryptographic calculation according to the invention is only reduced in this case to four machine instructions.
  • Step 10 concerning the initialization of the device comprises the formation of the sequence SD, the initialization of the quantity RO and the initialization of a datum forming rank gs with whole gs varying from 0 to 63.
  • the window is shifted by 4 bits and the left half byte is inserted. The calculation is then performed on the content of the data resulting from this shift and from this insertion. Then the window is again shifted by 4 bits and the right half byte is inserted. The calculation is then performed on the content of the data resulting from this shift and from this insertion.
  • left half byte insertion and the right half byte insertion result from simple machine instructions called high and low weights.
  • the suffix bytes are processed by the device according to the invention in a manner identical to that of the data bytes.
  • Step 70 includes processing the suffix bytes, saving the DS output data and, if necessary, destroying the context used by the cryptographic calculation.
  • the 16-bit machine uses computing means capable of performing a two-opera ⁇ tion that is non-reversible and quasi-random on the entire finish of said operation.
  • the operation can also be broken down into three sub-operations.
  • the first sub-operation is a division by 13 of the content of the window.
  • the second sub-operation is for example the inversion of a bit of the DS seal. This bit chosen is that indexed by rank gs.
  • the third sub-operation is a dispersion of the DS seal.
  • the DS seal can be broken down into four words DSI, DS2, DS3, DS4.
  • the bits of rank 0 to 15 of DSI are the bits of rank 0 to 15 of DS
  • the bits of rank 0 to 15 of DS2 are the bits of rank 16 to 31 of DS
  • the bits of rank 0 to 15 of DS3 are the bits of rank 32 to 47 of DS
  • the bits of rank 0 to 15 of DS4 are the bits of rank 48 to 63 of DS.
  • the result DS2 is raised to the power modulo p (FIG. 6).
  • the DS3 seal is raised to the modulo p power.
  • the rise to power is for example squared.
  • the length of the seal DS is here 4 times greater than that of the intermediate results Rq.
  • the DS seal is therefore made up of 4 DSI to DS4 portions. Indexing according to rank gs determines the DSI to DS4 portion that will be evaluated at modulo p power.
  • the invention uses such data without size constraint, this being possible thanks to the initialization step. As described above, this step fixes the structure of the bit sequence. Thus, the series of bits is formed over time without the need to store the entire series.
  • the invention works on any digital processing device (8, 16, 32, 64, 128, 512 bits or any other format).
  • the devices 8, 32, 128 bits allow to try to use a prime number p called Mersenne 2 ⁇ -1, 2 31 -1, 2 127 -1 which is the largest possible arithmetic number in a machine word.
  • This feature allows a very simple projection operation: the zero setting of the most significant bit.
  • the size of the window could be 7, 31 and 127 bits respectively; the projection operation is then the identity operation.
  • cryptographic tools are prisoners of the constraints imposed by the algorithm relative to data and keys.
  • the result is a different, freer cryptography in which the processing algorithm and the operating mode are integrated to form a dedicated cryptographic algorithm.
  • sub-operations SP1, SP2 and SP3 can vary. As many different dedicated cryptographic algorithms are created.
  • the operations of projection SP1, of union SP2 and of dispersion SP3 can be carried out by elementary machine instructions in reduced numbers bringing unequaled performances.

Landscapes

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

Abstract

Les moyens de commande (MCO) décomposent la suite de données (SD) en un ensemble de portions (Pm) qui se recouvrent et qui forment le premier opérande, chargent initalement la quantité initiale (RO) et une première portion (PO) de la suite de données dans les registres d'opérandes (O1, O2), puis répondent à chaque apparition du résultat (Rq) calculé en chargeant celui-ci et une autre portion (P1) de la suite de données dans les registres d'opérandes (O1 et O2), jusqu'à traiter complètement lesdites portions de la suite de données. La suite des résultats fournit les données de sortie (DS).

Description

Dispositif cryptographique de cniffrage par bloc sans usage de clé.
L'invention se rapporte au domaine de la sécurisation de don¬ nées numériques.
Elle trouve une application générale dans la protection des données numériques et en particulier dans les opérations tel- les que 1' uthentification, le scellement, le chiffrement/dé¬ chiffrement, la signature électronique et la génération de codes secrets.
On distingue deux grandes familles de moyens de chiffrement :
- les moyens de chiffrement à clés asymétriques, et
- les moyens de chiffrement à clés symétriques.
Les moyens de chiffrement à clés asymétriques tels que ceux utilisant l'algorithme à clé publique RSA, pour "RIVEST, SHA- MIR, ADLEMAN" permettent d'assurer certaines des opérations de sécurisation mentionnées ci-avant.
Toutefois, de tels dispositifs présentent des inconvénients.
En effet, ils requièrent des machines capables d'effectuer des calculs sur des données de 512 bits car en dessous de cette taille, ils ne sont pas considérés comme suffisamment sûrs notamment pour la personnalisation des postes utilisa¬ teurs.
En outre, le grand nombre d'opérations nécessaires aux diver¬ ses opérations de chiffrement rend très lourde la mise en place de tels algorithmes.
Les moyens de chiffrement à clés symétriques, tels que ceux utilisant l'algorithme DES pour "DATA ENCRYPTION STANDARD", permettent d'assurer également la plupart des opérations de sécurisation de données mentionnées ci-avant. Les algorithmes de chiffrement à clés symétriques sont beau¬ coup plus rapides que les algorithmes à clés asymétriques.
Dans les moyens de chiffrement à clés symétriques, on distin- gue les algorithmes par blocs et les algorithmes par flots.
Par exemple, pour une opération d'authentification dans la¬ quelle un serveur veut s'assurer qu'il dialogue avec un utilisateur autorisé, le fonctionnement de l'algorithme à clés symétriques par blocs est le suivant.
L'utilisateur exécute l'algorithme de sécurité pour fournir un résultat R qui est fonction des données à sécuriser et de la clé secrète. De son côté, et de façon symétrique, le module de sécurité du serveur effectue un calcul similaire donnant un résultat R' . Le serveur vérifie alors la cohérence du résultat R avec le résultat de son' propre calcul R' .
Les experts en cryptographie s'accordent à dire que de tels algorithmes ne peuvent être considérés comme suffisamment sûrs si les blocs de données sont de moins de 64 bits.
Les algorithmes de chiffrement par flots reposent sur un autre principe qui est à la fois simple et reconnu comme étant le plus sûr.
Il s'agit d'ajouter bit à bit une chaîne aléatoire au texte à chiffrer. C'est le moyen par exemple qui est cité comme étant utilisé entre le Kremlin et la Maison Blanche.
Toutefois, les algorithmes de chiffrement du type symétrique par flots présentent des inconvénients.
En effet, la chaîne aléatoire doit être aussi longue que le texte à chiffrer. Il en résulte des problèmes de transport de la clé de chiffrement. Une solution à ces problèmes consiste à partager entre les deux extrémités une clé secrète courte permettant de générer une suite pseudo-aléatoire.
De tels algorithmes de chiffrement existent et utilisent généralement des registres à décalage rebouclés en périodes maximales et combinés par des opérations booléennes.
Toutefois, de tels algorithmes de chiffrement sont de mise en oeuvre compliquée.
L'invention remédie à ces inconvénients en proposant un dispositif de sécurisation de données numériques permettant notamment d'assurer toutes les opérations de sécurisation mentionnées ci-avant en utilisant non plus des algorithmes de chiffrement mais des outils de cryptographie simples, de mise en oeuvre facile, nécessitant un nombre réduit de conditions opératoires et utilisant des instructions élémentaires exis¬ tant sur la plupart des dispositifs de traitement de données numériques.
L'invention a encore pour but de réduire le rôle des clés de chiffrement, celles-ci ne jouant fonctionnellement qu'un rôle identique à celui des données à traiter.
Enfin, l'invention a pour but de décliner un mode opératoire en une pluralité de modes opératoires en modifiant un nombre restreint de données d'initialisation.
L'invention porte sur un dispositif électronique de traite¬ ment de données numériques, comportant :
- au moins une entrée pour recevoir des données élémentaires à traiter ;
- des moyens de traitement propres à fournir des données de sortie fonction desdites données. Selon la caractéristique principale de l'invention, les moyens de traitement comprennent :
- des moyens pour former une suite de données à partir des données d'entrée ainsi reçues ;
- des moyens pour mémoriser une quantité initiale ;
- des moyens de calcul propres à effectuer une opération à deux opérandes, non réversible et quasi-aléatoire sur l'ensemble d'arrivée de ladite opération ;
- deux registres d'opérandes et un registre de sortie pour ces moyens de calcul ; et
- des moyens de commande propres à décomposer la suite de données en un ensemble de portions qui se recouvrent et qui constituent le premier opérande, ainsi qu'à charger initiale¬ ment la quantité initiale, et une première portion de la suite de données dans les registres d'opérandes, puis à répondre à chaque apparition du résultat calculé en chargeant celui-ci et une autre portion de la suite de données dans les registres d'opérandes, jusqu'à traiter complètement lesdites portions de la suite de données,
la suite des résultats fournissant lesdites données de sortie.
Selon une autre caractéristique importante de l'invention, les moyens de calculs opèrent sur nombres entiers odulo p, p étant un entier premier de taille prédéterminée.
Selon un mode de réalisation préféré de l'invention, les mo¬ yens de calcul comprennent :
- des premiers sous-moyens de calcul propres à effectuer une première sous-opération sur le premier opérande, la première sous-opération constituant une projection du premier opérande sur l'ensemble d'arrivée de la première sous-opération ; - des seconds sous-moyens de calcul propres à effectuer une seconde sous-opération sur l'ensemble d'arrivée de la première sous-opération et le second opérande, la seconde sous-opération constituant une union de l'ensemble d'arrivée de la première sous-opération et du second opérande ; et
- des troisièmes sous-moyens de calcul propres à effectuer une troisième sous-opération sur l'ensemble d'arrivée de la seconde sous-opération, la troisième sous-opération consti- tuant une dispersion sur l'ensemble d'arrivée de la seconde sous-opération.
De préférence, la seconde sous-opération constitue une union OU EXCLUSIVE de l'ensemble d'arrivée de la première sous-opé- ration et du second opérande.
D' utres caractéristiques et avantages de 1'invention apparaîtront à la lumière de la description détaillée ci- après et des dessins annexés dans lesquels :
- la figure 1 est une vue schématique du dispositif selon 1'invention ;
- la figure 2 est une vue schématique illustrant la décompo- sition de la suite de données à traiter en un ensemble de portions qui se recouvrent ;
- la figure 3 est un organigramme illustrant le fonctionne¬ ment du dispositif selon l'invention ;
- la figure 4 est une vue schématique illustrant l'initiali¬ sation du dispositif selon l'invention ;
- la figure 5 est un organigramme illustrant les étapes du traitement de sécurisation des données selon l'invention ; et
- la figure 6 est une vue schématique illustrant l'obtention des données de sortie sur 64 bits avec un dispositif travail¬ lant sur des mots de 16 bits selon l'invention. Sur la figure 1, la référence DT désigne le dispositif élec¬ tronique de traitement de données numériques selon 1'inven¬ tion.
Par données numériques, on entend, dans le sens de l'inven¬ tion toute donnée élémentaire de format quelconque. Comme on le verra plus en détail ci-après, ces données numériques élémentaires peuvent être un message, une clé, un vecteur d'initialisation, une donnée aléatoire ou toute autre donnée quelconque à traiter.
Les données élémentaires à traiter Bi, avec i nombre entier variant de 0 à n, sont appliquées à une entrée ElO. Des moyens MF vont former une suite de données SD à partir des données d'entrée ainsi appliquées à l'entrée ElO. La mise en forme des données en une suite SD résulte par exemple d'une mise bout à bout desdites données d'entrée.
Il y a lieu de remarquer que les données d'entrée peuvent provenir de plusieurs sources et être appliquées à plusieurs entrées des moyens MF. Par exemple, les données d'entrée peu¬ vent aussi provenir d'une source délivrant des données formant clé Ki. Dans ce cas, ces données Ki sont appliquées à une entrée Eli des moyens MF. L'essentiel ici est que les moyens MF forment à partir des données ainsi reçues une suite de données.
Une donnée END est appliquée à une entrée E12 des moyens MF pour indiquer au dispositif et en temps utile la fin des données à traiter.
Sur la figure 2, on a représenté schématiquement une suite de données SD constituée des données Bi individualisées en B0 à B27. Chaque donné Bi possède ici par exemple la valeur 0 ou la valeur 1.
En réponse à un signal de commande Cl issu de moyens de com¬ mande MCO, la sortie SI des moyens formant suite de données MF va délivrer un ensemble de portions Pm individualisées en PO à P3 qui se recouvrent.
Sur la figure 2, on a représenté une première portion PO constituée des bits individualisés en BO à B15, c'est-à-dire un double octet.
La portion suivante PI qui se recouvre avec la portion PO est constituée des bits individualisés en B4 à B19.
On peut considérer ici que chaque portion Pm constitue une fenêtre F qui a comme longueur ici celle d'un double octet. Bien entendu, la longueur de la fenêtre F peut avoir une va¬ leur différente selon la configuration choisie de 1'inven- tion.
La zone de recouvrement T entre la portion PO et la portion PI est ici de 12 bits, c'est-à-dire les données B4 à B15.
On peut considérer que cette zone de recouvrement T définit un pas V qui représente la vitesse à laquelle la fenêtre F se déplace le long des données élémentaires à traiter Bi.
Dans 1'exemple représenté sur la figure 2 , le pas V est de 4 bits tandis que la fenêtre F est de 16 bits. Le rapport entre la longueur de la fenêtre F en bits et le pas V en bits détermine le nombre de fois qu'une donnée élémentaire B interviendra dans les calculs qu'on décrira plus en détail ci-après.
Selon la caractéristique principale de l'invention, la sécurisation des données est basée sur des moyens de calcul MCA qui sont propres à effectuer une opération à deux opérandes non réversible et quasi-aléatoire sur l'ensemble d'arrivée de ladite opération.
La notion de non réversible signifie selon l'invention qu'il est impossible à partir d'une donnée de sortie de retrouver la donnée d'entrée. La notion de quasi-aléatoire sur l'ensemble d'arrivée signifie que la donnée de sortie est répartie quasi-uniformé¬ ment sur l'ensemble d'arrivée.
La sécurisation des données selon 1'invention s'effectue de la façon suivante.
L'ensemble de portions Pm est appliqué à l'entrée E2 d'un registre d'opérandes 01.
En réponse à un signal de commande C2 issu des moyens de com¬ mande MCO, la première portion PO de la suite de données Bi est chargée dans l'entrée E3 des moyens de calcul MCA via le registre d'opérandes 01.
Simultanément au chargement de PO dans le registre 01 et en réponse à un signal de commande C3 issu des moyens de commande MCO, une quantité initiale RO préalablement stockée dans une mémoire (non représentée) est chargée dans l'entrée E4 des moyens de calcul MCA via un autre registre d'opérandes 02.
La quantité initiale RO a ici une taille égale à celle des portions Pm, c'est-à-dire ici 16 bits.
En réponse à chaque apparition du résultat intermédiaire Rq avec q entier variant de 1 à n-f/v (où n est le nombre de données Bi à traiter, f la longueur en bits de la fenêtre et v le déplacement en bits de la fenêtre, dans l'exemple repré- sente en figure 2, q varie de 1 à 3 ) calculé par les moyens de calcul MCA, les moyens de commande MCO délivrent un signal de commande C4 pour que le résultat intermédiaire Rq chargé dans le registre d'opérandes de sortie 03 soit appliqué au second registre d'opérandes 02.
Simultanément au chargement du résultat intermédiaire RI dans le registre 02, la portion PI de la suite de données SD est chargée dans le registre d'opérandes 01. Les moyens de commande répondent à chaque apparition du résultat calculé Rq en chargeant celui-ci et une autre portion de la suite de données dans les registres d'opérandes 01 et 02.
Les différentes étapes ainsi décrites sont répétées jusqu'à traiter complètement lesdites portions Pm de la suite de don¬ nées Bi.
La suite des résultats intermédiaires Rq (ici R2 et R3) appa¬ raissant dans le registre de sortie 03 fournit les données de sortie DS. Ces données de sortie DS constituent par exemple un sceau.
L'homme de l'art comprendra que la quantité initiale RO et les résultats intermédiaires Rq (ici R1,R2 et R3) peuvent être considérés comme des données -quasi-aléatoires. Ce sont ces données quasialéatoires qui confèrent la qualité de quasi-aléatoire à l'opération de l'invention mentionnée plus avant.
L'homme de l'art comprendra aussi ici que l'on obtient ainsi un générateur de données quasi aléatoires qui peut servir pour engendrer des codes secrets ou des listes de clés de chiffrement.
Dans l'exemple d'une machine travaillant sur des mots de 32 bits et dont le déplacement V est de 4 bits par itération, il apparaît que chaque donnée élémentaire (bit) intervient dans 8 calculs consécutifs. Il en résulte que chaque quartet (quatre bits) est lié avec les 7 quartets précédents et les 7 suivants.
Il est à remarquer que lorsque la longueur de la fenêtre F est égale au pas V de déplacement, tous les bits des données entrent dans le calcul sans dépendance les une par rapport aux autres. En revanche, lorsque la longueur de la fenêtre F est supé¬ rieure au pas V, tous les bits entrent dans le calcul et il y a une dépendance des bits les uns par rapport aux autres. Cette dépendance est plus ou moins forte selon la valeur plus ou moins élevée du rapport entre la longueur de la fenêtre et celle du pas.
L'homme de l'art comprendra alors que c'est cette dépendance entre les données qui confère la qualité de non interchangea- bilité à l'opération mentionnée plus avant. Cette qualité est très importante notamment contre les manipulations frauduleu¬ ses sur les données numériques à traiter.
Il est maintenant fait référence à la figure 3 qui représente un organigramme illustrant le fonctionnement du dispositif selon l'invention.
D'une façon classique, une opération de sécurisation possède trois types de variables : les données à sécuriser, les clés Kir et le cas échéant les valeurs d'initialisation IV.
Selon la principale caractéristique de l'invention, une opération de sécurisation construite selon 1'invention est cette fois-ci caractérisée par la suite de données SD et non plus par les trois types de variables mentionnés ci-avant.
D'une façon très générale, l'opération de sécurisation selon l'invention se décompose selon les étapes suivantes (figure 3) :
L'étape 10 appelée initialisation consiste à fabriquer une suite de données SD à partir des données élémentaires à trai¬ ter, des valeurs d'initialisation IV et/ou des clés de chif¬ frement Ki.
Plus précisément, la suite de données SD peut se décomposer en trois parties (figure 4) : - une première partie, appelée préfixe PR placée en amont de la donnée à sécuriser Bi proprement dite ;
- une seconde partie constituée par les données Bi ; et
- une troisième partie SU, appelée suffixe, placée en aval de la donnée à sécuriser.
Le préfixe PR et le suffixe SU sont fabriqués par exemple avec des valeurs d'initialisation IV associées à l'environne¬ ment du dispositif et à partir le cas échéant de clés de chiffrement.
Il y a lieu de remarquer ici que les clés ne sont pas considérées comme étant des données plus fortes que les données à traiter. Bien au contraire, toutes les données participent ici de la même façon à la fabrication de la suite de données SD.
L'initialisation de l'opération de sécurisation comprend éga¬ lement le calcul de la quantité initiale RO qui joue le rôle d'une quantité quasi-aléatoire.
Par exemple, cette quantité initiale RO résulte du traitement des données formant préfixe PR par le dispositif de sécurisa¬ tion selon l'invention.
Par exemple, les données formant préfixe PR sont traitées comme décrit en référence aux figures 2 et 3, c'est-à-dire tout d'abord subdivisées en un ensemble de portions qui se recouvrent.
Sur la figure 4, les références F0 et FI désignent respecti¬ vement la position de la fenêtre F en début de traitement et en fin de traitement du préfixe PR.
La référence RO désigne la quantité initiale résultant du traitement des données formant préfixe PR. Ainsi l'étape d'initialisation 10 s'achève lorsque toutes les données formant préfixe PR ont été traitées par le dispositif de sécurisation selon l'invention, lorsque la quantité ini¬ tiale RO est déterminée et lorsque la fenêtre F se trouve devant les données Bi à traiter.
La suite de données SD peut aussi ne comprendre que les don¬ nées Bi à sécuriser. Dans ce cas, l'initialisation se résume à la mise en forme des données en une suite et à la détermi- nation d'une quantité initiale RO.
Une fois que l'initialisation 10 est achevée, il est procédé à la restauration 20* du contexte, c'est-à-dire à la remise à la disposition des moyens de calcul des paramètres tels qu'un pointeur exprimé en bits indiquant la position courante de la fenêtre F, la quantité initiale RO et le suffixe SU.
La restauration du contexte peut aussi comprendre les paramètres tels que la position ou le nombre de leur inter- vention, des clés et/ou des valeurs d'initialisation dans la suite de bits. La modification du contexte permet ainsi l'obtention d'une pluralité de modes opératoires à partir des mêmes outils de cryptographie.
Une fois que la restauration 20 est effectuée, le calcul cryptographique 30 à 55 sur les données Bi à traiter peut commencer.
Une fois que toutes les données Bi sont traitées par les moyens de calcul, il reste aux données formant suffixe SU à être également traitées par ces moyens de calcul.
Très avantageusement, le dispositif selon l'invention ne pré¬ sente aucune contrainte sur les clés et les données à traiter que ce soit en ce qui concerne leur longueur, la force ou la faiblesse des clés et/ou le format des données.
Il va maintenant être décrit un exemple d'un mode opératoire de scellement à l'aide d'une machine fonctionnant sur des mots de 32 bits. La longueur de la fenêtre F est par exemple également de 32 bits. Par exemple, la longueur du pas V est de 4 bits. Le résultat du sceau DS sera également par exemple sur 32 bits. Le ratio F/V (soit 32/4=8) donne ici le nombre de fois que chaque quartet intervient dans le calcul.
Le fonctionnement d'un tel mode opératoire est le suivant.
Le premier appel issu des moyens de commande sert à initiali- ser le pointeur indiquant la position courante de la fenêtre F et la quantité initiale RO qui servira pour le calcul cryp¬ tographique.
Les différents résultats intermédiaires Rq qui sont des nombres quasi-aléatoires évoluent à chaque itération de 0 à p-1. Le nombre premier utilisé p est dans cet exemple choisi préférentiellement à la valeur 231-1 qui est en fait le plus grand nombre premier pouvant être stocké arithmétiquement dans un registre d'opérandes d'une machine de 32 bits.
Il y a lieu de remarquer que pour une longueur de clé quelconque, il est possible d'initialiser le préfixe par la clé et/ou une valeur d'initialisation IV et le suffixe par une partie de la clé et/ou une autre valeur d'initialisation.
L'initialisation 10 concerne la formation de la suite de bits et l'initialisation du générateur quasi-aléatoire à la valeur RO.
Une fois que l'initialisation 10 est achevée, les moyens de calcul restaurent le contexte (étape 20). Le contexte qui va servir au calcul contient ainsi le pointeur indiquant la position courante de la fenêtre F, la quantité initiale R0 et le suffixe.
Selon l'étape 30, tant qu'il y a des octets à traiter, la fenêtre F est décalée d'un demi-octet (étape 35), c'est-à- dire du pas V. Selon l'étape 40, il est procédé au calcul de cryptographie proprement dit.
Selon l'étape 45, la fenêtre F est à nouveau décalée d'un demi-octet (c'est-à-dire du pas V).
Selon l'étape 50, il est procédé au calcul de cryptographie proprement dit.
Selon l'étape 55, il est procédé à la sauvegarde du résultat du calcul sur l'octet ainsi traité Rq.
Une sortie 60 peut permettre de disposer du résultat Rq pour une opération de sécurisation choisie. Une boucle 65 raccor- dée à la boîte 20 permet d'appliquer le résultat Rq aux autres données à traiter.
L'opération de sécurisation continue jusqu'à ce qu'il n'y ait plus d'octets de données à traiter.
En réponse à l'instruction END, les octets de suffixe sont traités par le dispositif selon l'invention d'une façon identique à celle des octets de données.
L'étape 70 comporte le traitement des octets de suffixe, la sauvegarde des données de sortie DS et, le cas échéant, la destruction du contexte utilisé par le calcul cryptographi¬ que.
Conformément à l'invention, le calcul de cryptographie est une opération à deux opérandes, non réversible et quasi-aléa¬ toire sur l'ensemble d'arrivée de ladite opération.
Selon l'invention, l'opération peut être décomposée en trois sous-opérations.
La première sous-opération SP1 constitue une projection du premier opérande sur l'ensemble d'arrivée de la première sous-opération. Le premier opérande est ici constitué de l'ensemble de portions Pm décrit en référence à la figure 2.
La seconde sous-opération SP2 constitue une union OU EXCLU- SIVE de l'ensemble d'arrivée EAl de la première sous-opéra¬ tion SP1 et du second opérande.
Le second opérande est ici constitué de la quantité initiale RO et des résultats intermédiaires successifs Rq de l'opéra- tion.
La troisième sous-opération SP3 constitue une dispersion sur l'ensemble d'arrivée de la seconde sous-opération SP2.
Par exemple, les moyens de calcul qui effectuent la première sous-opération SP1 effectuent un calcul sur nombres premiers modulo p avec p=231-l.
L'homme de l'art comprendra qu'un tel calcul permet de proje- ter 1'ensemble des portions Pm sur 1'ensemble d'arrivée EAl de la première sous-opération SP1. En fait, il s'agit ici d'une réduction modulo p qui se résume à la mise à zéro du bit de poids fort du contenu de la fenêtre.
Ici, l'ensemble d'arrivée de la première sous-opération SP1 a une taille de 31 bits.
Les moyens de calcul qui effectuent la seconde sous-opération SP2 sont constitués ici de moyens capables de faire une union OU EXCLUSIVE des deux opérandes.
Les moyens de calcul qui effectuent la troisième sous-opéra¬ tion vont d'abord élever à la puissance le résultat de la seconde sous-opération SP2 puis effectuer sur le résultat de cette élévation un calcul sur nombre premier modulo p, avec p=231-l. L'homme de l'art comprendra ici que la troisième sous-opéra¬ tion SP3 réalise une dispersion des données sur l'ensemble d'arrivée de la seconde sous-opération SP2.
Par exemple, l'élévation à la puissance est ici une élévation au carré.
Bien entendu, il est possible d'effectuer un calcul donnant un résultat similaire avec une élévation à la puissance différente du carré.
Il est à remarquer que généralement les première et seconde sous-opérations SP1 et SP2 utilisent seulement une instruc¬ tion machine. Pour ce qui concerne la troisième sous-opéra- tion SP3, celle-ci utilise généralement deux instructions machine. Il en résulte que le calcul de cryptographie proprement dit selon 1'invention est seulement ramené dans ce cas à quatre instructions machine.
II est maintenant décrit un autre exemple d'un algorithme de scellement, cette fois-ci avec une machine de 16 bits. La longueur choisie de la fenêtre F est de 16 bits. Le pas choisi V est de 4 bits. Le résultat de l'algorithme de scellement DS est dans cet exemple sur 8 octets soit 4 mots machine. Le calcul sur nombre premier modulo p est effectué sur un p=215-19.
L'étape 10 concernant l'initialisation du dispositif comprend la formation de la suite SD, de l'initialisation de la quantité RO et l'initialisation d'une donnée formant rang gs avec gs entier variant de 0 à 63.
Le calcul proprement dit s'effectue de la façon suivante.
Tant qu'il y a des octets à traiter, la fenêtre est décalée de 4 bits et il est inséré le demi-octet gauche. Le calcul s'effectue alors sur le contenu des données résultant de ce décalage et de cette insertion. Ensuite, la fenêtre est à nouveau décalée de 4 bits et il est inséré le demi-octet droit. Le calcul est effectué alors sur le contenu des données résultant de ce décalage et de cette insertion.
Il y a lieu de remarquer que l'insertion demi-octet gauche et l'insertion demi-octet droit résultent d'instructions machine simples appelées poids haut et poids bas.
Enfin, tant qu'il y a des octets de données à traiter, il est à nouveau procédé aux étapes mentionnées ci-avant.
En réponse à l'instruction END, les octets de suffixe sont traités par le dispositif selon l'invention d'une façon identique à celle des octets de données.
L'étape 70 comporte le traitement des octets de suffixe, la sauvegarde des données de sortie DS et, le cas échéant, la destruction du contexte utilisé par le calcul cryptographi- que.
Le résultat obtenu DS forme enfin le sceau des données.
Comme dans la machine 32 bits, la machine 16 bits utilise des moyens de calcul aptes à effectuer une opération à deux opé¬ randes non réversible et quasi-aléatoire sur l'ensemble d'ar¬ rivée de ladite opération.
Dans une machine 16 bits, l'opération peut aussi se décompo- ser en trois sous-opérations.
La première sous-opération est une division par 13 du contenu de la fenêtre. Le reste de la division r est ensuite additionné à une valeur formant rang gs suivant la formule : gs = (gs_ι + r + 1) mod 64.
La seconde sous-opération est par exemple l'inversion d'un bit du sceau DS. Ce bit choisi est celui indexé par le rang gs. Enfin, la troisième sous-opération est une dispersion du sceau DS.
Par exemple (figure 6), le sceau DS peut être décomposé en quatre mots DSI, DS2, DS3, DS4. Les bits de rang 0 à 15 de DSI sont les bits de rang 0 à 15 de DS, les bits de rang 0 à 15 de DS2 sont les bits de rang 16 à 31 de DS, les bits de rang 0 à 15 de DS3 sont les bits de rang 32 à 47 de DS et les bits de rang 0 à 15 de DS4 sont les bits de rang 48 à 63 de DS.
Ainsi, si le rang gs est inférieur à 16 alors le résultat DSI est élevé à la puissance suivie d'un calcul sur nombre entier "modulo p avec p=21*-5-19.
Si le rang gs est inférieur à 32 et supérieur ou égal à 16 par exemple égal à 28 (figure 6), alors le résultat DS2 est élevé à la puissance modulo p (figure 6).
Si le rang gs est inférieur à 48 et supérieur ou égal à 32, alors le sceau DS3 est élevé à la puissance modulo p.
Enfin si le rang gs est supérieur ou égal à 48, alors le sceau DS4 est élevé à la puissance modulo p.
L'élévation à la puissance est par exemple au carré.
Il est à noter que contrairement à l'exemple 32 bits, la longueur du sceau DS est ici 4 fois plus grande que celle des résultats intermédiaires Rq. Le sceau DS est dont constitué de 4 portions DSI à DS4. L'indexation selon le rang gs détermine la portion DSI à DS4 qui va faire l'objet de l'évaluation à la puissance modulo p.
Contrairement aux algorithmes classiques où les données formant clés Ki ou vecteurs d'initialisation IV doivent être de formats et de structures déterminés, 1'invention se sert de telles données sans contrainte de taille, cela étant possible grâce à l'étape d'initialisation. Comme décrit plus haut, cette étape fixe la structure de la suite de bits. Ainsi, la suite de bits se forme au fil de l'eau sans nécessité de stockage de l'ensemble de la suite.
Avantageusement, il n'y a pas de possibilité de déterminer la suite dans son intégralité et le contexte ainsi formé peut disparaître en fin de traitement normal ou anormal.
L'indépendance de l'invention relativement aux clés et aux données permet une totale transparence vis-à-vis de celles— ci. En conséquence, cela permet d'envisager des traitements mémoire jusqu'à présent impensables.
Avantageusement, l'invention fonctionne sur tout dispositif de traitement numérique (8, 16, 32, 64, 128, 512 bits ou tout autre format) .
Préférentiellement, les dispositifs 8, 32, 128 bits permet¬ tent d'utiliser un nombre premier p dit de Mersenne 2^-1, 231-1, 2127-1 qui est le plus grand nombre arithmétique possible dans un mot machine. Cette particularité permet une opération de projection très simple : la mise à zéro du bit de poids fort.
Avantageusement, dans cette particularité, la taille de la fenêtre pourrait être respectivement de 7, 31 et 127 bits; l'opération de projection est alors l'opération identité.
En cryptographie classique, les outils cryptographiques sont prisonniers des contraintes imposées par l'algorithme relativement aux données et clés.
Au contraire, la dépendance des bits selon l'invention permet de s'affranchir des contraintes sur les données et clés.
Il en résulte une cryptographie différente, plus libre, dans laquelle l'algorithme de traitement et le mode opératoire sont intégrés pour former un algorithme cryptographique dédié. Très avantageusement, en variant les paramètres, p, Rq, DS, F et V, il est possible de décliner le mode opératoire et d'obtenir des algorithmes cryptographiques dédiés différents.
De la même façon, les sous-opérations SP1, SP2 et SP3 peuvent varier. Il est alors créé autant d'algorithmes cryptographi¬ ques dédiés différents.
Tous autres paramètres et sous-opérations égaux par ailleurs, si l'étape d'initialisation forme une suite de bits diffé¬ rente alors il est créé un nouvel algorithme dédié.
Avantageusement, les opérations de projection SP1, d'union SP2 et de dispersion SP3 peuvent être réalisées par des instructions machine élémentaires en nombres réduits appor¬ tant des performances inégalées.
Bien qu'utilisant des dispositifs de traitement numériques différents, si les paramètres p, Rq, DS, F et V, les sous-o- perations SP1, SP2, SP3 ainsi que les étapes d'initialisation et de fin sont fonctionnellement identiques, les algorithmes dédiés donnent le même résultat. Ainsi les dialogues crypto¬ graphiques entre dispositifs différents peuvent être réalisés très simplement.

Claims

Revendications
1. Dispositif électronique de traitement de données numéri¬ ques, comportant :
- au moins une entrée (ElO) pour recevoir des données élémentaires à traiter (Bi);
- des moyens de traitement propres à fournir des données de sortie (DS) fonction desdites données d'entrée (Bi) ;
caractérisé en ce que les moyens de traitement comprennent :
- des moyens (MF) pour former une suite de données (SD) à partir des données d'entrée ainsi reçues ;
- des moyens pour mémoriser une quantité initiale (RO);
- des moyens de calcul (MCA) propres à effectuer une opéra- tion à deux opérandes, non réversible et quasi-aléatoire sur
1'ensemble d'arrivée de ladite opération ;
- deux registres d'opérandes (01,02) et un registre de sortie (03) pour ces moyens de calcul ; et
- des moyens de commande (MCO) propres à décomposer la suite de données (SD) en un ensemble de portions (Pm) qui se recouvrent et qui forment le premier opérande, ainsi qu'à charger initialement la quantité initiale (RO) , et une première portion (PO) de la suite de données dans les registres d'opérandes (01,02), puis à répondre à chaque apparition du résultat (Rq) calculé en chargeant celui-ci et une autre portion (PI) de la suite de données dans les registres d'opérandes (01 et 02), jusqu'à traiter complète- ment lesdites portions de la suite de données ;
la suite des résultats fournissant lesdites données de sortie (DS).
2. Dispositif selon la revendication 1, caractérisé en ce que les moyens de calcul (MCA) opèrent sur nombres entiers modulo p, p étant un entier premier de taille prédéterminée.
3. Dispositif selon la revendication 1 ou la revendication 2, caractérisé en ce que les moyens de calcul (MCA) compren¬ nent :
- des premiers sous-moyens de calcul propres à effectuer une première sous-opération (SPl) sur le premier opérande, la première sous-opération constituant une projection du premier opérande sur l'ensemble d'arrivée (EAl) de la première sous- opération (SPl) ;
- des seconds sous-moyens de calcul propres à effectuer une seconde sous-opération (SP2) sur l'ensemble d'arrivée (EAl) de la première sous-opération (SPl) et le second opérande, la seconde sous-opération (SP2) constituant une union de l'ensemble d'arrivée (EAl) de la première sous-opération et du second opérande ; et
- des troisièmes sous-moyens de calcul propres à effectuer une troisième sous-opération (SP3) sur l'ensemble d'arrivée (EAl) de la seconde sous-opération (SP2), la troisième sous- opération (SP3) constituant une dispersion sur l'ensemble d'arrivée de la seconde sous-opération (SP2) .
4. Dispositif selon la revendication 3, caractérisé en ce que la seconde sous-opération (SP2) constitue une union OUEXCLU- SIVE de l'ensemble d'arrivée (ERl) de la première sous-opéra¬ tion (SPl) et du second opérande.
5. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la taille des premier et second opérandes est quelconque.
6. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la taille des premier et second opérandes est de 16 bits.
7. Dispositif selon la revendication 6, caractérisé
en ce que les premiers sous-moyens de calcul effectuent une division par un nombre premier (C) choisi en fonction de la taille des données de sortie du premier opérande, le reste (r) de la division étant additionné à une donnée formant rang (gs) ;
en ce que les seconds moyens de calcul effectuent une inversion d'un bit choisi du résultat de la division par le nombre premier (C), le bit étant choisi en fonction de la donnée formant rang (gs) ; et
en ce que les troisièmes sous-moyen de calcul effectuent une élévation à la puissance modulo p d'une partie choisie du résultat de la division en fonction de la donnée formant rang (gs).
8. Dispositif selon la revendication 7, caractérisé en ce que le nombre premier (C) est égal à 13 lorsque les données de sortie sont de 64 bits.
9. Dispositif selon l'une quelconque des revendications 1 à 5, caractérisé en ce que la taille du premier opérande est de 32 bits.
10. Dispositif selon la revendication 9, caractérisé
en ce que les premiers sous-moyens de calcul effectuent une première sous-opération (SPl) sur le premier opérande modulo p ;
en ce que les seconds sous-moyens de calcul effectuent une somme OU EXCLUSIVE de l'ensemble d'arrivée (EAl) de la première sous-opération (SPl) et du second opérande ; et
en ce que les troisièmes sous-moyens de calcul effectuent une élévation à la puissance de l'ensemble d'arrivée de la seconde sous-opération modulo p.
11. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la suite de données (SD) comprend en outre des données choisies (IV) associées à l'initialisation du dispositif.
12. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la suite des données (SD) comprend en outre des données cryptographiques telles que des clés.
13. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la suite des données (SD) comprend en outre des données aléatoires.
EP92911089A 1991-05-30 1992-05-12 Dispositif cryptographique d'une suite de donnees sans usage de cles Ceased EP0586472A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9106534 1991-05-30
FR9106534A FR2677200B1 (fr) 1991-05-30 1991-05-30 Dispositif de securisation de donnees numeriques.

Publications (1)

Publication Number Publication Date
EP0586472A1 true EP0586472A1 (fr) 1994-03-16

Family

ID=9413292

Family Applications (1)

Application Number Title Priority Date Filing Date
EP92911089A Ceased EP0586472A1 (fr) 1991-05-30 1992-05-12 Dispositif cryptographique d'une suite de donnees sans usage de cles

Country Status (6)

Country Link
US (1) US5412728A (fr)
EP (1) EP0586472A1 (fr)
AU (1) AU1883192A (fr)
CA (1) CA2110378A1 (fr)
FR (1) FR2677200B1 (fr)
WO (1) WO1992022159A1 (fr)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295599B1 (en) * 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US5953241A (en) * 1995-08-16 1999-09-14 Microunity Engeering Systems, Inc. Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction
US6643765B1 (en) * 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US7301541B2 (en) * 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
AU716807B2 (en) * 1996-02-28 2000-03-09 Hitachi Limited Method and apparatus for encrypting data
JP3746098B2 (ja) * 1996-02-28 2006-02-15 株式会社日立製作所 データの暗号化装置
US6101255A (en) * 1997-04-30 2000-08-08 Motorola, Inc. Programmable cryptographic processing system and method
GB9801713D0 (en) 1998-01-27 1998-03-25 Sgs Thomson Microelectronics Executing permutations
US7450717B1 (en) * 1999-06-08 2008-11-11 General Instruments Corporation Self authentication ciphertext chaining
JP4335874B2 (ja) * 2003-06-18 2009-09-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 移動体ネットワークにおけるオンラインでの課金
KR100736047B1 (ko) 2005-07-28 2007-07-06 삼성전자주식회사 무선 네트워크 장치 및 이를 이용한 인증 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3053106B2 (ja) * 1990-11-02 2000-06-19 株式会社日立製作所 暗号化処理装置、及び復号化処理装置
JP2862030B2 (ja) * 1991-06-13 1999-02-24 三菱電機株式会社 暗号化方式
JP3180836B2 (ja) * 1992-05-21 2001-06-25 日本電気株式会社 暗号通信装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9222159A1 *

Also Published As

Publication number Publication date
CA2110378A1 (fr) 1992-12-10
WO1992022159A1 (fr) 1992-12-10
AU1883192A (en) 1993-01-08
FR2677200B1 (fr) 1993-09-17
US5412728A (en) 1995-05-02
FR2677200A1 (fr) 1992-12-04

Similar Documents

Publication Publication Date Title
EP2380305B1 (fr) Circuit de cryptographie, protégé notamment contre les attaques par observation de fuites d'information par leur chiffrement
EP2215768B1 (fr) Procede et dispositifs de protection d'un microcircuit contre des attaques visant a decouvrir une donnee secrete
FR2496303A1 (fr) Systeme de chiffrage/dechiffrement de donnees a cle publique
EP1358732B2 (fr) Procede de cryptage securise et composant utilisant un tel procede de cryptage
WO1992022159A1 (fr) Dispositif cryptographique de chiffrage par bloc sans usage de cle
EP2842232B1 (fr) Procédé de contrôle de redondance cyclique protégé contre une attaque par canal auxiliaire
CA2181299C (fr) Procede de communication cryptographique
FR2499792A1 (fr) Recepteur pour un systeme cryptographique a cle publique
EP2415199B1 (fr) Procede pour effectuer une tache cryptographique dans un composant electronique
EP0694846A1 (fr) Procédé de brouillage numérique et application à un circuit programmable
EP0346180B1 (fr) Dispositif de communication sécurisée de données
WO2003085881A1 (fr) Procede de securisation d'une entite electronique a acces crypte
EP2166696B1 (fr) Protection de l'intégrité de données chiffrées en utilisant un état intermédiare de chiffrement pour générer une signature
WO2007116171A2 (fr) Procede et dispositif pour engendrer une suite pseudo-aleatoire
FR2828780A1 (fr) Procede de realisation d'une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret
FR2871310A1 (fr) Circuit logique configurable resistant a une attaque dpa
EP3716120A1 (fr) Génération de clé de chiffrement/déchiffrement éphémère à chaque démarrage
EP2940922B1 (fr) Cryptosystèmes symétriques avec clé publique basé sur l'utilisation du groupe symétrique
EP0778518B1 (fr) Procédé de production d'un paramètre J0 associé à la mise en oeuvre d'opérations modulaires selon la méthode de Montgomery
EP1277306A1 (fr) Procede de calcul d'une donnee de controle de cle cryptographique
CA1243738A (fr) Procede et systeme pour chiffrer et dechiffrer des informations transmises entre un dispositif emetteur et un dispositif recepteur
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas
FR3135854A1 (fr) Fourniture sécurisée de clefs pour un cryptage totalement homomorphe
FR2865086A1 (fr) Dispositif et procede pour convertir un premier message en un deuxieme message
EP1886436A2 (fr) Procede, systeme et dispositif de generation d'une sequence de donnees pseudo aleatoire

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19931124

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK GB IT LI NL SE

17Q First examination report despatched

Effective date: 19951218

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 19970117