WO1999020018A1 - Novel digital cryptography method by selector box - Google Patents

Novel digital cryptography method by selector box Download PDF

Info

Publication number
WO1999020018A1
WO1999020018A1 PCT/FR1998/002169 FR9802169W WO9920018A1 WO 1999020018 A1 WO1999020018 A1 WO 1999020018A1 FR 9802169 W FR9802169 W FR 9802169W WO 9920018 A1 WO9920018 A1 WO 9920018A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
function
mixing box
cryptography method
bits
Prior art date
Application number
PCT/FR1998/002169
Other languages
French (fr)
Inventor
Serge Vaudenay
Jacques Stern
Daniel Sabban
Original Assignee
Compagnie Des Signaux
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 Compagnie Des Signaux filed Critical Compagnie Des Signaux
Priority to AU95443/98A priority Critical patent/AU9544398A/en
Priority to JP52117299A priority patent/JP2001506773A/en
Priority to CA002274938A priority patent/CA2274938A1/en
Priority to EP98949030A priority patent/EP0944975A1/en
Publication of WO1999020018A1 publication Critical patent/WO1999020018A1/en

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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Definitions

  • the present invention relates to a method of cryptography of data recorded in the form of bits on a medium usable by a calculation unit able to process input data m, to provide output data m ', comprising at least one processing step.
  • the calculation unit uses a function C_ (m) dependent on a key k.
  • Encryption and decryption constitute cryptography.
  • the fundamental principles of cryptography were defined by Shannon in 1949.
  • They are mainly based on the use of a calculation unit which processes functions and data by means of electronic circuits.
  • DES Data Encryption Standard
  • the DES function was perfectly suited to the security needs and technology of the time, but it is now insufficient, as shown in the last Challenge RSA attack competition.
  • AES Advanced Encryption Standard
  • the object of the invention is a method of data cryptography which ensures high security, which can be carried out with relatively simple functions requiring limited means of calculation and which ensures optimum performance with current technology, using as little as possible. of electronic circuits, for the sake of economy.
  • the invention relates to a cryptography method as defined above, characterized in that the function C k (m) dependent on a key k, comprises a mixing box M able to process mixing box input data (x 1 ⁇ ..., ⁇ x i ( ..., x r ), r ⁇ 2, where x ,, ..., x s are bit blocks, to provide mixing box output data, (y_, ... y j , ... y s ), s ⁇ 2, where y 1? ..., y s , are bit blocks, mixing box which, when all but one of the mixing box input data is fixed, produces for each mixing box output data a value which is obtained by permuting the value of the data non-fixed mixing box inlet.
  • the calculation unit is composed of one or more calculation boxes, in a network, a calculation box being a set capable of performing a calculation, for example a set of electronic circuits.
  • the mixing box M is a permutation, and preferably, the mixing box M is a multipermutation.
  • the mixing box M is obtained by adding to a mixing box a permutation on at least any one of its input data or its output data.
  • the function CJ n) is obtained by the implementation of successive stages of data processing, each stage verifying the property of the mixing box output data.
  • the mixing box comprises a step of processing data by an invertible linear function ⁇ (x).
  • the cryptography method comprises a step of processing data by a permutation P with 8 input bits and 8 output bits, such as:
  • the cryptography method comprises a step of processing data by a permutation g with 4 input bits and 4 output bits, such as:
  • the key k is broken down into at least two blocks k -1 and k -2 , and according to another improvement, the blocks k -1 and k "2 are treated by means of a Feistel diagram to produce sub-keys ko, ..., k nieth.
  • FIG. 1 represents an overall view of the encryption
  • FIG. 2 represents each function F of FIG. 1
  • FIG. 3 represents the function g in which the letter "n" is an electronic NAND function
  • FIG. 4 represents each permutation P of FIG. 2,
  • FIG. 5 represents the transformation E of FIG. 1 preceded by a series of transformations using the exclusive OR function
  • FIG. 6 represents the functions M and M -1 of FIG. 5,
  • FIG. 7 schematically shows the decryption operations, that is to say the reverse operations such as those described in the previous figures.
  • the cryptography method processes the data recorded m by blocks of fixed length equal to eight bytes.
  • the function C_ is carried out by means of a calculation unit consisting of a calculation box which uses a mixing box M (x, y) with two inputs.
  • a mixing box M (x ,, ..., x r ) ar inputs (r ⁇ 2) is a function that transforms r inputs into s outputs, so that each output has a uniform distribution by permutation if one arbitrarily fixes (r - 1) entries and that the remaining entry is random.
  • each step consists in carrying out an exclusive bit-by-bit or exclusive with a subkey k "calculated from k and which depends on the number of step i, then in performing a transformation E.
  • the final step is one or bit-by-bit exclusive with a last subkey k 8, so we have
  • the step keys all eight bytes, are obtained from k by a key diversification process based on the Feisiel scheme.
  • the key ⁇ - is originally a series of bytes of variable length (at most sixteen) which are completed over sixteen bytes with null bytes. These sixteen bytes are divided into two sequences of eight bytes / c ⁇ 2 and k "1 which initialize the sequence k ⁇ 2 , / o _1 , k °, / e 1 , ..., k s . Two consecutive elements k ' and / c î + 1 of this sequence determine a new element k l + 2 by the formula of recurrence
  • FIG. 1 illustrates the overview of the encryption process.
  • the function E c . + 2 first performs an exclusive bit-by-bit of the input with the constant c l + 2 , then applies a transformation P on each of the eight bytes obtained, and finally a transformation T (see Figure 2). If we consider the eight bytes coming out of the P transformations as an array of eight lines of eight bits, the transformation T only swaps the lines and the columns.
  • the transformation P is described by a Feistel scheme.
  • the entry is a byte split into two four-bit numbers. Each number enters one of the branches of the Feistel scheme described in Figure 4.
  • the / function is defined by the hexadecimal table
  • the function g is defined by the table
  • Each stage consists of one or exclusive, with a step key, or a constant c or c ', of four boxes of mixture M, and of byte position exchanges.
  • Each box M transforms two bytes x g and X d into two bytes y g and y ⁇ by the formula
  • R is the circular rotation defined by
  • ⁇ (x 7 ,..., x 0 ) ⁇ x7, X ⁇ ⁇ X5, Z5, z 4 ⁇ £ 3, ⁇ 3, 22 ⁇ rc ⁇ , ⁇ , a ; o ⁇ -c 7 ).
  • the M function is constructed to satisfy the mixing box property.
  • One construction criterion was to make it easy to achieve with current technology. It is also such that the inverse function ⁇ ! is also easy to do.
  • the functions M and M ⁇ l can be performed by the circuits shown in Figure 6 (we have included the exclusive or with the constant (C S ,) in this figure).
  • the function ⁇ ' is defined by
  • ⁇ ' ⁇ . r 7 ,. . . , x Q ) (x ⁇ x 6 , x ⁇ s s ⁇ £, .r, . ⁇ 3 ⁇ x 2 , x 2 , .r x ⁇ x 0 , x 0 ).
  • the byte position exchange of each stage is based on the fast Fourier transform graph, used in the P ⁇ r ⁇ llel FFT function
  • Decryption is carried out in a similar way, going up each step illustrated in Figure 7.
  • the encryption process can be carried out by a circuit which uses "pipeline" technology: by cutting the calculation network into several successive layers, each layer is produced by a logic circuit and registers are inserted between each layer. This makes it possible to process a stream of data to be encrypted with a higher speed.

