EP4413687A1 - Procédé de génération d'un nombre pseudo-aléatoire et procédé de chiffrement symétrique d'un message - Google Patents

Procédé de génération d'un nombre pseudo-aléatoire et procédé de chiffrement symétrique d'un message

Info

Publication number
EP4413687A1
EP4413687A1 EP22800654.0A EP22800654A EP4413687A1 EP 4413687 A1 EP4413687 A1 EP 4413687A1 EP 22800654 A EP22800654 A EP 22800654A EP 4413687 A1 EP4413687 A1 EP 4413687A1
Authority
EP
European Patent Office
Prior art keywords
message
encrypted
nonce
pseudo
combination
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.)
Pending
Application number
EP22800654.0A
Other languages
German (de)
English (en)
Inventor
Jean-Louis OLIE
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.)
Cyferall
Original Assignee
Cyferall
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 Cyferall filed Critical Cyferall
Publication of EP4413687A1 publication Critical patent/EP4413687A1/fr
Pending 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators

Definitions

  • This invention relates to computer-implemented methods for generating a pseudo-random number and a method for symmetrically encrypting a message.
  • end-to-end encryption if the message is encrypted from the sender to the recipient(s) without being intelligible to the servers or other services involved in delivering the message. . Only the message sender and intended recipients should be able to see the unencrypted content.
  • OTP encryption is inherently indecipherable, regardless of the computing power used and therefore, in principle, it benefits from an infinite level of security.
  • a message of length n bytes is masked by an exclusive OR operation with the bytes of a mask of the same length n.
  • To decrypt the masked message the same exclusive OR operation must be repeated, which requires the mask.
  • This mask cannot be calculated and there are as many possible masks as there are intelligible messages (in all possible languages) of the same length n, without the possibility of guessing which one is correct.
  • the length of the message is the only information accessible to an attacker who does not have the mask, regardless of the computing power available.
  • the same mask should not be reused, because if an attacker had, by any means, knowledge of the encrypted and decrypted versions of a message, he would be able to calculate the mask by performing the exclusive OR operation between both versions and to reuse the mask for subsequent messages encrypted with the same mask.
  • the major disadvantage of the OTP method is that the recipient must also have the mask to decrypt the message, this mask is as long as the message and therefore also difficult to transmit securely and must be different each time . [0006] As such, the OTP symmetric encryption method is not usable in practice.
  • the present invention aims to remedy one or more of the drawbacks associated with the prior art.
  • a computer-implemented method for generating at least one pseudo-random number comprising: obtaining a seed value, K, of some entropy represented by its bit length; combining, using an exclusive OR XOR operation, the seed value, K, with a pseudo-random nonce, N, of the same bit length s, the combination represented by (K A N) where A is an exclusive OR operation; and performing a one-way hash function, H, adapted to the bit length on the combination (K A N) to generate a value, M'o, where the pseudo-random number M'i +i is calculated according to H(M'i), where 0 ⁇ i ⁇ n-1 .
  • This method is a practical and robust way of providing a pseudorandom number. Additionally, this process and any other processes relying on this process's implementation are resistant to side-channel attacks.
  • the OR operation exclusive is carried out with a constant number of clock cycles, whatever the values of K and N. This operation cannot therefore be subject to attacks by side channels based on the statistical analysis of the calculation times or of the electrical consumption necessary for this calculation if this process is repeated a large number of times with the same key K since these calculation time and electrical consumption data remain constant.
  • a nonce which may be called a cryptographic nonce, is an arbitrary number that can only be used once in a cryptographic communication.
  • the present invention relates to a method for encrypting a message, P, comprising the following steps: dividing the message, P, into n equal parts, Pi, where 0 ⁇ i ⁇ n, of the length of selected bits s; combining each part, Pi, with the mask, Mi of the same bit length s, where 0 ⁇ i ⁇ n, to form an encrypted part, Co to C n -i, for each part; and concatenating the nonce N and the encrypted parts, Co to C n -i to form an encrypted message, C, in which each mask, M o to M n .i, is a pseudo-random number generated according to the method for generating a pseudo-random number.
  • the method comprising the creation of a signature, S, for the encrypted message C.
  • the encryption method includes attaching the signature, S, to the encrypted message C, to form a signed encrypted message, T.
  • the present invention relates to a method for decrypting the encrypted message C, developed according to claim 3 comprising the recovery of the nonce N and the encrypted parts, Co to C n -i of the encrypted message C, the calculation of the masks according to claim 2; decrypting each encrypted part Co to C n -i, together with the seed value, K and the nonce N, to form the equal parts, Po to P n -i; and combining the parts Po through P n -i to form the message P.
  • the present invention relates to a method for decrypting an encrypted data stream CF, developed according to claim 8, comprising: the recovery of the nonce N at the start of transmission of the encrypted data stream CF allowing the calculation of the sequences Mi and M'i according to claim 2; the decryption of each encrypted version (i
  • the hash function, H has a quantum security level of more than 170 bits with respect to its inversion.
  • the hash function, H is a Keccak hash function.
  • the selected bit length is 512 bits.
  • the present invention relates to a computer-implemented method of symmetric encryption using a key K, comprising: obtaining a pseudo-random nonce N for each plaintext message P to encrypt, each nonce having the same length in bits s as the key K; combining, using an XOR exclusive OR operation, the key K with the nonce, N, the combination represented by (K A N) where A is an exclusive OR operation; performing a one-way hash function, H, matched to the bit length on the combination (K A N) to generate a modified key, K'; encryption of the message P using the modified key, K'; and concatenation of the nonce N to the result of this encryption to constitute the encrypted message C.
  • the present invention relates to a computer-implemented method of symmetric decryption of the encrypted message C according to claim 14 comprising: obtaining the pseudo-random nonce N of the encrypted message C; combining, using an XOR exclusive OR operation, the key K with the nonce, N, the combination represented by (K A N) where A is an exclusive OR operation; performing the one-way hash function, H, on the combination (K A N) to generate the modified key, K'; and decrypting the encrypted message C using the modified key, K', to obtain the plaintext message P.
  • Fig. 1(a) is a flowchart of a pseudo-random number generation method according to the disclosure
  • Fig. 1(b) - is a flowchart of a method of generating a pseudo-random number sequence according to the disclosure
  • Fig. 2(a) is a flowchart of another method of generating a pseudorandom number according to the disclosure
  • Fig. 2(b) is a flowchart of another method of generating a pseudo-random number sequence according to the disclosure
  • Fig. 3 is a flowchart of another method of generating a pseudorandom number according to the disclosure
  • Fig. 4 is a flowchart of a method of encrypting a message according to the disclosure
  • Fig. 5 is another flowchart of the method for encrypting a message according to the disclosure.
  • Fig. 6(a) and (b) are flow charts of methods of calculating a signature for a message according to the disclosure
  • Fig. 7(a) and (b) are block diagrams of encrypted messages according to the disclosure
  • FIG. 8 (a), (b) and (c) are flowcharts of a method of encrypting a data stream of packets with integrity verification of each packet according to the disclosure
  • Fig. 9(a) is a flowchart of a known symmetric encryption process
  • Fig. 9(b) is a flowchart of a symmetric encryption process according to the disclosure.
  • Fig. 10 is a block diagram of a computing device.
  • Figure 1(a) shows a flowchart of a method of generating a pseudo-random number using a hash function, H, 100.
  • the hash function, H, 100 takes as input a key, K, 102 of a certain bit length s, serving as a seed value for the process, and transforms it into a pseudo-random number, M, 104 of the same bit length.
  • the hash function, H, 100 can be a good quality one-way hash function, such as the Keccak hash function.
  • Figure 1(b) there is shown a flowchart, showing a modification of the method shown in Figure 1(a), which generates a sequence of pseudo-random numbers.
  • the pseudo-random number that is produced by the hash function, H, 100 is fed back into the hash function, H, 100, as a seed value.
  • the characteristics of the function H, 100 recalled above imply that the autocorrelation levels at all orders of the sequence Mi remains close to zero because of the uniformity of the probability density of the values of H, 100, as long as no Mi value is a collision value of H, 100.
  • Key K, 102 and nonce N, 106 can be combined using an exclusive OR, XOR, 108 operation.
  • the output, M, of the hash function, H, 100 is a pseudo-random number 104 equal to HXOR(K, N).
  • the output, Mi, of the hash function, H, 100 can be fed back into the hash function, H, 100 to create a sequence of pseudo-random numbers.
  • the process of this alternative method makes it possible to resume this process with another value of N, 106 if a collision were to appear in the calculation of the sequence Mi and to generate, with the same seed value K, 102, several sequences with different values of N, 106.
  • the level of correlation of these different sequences with each other such as the level of autocorrelation of each of the sequences, remains close to zero due to the properties of the hash function H, 100.
  • the sequence Mi is not an entirely partitioned sequence.
  • a sequence of pseudo-random numbers will be said to be entirely partitioned if the knowledge of a value Mi of this sequence does not make it possible to deduce any other value Mj, with ji, of this sequence.
  • the first operation of this process of figures 2(a) and 2(b) is the exclusive OR operation between the key K and the nonce N. This operation is carried out with a constant number of clock cycles, which whatever the values of K and N. This operation cannot therefore be subject to attacks by side channels based on the statistical analysis of the calculation times or of the electrical consumption necessary for this calculation if this process is repeated a large number times with the same key K since these calculation time and electrical consumption data remain constant. Moreover, if the nonce N is different each time this process is repeated, the result of this first operation is also different each time.
  • FIG. 3 we see a flowchart representing another method of generating a sequence of pseudo-random numbers, using a sequence of intermediate pseudo-random numbers.
  • the generated sequence is fully partitioned.
  • the method of Figure 3 is similar to that of Figure 2(a) and (b) in that a key, K, 102, of a certain bit length s is combined, using an exclusive OR function 108a , with the pseudo-random nonce, N, 106, of the same bit length s, the output being subjected to the hash function, H, 100a, to generate an intermediate pseudo-random number, M', 110.
  • H HXOR(M', N)
  • M'i +i is calculated according to H(M'i), where 0 ⁇ i ⁇ n-1.
  • this alternative process has the property of not allowing the calculation of the Mj and following values of the sequence from the sole knowledge of N, 106 and the Mi values for 0 ⁇ i ⁇ j. This new sequence Mi of pseudorandom numbers is therefore entirely partitioned.
  • Figure 4 shows a flowchart illustrating a method of encrypting a message.
  • the message is represented by a block P.
  • the message P is divided into a number n of equal parts, Po to P n -i , of the chosen bit length s.
  • the P message may be supplemented with additional padding bits to bring it to the bit length required to allow division into equal parts of some chosen bit length.
  • the chosen bit length is 512 bits.
  • each part, Pi, of the message is combined with a pseudo-random mask, Mi, from a sequence of masks of the same chosen bit length s, using an XOR exclusive OR operation, to form an encrypted part, Ci.
  • Mi pseudo-random mask
  • the nonce N and the encrypted parts are then concatenated together to form an encrypted message, C.
  • the masks, M o to M n -i can be pseudo numbers random numbers generated according to any of the methods of FIGS. 2 and 3, the method of FIG. 1 not making it possible to have a different mask for each message.
  • One Time Pad symmetric encryption can be provided in a safe and economical way to perform encryption of transmitted information, but with a reduction in the level of security compared to infinity.
  • the level of security is 512 bits with regard to attacks emanating from conventional computers and 3 times smaller for those emanating from quantum computers (170 bits).
  • the Keccak algorithm As described in "Guido Bertoni, Joan Daemen, Micha ⁇ l Peeters, Gilles Van Assche and Ronny Van Keer, KANGAROO Twelve: fast hashing based on KECCAK-p, International Association for Cryptologic Research, 2016", has a security level of 512 bits against attacks from traditional computers.
  • the level of security with regard to attacks emanating from quantum computers has been determined in "Gilles Brassard, Peter Hoyer and Alain Tapp, Quantum cryptanalysis of hash and claw-free functions, Springer, 2006” and is equal to 512 / 3 is equal to about 170.
  • the method 50 comprises the division, at block 120, of the message into equal parts of a certain bit length.
  • the message can be supplemented with additional bits if necessary.
  • each of the n parts of the message is exclusive-ORed with a sequence of masks of the same bit length, such as mask M of Figure 4, to form encrypted parts.
  • the method includes concatenating the nonce N and the masked portions into an encrypted message.
  • FIG. 6(a) there is shown a flowchart of a method for generating a signature, S, for the encrypted message.
  • the use of a signature makes it possible to verify the integrity of the information after transmission.
  • the signature, S can be attached to the encrypted message.
  • the signature to be attached to the encrypted message is the nth value of a sequence calculated from an exclusive OR operation, XOR, performed on a part, Pi+i, of the message with the previous value of the signature sequence, Si.
  • a hash function, H is executed on this final value to generate the signature.
  • HMAC(m, k) 125 is a keyed hash function for integrity verification, calculating a result from a message m and a key k.
  • the signature S can be calculated according to HXOR(S n -i,N), in accordance with figure 6(b), but this less computationally expensive method is not the subject of a standard like the RFC 2104 in the case of the HMAC.
  • FIG 7 there are shown functional diagrams of encrypted messages which can be created according to the methods of the invention.
  • an encrypted message, C formed from the combination of the masked parts with the nonce N.
  • the mask is made disposable because the pseudo-random nonce N and therefore the sequence of masks Mi are different for each message.
  • the methods in Figures 2 and 3 ensure that knowing both plaintext and ciphertext versions of a message, the mask could not be computed with a 170-bit quantum security level, which is that of the hash function inversion with a quantum computer.
  • the transmitted message T is simply identical to the encrypted message C.
  • a key K d a certain length of bits s, for example 512 bits, constructed in such a way as to ensure an entropy level of 512 bits and then to encrypt each of the messages with a value different from the nonce N.
  • the level security is infinite comes from the fact that there is no choice criterion to decide which of the possible masks corresponds to the encryption chosen by the sender. In the embodiments of the invention, this criterion exists as soon as the message has more than one block or is signed.
  • the level of security is therefore not infinite, but decryption without the key requires exploring 2,512 possibilities for a key K and a hash function of 512 bits length. This gigantic number, of the order of magnitude of the square of the number of atoms in the universe, makes decryption impossible in practice, even with an attack device using a quantum computer for which the level of security is however reduced by 512 to 170.
  • the pseudo-random nonce N is inadvertently reused to encrypt two plaintext messages P and P', the consequences will be very limited. If the attacker has noticed the reuse of the nonce N and he knows the encrypted and decrypted versions of P, that P has n blocks, he will be able to know the decrypted version of the first n blocks of P', but this will be the only possible compromise .
  • the key K cannot in any case be reconstituted to decrypt other messages and if P' has more blocks than P, the last blocks cannot be decrypted. More precisely, the only blocks of P' that can be decrypted are the blocks for which the encrypted and decrypted versions of the same order number of P are known to the attacker.
  • the encryption process whose calculation of the sequence of masks is based on FIG. 3 of the present inventions can be considered as a process resistant to the reuse of the nonce.
  • N of length s bits with s > 512
  • the probability of inadvertently reusing a nonce value is in practice nothing.
  • each packet having a relatively short size but the number of packets can be very large, as in the case of real-time audio or video streams, it is not possible to not wait for the end of the transmission of the message to verify its integrity and it is desirable to verify this integrity at the level of each packet.
  • the encryption process can be adapted to a stream organized in successive packets of s bits Pi, with i > 0.
  • each packet Pi i > 0, is transmitted in the form (i
  • Ca+i) i
  • the process illustrated in FIG. 8 makes it possible to encrypt and decrypt a stream of packets with verification of the integrity of each packet. Referring to fig. 8(a), the stream F is split into packets Pi of length s bits, with i>0. Referring to FIG.
  • each packet Pi is masked twice with the XOR function, the first time with the mask M 2i and the second with the mask M 2i+ i.
  • these two masked versions C 2i and C 2 i+i are then concatenated with the index i at (i
  • the transmission of the index i makes it possible to maintain the synchronization of the calculation of the sequences Mi and M′i on decryption, if certain packets were to be lost in the transmission of the encrypted stream.
  • the nonce N is transmitted as the first element of the CF encrypted stream.
  • Each encrypted form of the packet (i
  • FIG. 9(a) shows a flowchart of a known symmetric encryption method E, 60, producing an encrypted message C, 63, from a plaintext message P, 62 and a key K, 61.
  • This symmetric encryption process E, 60 is potentially susceptible to side-channel attacks.
  • An algorithm E can be susceptible to side-channel attacks because it always processes messages with the same key and that the execution time and/or the corresponding electrical consumption depending on this constant factor, a statistical processing of the data can make it possible to extract this constant factor by eliminating the variable part linked to the messages processed and therefore to extract the bits of the key (see the reference "Bernstein, Daniel J., Cache-timing attacks on AES, htps://cr.vp.to/antiforqery/cachetiminq-20050414.pdf" for AES).
  • HXOR H(K A N)
  • s is the number of bits of the key K
  • N is a pseudo-random nonce with the same length of bits s and which will be different for each message to be encrypted P
  • A is the XOR exclusive OR operation
  • H is a one-way hash function producing a result of s bits in length.
  • Figure 9(b) shows a flowchart of a symmetric encryption process according to the disclosure.
  • the process of Fig. 9(b) is able to resist these side-channel attacks.
  • a nonce N, 65 having the same length in bits s as the key K, 61, of the process E, 60, is randomly chosen.
  • the nonce N,65 has a different value for each plaintext message P.
  • the key K,61 and the nonce N,65 are then combined using an exclusive OR operation, XOR,66.
  • the hash function H,67 is applied to the result of this combination.
  • the product of this set of operations is the result of the function HXOR(K, N) as defined above.
  • This product can be called a modified key, K', and is used as the key for the encryption process E instead of the key K.
  • the nonce N is concatenated with the product of the encryption process E, to form the message ciphered C', 68, of the transformed process E', 64.
  • the nonce N 65 is obtained from the encrypted message C′, 68.
  • the modified key can then be derived from the nonce N and from the key K 61 in the same way as described above in relation with encryption.
  • the encrypted message C', 68 can then be decrypted, using the modified key, to obtain the plaintext message P 62.
  • the transformed algorithm E′ presented above is itself insensitive to attacks by auxiliary channels. Indeed, since the first operation performed for encryption or decryption is the XOR operation on s bits, always requiring the same number clock cycles to execute, this operation itself is not subject to side-channel attacks. All the following operations in the hash function H then in the algorithm E have an execution time and an electrical consumption which depend on the result of this XOR function but, as N is different at each encryption, the variability of this result does not cannot be distinguished from that of the messages processed and since this result is no longer a constant, no side-channel attack based on the statistical analysis of the execution times or the electrical consumption of H and/or E will be able to allow to find the bits of the key K.
  • the computing device 500 includes a memory 504 suitable for storing data and operating instructions and a processor 502 suitable for processing the operating instructions so as to perform functions including the disclosed methods.
  • Computing device 500 further includes a communication module 506 adapted to transmit and receive messages, including encrypted messages such as those shown in Figure 7, to one or more other computing devices (not shown).
  • n c is the number of collision values in I
  • the quality of the hash function is measured by the fact that the probability density of the values of H is uniform on I and that the probability of a collision, equal to n c / 2 S , remains very low.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

L'invention concerne un procédé mis en œuvre par ordinateur pour générer au moins un nombre pseudo-aléatoire comprenant : l'obtention d'une valeur d'amorçage (102), K, d'une certaine entropie représentée par sa longueur de bits; l'exécution d'une fonction de hachage (100) à sens unique, H, adaptée à une certaine longueur de bits sur la valeur de départ puis sur les valeurs successives d'une suite d'au moins un élément, où le nombre pseudo-aléatoire (104), Mi est représenté par H(Mi -1), avec i > 0, et M0 = K. D'autres aspects de l'invention comprennent un procédé de chiffrement d'un message, un procédé de chiffrement d'un flux de données et un procédé de chiffrement symétrique.

Description

Description
Titre de l’invention : Procédé de génération d’un nombre pseudo-aléatoire et procédé de chiffrement symétrique d'un message
[0001] Cette invention concerne des procédés mis en œuvre par ordinateur pour générer un nombre pseudo-aléatoire et un procédé de chiffrement symétrique d'un message.
TECHNIQUE ANTERIEURE
[0002] Il est très courant de vouloir protéger les échanges d'informations. Cette protection est basée sur le chiffrement des messages, tels que le texte, la voix et les images, échangés entre un émetteur et un récepteur.
[0003] L'ensemble du processus est appelé "chiffrement de bout en bout" si le message est chiffré de l'expéditeur au(x) destinataire(s) sans être intelligible pour les serveurs ou autres services participant à l’acheminement du message. Seuls l'expéditeur du message et les destinataires prévus doivent être en mesure de voir le contenu non chiffré.
[0004] Le seul procédé de chiffrement symétrique inviolable connu et démontré mathématiquement est le procédé dit "One Time Pad" (OTP). Ce procédé est incassable par n'importe quel ordinateur. Cependant, sa mise en œuvre exige de satisfaire à des conditions très strictes, ce qui a découragé jusqu'à présent son utilisation comme base pour le chiffrement symétrique de longs messages.
[0005] Le chiffrement OTP est par nature indéchiffrable, quelle que soit la puissance de calcul utilisée et donc, par principe, il bénéficie d’un niveau de sécurité infini. Un message de longueur n octets est masqué par une opération de OU exclusif avec les octets d'un masque de même longueur n. Pour déchiffrer le message masqué, il faut refaire la même opération de OU exclusif, ce qui nécessite le masque. Ce masque ne peut pas être calculé et il existe autant de masques possibles que de messages intelligibles (dans toutes les langues possibles) de même longueur n, sans possibilité de deviner lequel est le bon. La longueur du message est la seule information accessible à un attaquant qui ne dispose pas du masque, quelle que soit la puissance de calcul disponible. Le même masque ne doit pas être réutilisé, car si un attaquant avait, par quelque moyen que ce soit, la connaissance des versions chiffrées et déchiffrées d'un message, il serait en mesure de calculer le masque en effectuant l'opération OU exclusif entre les deux versions et de réutiliser le masque pour les messages suivants chiffrés avec le même masque. L'inconvénient majeur de la méthode OTP est que le destinataire doit également disposer du masque pour déchiffrer le message, que ce masque est aussi long que le message et donc aussi difficile à transmettre de manière sécurisée et qu'il doit être différent à chaque fois. [0006] En tant que telle, la méthode de chiffrement symétrique OTP n'est pas utilisable dans la pratique.
[0007] D’autres méthodes de chiffrement symétriques ont été développées et pour certaines standardisées, comme l’Advanced Encryption Standard (AES). Ces algorithmes ne sont pas inviolables. Dans le cas de l’AES qui est le plus couramment utilisé, cet algorithme est sensible aux attaques par canaux auxiliaires. De plus, dans sa version la plus robuste avec 256 bits de longueur de clé, sa résistance aux attaques par force brutale émanant d’ordinateurs quantiques sera insuffisante, un minimum de 512 bits étant requis. En effet, du fait de l’utilisation possible de l’algorithme de Grover sur un ordinateur quantique tel que décrit dans " Grover L.K. : A fast quantum mechanical algorithm for database search, Proceedings, 28th Annual ACM Symposium on the Theory of Computing, (May 1996) p. 212", le niveau de sécurité face au risque de casser par la force brutale l’AES-256, passe de 256 bits à 256/2 = 128 bits. Pour le chiffrement des flux de données temps réel, des algorithmes spécifiques ont été développés avec l’AES en algorithme sous-jacent. Il s’agit du Gallois Counter Mode (GCM) et de l’Offset Codebook Mode (OCB). Outre les inconvénients de l’AES évoqués précédemment, ces deux modes ont introduit des faiblesses supplémentaires. Une version plus récente de l’AES-GCM, l’AES-GCM-SIV, corrige dans une certaine mesure les faiblesses de l’AES-GCM (référence " Gueron, S. (April 2019). . - ACM hJg nee Misuse-Resistant Authenticated Encryption. IETF, doi: 10.17487/RFC8452 ") mais au prix d’une dégradation sensible des performances.
[0008] La présente invention a pour but de remédier à un ou plusieurs des inconvénients associés à l'art antérieur.
RÉSUMÉ DE L'INVENTION
[0009] Conformément aux présentes inventions, il est prévu un procédé mis en œuvre par ordinateur pour générer au moins un nombre pseudo-aléatoire comprenant : l'obtention d'une valeur d’amorçage, K, d'une certaine entropie représentée par sa longueur de bits; la combinaison, à l'aide d'une opération OU exclusif XOR, de la valeur d'amorçage, K, avec un nonce pseudo-aléatoire, N, de la même longueur de bits s, la combinaison représenté par (K A N) où A est une opération OU exclusif; et l’exécution d’une fonction de hachage à sens unique, H, adaptée à la longueur de bits sur la combinaison (K A N) pour générer une valeur, M’o, où le nombre pseudo-aléatoire M’i+i est calculé selon H(M’i), où 0 < i < n-1 .
[0010] Cette méthode est une manière pratique et robuste de fournir un nombre pseudoaléatoire. En outre, ce processus et tout autre processus reposant sur la mise en œuvre de ce processus sont résistant aux attaques par canaux auxiliaires. L’opération OU exclusif est réalisée avec un nombre constant de cycles d’horloge, quelles que soient les valeurs de K et de N. Cette opération ne peut donc pas être sujette à des attaques par canaux auxiliaires reposant sur l’analyse statistique des temps de calcul ou de consommation électrique nécessaire à ce calcul si ce processus est répété un grand nombre de fois avec la même clé K puisque ces données de temps de calcul et de consommation électrique restent constantes.
[0011] Un nonce, qui peut être appelé nonce cryptographique, est un nombre arbitraire qui ne peut être utilisé qu'une seule fois dans une communication cryptographique. La fonction H(K A N) être appelé HXOR, où elle est définie par HXOR(K, N) = H(K A N).
[0012] Avantageusement, le procédé comprenant la production d’une séquence de masques pseudo-aléatoires Mi en utilisant une séquence de nombres pseudo-aléatoires M’i et le nonce N pour la génération des nombres pseudo-aléatoires, selon l'expression Mi = H(M’i A N), où O < i < n.
[0013] En outre, la présente invention concerne un procédé de chiffrement d'un message, P, comprenant les étapes suivantes : la division du message, P, en n parties égales, Pi, où 0 < i < n, de la longueur de bits choisie s ; la combinaison de chaque partie, Pi, avec le masque, Mi de même longueur de bits s, où 0 < i < n, pour former une partie chiffrée, Co à Cn-i, pour chaque partie ; et la concaténation du nonce N et des parties chiffrées, Co à Cn-i pour former un message chiffré, C, dans lequel chaque masque, Mo à Mn.i, est un nombre pseudo-aléatoire généré selon le procédé pour générer un nombre pseudo-aléatoire.
[0014] Également, la combinaison comprenant une opération OU exclusif XOR.
[0015] Selon une caractéristique, le procédé comprenant la création d'une signature, S, pour le message chiffré C.
[0016] Avantageusement, le procédé comprenant le calcul de la signature, S, selon HMAC(Sn-i, M’n), où Sn-i est la nième valeur dans une séquence calculée selon Si+i = Si A Pi+i, où 0 < i < n, So est Po et où M’n est la n+1ième valeur dans la séquence de nombres pseudo-aléatoires M’i .
[0017] Alternativement, le procédé comprenant le calcul de la signature, S, selon HXOR(Sn-i, N), où Sn-i est la nième valeur dans une séquence calculée selon Si+i = Si A Pi+i, où 0 < i < n, So est Po et N est le nonce.
[0018] Également, le procédé de chiffrement comprend l'attachement de la signature, S, au message chiffré C, pour former un message chiffré signé, T. [0019] En outre, la présente invention concerne un procédé de déchiffrement du message chiffré C, élaboré selon la revendication 3 comprenant la récupération du nonce N et des parties chiffrées, Co à Cn-i du message chiffré C, le calcul des masques selon la revendication 2 ; le déchiffrement de chaque partie chiffrée Co à Cn-i, avec la valeur d’amorçage, K et le nonce N, pour former les parties égales, Po à Pn-i ; et la combinaison des parties Po à Pn-i pour former le message P.
[0020] En outre, la présente invention concerne un procédé de chiffrement d’un flux de données F, comprenant: le découpage du flux de données F en paquets Pi, de longueur de bits s, avec i > 0 ; la transmission d’un nonce pseudo-aléatoire N dans le flux chiffré CF ; le chiffrement de chaque paquet Pi, où un paquet chiffré Csi = (Pi A M2i) et C2i+i = (Pi A M2i+i), où Mi est la séquence de masques pseudo-aléatoires Mi selon la revendication 2 ; la concaténation de le nombre i avec pour former C2i et C2i+i pour former la version chiffrée (i | C2i | C2i+i); et la transmission de la version chiffrée dans le flux de données chiffré CF.
[0021] En outre, la présente invention concerne un procédé de déchiffrement d’un flux de données chiffré CF, élaboré selon la revendication 8, comprenant: la récupération du nonce N en début de transmission du flux de données chiffré CF permettant le calcul des suites Mi et M’i selon la revendication 2 ; le déchiffrement de chaque version chiffré (i | C2i | C2i+i) en Di = C2i A M2i ; et la vérification d’intégrité consistant à établir que Di = Msi+i A C2i+i , avec la certitude que Di = Pi, si cette vérification est positive.
[0022] Avantageusement, si s > 512, la fonction de hachage, H, a un niveau de sécurité quantique de plus de 170 bits en ce qui concerne son inversion.
[0023] Selon une caractéristique, la fonction de hachage, H, est une fonction de hachage de Keccak.
[0024] Selon une autre caractéristique, la longueur de bits choisie est de 512 bits.
[0025] En outre, la présente invention concerne un procédé de mis en œuvre par ordinateur de chiffrement symétrique à l'aide d’une clé K, comprenant: l’obtention d’un nonce pseudo aléatoire N pour chaque message en clair P à chiffrer, chaque nonce ayant la même longueur en bits s que la clé K ; la combinaison, à l'aide d'une opération OU exclusif XOR, de la clé K avec la nonce, N, la combinaison représenté par (K A N) où A est une opération OU exclusif; l’exécution d’une fonction de hachage à sens unique, H, adaptée à la longueur de bits sur la combinaison (K A N) pour générer une clé modifiée, K’; chiffrement du message P en utilisant la clé modifiée, K’ ; et concaténation du nonce N au résultat de ce chiffrement pour constituer le message chiffré C.
[0026] Un tel procédé est résistant aux attaques par canaux auxiliaires. [0027] En outre, la présente invention concerne un procédé mis en œuvre par ordinateur de déchiffrement symétrique du message chiffré C selon la revendication 14 comprenant : l’obtention du nonce pseudo aléatoire N du message chiffré C ; la combinaison, à l'aide d'une opération OU exclusif XOR, de la clé K avec la nonce, N, la combinaison représenté par (K A N) où A est une opération OU exclusif; l’exécution de la fonction de hachage à sens unique, H, sur la combinaison (K A N) pour générer la clé modifiée, K’ ; et déchiffrement du message chiffré C en utilisant la clé modifiée, K’, pour obtenir le message en clair P.
[0028] Dans le cadre de la présente demande, il est expressément prévu que les divers aspects, modes de réalisation, exemples et variantes exposés dans les paragraphes précédents, dans les revendications et/ou dans la description et les dessins qui suivent, et en particulier les caractéristiques individuelles de ceux-ci, peuvent être pris indépendamment ou en combinaison. C'est-à-dire que tous les modes de réalisation et/ou les caractéristiques de tout mode de réalisation peuvent être combinés de n'importe quelle manière et/ou combinaison, à moins que ces caractéristiques ne soient incompatibles. Le demandeur se réserve le droit de modifier toute revendication déposée à l'origine ou de déposer toute nouvelle revendication en conséquence, y compris le droit de modifier toute revendication déposée à l'origine pour dépendre de et/ou incorporer toute caractéristique de toute autre revendication bien qu'elle n'ait pas été revendiquée à l'origine de cette manière.
BRÈVE DESCRIPTION DES FIGURES
[0029] Des modes de réalisation de l'invention sont décrits ci-après en référence aux dessins annexés, dans lesquels :
Fig. 1 (a) est organigramme d'une méthode de génération d'un nombre pseudo-aléatoire selon la divulgation ;
Fig. 1 (b)-est un organigramme d'un procédé de génération d'une séquence de nombres pseudo-aléatoires selon la divulgation ;
Fig. 2(a) est un organigramme d'une autre méthode de génération d'un nombre pseudoaléatoire selon la divulgation ;
Fig. 2(b) est un organigramme d'une autre méthode de génération d'une séquence de nombres pseudo-aléatoires selon la divulgation ;
Fig. 3 est un organigramme d'un autre procédé de génération d'un nombre pseudoaléatoire selon la divulgation ; Fig. 4 est un organigramme d'un procédé de chiffrement d'un message selon la divulgation;
Fig. 5 est un autre organigramme du procédé de chiffrement d'un message selon la divulgation ;
Fig. 6 (a) et (b) sont des organigrammes de procédés de calcul d'une signature pour un message selon la divulgation ; Fig. 7 (a) et (b) sont des schémas de principe de messages chiffrés selon la divulgation ;
Fig. 8 (a), (b) et (c) sont des organigramme d'un procédé de chiffrement d’un flux de données de paquets avec vérification d’intégrité de chaque paquet selon la divulgation ;
Fig. 9(a) est un organigramme d’un processus de chiffrement symétrique connu ;
Fig. 9(b) est un organigramme d’un processus de chiffrement symétrique selon la divulgation ; et
Fig. 10 est un schéma fonctionnel d'un dispositif informatique.
DESCRIPTION DÉTAILLÉE
[0030] La figure 1 (a) présente un organigramme d'un procédé de génération d'un nombre pseudo-aléatoire à l'aide d'une fonction de hachage, H, 100. La fonction de hachage, H, 100, prend en entrée une clé, K, 102 d'une certaine longueur de bits s, servant de valeur d’amorçage du processus, et la transforme en un nombre pseudoaléatoire, M, 104 de la même longueur de bits. La fonction de hachage, H, 100 peut être une fonction de hachage à sens unique de bonne qualité, telle que la fonction de hachage de Keccak. Sur la figure 1 (b), on voit un organigramme, représentant une modification du procédé illustré sur la figure 1 (a), qui génère une séquence de nombres pseudoaléatoires. Dans la figure 1 (b), le nombre pseudo-aléatoire qui est produit par la fonction de hachage, H, 100, est réinjecté dans la fonction de hachage, H, 100, en tant que valeur de départ. De cette façon, la séquence de nombres pseudo-aléatoires, Mi, peut être représentée par H(Mi -i), où i > 0, et Mo = K. Tous les Mi conserveront le même niveau d'entropie de l'information que la valeur d'amorçage, K, 102. Bien que ce processus soit entièrement déterministe, les caractéristiques de la fonction H, 100 rappelées ci-dessus impliquent que les niveaux d’autocorrélation à tous ordres de la séquence Mi reste proche de zéro du fait de l’uniformité de la densité de probabilité des valeurs de H, 100, tant qu’aucune valeur Mi n’est une valeur de collision de H, 100. Si la fonction H, 100 est de bonne qualité, la probabilité que cela se produise reste très faible. De plus, la connaissance d’une ou de toutes les valeurs Mi, ne permet pas de déterminer la clé K, 102 avec un niveau de sécurité égal à la longueur de bits de la fonction de hachage pour un ordinateur classique déterministe. [0031] En se référant à la figure 2(a), il est montré une méthode alternative de génération d'un nombre pseudo-aléatoire, où la clé, K, 102 est d'abord combinée avec un nonce pseudo-aléatoire, N, 106 de la même longueur de bits. Un nonce est un nombre arbitraire utilisé une seule fois dans une communication cryptographique. Le niveau d’entropie de la valeur N, 106 est sans conséquence sur le niveau d’entropie de la séquence de nombres pseudo-aléatoires construite. La clé K, 102 et le nonce N, 106 peuvent être combinées en utilisant une opération OU exclusif, XOR, 108. Selon le procédé illustré à la figure 1 , la sortie, M, de la fonction de hachage, H, 100, est un nombre pseudo-aléatoire 104 égal à HXOR(K, N). Dans la figure 2(b), la sortie, Mi, de la fonction de hachage, H, 100 peut être réinjectée dans la fonction de hachage, H, 100 pour créer une séquence de nombres pseudo-aléatoires. De cette façon, la séquence de nombres pseudo-aléatoires, Mi; peut être représentée par H(Mi -1), où i > 0, et Mo = K A N. En plus des propriétés du processus en relation avec la figure 1 , le processus de cette méthode alternative permet de reprendre ce processus avec une autre valeur de N, 106 si une collision devait apparaître dans le calcul de la séquence Mi et de générer, avec la même valeur d’amorçage K, 102, plusieurs séquences avec des valeurs différentes de N, 106. Le niveau de corrélation de ces différentes séquences entre elles, comme le niveau d’autocorrélation de chacune des séquences, reste proche de zéro du fait des propriétés de la fonction de hachage H, 100. Cependant, la suite Mi n’est pas une suite entièrement cloisonnée. Une suite de nombres pseudo-aléatoires sera dite entièrement cloisonnée si la connaissance d’une valeur Mi de cette suite ne permet d’en déduire aucune autre valeur Mj, avec j i, de cette suite. Dans la suite de nombres pseudo-aléatoires décrite ci-dessus, la connaissance de Mi ne permet d’en déduire aucun des Mj avec 0 < j < i, ni la clé K, mais tous les Mj avec j > i peuvent se déduire de Mi. Pour utiliser une suite de nombres pseudoaléatoires dans le masquage d’un message à chiffrer en conservant les propriétés mathématiques d’inviolabilité de l’OTP, il faut assurer que le processus de masquage est indiscernable au regard d’attaques adaptatives à textes chiffrés choisis (IND-CCA2). Pour ce faire, la propriété d’absence d’autocorrélation n’est pas suffisante et il faut que cette suite soit également entièrement cloisonnée.
[0032] La première opération de ce processus des figure 2(a) et 2(b) est l’opération OU exclusif entre la clé K et le nonce N. Cette opération est réalisée avec un nombre constant de cycles d’horloge, quelles que soient les valeurs de K et de N. Cette opération ne peut donc pas être sujette à des attaques par canaux auxiliaires reposant sur l’analyse statistique des temps de calcul ou de consommation électrique nécessaire à ce calcul si ce processus est répété un grand nombre de fois avec la même clé K puisque ces données de temps de calcul et de consommation électrique restent constantes. De plus, si le nonce N est différent à chaque fois que ce processus est répété, le résultat de cette première opération est aussi différent à chaque fois. Ainsi, même si la clé K reste constante, la suite de ce processus au-delà de cette première opération a pour valeur d’entrée une donnée qui est chaque fois différente et l’analyse statistique des temps de calcul ou de consommation électrique pour la suite de ce processus ne peut permettre de révéler aucune valeur qui resterait constante dans la répétition du processus.
Globalement, le processus est donc résistant aux attaques par canaux auxiliaires. Tout autre processus reposant sur la mise en œuvre de ce processus sera par voie de conséquence également résistant aux attaques par canaux auxiliaires.
[0033] En référence à la figure 3, on voit un organigramme représentant un autre procédé de génération d'une séquence de nombres pseudo-aléatoires, utilisant une séquence de nombres pseudo-aléatoires intermédiaires. La séquence générée est entièrement cloisonnée. Le procédé de la figure 3 est similaire à celui de la figure 2(a) et (b) en ce qu'une clé, K, 102, d'une certaine longueur de bit s est combinée, en utilisant une fonction OU exclusif 108a, avec le nonce pseudo-aléatoire, N, 106, de la même longueur de bits s, la sortie étant soumise à la fonction de hachage, H, 100a, pour générer un nombre pseudo-aléatoire intermédiaire, M’, 110. Le nombre pseudo-aléatoire intermédiaire, M’, 110 est combiné avec le nonce, N, 106, en utilisant une opération XOR 108b, le résultat étant introduit dans une autre fonction de hachage, H, 100b, pour sortir le nombre pseudo-aléatoire, M = HXOR(M’, N). En renvoyant chaque nombre pseudoaléatoire intermédiaire, M’, 110, à travers la fonction de hachage, H, 100a, pour créer le nombre pseudo-aléatoire intermédiaire suivant M’i dans la séquence, une séquence de n nombres pseudo-aléatoires peut être créée. Ainsi, le premier nombre pseudo-aléatoire intermédiaire M’o, est calculé selon HXOR(K, N) et M’i+i est calculé selon H(M’i), où 0 < i < n-1 . La séquence de nombres pseudo-aléatoires intermédiaires peut ensuite être combinée avec le nonce, N, 106, pour générer les nombres pseudo-aléatoires, selon l'expression Mi = HXOR(M’i, N), où 0 < i < n. En plus des propriétés des processus en relation avec les figures 1 et 2, ce processus alternatif a la propriété de ne pas permettre le calcul des valeurs Mj et suivantes de la séquence à partir de la seule connaissance de N, 106 et des valeurs Mi pour 0 < i < j. Cette nouvelle suite Mi de nombres pseudoaléatoires est donc entièrement cloisonnée.
[0034] La figure 4 montre un organigramme illustrant un procédé de chiffrement d'un message. Le message est représenté par un bloc P. Sur la figure 4(a), le message P est divisé en un nombre n de parties égales, Po à Pn-i , de la longueur binaire choisie s. Le message P peut être complété par des bits de remplissage supplémentaires afin de l'amener à la longueur binaire requise pour permettre la division en parties égales d'une certaine longueur binaire choisie. Dans un exemple, la longueur binaire choisie est de 512 bits. Dans la figure 4(b), chaque partie, Pi, du message est combinée avec un masque pseudo-aléatoire, Mi, provenant d'une séquence de masques de la même longueur binaire choisie s, en utilisant une opération OU exclusif XOR, pour former une partie chiffrée, Ci. Dans la figure 4(c), le nonce N et les parties chiffrées sont ensuite concaténées ensemble pour former un message chiffré, C. Les masques, Mo à Mn-i, peuvent être des nombres pseudo-aléatoires générés selon l'un quelconque des procédés des figures 2 et 3, le procédé de la figure 1 ne permettant pas d’avoir un masque différent pour chaque message.
[0035] De cette façon, le chiffrement symétrique One Time Pad peut être fourni de manière sûre et économique pour effectuer le chiffrement des informations transmises, mais avec une réduction du niveau de sécurité par rapport à l'infini. Dans un exemple où la longueur binaire choisie est de 512 bits et le procédé conforme à celui de la figure 3, le niveau de sécurité est de 512 bits au regard d’attaques émanant d’ordinateurs classiques et 3 fois plus petit pour celles émanant d’ordinateurs quantiques (170 bits).
[0036] Comme le calcul du masque est totalement indépendant du message à chiffrer lui-même, pour les flux de données où la réduction de la latence de transmission des informations pourrait être un enjeu, la production des trames et la construction du masque peuvent être deux processus exécutés en parallèle. La latence n'est donc pénalisée que par l'opération OU exclusif, qui est l'une des plus rapides réalisable sur un ordinateur. C'est un avantage certain par rapport à d'autres algorithmes de chiffrement symétrique, comme l'AES 256, où le message à chiffrer doit être disponible avant de commencer les opérations de chiffrement, ces dernières étant beaucoup plus longues qu'un simple OU exclusif.
[0037] Pour la fonction de hachage à sens unique, l'algorithme Keccak, tel que décrit dans "Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche et Ronny Van Keer, KANGAROO Twelve : fast hashing based on KECCAK-p, International Association for Cryptologic Research, 2016", a un niveau de sécurité de 512 bits au regard d’attaques émanant d’ordinateurs classiques. Le niveau de sécurité au regard d’attaques émanant d’ordinateur quantiques a été déterminé dans "Gilles Brassard, Peter Hoyer and Alain Tapp, Quantum cryptanalysis of hash and claw-free functions, Springer, 2006" et est égal à 512 / 3 est égal à environ 170.
[0038] Si l'entropie de l'information de la valeur d’amorçage K est de 512 bits, tous les Mi conserveront le même niveau d'entropie, à savoir 512 bits, si la probabilité d'une collision, lors de l'application de la fonction H à M , reste suffisamment faible.
[0039] L'utilisation des nombres pseudo-aléatoires générés par le procédé décrit en relation avec la figure 3 empêche le déchiffrement d'un bloc d'un message si un attaquant a obtenu d'une manière ou d'une autre le texte en clair et le texte chiffré d'un bloc précédent du message. De cette manière, il est possible de résister aux attaques à un niveau d'indiscernabilité sous attaque adaptative par texte chiffré choisi (IND-CCA2).
[0040] Afin de prendre pleinement en compte une attaque de niveau IND-CCA2, il est nécessaire d’assurer que l’obtention, par n'importe quel moyen, des versions chiffrée et déchiffrée d'un bloc du message P, ne permette pas de déchiffrer les blocs suivants du même message. A cet égard, le calcul de la séquence de masques doit être conforme au procédé en relation avec la figure 3 en construisant deux séquences Mi et M’j de la manière suivante, tout en utilisant la séquence entièrement cloisonnée Mi pour masquer l'information Pi : M'o = HXOR(K, N), M'i+i = H(M'i), pour tout i tel que n-1 > i > 0 et Mi = HXOR(M i, N), pour tout i tel que n > i > 0.
[0041] En référence à la figure 5, on voit un autre organigramme illustrant le procédé 50 de chiffrement d'un message, tel que le message P de la figure 4. Le procédé 50 comprend la division, au bloc 120, du message en parties égales d'une certaine longueur binaire. Le message peut être complété par des bits supplémentaires si nécessaire. Au bloc 122, chacune des n parties du message est combinée à l'aide d'une opération OU exclusif avec une séquence de masques de même longueur binaire, tel que le masque M de la figure 4, pour former des parties chiffrées. Ensuite, au bloc 124, le procédé comprend la concaténation du nonce N et des parties masquées en un message chiffré.
[0042] En se référant maintenant à la figure 6(a), on voit un organigramme d'un procédé de génération d'une signature, S, pour le message chiffré. L'utilisation d'une signature permet de vérifier l'intégrité de l'information après la transmission. La signature, S, peut être jointe au message chiffré. La signature à joindre au message chiffré est la nième valeur d'une séquence calculée à partir d'une opération OU exclusif, XOR, effectuée sur une partie, Pi+i, du message avec la valeur précédente de la séquence de signature, Si. Lorsque la valeur finale (la nième valeur) est calculée, une fonction de hachage, H, est exécutée sur cette valeur finale pour générer la signature. Ainsi, conformément à la figure 6(a), la signature, S, peut être calculée selon HMAC(Sn-i, M’n), où M’n = H(M’n-i), Sn-i est la nième valeur dans une séquence calculée selon Si+i = Si A Pi+i, où 0 < i < n-1 , et So est Po. HMAC(m, k) 125 est une fonction de hachage avec clé pour vérification d’intégrité, calculant un résultat à partir d’un message m et d’une clé k. Alternativement, la signature S peut être calculée selon HXOR(Sn-i,N), conformément à la figure 6(b), mais cette méthode moins coûteuse en temps de calcul ne fait pas l’objet d’un standard comme le RFC 2104 dans le cas du HMAC.
[0043] En se référant maintenant à la figure 7, sont représentés des schémas fonctionnels de messages chiffrés qui peuvent être créés selon les méthodes de l’invention. Sur la figure 7(a), on voit un message chiffré, C, formé à partir de la combinaison des parties masquées avec le nonce N. En utilisant la génération de nombres pseudo-aléatoires décrite en relation avec les figures 2 ou 3, le masque est rendu jetable du fait que le nonce pseudo-aléatoire N et donc la séquence des masques Mi sont différents pour chaque message. Les méthodes des figures 2 et 3 garantissent que la connaissance des deux versions, texte en clair et texte chiffré, d'un message, le masque ne pourrait pas être calculé avec un niveau de sécurité quantique de 170 bits, qui est celui de l'inversion de la fonction de hachage avec un ordinateur quantique. Le message chiffré devient alors, C = N | (Po A Mo) | (Pi A Mi) | (P2 A M2) ... | (Pn-i A Mn-i), car N est nécessaire au déchiffrement mais peut être transmis librement sans compromettre la sécurité. Seule la méthode de la figure 3 permet de résister aux attaques IND-CCA2 avec ce niveau de sécurité. Dans le processus de chiffrement de message de la figure 7 (a), le message transmis T est simplement identique au message chiffré C.
[0044] Sur la figure 7(b), on voit un message chiffré C formé comme pour la figure 7 (a) à partir de la combinaison des parties masquées avec le nonce N. On voit de plus une signature S calculée selon le processus en relation avec la figure 6. Le message transmis T est le message signé associant C avec S.
[0045] Pour le déchiffrement, si T = N | Co | Ci | C2 ... | Cn | S est le message chiffré, éventuellement signé si S est présent, et si le destinataire possède la clé K, il peut reconstruire les séquences M’i et Mi avec les mêmes formules que précédemment, construire le message déchiffré D = (Co A Mo) | (Ci A Mi) | (C2 A M2) ... | (Cn-i A Mn-i). Si le message est signé, il peut également reconstruire la signature S' = HMAC(Sn-i, M’n) avec S’o = Do, S’i+i = S’i A Di+i, pour tout i tel que n-1 > i > 0. Alternativement, comme vu plus haut, cette signature pourrait être reconstruite selon S’ = HXOR(Sn-i,N).
[0046] Dans le cas d’un message signé, la vérification de l'intégrité peut se faire en testant l'égalité S = S', avec une très forte probabilité que Di = Pi; pour tout / tel que n > i > 0, si le test est positif.
[0047] Pour chiffrer et déchiffrer avec ou sans vérification d'intégrité, le message en clair P de longueur quelconque, il suffit d'avoir échangé au préalable, à l'aide d'un procédé de chiffrement asymétrique signé, une clé K d'une certaine longueur de bits s, par exemple 512 bits, construite de manière à assurer un niveau d'entropie de 512 bits puis de chiffrer chacun des messages avec une valeur différente du nonce N. Dans le chiffrement OTP, le fait que le niveau de sécurité est infini provient de ce qu’il n’existe aucun critère de choix pour décider lequel des masques possibles correspond au chiffrement choisi par l’expéditeur. Dans les modes de réalisation de l’invention, ce critère existe dès que le message a plus d’un bloc ou qu’il est signé. Si le message n’est pas signé mais qu’il comporte plusieurs blocs le critère sera, en essayant une clé K, le fait que tous les blocs déchiffrés soient simultanément « intelligibles » dans au moins un langage. Si le message est signé, le critère sera simplement que pour la clé essayée K, on obtient S=S’. Le niveau de sécurité n’est donc pas infini mais le déchiffrement sans la clé nécessite d'explorer 2512 possibilités pour une clé K et une fonction de hachage de longueur 512 bits. Ce nombre gigantesque, de l’ordre de grandeur du carré du nombre d’atomes dans l’univers, rend le déchiffrement impossible en pratique, même avec un dispositif d’attaque utilisant un ordinateur quantique pour lequel le niveau de sécurité se réduit toutefois de 512 à 170.
[0048] Si le nonce pseudo-aléatoire N est réutilisé par inadvertance pour chiffrer deux messages en clair P et P’, les conséquences en seront très limitées. Si l’attaquant a constaté la réutilisation du nonce N et qu’il connait les versions chiffrées et déchiffrées de P, que P a n blocs, il pourra connaître la version déchiffrée des n premiers blocs de P’, mais ce sera la seule compromission possible. La clé K ne pourra en aucun cas être reconstituée pour déchiffrer d’autres messages et si P’ a plus de blocs que P, les derniers blocs ne pourront pas être déchiffrés. Plus précisément, les seuls blocs de P’ pouvant être déchiffrés sont les blocs pour lesquels les versions chiffées et déchiffrées du même numéro d’ordre de P sont connus de l’attaquant. Du fait de cette limitation très importante, le processus de chiffrement dont le calcul de la séquence de masques est fondé sur la figure 3 des présentes inventions peut être considéré comme un processus résistant à la réutilisation du nonce. De plus, avec un nonce N de longueur s bits avec s > 512, si le processus de tirage pseudo-aléatoire du nonce est initialisé avec une entropie de s bits, la probabilité de réutilisation par inadvertance d’une valeur de nonce est en pratique nulle.
[0049] En se référant à la figure 8, des organigrammes sont représentés illustrant le processus de chiffrer d'un flux de paquets de données. Dans le cas où le message à chiffrer est un flux de paquets de bits ou données, chaque paquet ayant une taille relativement courte mais le nombre de paquets pouvant être très grand, comme dans le cas de flux temps réel audio ou vidéo, on ne peut pas attendre la fin de la transmission du message pour vérifier son intégrité et il est souhaitable de vérifier cette intégrité au niveau de chaque paquet. Dans ce cas, le processus de chiffrement peut être adapté à un flux organisé en paquets successifs de s bits Pi, avec i > 0. Le nonce N seul constitue alors le premier paquet transmis dans le flux chiffré, puis chaque paquet Pi, i > 0, est transmis sous la forme (i | Csi | Ca+i) = i | (Pi A M2i) | (Pi A M2i+i), avec les suites de nombres pseudoaléatoires Mi et M’i calculées comme précédemment. Le fait que chaque paquet Pi soit chiffré 2 fois avec 2 masques différents permet d’assurer la vérification d’intégrité de ce paquet au déchiffrage. [0050] Le processus illustré à la figure 8 permet de chiffrer et déchiffrer un flux de paquets avec vérification de l’intégrité de chaque paquet. En se référant à la fig. 8(a), le flux F est découpé en paquets Pi de longueur s bits, avec i > 0. En se référant à la fig. 8(b), chaque paquet Pi est masqué deux fois avec la fonction XOR, la première fois avec le masque M2i et la seconde avec le masque M2i+i. En se référant à la fig. 8(c), ces deux versions masquées C2i et C2i+i sont ensuite concaténées avec l’indice i en (i | C2i | C2i+i) pour constituer la forme chiffrée du paquet. La transmission de l’indice i permet de maintenir la synchronisation du calcul des suites Mi et M’i au déchiffrement, si certains paquets venaient à être perdus dans la transmission du flux chiffré. Le nonce N est transmis comme le premier élément du flux chiffré CF.
[0051] Chaque forme chiffrée du paquet (i | C2i | C2i+i) peut être déchiffrée en Di, avec Di = M2i A C2i et la vérification d’intégrité consiste à vérifier que Di = M2i+i A C2i+i également. Si cette vérification est positive, alors Di = Pi, cette fois ci avec certitude et pas seulement avec une probabilité très importante.
[0052] Exprimé en nombre de cycles d’horloge nécessaire pour déchiffrer chaque paquet de s bits avec vérification d’intégrité, ce processus permet d’obtenir une latence inférieure à celle de l’AES seul, de l’AES-GCM ou de l’AES-OCB, sans présenter les mêmes faiblesses au regard de la sécurité. Ainsi, avec des processeurs 64 bits, pour déchiffrer un paquet de 512 bits avec vérification d’intégrité, le processus objet des présentes inventions, du fait de la décorrélation totale entre calcul des masques et process de déchiffrement, ne requière que 24 cycles d’horloge avec un processeur à un seul cœur (16 cycles pour le déchiffrement et 8 cycles pour la comparaison), quand l’AES256 seul en nécessite 1610 cycles d’horloge (référence " Schneier, Bruce; Kelsey, John; Whiting, Doug; Wagner, David; Hall, Chris; Ferguson, Niels (1999-02-01 ). Performance Comparisons of the AES submissions "), l’AES256-OCB et I’ AES256-GCM en nécessitent plus de 80, l’AES256-GCM-SIV plus de 170 (référence " Krovetz, Ted and Rogaway, Philip, The Design and Evolution of OCB. Journal of Cryptology 2021 -07-27, https://link.sprinQer.eom/content/pdf/10.1007/s00145-021 -09399-8.pdf "). De la même façon que le processus de chiffrement de messages décrit précédemment, le processus de chiffrement de flux objet des présentes divulgations peut être considéré comme résistant à la réutilisation par inadvertance du nonce.
[0053] La figure 9(a) présente un organigramme d’un procédé de chiffrement symétrique connu E, 60, produisant un message chiffré C, 63, à partir d’un message en clair P, 62 et d’une clé K, 61. Ce processus de chiffrement symétrique E, 60, est potentiellement sensible aux attaques par canaux auxiliaires. Un algorithme E peut être sensible à des attaques par canaux auxiliaires du fait qu’il traite les messages toujours avec la même clé et que le temps d’exécution et/ou la consommation électrique correspondante dépendant de ce facteur constant, un traitement statistique des données peut permettre d’extraire ce facteur constant par élimination de la partie variable liée aux messages traités et donc d’extraire les bits de la clé (voire la référence " Bernstein, Daniel J., Cache-timing attacks on AES, htps://cr.vp.to/antiforqery/cachetiminq-20050414.pdf" pour ce qui concerne l’AES).
[0054] Pour rendre l’algorithme E insensible aux attaques par canaux auxiliaires, considérons la fonction HXOR définie par HXOR(K, N) = H(K A N), où si s est le nombre de bits de la clé K, N est un nonce pseudo-aléatoire de même longueur de bits s et qui sera différent pour chaque message à chiffrer P, A est l’opération OU exclusif XOR et H est une fonction de hachage à sens unique produisant un résultat de s bits de longueur. L’algorithme transformé E’ est alors défini par C’ = E’(P, K) = N | E(P, HXOR(K, N)), | étant l’opération de concaténation et N étant un nonce choisi aléatoirement, mais chaque fois différent, pour tout message P à chiffrer. Du fait des propriétés de la fonction de hachage H, la transmission en clair de N dans C’ ne permet pas la compromission de la clé K ou du message P.
[0055] La figure 9(b) présente un organigramme d’un processus de chiffrement symétrique selon la divulgation. Le processus de la Fig. 9(b) est capable de résister à ces attaques par canaux auxiliaires. Comme indiqué dans cette figure, préalablement au chiffrement d’un message en clair P, 62, un nonce N, 65, ayant la même longueur en bits s que la clé K, 61 , du processus E, 60, est choisi aléatoirement. Le nonce N, 65 a une valeur différente pour chaque message en clair P. La clé K, 61 et le nonce N, 65 sont ensuite combinés en utilisant une opération OU exclusif, XOR, 66. La fonction de hachage H, 67 est appliquée au résultat de cette combinaison. Le produit de cet ensemble d’opération est le résultat de la fonction HXOR(K, N) telle que définie précédemment. Ce produit peut être appelé une clé modifiée, K', et est utilisé comme clé pour le processus de chiffrement E en lieu et place de la clé K. Le nonce N est concaténé avec le produit du processus de chiffrement E, pour constituer le message chiffré C’, 68, du processus transformé E’, 64.
[0056] Pour le déchiffrement, le nonce N 65 est obtenu à partir du message chiffré C’, 68. La clé modifiée peut alors être dérivée du nonce N et de la clé K 61 de la même manière que décrit ci-dessus en relation avec le chiffrement. Le message chiffré C’, 68, peut ensuite être déchiffré, en utilisant la clé modifiée, pour obtenir le message en clair P 62.
[0057] L’algorithme transformé E’ présenté plus haut est lui insensible aux attaques par canaux auxiliaires. En effet, du fait que la première opération réalisée pour le chiffrement ou le déchiffrement est l’opération XOR sur s bits, nécessitant toujours le même nombre de cycles d’horloge pour être exécutée, cette opération en elle-même n’est pas sujette aux attaques par canaux auxiliaires. Toutes les opérations suivantes dans la fonction de hachage H puis dans l’algorithme E ont une durée d’exécution et une consommation électrique qui dépendent du résultat de cette fonction XOR mais, comme N est différent à chaque chiffrement, la variabilité de ce résultat ne peut pas être distinguée de celle des messages traités et ce résultat n’étant plus une constante, aucune attaque par canaux auxiliaires reposant sur l’analyse statistique des durées d’exécution ou de la consommation électrique de H et/ou de E ne pourra permettre de retrouver les bits de la clé K. Même si le nonce N est réutilisé un nombre réduit de fois par inadvertance et que l’attaquant le détecte, aucun traitement statistique ne sera possible si ce nombre reste faible. Le procédé objet des présentes divulgations peut donc être considéré comme résistant à la réutilisation du nonce. On comprendra que ces avantages s'appliquent à d'autres procédés utilisant la fonction décrite ici.
[0058] En se référant maintenant à la figure 10, on voit un schéma fonctionnel d'un dispositif informatique qui peut être utilisé pour mettre en œuvre les méthodes divulguées ci-avant. Le dispositif informatique 500 comprend une mémoire 504 appropriée pour stocker des données et des instructions d'exploitation et un processeur 502 approprié pour traiter les instructions d'exploitation de manière à exécuter des fonctions comprenant les méthodes divulguées. Le dispositif informatique 500 comprend en outre un module de communication 506 adapté pour transmettre et recevoir des messages, y compris des messages chiffrés tels que ceux représentés sur la figure 7, à un ou plusieurs autres dispositifs informatiques (non représentés).
[0059] Les processus des modes de réalisation de l’invention reposent sur l’utilisation d’une fonction de hachage H. Si I est l’intervalle [0, 2S-1] des nombres naturels, de cardinal 2S, une fonction de hachage de longueur s bits est une fonction de I dans I telle que la probabilité pour tout X que H(X) soit égal à une valeur donnée Y est égale à 1 / 2S. Si la seule méthode connue pour inverser la fonction de hachage est de parcourir la liste des 2S valeurs de I, la fonction de hachage est dite à sens unique et le niveau de sécurité de l’inversion est égal à s bits pour un ordinateur classique déterministe. Si une valeur C de I satisfait à C = H(C), C est une valeur de collision de H. Si nc est le nombre de valeur de collisions dans I, la qualité de la fonction de hachage se mesure au fait que la densité de probabilité des valeurs de H est uniforme sur I et que la probabilité d’une collision, égale à nc / 2S, reste très faible.
[0060] Dans toute la description et les revendications de cette spécification, les mots "comprennent" et "contiennent" et leurs variations signifient "y compris mais non limité à", et ils ne sont pas destinés à (et n'excluent pas) d'autres parties, additifs, composants, entiers ou étapes. Dans toute la description et les revendications de cette spécification, le singulier englobe le pluriel, à moins que le contexte ne l'exige autrement. En particulier, lorsque l'article indéfini est utilisé, la spécification doit être comprise comme envisageant la pluralité ainsi que la singularité, à moins que le contexte n'exige autre chose.
[0061] Les caractéristiques, nombres entiers, caractéristiques, composés ou groupes décrits en liaison avec un aspect, une réalisation ou un exemple particulier de l'invention doivent être compris comme étant applicables à tout autre aspect, réalisation ou exemple décrit dans le présent document, sauf incompatibilité avec celui-ci. Toutes les caractéristiques divulguées dans la présente spécification (y compris les revendications, l'abrégé et les dessins qui l'accompagnent), et/ou toutes les étapes d'une méthode ou d'un procédé ainsi divulgué, peuvent être combinées selon n'importe quelle combinaison, à l'exception des combinaisons où au moins certaines de ces caractéristiques et/ou étapes sont mutuellement exclusives. L'invention n'est pas limitée aux détails de tous les modes de réalisation précédents. L'invention s'étend à toute nouvelle caractéristique, ou toute nouvelle combinaison, des caractéristiques divulguées dans la présente spécification (y compris les revendications, l'abrégé et les dessins qui l'accompagnent), ou à toute nouvelle caractéristique, ou toute nouvelle combinaison, des étapes de tout procédé ou processus ainsi divulgué.
[0062] L'attention du lecteur est dirigée vers tous les papiers et documents qui sont déposés simultanément ou antérieurement à cette spécification en relation avec cette demande et qui sont ouverts à l'inspection publique avec cette spécification, et le contenu de tous ces papiers et documents est incorporé ici par référence.
Liste de signes de référence
50 procédé de l’invention
60 processus de chiffrement symétrique quelconque
61 clé du processus de chiffrement symétrique
62 message en clair
63 message chiffré
64 processus de chiffrement symétrique transformé
65 nonce pseudo-aléatoire
66 opération OU exclusif
67 fonction de hachage
68 message chiffré
100 fonction de hachage
100a fonction de hachage
100b fonction de hachage
102 clé servant de valeur d’amorçage
104 nombre pseudo-aléatoire
106 nonce pseudo-aléatoire
108 opération OU exclusif
108a opération OU exclusif
108b opération OU exclusif
110 nombre pseudo-aléatoire intermédiaire, M’
120 division
122 concaténation
124 concaténation
125 calcul HMAC(m, k)
500 dispositif informatique
502 processeur
504 mémoire
506 module de communication

Claims

REVENDICATIONS
1 . Procédé mis en œuvre par ordinateur pour générer au moins un nombre pseudoaléatoire comprenant : l'obtention d'une valeur d’amorçage, K, d'une certaine entropie représentée par sa longueur de bits;
- la combinaison, à l'aide d'une opération OU exclusif XOR, de la valeur d'amorçage, K, avec un nonce pseudo-aléatoire, N, de la même longueur de bits s, la combinaison représenté par (K A N) où A est une opération OU exclusif; et l’exécution d’une fonction de hachage à sens unique, H, adaptée à la longueur de bits sur la combinaison (K A N) pour générer une valeur, M’o, où le nombre pseudo-aléatoire M’i+i est calculé selon H(M’i), où 0 < i < n-1 .
2. Procédé selon la revendication 1 comprenant la production d’une séquence de masques pseudo-aléatoires Mi en utilisant une séquence de nombres pseudoaléatoires M’i et le nonce N pour la génération des nombres pseudo-aléatoires, selon l'expression Mi = H(M’i A N), où 0 < i < n.
3. Procédé de chiffrement d'un message, P, comprenant les étapes suivantes :
- la division du message, P, en n parties égales, Pi, où 0 < i < n, de la longueur de bits choisie s ;
- la combinaison de chaque partie, Pi, avec le masque, Mi de même longueur de bits s, où 0 < i < n, pour former une partie chiffrée, Co à Cn-i, pour chaque partie ; et
- la concaténation du nonce N et des parties chiffrées, Co à Cn-i pour former un message chiffré, C, dans lequel chaque masque, Mo à Mn-i, est un nombre pseudo-aléatoire généré selon le procédé de la revendication 2.
4. Procédé selon la revendication 3 où la combinaison comprenant une opération OU exclusif XOR.
5. Procédé selon la revendication 3 ou 4 comprenant la création d'une signature, S, pour le message chiffré C. Procédé de la revendication 5 comprenant le calcul de la signature, S, selon HMAC(Sn-i, M’n), où Sn-i est la nième valeur dans une séquence calculée selon Si+i = Si A Pi+i , où 0 < i < n, So est Po et où M’n est la n+1ième valeur dans la séquence de nombres pseudo-aléatoires M’i . Procédé de la revendication 5 comprenant le calcul de la signature, S, selon HXOR(Sn-i, N), où Sn-i est la nième valeur dans une séquence calculée selon Si+i = Si A Pi+i, où 0 < i < n, So est Po et N est le nonce. Procédé selon l’une quelconque des revendications 5 â 7 comprenant l'attachement de la signature, S, au message chiffré C, pour former un message chiffré signé, T. Procédé de déchiffrement du message chiffré C, élaboré selon la revendication 3 comprenant
- la récupération du nonce N et des parties chiffrées, Co à Cn-i du message chiffré C
- le calcul des masques selon la revendication 2 ; le déchiffrement de chaque partie chiffrée Co à Cn-i, avec la valeur d’amorçage, K et le nonce N, pour former les parties égales, Po à Pn-i ; et
- la combinaison des parties Po à Pn-i pour former le message P. Procédé de chiffrement d’un flux de données F, comprenant:
- le découpage du flux de données F en paquets Pi, de longueur de bits s, avec i > 0 ; la transmission d’un nonce pseudo-aléatoire N dans le flux chiffré CF ;
- le chiffrement de chaque paquet Pi, où un paquet chiffré Csi = (Pi A M2i) et C2i+i = (Pi A M2i+i), où Mi est la séquence de masques pseudo-aléatoires Mi selon la revendication 2 ;
- la concaténation de le nombre i avec pour former C2i et C2i+i pour former la version chiffrée (i | C2i | C2i+i); et la transmission de la version chiffrée dans le flux de données chiffré CF. Procédé de déchiffrement d’un flux de données chiffré CF, élaboré selon la revendication 8, comprenant: - la récupération du nonce N en début de transmission du flux de données chiffré CF permettant le calcul des suites Mi et M’i selon la revendication 2 ;
- le déchiffrement de chaque version chiffré (i | Csi | Ca+i) en Di = Csi A M2i ; et la vérification d’intégrité consistant à établir que Di = M2i+i A C2i+i, avec la certitude que Di = Pi, si cette vérification est positive. Procédé selon l'une quelconque des revendications précédentes, dans lequel la fonction de hachage, H, a un niveau de sécurité quantique de plus de 170 bits en ce qui concerne son inversion. Procédé selon l'une quelconque des revendications précédentes, dans lequel la fonction de hachage, H, est une fonction de hachage de Keccak. Procédé selon l'une quelconque des revendications précédentes, dans lequel la longueur de bits choisie est de 512 bits. Procédé mis en œuvre par ordinateur de chiffrement symétrique à l'aide d’une clé K, comprenant: l’obtention d’un nonce pseudo aléatoire N pour chaque message en clair P à chiffrer, chaque nonce ayant la même longueur en bits s que la clé K ;
- la combinaison, à l'aide d'une opération OU exclusif XOR, de la clé K avec la nonce, N, la combinaison représenté par (K A N) où A est une opération OU exclusif; l’exécution d’une fonction de hachage à sens unique, H, adaptée à la longueur de bits sur la combinaison (K A N) pour générer une clé modifiée, K’ ; chiffrement du message P en utilisant la clé modifiée, K’ ; et
- concaténation du nonce N au résultat de ce chiffrement pour constituer le message chiffré C. Procédé mis en œuvre par ordinateur de déchiffrement symétrique du message chiffré C selon la revendication 14 comprenant : l’obtention du nonce pseudo aléatoire N du message chiffré C ;
- la combinaison, à l'aide d'une opération OU exclusif XOR, de la clé K avec la nonce, N, la combinaison représenté par (K A N) où A est une opération OU exclusif; 21 l’exécution de la fonction de hachage à sens unique, H, sur la combinaison (K A
N) pour générer la clé modifiée, K’ ; et déchiffrement du message chiffré C en utilisant la clé modifiée, K’, pour obtenir le message en clair P.
EP22800654.0A 2021-10-08 2022-10-10 Procédé de génération d'un nombre pseudo-aléatoire et procédé de chiffrement symétrique d'un message Pending EP4413687A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2110513A FR3128042B1 (fr) 2021-10-08 2021-10-08 Procédé de génération d'un nombre pseudo-aléatoire et procédé de chiffrement symétrique d'un message
PCT/EP2022/078024 WO2023057649A1 (fr) 2021-10-08 2022-10-10 Procédé de génération d'un nombre pseudo-aléatoire et procédé de chiffrement symétrique d'un message

Publications (1)

Publication Number Publication Date
EP4413687A1 true EP4413687A1 (fr) 2024-08-14

Family

ID=80122622

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22800654.0A Pending EP4413687A1 (fr) 2021-10-08 2022-10-10 Procédé de génération d'un nombre pseudo-aléatoire et procédé de chiffrement symétrique d'un message

Country Status (4)

Country Link
US (1) US20250004722A1 (fr)
EP (1) EP4413687A1 (fr)
FR (1) FR3128042B1 (fr)
WO (1) WO2023057649A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4432597A1 (fr) * 2023-03-14 2024-09-18 Barclays Execution Services Limited Procédés de chiffrement de données, de déchiffrement de données et de recherche de données chiffrées
WO2025215393A1 (fr) * 2024-04-11 2025-10-16 Cyferall Procédé amélioré de chiffrement et d'authentification avec données associées

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483598A (en) * 1993-07-01 1996-01-09 Digital Equipment Corp., Patent Law Group Message encryption using a hash function
MY159284A (en) * 2010-10-20 2016-12-30 Mimos Berhad A method for encrypting and decrypting data and a system therefor

Also Published As

Publication number Publication date
WO2023057649A9 (fr) 2024-05-10
WO2023057649A1 (fr) 2023-04-13
FR3128042B1 (fr) 2023-10-27
US20250004722A1 (en) 2025-01-02
FR3128042A1 (fr) 2023-04-14

Similar Documents

Publication Publication Date Title
EP3091689B1 (fr) Procédé de génération d&#39;une signature de message à partir d&#39;un jeton de signature chiffré à l&#39;aide d&#39;une fonction de chiffrement homomorphique
BE1003932A6 (fr) Systeme cryptographique par bloc de donnees binaires.
EP3211823B1 (fr) Méthode d&#39;exécution confidentielle d&#39;un programme opérant sur des données chiffrées par un chiffrement homomorphe
EP2345202B1 (fr) Procédé de signature numérique en deux étapes
US7570759B2 (en) System and method for secure encryption
EP3010177A1 (fr) Procédé d&#39;authentification d&#39;un dispositif client auprès d&#39;un serveur à l&#39;aide d&#39;un élément secret
FR2496303A1 (fr) Systeme de chiffrage/dechiffrement de donnees a cle publique
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
FR2754659A1 (fr) Procede et appareil de generation de valeurs uniques impossibles a predire
EP3334121B1 (fr) Procédé de génération d&#39;une signature électronique d&#39;un document associé à un condensat
JP2012019559A (ja) カスタム静的ディフィ−ヘルマン(Diffie−Hellman)群
WO2016087520A1 (fr) Méthode de chiffrement à couches de confusion et de diffusion dynamiques
EP0756399A2 (fr) Procédé de communication cryptographique
EP4413687A1 (fr) Procédé de génération d&#39;un nombre pseudo-aléatoire et procédé de chiffrement symétrique d&#39;un message
WO2001056222A1 (fr) Procede de communication avec sequestre et recuperation de cle de chiffrement
Harini et al. A novel security mechanism using hybrid cryptography algorithms
Loe et al. Applications of timed-release encryption with implicit authentication
CN114039720B (zh) 一种基于lfsr哈希的无条件安全的认证加密方法
EP3777007A1 (fr) Procédés, dispositifs et programmes d&#39;ordinateur pour le chiffrement et le déchiffrement de données pour la transmission ou le stockage de données
WO2024125942A1 (fr) Procedes de distribution quantique et dispositifs de telecommunication associes
FR2923968A1 (fr) Procede de partage d&#39;un secret fort entre deux parties dont l&#39;une dispose de peu de puissance de traitement.
EP1642413B1 (fr) Procede de chiffrement/dechiffrement d un message et disposi tif associe
Correia Public Keys Quality
Velasco Esteban et al. Secure optical communications based on fast cryptography
FR2786049A1 (fr) Procede de cryptographie a cle dynamique

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

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

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

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

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

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240329

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)