Abstract

The invention concerns a cryptography method for data recorded in the form of bits on a medium by an arithmetic unit for processing input data m, for supplying output data m', comprising at least a data processing step whereby the arithmetic unit uses a function Ck (m) dependent on a key k. The function Ck (m) comprises a selector box M adapted for processing selector box input data (x1, ..., xj, ..., xr) with r≥2, where x1, ..., xr are bit blocks, to supply selector box output data, (y1, ..., yj, ..., ys), s≥2, where y1, ..., ys are bit blocks, said selector box which, when all selector box input data, except one, are fixed, produces for each selector box output data a value obtained by permutation of the value of the unfixed selector box input data.

Description

Nouveau procédé de cryptographie numérique par boîte de mélange New digital cryptography process by mixing box
La présente invention concerne un procédé de cryptographie de données enregistrées sous forme de bits sur un support exploitable par une unité de calcul apte à traiter des données d'entrée m, pour fournir des données de sortie m', comportant au moins une étape de traitement de données dans laquelle l'unité de calcul utilise une fonction C_ (m) dépendante d'une clef k.The present invention relates to a method of cryptography of data recorded in the form of bits on a medium usable by a calculation unit able to process input data m, to provide output data m ', comprising at least one processing step. in which the calculation unit uses a function C_ (m) dependent on a key k.
On connaît de nombreux procédés de cryptographie. Ils permettent le codage ou chiffrement de données au moyen d'une clef secrète, de sorte que les données deviennent inintelligibles à quiconque ne possède pas la clef. Le procédé doit cependant être réversible pour que le destinataire légitime des données puisse les comprendre ; c'est le déchiffrement.Many cryptographic methods are known. They allow encryption or encryption of data using a secret key, so that data becomes unintelligible to anyone who does not have the key. However, the process must be reversible so that the legitimate recipient of the data can understand it; it is deciphering.
Chiffrement et déchiffrement constituent la cryptographie. Les principes fondamentaux de cryptographie ont été définis par Shannon en 1949. De nos jours, ils reposent principalement sur l'utilisation d'une unité de calcul qui traite des fonctions et des données au moyen de circuits électroniques.Encryption and decryption constitute cryptography. The fundamental principles of cryptography were defined by Shannon in 1949. Nowadays, they are mainly based on the use of a calculation unit which processes functions and data by means of electronic circuits.
La fonction Data Encryption Standard (DES) proposée par le gouvernement américain en 1977 est un exemple devenu un standard international.The Data Encryption Standard (DES) function proposed by the American government in 1977 is an example that has become an international standard.
La fonction DES était parfaitement adaptée aux besoins de sécurité et à la technologie de l'époque, mais elle est désormais insuffisante, comme l'a montré le dernier concours d'attaque Challenge RSA.The DES function was perfectly suited to the security needs and technology of the time, but it is now insufficient, as shown in the last Challenge RSA attack competition.
En outre, des attaques statistiques mises au point par Biham et Shamir d'une part et par Gilbert et Matsui d'autre part ont dévoilé les faiblesses structurelles de la fonction DES.In addition, statistical attacks developed by Biham and Shamir on the one hand and by Gilbert and Matsui on the other exposed the structural weaknesses of the DES function.
DES devrait prochainement être remplacée par un nouveau standard, la fonction Advanced Encryption Standard (AES).DES should soon be replaced by a new standard, the Advanced Encryption Standard (AES).
Le but de l'invention est un procédé de cryptographie de données qui assure une grande sécurité, qui peut être réalisé avec des fonctions relativement simples nécessitant des moyens de calcul limités et qui assure des performances optimales avec la technologie actuelle, en employant le moins possible de circuits électroniques, par souci d'économie.The object of the invention is a method of data cryptography which ensures high security, which can be carried out with relatively simple functions requiring limited means of calculation and which ensures optimum performance with current technology, using as little as possible. of electronic circuits, for the sake of economy.
A cet effet, l'invention concerne un procédé de cryptographie tel que défini ci-dessus, caractérisé en ce que la fonction Ck(m) dépendante d'une clef k, comporte une boîte de mélange M apte à traiter des données d'entrée de boîte de mélange (x1} ...,~ xi( ..., xr), r ≥ 2, où x,, ..., xs sont des blocs de bits, pour fournir des données de sortie de boîte de mélange, (y_, ... yj, ... ys), s ≥ 2, où y1? ..., ys, sont des blocs de bits, boîte de mélange qui, lorsque toutes les données d'entrée de boîte de mélange, sauf une, sont fixes, produit pour chaque donnée de sortie de boîte de mélange une valeur qui est obtenue par permutation de la valeur de la donnée d'entrée de boîte de mélange non fixe.To this end, the invention relates to a cryptography method as defined above, characterized in that the function C k (m) dependent on a key k, comprises a mixing box M able to process mixing box input data (x 1} ..., ~ x i ( ..., x r ), r ≥ 2, where x ,, ..., x s are bit blocks, to provide mixing box output data, (y_, ... y j , ... y s ), s ≥ 2, where y 1? ..., y s , are bit blocks, mixing box which, when all but one of the mixing box input data is fixed, produces for each mixing box output data a value which is obtained by permuting the value of the data non-fixed mixing box inlet.
En règle générale, l'unité de calcul est composée d'une ou plusieurs boîtes de calcul, en réseau, une boîte de calcul étant un ensemble apte à réaliser un calcul, par exemple un ensemble de circuits électroniques. Selon un mode de réalisation de l'invention, la boîte de mélange M est une permutation, et de préférence, la boîte de mélange M est une multipermutation.As a general rule, the calculation unit is composed of one or more calculation boxes, in a network, a calculation box being a set capable of performing a calculation, for example a set of electronic circuits. According to an embodiment of the invention, the mixing box M is a permutation, and preferably, the mixing box M is a multipermutation.
Selon une variante, la boîte de mélange M est obtenue par adjonction à une boîte de mélange d'une permutation sur au moins l'une quelconque de ses données d'entrée ou de ses données de sortie. Selon un mode de réalisation préféré de l'invention, la fonction CJ n) est obtenue par la mise en oeuvre d'étapes successives de traitement de données, chaque étape vérifiant la propriété des données de sortie de boîte de mélange.According to a variant, the mixing box M is obtained by adding to a mixing box a permutation on at least any one of its input data or its output data. According to a preferred embodiment of the invention, the function CJ n) is obtained by the implementation of successive stages of data processing, each stage verifying the property of the mixing box output data.
Avantageusement, la boîte de mélange comporte une étape de traitement de données par une fonction linéaire inversible φ(x). A titre d'exemple, la fonction φ(x) est définie, dans un mode de représentation de données, par : φ(x„ ..., X5> X4, X2> Xj, Xn) = (Xt> •••> s> X4 © X3> X3> X2 © j, ι> n © t)> où Xn, ..., x, sont des blocs de bits et où ® représente la fonction OU exclusif bit^à-bit.Advantageously, the mixing box comprises a step of processing data by an invertible linear function φ (x). As an example, the function φ (x) is defined, in a data representation mode, by: φ (x „..., X 5> X 4 , X 2> Xj, Xn) = (X t >•••>s> X 4 © X 3 > X 3 > X 2 © j, ι> n © t)> where X n , ..., x, are bit blocks and where ® represents the OR function bit-by-bit exclusive.
Selon un autre exemple, la fonction φ(x) est définie, dans un mode de représentation de données, par : φ(χt, ..., X5...X0) = (X, © Xt_, , .... X5 © X4, X4, X3 Θ X2, X2, Xj © Xo, Xo), où x,,, ..., x, sont des blocs de bits et où © représente la fonction OU exclusif bit-à-bit.According to another example, the function φ (x) is defined, in a data representation mode, by: φ (χ t , ..., X 5 ... X 0 ) = (X, © X t _, , .... X 5 © X 4 , X 4 , X 3 Θ X 2 , X 2 , Xj © Xo, Xo), where x ,,, ..., x, are blocks of bits and where © represents the bit-by-bit exclusive OR function.
Selon une variante, le procédé de cryptographie comporte une étape de traitement de données par une permutation P à 8 bits d'entrée et 8 bits de sortie, telle que :According to a variant, the cryptography method comprises a step of processing data by a permutation P with 8 input bits and 8 output bits, such as:
DPm„ (P) = max aΛ,b Prx «^ [P (x © a) © P (x) = b] ≤ T ou LPmlx (P) = max ^ (2 Prx uniforme [x . a = P (x).b] - l)2 ≤ 2"4, la permutation P étant réalisée au moyen d'un circuit logique de profondeur inférieure ou égale à 17. Selon un perfectionnement, la permutation P est une involution.DP m „(P) = max aΛ, b Pr x“ ^ [P (x © a) © P (x) = b] ≤ T or LP mlx (P) = max ^ (2 Pr x uniform [x. a = P (x) .b] - l) 2 ≤ 2 "4 , the permutation P being carried out by means of a logic circuit of lower depth or equal to 17. According to an improvement, the permutation P is an involution.
Selon une autre variante, le procédé de cryptographie comporte une étape de traitement de données par une permutation g à 4 bits d'entrée et 4 bits de sortie, telle que :According to another variant, the cryptography method comprises a step of processing data by a permutation g with 4 input bits and 4 output bits, such as:
DP (g) = max aΛ,b Prx uniform. [g (x © a) © g (x) = b] ≤ 2~ ou LPm„ (g) = max ^ (2 Prx uniforroe [x.a = g (x).b] - l)2 ≤ 2~ , la permutation g étant réalisée au moyen d'un circuit logique de profondeur inférieure ou égale à 4.DP m « (g) = max aΛ, b Pr x uniform . [g (x © a) © g (x) = b] ≤ 2 ~ or LP m „(g) = max ^ (2 Pr x uniforroe [xa = g (x) .b] - l) 2 ≤ 2 ~ , the permutation g being carried out by means of a logic circuit of depth less than or equal to 4.
Selon une autre variante, le procédé de cryptographie comporte une étape de traitement de données par une fonction f à 4 bits d'entée et 4 bits de sortie, telle que : DPm„ (f) = max ^ Prx mii_mt [f (x © a) © f (x) = b] ≤ 2"2, ou LPmιx (f) = max ^ (2 Prx uniforme [x.a = f (x).b] - l)2 ≤ 2"2, la fonction f étant réalisée au moyen d'un circuit logique de profondeur inférieure ou égale à 2.According to another variant, the cryptography method comprises a step of processing data by a function f with 4 input bits and 4 output bits, such as: DP m „(f) = max ^ Pr x mii _ mt [ f (x © a) © f (x) = b] ≤ 2 "2 , or LP mιx (f) = max ^ (2 Pr x uniform [xa = f (x) .b] - l) 2 ≤ 2 " 2 , the function f being performed by means of a logic circuit of depth less than or equal to 2.
Selon un mode de réalisation particulier, la fonction f est définie par f (x3, x2, x1} Xo) =According to a particular embodiment, the function f is defined by f (x 3 , x 2 , x 1} Xo) =
[NON(NONx3 . x_), NON(NONx2 . x_),
Figure imgf000005_0001
. x0), NON(NONx0 . x3)].
[NO (NONx 3. X_), NO (NONx 2. X_),
Figure imgf000005_0001
. x 0 ), NO (NONx 0. x 3 )].
Selon un perfectionnement, la clef k est décomposée en au moins deux blocs k-1 et k-2, et selon un autre perfectionnement, les blocs k-1 et k"2 sont traités au moyen d]un schéma de Feistel pour produire des sous-clefs ko, ..., k„. Un mode de réalisation de la présente invention sera décrit ci-après en référence aux figures annexées dans lesquelles :According to an improvement, the key k is broken down into at least two blocks k -1 and k -2 , and according to another improvement, the blocks k -1 and k "2 are treated by means of a Feistel diagram to produce sub-keys ko, ..., k „. An embodiment of the present invention will be described below with reference to the appended figures in which:
- la figure 1 représente une vue d'ensemble du chiffrement,FIG. 1 represents an overall view of the encryption,
- la figure 2 représente chaque fonction F de la figure 1, - la figure 3 représente la fonction g dans laquelle la lettre "n" est une fonction électronique NAND,FIG. 2 represents each function F of FIG. 1, FIG. 3 represents the function g in which the letter "n" is an electronic NAND function,
- la figure 4 représente chaque permutation P de la figure 2,FIG. 4 represents each permutation P of FIG. 2,
- la figure 5 représente la transformation E de la figure 1 précédée d'une série de transformations utilisant la fonction OU exclusif,FIG. 5 represents the transformation E of FIG. 1 preceded by a series of transformations using the exclusive OR function,
- la figure 6 représente les fonctions M et M-1 de la figure 5,FIG. 6 represents the functions M and M -1 of FIG. 5,
- la figure 7 représente schématiquement les opérations de déchiffrement, c'est-à-dire les opérations inverses telles que celles décrites aux figures précédentes.- Figure 7 schematically shows the decryption operations, that is to say the reverse operations such as those described in the previous figures.
Selon cet exemple, le procédé de cryptographie traite les données enregistrées m par blocs de longueur fixe égale à huit octets.According to this example, the cryptography method processes the data recorded m by blocks of fixed length equal to eight bytes.
La fonction C_ est réalisée au moyen d'une unité de calcul constituée d'une boîte de calcul qui utilise une boîte de mélange M(x, y) à deux entrées.The function C_ is carried out by means of a calculation unit consisting of a calculation box which uses a mixing box M (x, y) with two inputs.
On rappelle qu'une boîte de mélange M(x,, ...,xr) a r entrées (r ≥ 2) est une fonction qui transforme r entrées en s sorties, de telle sorte que chaque sortie ait une distribution uniforme par permutation si l'on fixe arbitrairement (r - 1) entrées et que l'entrée restante est aléatoire.Recall that a mixing box M (x ,, ..., x r ) ar inputs (r ≥ 2) is a function that transforms r inputs into s outputs, so that each output has a uniform distribution by permutation if one arbitrarily fixes (r - 1) entries and that the remaining entry is random.
Ainsi qu'il apparaît figure 1, l'ensemble des huit octets de m subit au travers du réseau de calcul successivement huit étapes de transformation semblables, puis une opération finale. Chaque étape consiste à effectuer un ou exclusif bit-à-bit avec une sous-clef k" calculée à partir de k et qui dépend du numéro de l'étape i, puis à effectuer une transformation E. L'étape finale est un ou exclusif bit-à-bit avec une dernière sous- clef k8. On a doncAs appears in FIG. 1, the set of eight bytes of m undergoes successively through the calculation network eight similar transformation steps, then a final operation. Each step consists in carrying out an exclusive bit-by-bit or exclusive with a subkey k "calculated from k and which depends on the number of step i, then in performing a transformation E. The final step is one or bit-by-bit exclusive with a last subkey k 8, so we have
C^m) = k8 © E (k7 © ... E (k1 © E (k° © m))). On note m1 le bloc de huit octets qui entre à l'étape i. (Le bloc entrant à l'étape 0 est m0 = m). Le bloc sortant est mi+1).C ^ m) = k 8 © E (k 7 © ... E (k 1 © E (k ° © m))). The block of eight bytes which enters step i is denoted by m 1 . (The block entering in step 0 is m 0 = m). The outgoing block is m i + 1 ).
On a donc : mi+1 = E^ © m*) et m' = k8 ® m8 . Les clefs d'étape, toutes de huit octets, sont obtenues à partir de k par un piocédé de diversification de clefs fondé sur le schéma de Feisiel. La clef À- est à l'origine une suite d'octets de longueur variable (au plus seize) que l'on complète sur seize octets avec des octets nuls. Ces seize octets sont découpés en deux séquences de huit octets /c~2 et k"1 qui initialisent la suite k~2, /o_1, k°, /e1, ... , ks. Deux éléments consécutifs k' et /cî+1 de cette suite déterminent un nouvel élément kl+2 par la formule de récurrenceWe therefore have: m i + 1 = E ^ © m *) and m '= k 8 ® m 8 . The step keys, all eight bytes, are obtained from k by a key diversification process based on the Feisiel scheme. The key À- is originally a series of bytes of variable length (at most sixteen) which are completed over sixteen bytes with null bytes. These sixteen bytes are divided into two sequences of eight bytes / c ~ 2 and k "1 which initialize the sequence k ~ 2 , / o _1 , k °, / e 1 , ..., k s . Two consecutive elements k ' and / c î + 1 of this sequence determine a new element k l + 2 by the formula of recurrence
/c1+2 = ΘFc.+-(/î+1)/ c 1 + 2 = ΘF c . + - (/ î + 1 )
au moyen d'une fonction Ect+2 qui utilise une constante préétablie c!+2. La figure 1 illustre la vue d'ensemble du procédé de chiffrement.by means of a function E ct +2 which uses a preset constant c ! +2 . Figure 1 illustrates the overview of the encryption process.
La fonction Ec.+2 effectue d'abord un ou exclusif bit-à-bit de l'entrée avec la constante cl+2, puis applique une transformation P sur chacun des huit octets obtenus, et enfin une transformation T (voir figure 2). Si l'on considère les huit octets qui sortent des transformations P comme un tableau de huit lignes de huit bits, la transformation T ne fait qu'échanger les lignes et les colonnes.The function E c . + 2 first performs an exclusive bit-by-bit of the input with the constant c l + 2 , then applies a transformation P on each of the eight bytes obtained, and finally a transformation T (see Figure 2). If we consider the eight bytes coming out of the P transformations as an array of eight lines of eight bits, the transformation T only swaps the lines and the columns.
La transformation P est décrite par un schéma de Feistel. L'entrée est un octet découpé en deux nombres de quatre bits. Chaque nombre entre dans l'une des branches du schéma de Feistel décrit sur la figure 4. On utilise deux fonctions / et g.The transformation P is described by a Feistel scheme. The entry is a byte split into two four-bit numbers. Each number enters one of the branches of the Feistel scheme described in Figure 4. We use two functions / and g.
La fonction / est définie par la table hexadécimaleThe / function is defined by the hexadecimal table
X 0 1 2 3 4 5 6 7 8 9 a b c d e f f d b b 7 5 7 7 e d a b e d e f qui provient de la formuleX 0 1 2 3 4 5 6 7 8 9 a b c d e f f d b b 7 5 7 7 e d a b e d e f which comes from the formula
f(x3,X2,X Xθ) = (~X3~.X2,X~_.Xl,Xl.Xo,~X(.X3)- La fonction / a une bonne non-linéarité. On a en effet DPnιa (/) = 2~2 cl LP,na\(./ ) = 2"2- De plus, la fonction peut être réalisée par un circuit logique de profondeur deux.f (x 3 , X 2 , X Xθ) = (~ X3 ~ .X 2 , X ~ _.Xl, Xl.Xo, ~ X (.X3) - The function / has a good non-linearity. There is indeed DP nιa (/) = 2 ~ 2 cl LP, na \ (./) = 2 "2 - In addition, the function can be performed by a logic circuit of depth two.
Les quantités DP,nax et LPma mesurent la non-linéarité suivant des critères mis en évidence par Nyherg, Chabaud et Vaudenay, puis Matsui. Par définition, on aThe quantities DP, nax and LP ma measure the non-linearity according to criteria highlighted by Nyherg, Chabaud and Vaudenay, then Matsui. By definition, we have
DPmax( ) - max Pr [f(x φ α) φ f(x) = b] αφO,b x uniformeDP max () - max Pr [f (x φ α) φ f (x) = b] αφO, bx uniform
etand
LPmax( / ) = max 2 Pr [x α = f(x) 6] - 1 α,bτt0 \ x uniformeLP max (/) = max 2 Pr [x α = f (x) 6] - 1 α, bτt0 \ x uniform
La fonction g est définie par la tableThe function g is defined by the table
X 0 1 2 3 4 5 6 7 8 9 a b c d e f g(χ) a 6 0 2 b e l 8 d 4 5 3 f c 7 9 qui provient du circuit logique de profondeur quatre représenté sur la figure 3.X 0 1 2 3 4 5 6 7 8 9 abcdefg ( χ ) a 6 0 2 bel 8 d 4 5 3 fc 7 9 which comes from the logic circuit of depth four represented in figure 3.
La fonction g est de plus une permutation et présente une bonne non-linéarité puisque l'on a DPmax(#) = 2-2 et LPmax(g) = 2-2.The function g is also a permutation and has good non-linearity since we have DP max (#) = 2 -2 and LP max (g) = 2 -2 .
La transformation P vérifie DPmax(P) = 2~4 et LPmax(P) = 2-4. Cela permet au procédé de chiffrement de résister aux attaques -de Biham et Shamir et de Gilbert et Matsui.The transformation P satisfies DP max (P) = 2 ~ 4 and LP max (P) = 2 -4 . This allows the encryption process to resist attacks from Biham and Shamir and Gilbert and Matsui.
Le schéma de Feistel de la transformation P utilise successivement les fonctions /, g et /. Une conséquence est que P présente une propriété d'involution : la transformation inverse de P est P elle-même, ce qui facilite l'opération de déchiffrement. table de la permutation P estThe Feistel diagram of the transformation P successively uses the functions /, g and /. One consequence is that P has an involution property: the inverse transformation of P is P itself, which facilitates the decryption operation. permutation table P is
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .a .b .c .d ,e .f.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .a .b .c .d, e .f
0. 29 Od 61 40 9c eb 9e 8f lf 85 5f 58 5b 01 39 660. 29 Od 61 40 9c eb 9e 8f lf 85 5f 58 5b 01 39 66
1. 97 2e d7 d6 35 ae 17 16 21 b6 69 4e a5 72 87 081. 97 2nd d7 d6 35 ae 17 16 21 b6 69 4th a5 72 87 08
2. 3c 18 e6 e7 fa ad b8 89 b7 00 f7 6f 73 84 11 632. 3c 18 e6 e7 fa ad b8 89 b7 00 f7 6f 73 84 11 63
3. 3f 96 7f 6e bf 14 9d ac a4 Oe 7e f6 20 4a 62 303. 3f 96 7f 6th bf 14 9d ac a4 Oe 7th f6 20 4a 62 30
4. 03 c5 4b 5a 46 a3 44 65 7d 4d 3d 42 79 49 lb 5c4. 03 c5 4b 5a 46 a3 44 65 7d 4d 3d 42 79 49 lb 5c
5. f5 6c b5 94 54 ff 56 57 Ob f4 43 Oc 4f 70 6d Oa5. f5 6c b5 94 54 ff 56 57 Ob f4 43 Oc 4f 70 6d Oa
6. e4 02 3e 2f a2 47 eO cl d5 la 95 a7 51 5e 33 2b6. e4 02 3e 2f a2 47 eO cl d5 la 95 a7 51 5th 33 2b
7. 5d d4 Id 2c ee 75 ec dd 7c 4c a6 b4 78 48 3a 327. 5d d4 Id 2c ee 75 ec dd 7c 4c a6 b4 78 48 3a 32
8. 98 af cO el 2d 09 Of le b9 27 8a e9 bd e3 9f 078. 98 af cO el 2d 09 Of le b9 27 8a e9 bd e3 9f 07
9. bl ea 92 93 53 6a 31 10 80 f2 d8 9b 04 36 06 8e a. be a9 64 45 38 le 7a 6b f3 al fO cd 37 25 15 81 b. fb 90 e8 d9 7b 52 19 28 26 88 fc dl e2 8c aO 34 c. 82 67 da cb c7 41 e5 c4 c8 ef db c3 ce ab ce ed d. dO bb d3 d2 71 68 13 12 9a b3 c2 ca de 77 de df e. 66 83 bc 8d 60 c6 22 23 b2 8b 91 05 76 cf 74 c9 f. aa fl 99 a8 59 50 3b 2a fe f9 24 bO ba fd fδ 55.9. bl ea 92 93 53 6a 31 10 80 f2 d8 9b 04 36 06 8e a. be a9 64 45 38 le 7a 6b f3 al fO cd 37 25 15 81 b. fb 90 e8 d9 7b 52 19 28 26 88 fc dl e2 8c aO 34 c. 82 67 da cb c7 41 e5 c4 c8 ef db c3 ce ab ce ed d. dO bb d3 d2 71 68 13 12 9a b3 c2 ca de 77 de df e. 66 83 bc 8d 60 c6 22 23 b2 8b 91 05 76 cf 74 c9 f. aa fl 99 a8 59 50 3b 2a fe f9 24 bO ba fd fδ 55.
On a par exemple F(26) = b8. En effet, on a /(6) = 7, 2 φ 7 = 5, g( ) = e, 6 φ e = 8, (8) = e et enfin 5 φ e = b.For example, we have F (26) = b8. Indeed, we have / (6) = 7, 2 φ 7 = 5, g () = e, 6 φ e = 8, (8) = e and finally 5 φ e = b.
Cette table définit également les constantes c' utilisées dans le système de diversification des clefs d'étape :This table also defines the constants c used in the system of diversification of step keys:
Co = 290d61409ceb9e8f
Figure imgf000009_0001
c2 = 972ed7d635ael716 c3 = 21b6694ea5728708 c4 = 3cl8e6e7faadb889 c5 = b700f76f73841163 c6 = 3f967f6ebfl49dac c7 = a40e7ef6204a6230 c8 = 03c54b5a46a34465. La transformation E utilisée dans chaque étape du chiffrement est une superposition de trois étages illustrés sur la figure 5 (on a inclu le ou exclusif avec la clef d'étape k1 sur cette figure).
Co = 290d61409ceb9e8f
Figure imgf000009_0001
c 2 = 972ed7d635ael716 c 3 = 21b6694ea5728708 c 4 = 3cl8e6e7faadb889 c 5 = b700f76f73841163 c 6 = 3f967f6ebfl49dac c 7 = a40e7ef6204a6230 c 8 = 03c54b5a46a34465. The transformation E used in each step of the encryption is a superposition of three stages illustrated in FIG. 5 (we have included the or exclusive with the key of step k 1 in this figure).
Chaque étage est constitué d'un ou exclusif, avec une clef d'étape, ou une constante c ou c', de quatre boîtes de mélange M, et d'échanges de position des octets.Each stage consists of one or exclusive, with a step key, or a constant c or c ', of four boxes of mixture M, and of byte position exchanges.
Les constante c et c' sont définies par le développement de la constante mathématiqueThe constant c and c 'are defined by the development of the mathematical constant
e = 2, b7el51628aed2a6abf7158δ09cf4f3c762e7160f38b4da56a7e = 2, b7el51628aed2a6abf7158δ09cf4f3c762e7160f38b4da56a7
soitis
c = b7el5162δaed2a6a c = bf7158809cf4f3c7.c = b7el5162δaed2a6a c = bf7158809cf4f3c7.
Chaque boîte M transforme deux octets xg et Xd en deux octets yg et y^ par la formuleEach box M transforms two bytes x g and X d into two bytes y g and y ^ by the formula
yg = P(ψ(χ 9) ® χ d) yd = P(R{xg) ® xd)y g = P (ψ ( χ 9 ) ® χ d ) y d = P (R {x g ) ® x d )
où R est la rotation circulaire définie parwhere R is the circular rotation defined by
R{X7, Z6, Z5, . . . , Xo) = (≈6, Z5, , • • • , X0, XT)R {X7, Z 6 , Z 5 ,. . . , Xo) = (≈ 6 , Z 5 ,, • • •, X 0, XT)
et où ψ est une fonction définie parand where ψ is a function defined by
φ(x7, . . . , x0) = {x7, Xβ Θ X5, Z5, z4 θ £3, ^3, 22 θ rcι, œι, a;o φ -c7).φ (x 7 ,..., x 0 ) = {x7, Xβ Θ X5, Z5, z 4 θ £ 3, ^ 3, 22 θ rcι, œι, a ; o φ -c 7 ).
La fonction M est construite pour satisfaire la propriété de boîte de mélange. Un critère de construction a été de la rendre facile à réaliser avec la t echnologie actuelle. Elle est également telle que la fonction inverse ~ ! est également facile à réaliser. En fait, les fonctions M et M~ l peuvent être réalisées par les circuits représentés sur la figure 6 (on a inclu le ou exclusif avec la constante (CS , ) sur cette figure). La fonction ψ' est définie paiThe M function is constructed to satisfy the mixing box property. One construction criterion was to make it easy to achieve with current technology. It is also such that the inverse function ~! is also easy to do. In fact, the functions M and M ~ l can be performed by the circuits shown in Figure 6 (we have included the exclusive or with the constant (C S ,) in this figure). The function ψ 'is defined by
φ'{.r7, . . . , xQ) = (x φ x6, xβs s θ £ , .r , .τ3 φ x2, x2, .rx φ x0, x0).φ '{. r 7 ,. . . , x Q ) = (x φ x 6 , xβ s s θ £, .r, .τ 3 φ x 2 , x 2 , .r x φ x 0 , x 0 ).
Elle réalise en outre la propriété de midtipermutation définie par Schnorr et Vaudenay.It also realizes the property of midtipermutation defined by Schnorr and Vaudenay.
De façon générale, une multipermutation à r entrées et n sorties est une fonction f = (/i, . . . , fn) telle que chaque paire de familleIn general, a multipermutation with r inputs and n outputs is a function f = (/ i,..., F n ) such that each family pair
(x1, . . . , xr, fι(x1, . . . , xr), . . . 1 fn(x . . . , xr))(x 1 ,..., x r , fι (x 1 ,..., x r ),... 1 f n (x..., x r ))
diffère sur au moins - 1 positions.differs in at least - 1 positions.
L'échange de position des octets de chaque étage est fondé sur le graphe de la transformée de Fourrier rapide, utilisé dans la fonction Pαrαllel FFTThe byte position exchange of each stage is based on the fast Fourier transform graph, used in the Pαrαllel FFT function
Hαshmg de Schnorr et Vaudenay, et dans la fonction SAFER de Massey. Il présente les meilleurs propriétés de diffusion et de confusion.Hαshmg of Schnorr and Vaudenay, and in the SAFER function of Massey. It has the best diffusion and confusion properties.
Le déchiffrement se réalise de manière semblable, en remontant chaque étape illustrée par la figure 7.Decryption is carried out in a similar way, going up each step illustrated in Figure 7.
Le procédé de chiffrement peut être réalisé par un circuit qui utilise la technologie "pipeline" : en découpant le réseau de calcul en plusieurs couches successives, on réalise chaque couche par un circuit logique et l'on insère des registres entre chaque couche. Cela permet de traiter un flot de données à chiffrer avec un débit plus élevé. The encryption process can be carried out by a circuit which uses "pipeline" technology: by cutting the calculation network into several successive layers, each layer is produced by a logic circuit and registers are inserted between each layer. This makes it possible to process a stream of data to be encrypted with a higher speed.

Claims

REVENDICATIONS
1. Procédé de cryptographie de données enregistrées sous forme de bits sur un support exploitable par une unité de calcul apte à traiter des données d'entrée m, pour fournir des données de sortie m', comportant au moins une étape de traitement de données dans laquelle l'unité de calcul utilise une fonction . (m) dépendante d'une clef k, caractérisé en ce que la fonction comporte une boîte de mélange M apte à traiter des données d'entrée de boîte de mélange (x_, ..., xt, ..., x.), avec r ≥ 2, où x1( ...,xr sont des blocs de bits, pour fournir des données de sortie de boîte de mélange, (y_, ..., yj( ..., x , s ≥ 2, où y_, ..., ys, sont des blocs de bits, boîte de mélange qui, lorsque toutes les données d'entrée de boîte de mélange, sauf une, sont fixes, produit pour chaque donnée de sortie de boîte de mélange une valeur qui est obtenue par permutation de la valeur de la donnée d'entrée de boîte de mélange non fixe. 1. A method of cryptography of data recorded in the form of bits on a medium usable by a calculation unit capable of processing input data m, to provide output data m ', comprising at least one step of processing data in which the calculation unit uses a function. (m) dependent on a key k, characterized in that the function includes a mixing box M capable of processing input data of the mixing box (x_, ..., x t , ..., x. ), with r ≥ 2, where x 1 ( ..., x r are bit blocks, to provide mixing box output data, (y_, ..., y j ( ..., x, s ≥ 2, where y_, ..., y s , are blocks of bits, mixing box which, when all but one of the mixing box input data are fixed, produces for each output data of mixing box a value which is obtained by swapping the value of the non-fixed mixing box input data.
2. Procédé de cryptographie selon la revendication 1, caractérisé en ce que la boîte de mélange M est une permutation.2. Cryptography method according to claim 1, characterized in that the mixing box M is a permutation.
3. Procédé de cryptographie selon la revendication 1 ou 2, caractérisé en ce que la boîte de mélange M est une multipermutation.3. Cryptography method according to claim 1 or 2, characterized in that the mixing box M is a multipermutation.
4. Procédé de cryptographie selon l'une quelconque des revendications précédentes, caractérisé en ce que la boîte de mélange M est obtenue par adjonction à une boîte de mélange d'une permutation sur au moins l'une quelconque de ses données d'entrée ou de ses données de sortie.4. cryptography method according to any one of the preceding claims, characterized in that the mixing box M is obtained by adding to a mixing box a permutation on at least any one of its input data or of its output data.
5. Procédé de cryptographie selon l'une quelconque des revendications précédentes, caractérisé en ce que la fonction Cj.(m) est obtenue par la mise en oeuvre d'étapes successives de traitement de données, chaque étape vérifiant la propriété des données de sortie de boîte de mélange.5. Cryptography method according to any one of the preceding claims, characterized in that the function C j . (M) is obtained by the implementation of successive stages of data processing, each stage verifying the property of the data of mixing box outlet.
6. Procédé de cryptographie selon l'une quelconque des revendications précédentes, caractérisé en ce que la boîte de mélange comporte une étape de traitement de données par une fonction linéaire inversible φ(x). 6. Cryptography method according to any one of the preceding claims, characterized in that the mixing box comprises a step of processing data by an invertible linear function φ (x).
7. Procédé de cryptographie selon la revendication 6, caractérisé en ce que la fonction φ(x) est définie, dans un mode de représentation de données, par : φ(X„ ..., X5, X4, X2, X\, XQ) — (Xt, ..., X5, X © X3, X3, X © Xj, X_, XQ © x_), où Xo, ..., x, sont des blocs de bits et où © représente la fonction OU exclusif bit-à-bit.7. Cryptography method according to claim 6, characterized in that the function φ (x) is defined, in a data representation mode, by: φ (X „..., X 5 , X 4 , X 2 , X \ , XQ) - (X t , ..., X 5 , X © X 3 , X 3 , X © Xj, X_, X Q © x_), where Xo, ..., x, are blocks of bits and where © represents the bit-by-bit exclusive OR function.
8. Procédé de cryptographie selon la revendication 6, caractérisé en ce que la fonction φ(x) est définie, dans un mode de représentation de données, par : φ(x„ ..., x5...x0) = (x, Θ xt_!, ..., x5 © x4, χ 4, x3 © x2, x2, x, Θ X0, Xo), où XQ, ..., x, sont des blocs de bits et où © représente la fonction OU exclusif bit-à-bit.8. Cryptography method according to claim 6, characterized in that the function φ (x) is defined, in a data representation mode, by: φ (x „..., x 5 ... x 0 ) = (x, Θ x t _ !, ..., x 5 © x 4 , χ 4 , x 3 © x 2 , x 2 , x, Θ X 0 , Xo), where X Q , ..., x, are blocks of bits and where © represents the bit-by-bit exclusive OR function.
9. Procédé de cryptographie selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une étape de traitement de données par une permutation P à 8 bits d'entrée et 8 bits de sortie, telle que :9. Cryptography method according to any one of the preceding claims, characterized in that it comprises a step of processing data by a permutation P with 8 input bits and 8 output bits, such as:
DPm x (P) = max aΛ>b Prx uniforme [P (x © a) © P (x) = b] ≤ 2"*, ou LPmiX (P) = max ^ (2 Prx uniforme [x . a = P (x).b] - l)2 ≤ 2~*, la permutation P étant réalisée au moyen d'un circuit logique de profondeur inférieure ou égale à 17.DP mx (P) = max aΛ> b Pr x uniform [P (x © a) © P (x) = b] ≤ 2 " *, or LP miX (P) = max ^ (2 Pr x uniform [x. a = P (x) .b] - l) 2 ≤ 2 ~ *, the permutation P being carried out by means of a logic circuit of depth less than or equal to 17.
10. Procédé de cryptographie selon la revendication 9, caractérisé en ce que la permutation P est une involution. 10. Cryptography method according to claim 9, characterized in that the permutation P is an involution.
11. Procédé de cryptographie selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une étape de traitement de données par une permutation g à 4 bits d'entrée et 4 bits de sortie, telle que :11. Cryptography method according to any one of the preceding claims, characterized in that it comprises a step of processing data by a permutation g with 4 input bits and 4 output bits, such as:
DPm„ (g) = max i 0)b Prx uniforme [g (x © a) © g (x) = b] ≤ 2"2, ou LP (g) = max .^ (2 Prx uniforme [x.a = g (x).b] - l)2 ≤ 2"2, la permutation g étant réalisée au moyen d'un circuit logique de profondeur inférieure ou égale à 4.DP m „(g) = max i 0) b Pr x uniform [g (x © a) © g (x) = b] ≤ 2 " 2 , or LP m " (g) = max. ^ (2 Pr x uniform [xa = g (x) .b] - l) 2 ≤ 2 "2 , the permutation g being carried out by means of a logic circuit of depth less than or equal to 4.
12. Procédé de cryptographie selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une étape de traitement de données par une fonction f à 4 bits d'entée et 4 bits de sortie, telle que : DPm„ (f) = max ^ Prx uniforme [f (x θ a) © f (x) = b] ≤ 2"2, ou LPm„ (f) = max ≠0 (2 Prx uniforme [x.a = f (x).b] - l)2 ≤ 2' , la fonction f étant réalisée au moyen d'un circuit logique de profondeur inférieure ou égale à 2.12. Cryptography method according to any one of the preceding claims, characterized in that it comprises a step of processing data by a function f with 4 input bits and 4 output bits, such as: DP m „( f) = max ^ Pr x uniform [f (x θ a) © f (x) = b] ≤ 2 "2 , or LP m „ (f) = max ≠ 0 (2 Pr x uniform [xa = f (x ) .b] - l) 2 ≤ 2 ' , the function f being performed by means of a logic circuit of depth less than or equal to 2.
13. Procédé de cryptographie selon la revendication 12, caractérisé en ce que la fonction f est définie par f (x3, x2, xlf XQ) =13. Cryptography method according to claim 12, characterized in that the function f is defined by f (x 3 , x 2 , x lf X Q ) =
[NON(NONx3 . x_), NON(NONx2 . x_),
Figure imgf000013_0001
. x0), NON(NONXQ . x3)].
[NO (NONx 3. X_), NO (NONx 2. X_),
Figure imgf000013_0001
. x 0 ), NO (NONX Q. x 3 )].
14. Procédé de cryptographie selon l'une quelconque des revendications précédentes, caractérisé en ce que la clef k est décomposée en au moins deux blocs k-1 et r2.14. Cryptography method according to any one of the preceding claims, characterized in that the key k is broken down into at least two blocks k -1 and r 2 .
15. Procédé de cryptographie selon la revendication précédente, caractérisé en ce que les blocs k-1 et k~2 sont traités au moyen d'un schéma de Feistel pour produire des sous-clefs ko, ..., kn. 15. Cryptography method according to the preceding claim, characterized in that the blocks k -1 and k ~ 2 are processed using a Feistel scheme to produce subkeys ko, ..., k n .
PCT/FR1998/002169 1997-10-10 1998-10-09 Novel digital cryptography method by selector box WO1999020018A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AU95443/98A AU9544398A (en) 1997-10-10 1998-10-09 Novel digital cryptography method by selector box
JP52117299A JP2001506773A (en) 1997-10-10 1998-10-09 A new method of digital encryption with mixed boxes
CA002274938A CA2274938A1 (en) 1997-10-10 1998-10-09 Novel digital cryptography method by selector box
EP98949030A EP0944975A1 (en) 1997-10-10 1998-10-09 Novel digital cryptography method by selector box

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR97/12683 1997-10-10
FR9712683A FR2769726B1 (en) 1997-10-10 1997-10-10 NEW METHOD OF DIGITAL MIXTURE CRYPTOGRAPHY

Publications (1)

Publication Number Publication Date
WO1999020018A1 true WO1999020018A1 (en) 1999-04-22

Family

ID=9512083

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1998/002169 WO1999020018A1 (en) 1997-10-10 1998-10-09 Novel digital cryptography method by selector box

Country Status (6)

Country Link
EP (1) EP0944975A1 (en)
JP (1) JP2001506773A (en)
AU (1) AU9544398A (en)
CA (1) CA2274938A1 (en)
FR (1) FR2769726B1 (en)
WO (1) WO1999020018A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275265A (en) * 1978-10-02 1981-06-23 Wisconsin Alumni Research Foundation Complete substitution permutation enciphering and deciphering circuit
US4751733A (en) * 1985-05-15 1988-06-14 Thomson-Csf Substitution permutation enciphering device
US5231662A (en) * 1989-08-01 1993-07-27 Tulip Computers International B.V. Method and device for enciphering data to be transferred and for deciphering the enciphered data, and a computer system comprising such a device
WO1997022192A1 (en) * 1995-12-08 1997-06-19 Northern Telecom Limited Constructing symmetric ciphers using the cast design procedure

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275265A (en) * 1978-10-02 1981-06-23 Wisconsin Alumni Research Foundation Complete substitution permutation enciphering and deciphering circuit
US4751733A (en) * 1985-05-15 1988-06-14 Thomson-Csf Substitution permutation enciphering device
US5231662A (en) * 1989-08-01 1993-07-27 Tulip Computers International B.V. Method and device for enciphering data to be transferred and for deciphering the enciphered data, and a computer system comprising such a device
WO1997022192A1 (en) * 1995-12-08 1997-06-19 Northern Telecom Limited Constructing symmetric ciphers using the cast design procedure

Also Published As

Publication number Publication date
CA2274938A1 (en) 1999-04-22
FR2769726B1 (en) 2002-12-13
JP2001506773A (en) 2001-05-22
AU9544398A (en) 1999-05-03
FR2769726A1 (en) 1999-04-16
EP0944975A1 (en) 1999-09-29

Similar Documents

Publication Publication Date Title
CA2570617C (en) Method and device for carrying out a cryptographic calculation
EP2499773B1 (en) Low-complexity electronic circuit protected by customized masking
US20120281827A1 (en) Pseudo-random Number Generation Based on Periodic Sampling of One or More Linear Feedback Shift Registers
Balajee et al. Evaluation of key dependent S-box based data security algorithm using Hamming distance and balanced output
FR2765056A1 (en) BLOCK ENCRYPTION ALGORITHM WITH ROBUST SAFETY AGAINST DIFFERENTIAL CRYPTOGRAPHIC ANALYSIS, LINEAR CRYPTOGRAPHIC ANALYSIS AND HIGHER ORDER DIFFERENTIAL CRYPTOGRAPHIC ANALYSIS
EP1733502A1 (en) Processor for executing an aes-type algorithm
Riman et al. Comparative analysis of block cipher-based encryption algorithms: a survey
Sakib ANALYSIS ON FUNDAMENTAL ALGEBRAIC CONCEPTS AND INFORMATION SECURITY SYSTEM
FR2974693A1 (en) METHOD FOR APPLYING HIGH ENTROPY MASKING CONTRATE IN BLOCK ENCRYPTION ALGORITHM, AND LOGIC INTEGRATED CIRCUIT USING SUCH A METHOD
US6301361B1 (en) Encoding and decoding information using randomization with an alphabet of high dimensionality
EP0935858B1 (en) Method for data decorrelation
Fahrianto End-to-end encryption on the instant messaging application based android using aes cryptography algorithm to a text message
WO1999020018A1 (en) Novel digital cryptography method by selector box
US20030152233A1 (en) Method of encryption
FR2802741A1 (en) DEVICE USING A ROUND REPETITION BLOCK ENCRYPTION ALGORITHM
Soe et al. Performance analysis of data encryption standard (DES)
CN101938352A (en) Block cipher software encrypting method
Kadry et al. An improvement of RC4 cipher using vigenère cipher
EP1984813A2 (en) Cryptographic device and method for generating pseudo-random numbers
Fleischmann et al. Attacking reduced rounds of the ARIA block cipher
Baftiu ANALYSIS AND USE OF CRYPTOGRAPHY TECHNIQUES IN PROGRAMMING LANGUAGE C
FR2924550A1 (en) METHODS AND DEVICES FOR ENCRYPTING AND DECRYPTING A DATA MESSAGE WITH A RANDOM SECRET KEY.
Siahaan et al. Data Security using 128-bit Advanced Encryption Standard Algorithm
Kumar et al. Enhanced cost effective symmetric key algorithm for small amount of data
Dharbhashayanam et al. Redesigned and reinforced low-power data encryption standard using hash codes for high-speed and high-secure applications

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

ENP Entry into the national phase

Ref document number: 2274938

Country of ref document: CA

Ref country code: CA

Ref document number: 2274938

Kind code of ref document: A

Format of ref document f/p: F

ENP Entry into the national phase

Ref country code: JP

Ref document number: 1999 521172

Kind code of ref document: A

Format of ref document f/p: F

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1998949030

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1998949030

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09319571

Country of ref document: US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 1998949030

Country of ref document: EP