[go: up one dir, main page]

WO2024083540A1 - Procédés et dispositifs de chiffrement, de génération de trappe et de détection de motif - Google Patents

Procédés et dispositifs de chiffrement, de génération de trappe et de détection de motif Download PDF

Info

Publication number
WO2024083540A1
WO2024083540A1 PCT/EP2023/077826 EP2023077826W WO2024083540A1 WO 2024083540 A1 WO2024083540 A1 WO 2024083540A1 EP 2023077826 W EP2023077826 W EP 2023077826W WO 2024083540 A1 WO2024083540 A1 WO 2024083540A1
Authority
WO
WIPO (PCT)
Prior art keywords
integer
encryption
pattern
value
elements
Prior art date
Application number
PCT/EP2023/077826
Other languages
English (en)
Inventor
Olivier Sanders
Elie BOUSCATIE
Original Assignee
Orange
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 Orange filed Critical Orange
Publication of WO2024083540A1 publication Critical patent/WO2024083540A1/fr

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/42Anonymization, e.g. involving pseudonyms

Definitions

  • the invention relates to the field of telecommunications.
  • searchable encryption system that is to say a system making it possible to detect the presence of a pattern in an encrypted data flow.
  • This encryption prevents the supervision of these data flows, for example for the detection of attacks (viruses, denial of service, etc.) or content filtering (parental controls, etc.).
  • Searchable encryption Another family of cryptographic solutions in which the invention is located is called “searchable encryption”. Searchable encryption makes it possible to detect whether a data flow includes a cipher of a pattern, provided that certain information, usually called a “trap door” and previously associated with this pattern, is held.
  • the present invention proposes a searchable encryption system remedying inadequacies/disadvantages of the state of the art and/or providing improvements thereto.
  • the trapdoor comprising the elements s, r, and T.
  • the trap thus generated makes it possible to detect a pattern of any size in a data stream by means of the detection procedure described later.
  • the invention relates to an encryption method implemented in an encryption system defining a public key, to obtain a cipher by encryption of data m comprising at least u elementary characters m[i], the public key comprising : - elements g c,i for any integer i between 1 and an integer u, the elements g c,i being of the form g ⁇ (a c,i ) where a c,i is an integer between 0 and an integer p -1 and g a generator of a group G of order p; - elements h k , for any integer k between 1 and an integer t, the elements h k being of the form g ⁇ (1/b k ) where b k is an integer between 0 and p-1; - the generator g; - a description of group G; And - a description of a function H with value in a finite set, said method comprising steps of: - selection of an integer a between 0 and u, the elements g
  • the invention relates to an encryption device implemented in an encryption system defining a public key, the device being configured to obtain an encrypted C by encryption of data m, comprising at least u elementary characters m[i], the public key comprising: - elements g c,i for any integer i between 1 and an integer u, the elements g c,i being of the form g ⁇ (a c,i ) where a c,i is an integer between 0 and an integer p -1 and g a generator of a group G of order p; - elements h k , for any integer k between 1 and an integer t, the elements h k being of the form g ⁇ (1/b k ) where b k is an integer between 0 and p-1.; - the generator g of a group G; - a description of group G; And - a description of a function H with value in a finite set, said device comprising: - a module for selecting an integer i between 1
  • Patterns and data are character strings belonging to an alphabet. Characters can be of any type. Characters can for example be encoded on 2 bits, 8 bits, etc. Character strings can be DNA sequences.
  • the encryption process is carried out independently of the patterns to be detected.
  • the device which encrypts the data stream does not take into account when encrypting the patterns which will possibly be searched for in the stream, nor the size of these patterns.
  • the device which receives the encrypted stream generates the traps associated with the patterns which are to be detected. It can carry out the detection itself or entrust this task to another device to which it communicates these traps.
  • the cipher is obtained by an encryption method as mentioned above and the trapdoor is obtained by a trapdoor generation method as mentioned above.
  • the method for detecting the presence of a pattern is of very low complexity compared to the solutions described in documents [2] and [3] introduced previously, these requiring the use of coupled elliptic curves.
  • the detection device does not need any knowledge of the plain data which has been encrypted.
  • the pattern can be detected without decrypting the data stream.
  • the pattern can be searched at any position in the stream.
  • detection takes place on the first w characters of the cipher.
  • To shift the position of the pattern to be detected simply start said pattern with an appropriate number of special characters.
  • the invention also relates to a method for decrypting a cipher obtained by encryption of data comprising at least u elementary characters, the cipher being generated in accordance with an encryption method as mentioned above, the decryption method comprising: - obtaining a trap associated with each of the distinct elementary data of the data flow, said trap being generated in accordance with a method for generating a trap as mentioned above, - detection of the presence of said trapdoor, in accordance with the pattern detection method as mentioned above.
  • the invention also relates to an encryption system comprising:
  • the present invention can in particular be used to detect viruses (in English “malware”), by generating traps associated with these viruses.
  • viruses in English “malware”
  • a list of patterns for virus detection is published at https:/www.snort.org/.
  • the present invention can also be used to carry out parental control by generating traps corresponding to keywords to be filtered, and by blocking streams which include these keywords.
  • the different stages of the trap generation, encryption and detection methods are determined by computer program instructions or are implemented by a silicon chip which includes transistors adapted to constitute logic gates of non-programmable hardwired logic.
  • the invention also relates to a computer program on an information medium, this program being capable of being implemented in a controller computer, this program comprising instructions adapted to the implementation of the steps of a process as described above.
  • This program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable shape.
  • the invention also relates to an information medium readable by a computer, and comprising instructions for a computer program as mentioned above.
  • the information carrier can be any entity or device capable of storing the program.
  • the medium may include a storage means, such as a ROM, a non-volatile memory of the flash type or even a magnetic recording means, for example a hard disk.
  • the information carrier may be a transmissible medium such as an electrical or optical signal, which may be carried via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can in particular be downloaded onto an Internet type network.
  • the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in executing the method in question.
  • This SYS system makes it possible to detect the presence of a pattern w in an encrypted data stream C.
  • an encryption device DC encrypts data in the clear to generate an encrypted data stream C and to send this encrypted stream C to a decryption device RX configured to decrypt this encrypted stream and recover the data stream in the clear.
  • the SYS encryption system is based on a public key cryptography system. To this end it is based on a secret key sk and an associated public key pk. It is assumed that a key generation device KG is arranged to generate the key pair sk, pk according to a known method.
  • a trap generation device DG is configured to generate, for a given pattern w, a trap TR(w) associated with this pattern.
  • the DG trap generation device is shown independent but can for example be integrated into the RX decryption device.
  • the trapdoor TR(w) is intended to be used by a detection device DD to detect the presence of the pattern w in the encrypted stream.
  • the trap generation device DG is configured to transmit the trap(s) that it has generated to the detection device DD.
  • the SYS encryption system thus includes the trap generation device DG, the encryption device DC, and the detection device DD.
  • the SYS encryption system uses a group G of order p.
  • This group can be any, but in the remainder of the description, it can in particular be a group of points of an elliptic curve, or a multiplicative subgroup of a finite body.
  • the secret key is parameterized by integers n and t.
  • the key generation method comprises a first step K10 of selecting the system parameters, these parameters comprising: n: a maximum number of characters that can be encrypted by the encryption process; t: an integer; p: a prime number; G: a group of order p; g: an element of G which is not the neutral element, called generator; H: a function H taking as input any string of bits and with value in a finite set D.
  • n a maximum number of characters that can be encrypted by the encryption process
  • t an integer
  • p a prime number
  • G a group of order p
  • g an element of G which is not the neutral element, called generator
  • H a function H taking as input any string of bits and with value in a finite set D.
  • any cryptographic hash function such as SHA-256 or SHA-3 .
  • the key generation method generates a pair of keys ⁇ pk, sk ⁇ comprising a secret key sk and an associated public key pk.
  • the method defines the public key pk of the cryptographic system as the set consisting of: - elements g c,i , h k and g; - the description of group G; And - the description of the function H.
  • the method defines the secret key sk of the cryptographic system as the set consisting of: - integers a c, i and b k ; - or any information that allows them to be found.
  • the public key pk is assumed to be known to all the devices of the SYS system, in particular by the encryption device DC.
  • the secret key sk is known to the trap generation device DT and the decryption device RX.
  • the characters m[i], whatever i, are elements of the alphabet S.
  • the encryption process selects an integer a between 0 and p-1.
  • H H(h k ⁇ (a)).
  • the encryption process obtains the cipher C consisting of all the elements E k and C i.
  • C ⁇ E k , C i ⁇ .
  • this cipher contains t+u elements with: - t: chosen integer forming part of the system parameters; And - u: size of data to encrypt.
  • the encryption method is implemented by the encryption device DC and the encryption device DC sends the cipher C to the decryption device RX.
  • the trap generation method selects an integer s between 1 and t.
  • r 1 for all the traps.
  • the trapdoor generation method is implemented by the RX decryption device.
  • the decryption device RX sends the trap TR(w) to the device DD for detecting the presence of a pattern.
  • this detection method comprises the following steps D22 to D32.
  • the detection method calculates H(D).
  • the detection method compares H(D) with E s , s being the first element of the trap TR(w) and E s , the element of rank s of the cipher C.
  • the detection method determines or detects (step D30) that the data m, encrypted in C, includes the pattern w. Otherwise the detection method determines (step D32) that the data m, encrypted in C, do not include the pattern w. This detection is carried out without decrypting the C cipher.
  • the element Q calculated in step D22 is exactly the product of C i ⁇ r for i belonging to J.
  • the invention also relates to a method for deciphering a cipher obtained by encryption of data comprising at least u elementary characters, the cipher being generated in accordance with an encryption method as described above, the decryption method comprising: - obtaining a trap associated with each of the distinct elementary data of the data flow, said trap being generated in accordance with a method for generating a trap as described previously, - detection of the presence of this trapdoor, in accordance with the pattern detection method as described previously.
  • This DG device is IT equipment, such as a computer.
  • the DG trap generation device includes:
  • processor 601 a processing unit or processor 601, or "CPU” (from the English “Central Processing Unit"), intended to load instructions into memory, to execute them, to perform operations;
  • CPU Central Processing Unit
  • the storage memory 603 is arranged to store a trap generation software module which includes code instructions for implementing the steps of the trap generation method as described above.
  • the storage memory 603 is also arranged to store the secret key sk of the encryption system in a secure area.
  • This DC encryption device is IT equipment, such as a computer.
  • processing unit or processor 701, or CPU intended to load instructions into memory, to execute them, to perform operations
  • the storage memory 703 is arranged to store an encryption software module which includes code instructions for implementing the steps of the encryption process as described above.
  • Memory 703 is also arranged to store the public key pk of the encryption system.
  • This DD device is IT equipment, such as a computer.
  • processor 801 intended to load instructions into memory, to execute them, to perform operations
  • the storage memory 803 is arranged to store a software module for detecting a pattern in a stream which includes code instructions for implementing the steps of the pattern detection method as described previously.
  • the DD device for detecting the presence of a pattern also includes:

Landscapes

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

Abstract

Ce procédé de chiffrement mis en œuvre dans un système définissant une clé publique (pk), pour obtenir un chiffré (C) par chiffrement de données (m) comportant des caractères élémentaires m[i], la clé publique pk comportant : - des éléments gc,i pour tout entier i entre 1 et un entier u, les éléments gc,i étant de la forme g^(ac,i) où ac,i est un entier entre 0 et un entier p-1 et g un générateur d'un groupe G; - des éléments hk, pour tout entier k entre 1 et un entier t, les éléments hk étant de la forme g^(1/bk) où bk est un entier entre 0 et p-1.; - le générateur g; - une description du groupe G; et - une description d'une fonction H à valeur dans un ensemble fini, ledit procédé comportant des étapes de : - sélection (C22) d'un entier a entre 0 et p-1; - calcul (C24) pour tout entier k entre 1 et une entier t, d'une valeur Ek = H(hk^(a)); - calcul (C26) pour tout entier i entre 1 et un entier u, d'une valeur Ci égale à gm[i],i^a, - obtention (C28) du chiffré (C), ledit chiffré étant constitué des éléments {Ek, Ci}.

Description

Procédés et dispositifs de chiffrement, de génération de trappe et de détection de motif Arrière-plan de l’invention 
L'invention se rapporte au domaine des télécommunications.
Elle concerne plus particulièrement un système de chiffrement dit « cherchable », c'est- à-dire un système permettant de détecter la présence d'un motif (en anglais « pattern ») dans un flux de données chiffré.
On constate aujourd’hui que la plupart, environ 90%, des flux de données échangés sur les réseaux de télécommunication sont chiffrés. C’est par exemple le cas des requêtes HTTPS ou des requêtes DNS.
Ce chiffrement empêche la supervision de ces flux de données, par exemple pour la détection d’attaques (virus, déni de service, …) ou le filtrage des contenus (contrôle parental, …).
Une solution pour surveiller les données chiffrées échangées entre un fournisseur de service, décrite dans le document Lin-Shung Huang, Alex Rice, Erling Ellingsen, and Collin Jackson. Analyzing forged SSL certificates, 2014 IEEE Symposium on Security and Privacy, pages 83–97. IEEE Computer Society Press, May 2014, consiste à utiliser un serveur mandataire (ou « proxy ») qui usurpe l’identité du fournisseur de service, obtient la clé de chiffrement, déchiffre les caractères, les analyse en clair, les chiffre à nouveau et les transmet à l’utilisateur. Cette solution n’est pas satisfaisante car elle révèle les données au serveur proxy.
Une autre famille de solutions cryptographiques dans laquelle se situe l’invention est appelée « chiffrement cherchable » (ou « searchable encryption » en anglais). Le chiffrement cherchable permet de détecter si un flux de données comporte un chiffré d'un motif, à condition de détenir une certaine information, appelée habituellement « trappe » et associée préalablement à ce motif.
Les trois documents suivants proposent de telles solutions :
[1] Justine Sherry, Chang Lan, Raluca Ada Popa, and Sylvia Ratnasamy. BlindBox: Deep Packet Inspection over Encrypted Traffic. In Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, SIGCOMM ’15;
[2] Nicolas Desmoulins, Pierre-Alain Fouque, Cristina Onete, and Olivier Sanders. Pattern matching on encrypted streams. In Thomas Peyrin and Steven Galbraith, editors, ASIACRYPT 2018; et
[3] Elie Bouscatié, Guilhem Castagnos and Olivier Sanders. Public Key Encryption with Flexible Pattern Matching. ASIACRYPT 2021.
La solution décrite dans [1], basée sur un chiffrement symétrique, ne permet la détection que de motifs de taille fixe. Elle est donc très limitée et en particulier n’est pas adaptée à la détection de virus dont les tailles peuvent être très variées. Les solutions décrites dans [2] et [3] sont très complexes, notamment parce qu’elles nécessitent l’usage de courbes elliptiques à couplage (de l’anglais « pairing-friendly »).
La présente invention propose un système de chiffrement cherchable remédiant à des insuffisances/inconvénients de l'état de la technique et/ou y apportant des améliorations.
Objet et résumé de l’invention
Ainsi, et selon un premier aspect, l’invention concerne un procédé de génération d’une trappe dans un système de chiffrement , ladite trappe étant associée à un motif w comprenant des caractères élémentaires w[1], …w[v] compris dans un alphabet complété par un caractère spécial pouvant remplacer un caractère quelconque dudit alphabet, ledit système définissant une clé secrète paramétrée par des entiers n et t et comportant :
- un entier ac,i pour tout caractère c de l’alphabet et pour tout entier i entre 1 et l’entier n ; et
- un entier bk pour tout entier k entre 1 et l’entier t ;
le procédé comportant des étapes de :
- sélection d’un entier s compris entre 1 et l’entier t ; et
- calcul d’une valeur T =  bs*(r1aw[1],1 + r2aw[2],2 +…+ rvaw[v],v), ri =0 si w[i] est ledit caractère spécial et ri est égal à un entier r sinon,
ladite trappe comportant les éléments s, r, et T.
Corrélativement, l’invention concerne un dispositif de génération d’une trappe dans un système de chiffrement , ladite trappe étant associée à un motif w comprenant des caractères élémentaires w[1], …w[v] compris dans un alphabet complété par un caractère spécial pouvant remplacer un caractère quelconque dudit alphabet, ledit système définissant une clé secrète paramétrée par des entiers n et t et comportant :
- un entier ac,i pour tout caractère c de l’alphabet et pour tout entier i entre 1 et l’entier n ; et
- un entier bk pour tout entier k entre 1 et l’entier t ;
le dispositif comportant:
- un module de sélection d’un entier s compris entre 1 et l’entier t ; et
- un module de calcul d’une valeur T =  bs*(r1aw[1],1 + r2aw[2],2 +…+ rvaw[v],v), ri =0 si w[i] est ledit caractère spécial et ri est égal à un entier r sinon,
la trappe comportant les éléments s, r, et T.
La trappe ainsi générée permet de détecter un motif de taille quelconque dans un flux de données par le biais de la procédure de détection décrite ultérieurement.
Selon un deuxième aspect, l’invention concerne un procédé de chiffrement mis en œuvre dans un système de chiffrement définissant une clé publique, pour obtenir un chiffré par chiffrement de données m comportant au moins u caractères élémentaires m[i], la clé publique comportant :
- des éléments gc,i pour tout entier i entre 1 et un entier u, les éléments gc,i étant de la forme g^(ac,i) où ac,i est un entier entre 0 et un entier p-1 et g un générateur d’un groupe G d’ordre p;
- des éléments hk, pour tout entier k entre 1 et un entier t, les éléments hk étant de la forme g^(1/bk) où bk est un entier entre 0 et p-1 ;
- le générateur g ;
- une description du groupe G ; et
- une description d’une fonction H à valeur dans un ensemble fini,
ledit procédé comportant des étapes de :
- sélection d’un entier a entre 0 et p-1 ;
- calcul pour tout entier k entre 1 et t, d’une valeur Ek = H(hk^(a)) ;
- calcul pour tout entier i entre 1 et u, d’une valeur Ci égale à gm[i],i^a,
- obtention du chiffré, ledit chiffré étant constitué des éléments {Ek, Ci}.
Corrélativement, l’invention concerne un dispositif de chiffrement mis en œuvre dans un système de chiffrement définissant une clé publique, le dispositif étant configuré pour obtenir un chiffré C par chiffrement de données m, comportant au moins u caractères élémentaires m[i], la clé publique comportant :
- des éléments gc,i pour tout entier i entre 1 et un entier u, les éléments gc,i étant de la forme g^(ac,i) où ac,i est un entier entre 0 et un entier p-1 et g un générateur d’un groupe G d’ordre p ;
- des éléments hk, pour tout entier k entre 1 et un entier t, les éléments hk étant de la forme g^(1/bk) où bk est un entier entre 0 et p-1.;
- le générateur g d’un groupe G  ;
- une description du groupe G ; et
- une description d’une fonction H à valeur dans un ensemble fini,
ledit dispositif comportant :
- un module de sélection d’un entier a entre 0 et p-1 ;
- un premier module de calcul pour tout entier k entre 1 et t, d’une valeur Ek = H(hk^(a)),
- un deuxième module de calcul pour tout entier i entre 1 et u, d’une valeur Ci égale à gm[i],i^a, et
un module d’obtention du chiffré, ledit chiffré étant constitué des éléments {Ek, Ci}.
Les motifs et les données sont des chaînes de caractères appartenant à un alphabet. Les caractères peuvent être de n’importe quel type. Les caractères peuvent par exemple être codés sur 2 bits, 8 bits, … Les chaînes de caractères peuvent être des séquences ADN.
Très avantageusement, le procédé de chiffrement s'effectue indépendamment des motifs à détecter. Ainsi, le dispositif qui chiffre le flux de données ne tient pas compte lors du chiffrement des motifs qui seront éventuellement cherchés dans le flux, ni de la taille de ces motifs.
Dans un mode de mise en œuvre particulier, le dispositif qui reçoit le flux chiffré génère les trappes associées aux motifs qui sont à détecter. Il peut effectuer la détection lui-même ou confier cette tâche à un autre dispositif à qui il communique ces trappes.
Selon un troisième aspect, l’invention concerne un procédé de détection, dans un système de chiffrement, d'un motif w dans un chiffré obtenu par chiffrement de données , ledit motif w comprenant des caractères élémentaires (w[1], …w[v]) compris dans un alphabet complété par un caractère spécial pouvant remplacer un caractère quelconque dudit alphabet, le procédé comprenant des étapes de :
- obtention d’une trappe associée audit motif ;
- calcul d’un élément Q = C1^r1*…*Cv^rv avec ri =0 si w[i] est ledit caractère spécial et ri = r sinon ;
- calcul d’une valeur D égale à Q^(1/T), où T est un élément de ladite trappe ;
- calcul d’une valeur H(D) où H est une fonction H à valeur dans un ensemble fini ;
- détection que les données comportent ledit motif w si H(D) est égal à Es, où s est un entier compris dans ladite trappe.
Corrélativement, l’invention concerne un dispositif de détection, dans un système de chiffrement , d'un motif w dans un chiffré obtenu par chiffrement de données, ledit motif comprenant des caractères élémentaires (w[1], …w[v]) compris dans un alphabet complété par un caractère spécial pouvant remplacer un caractère quelconque dudit alphabet, le dispositif comprenant:
- un module d’obtention d’une trappe associée audit motif ;
- un premier module de calcul d’un élément Q = C1^r1*…*Cv^rv avec ri =0 si w[i] est ledit caractère spécial et ri = r sinon ;
- un deuxième module de calcul d’une valeur D égale à Q^(1/T), où T est un élément de ladite trappe ;
- un troisième module de calcul d’une valeur H(D) où H est une fonction H à valeur dans un ensemble fini ;
- un module de détection configuré pour détecter que les données comportent ledit motif w si H(D) est égal à Es, où s est un entier compris dans ladite trappe.
Dans un mode de réalisation, le chiffré est obtenu par un procédé de chiffrement tel que mentionné ci-dessus et la trappe est obtenue par un procédé de génération de trappe tel que mentionné ci-dessus.
Le procédé de détection de présence d’un motif est de très faible complexité par rapport aux solutions décrites dans les documents [2] et [3] introduits précédemment, ceux-ci nécessitant l’usage de courbes elliptiques à couplage.
De façon avantageuse, le dispositif de détection n’a besoin d’aucune connaissance sur les données en clair qui ont été chiffrées. Le motif peut être détecté sans déchiffrer le flux de données.
De façon très avantageuse, le motif peut être recherché à une position quelconque dans le flux. Conformément à l’invention, la détection s’opère sur les w premiers caractères du chiffré. Pour décaler la position du motif à détecter, il suffit de commencer ledit motif par un nombre approprié de caractères spéciaux.
L’invention vise aussi un procédé de déchiffrement d'un chiffré obtenu par chiffrement de données comportant au moins u caractères élémentaires, le chiffré étant généré conformément à un procédé de chiffrement tel que mentionné ci-dessus, le procédé de déchiffrement comprenant :
- obtention d'une trappe associée à chacune des données élémentaires distinctes du flux de données, ladite trappe étant générée conformément à un procédé de génération d’une trappe tel que mentionné ci-dessus,
- détection de la présence de ladite trappe, conformément au procédé de détection d'un motif tel que mentionné ci-dessus.
L’invention vise aussi un système de chiffrement comprenant :
- un dispositif de génération de trappe,
- un dispositif de chiffrement , et
- un dispositif de détection de la présence d'un motif dans un chiffré tels que mentionnés ci-dessus.
La présente invention peut en particulier être utilisée pour détecter des virus (en anglais « malware »), en générant des trappes associées à ces virus. Une liste de motifs pour la détection de virus est publiée à l’adresse https:/www.snort.org/.
La présente invention peut également être utilisée pour effectuer un contrôle parental en générant des trappes correspondant à des mots-clés à filtrer, et en bloquant les flux qui comportent ces mots-clés.
Dans un mode particulier de réalisation, les différentes étapes des procédés de génération de trappe, de chiffrement et de détection sont déterminées par des instructions de programmes d'ordinateurs ou sont implémentées par une puce en silicium qui comprend des transistors adaptés pour constituer des portes logiques d'une logique câblée non programmable.
En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en œuvre dans un ordinateur contrôleur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d'un procédé tel que décrit ci-dessus.
Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, une mémoire non volatile de type flash ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures :
La représente un système de chiffrement chiffrable conforme à un mode particulier de réalisation;
La représente les principales étapes d’un procédé de génération de clés conforme à un mode particulier de réalisation ;
La représente les principales étapes d’un procédé de chiffrement conforme à un mode particulier de réalisation;
La représente les principales étapes d’un procédé de génération de trappe conforme à un mode particulier de réalisation;
La représente les principales étapes d’un procédé de détection de présence d’un motif conforme à un mode particulier de réalisation;
La représente un dispositif de chiffrement conforme à un mode particulier de réalisation;
La représente un dispositif de génération de trappe conforme à un mode particulier de réalisation;
La représente un dispositif de détection de présence d’un motif conforme à un mode particulier de réalisation.
A noter que l’on utilise ici une notation habituelle en cryptographie dans laquelle :
- « x_i » représente « x indice i », soit « xi » ;
- « g^x » représente « g puissance x », soit « gx »,
- le produit est schématisé par un astérisque : « * » lorsque de nombreux facteurs indexés interviennent. Une notation où l’astérisque est absente est également possible : « 2n » pour « 2 * n »,
- l’addition est classiquement schématisée par le signe « + » lorsque de nombreux facteurs indexés interviennent.
La représente un système SYS de chiffrement cherchable conforme à l’invention. Ce système SYS permet de détecter la présence d’un motif w dans un flux de données chiffré C.
Sur cette figure, un dispositif de chiffrement DC chiffre des données en clair pour générer un flux de données chiffré C et pour envoyer ce flux chiffré C à un dispositif de déchiffrement RX configuré pour déchiffrer ce flux chiffré et récupérer le flux de données en clair.
Le système SYS de chiffrement est basé sur un système de cryptographie à clé publique. A cette fin il repose sur une clé secrète sk et une clé publique pk associée. On suppose qu'un dispositif KG de génération de clés est agencé pour générer la paire de clés sk, pk selon une méthode connue.
Un dispositif DG de génération de trappe est configuré pour générer, pour un motif w donné, une trappe TR(w) associée à ce motif. Le dispositif DG de génération de trappe est représenté indépendant mais peut par exemple être intégré dans le dispositif de déchiffrement RX.
La trappe TR(w) est destinée à être utilisée par un dispositif de détection DD pour détecter la présence du motif w dans le flux chiffré. Le dispositif de génération de trappe DG est configuré pour transmettre la ou les trappes qu'elle a générées au dispositif de détection DD.
Le système SYS de chiffrement comprend ainsi le dispositif de génération de trappe DG, le dispositif de chiffrement DC, et le dispositif de détection DD.
Dans le mode de réalisation décrit ici, le système de chiffrement SYS utilise un groupe G d’ordre p. Ce groupe peut être quelconque, mais dans la suite de la description, il peut s’agir notamment d’un groupe de points d’une courbe elliptique, ou d’un sous-groupe multiplicatif d’un corps fini.
Par la suite, les données sont traitées comme des chaînes de caractères. Ces caractères appartiennent à un alphabet S.
La représente les principales étapes K10 à K28 pouvant être mises en œuvre par le dispositif KG de génération de clés conforme à un mode particulier de réalisation. La clé secrète est paramétrée par des entiers n et t.
Le procédé de génération de clés comporte une première étape K10 de sélection des paramètres du système, ces paramètres comprenant :
n : un nombre maximal de caractères pouvant être chiffrés par le procédé de chiffrement ;
t : un entier ;
p : un nombre premier ;
G : un groupe d’ordre p  ;
g : un élément de G qui n’est pas l’élément neutre, appelé générateur ;
H : une fonction H prenant en entrée n’importe quelle chaîne de bits et à valeur dans un ensemble fini D. En pratique, on pourra par exemple utiliser n’importe quelle fonction de hachage cryptographique, telle que SHA-256 ou SHA-3.
Au cours d’une étape K20, le procédé de génération de clés génère une paire de clés {pk, sk} comportant une clé secrète sk et une clé publique associée pk.
Au cours d’une étape K22, pour tout caractère c de l’alphabet S et pour tout entier i entre 1 et n, le procédé de génération de clés sélectionne un entier ac,i entre 0 et p-1 et calcule gc,i = g^(ac,i)
Au cours d’une étape K24, pour tout entier k entre 1 et t, le procédé sélectionne un entier bk entre 0 et p-1 et calcule hk= g^(1/bk).
Au cours d’une étape K26, le procédé définit la clé publique pk du système cryptographique comme l’ensemble constitué :
- des éléments gc,i, hk et g ;
- de la description du groupe G ; et
- de la description de la fonction H.
On note pk = {gc,i, hk, g, G, H}
Au cours d’une étape K28, le procédé définit la clé secrète sk du système cryptographique comme l’ensemble constitué:
- des entiers ac,i et bk ;
- ou de toute information qui permet de les retrouver.
On note sk = {ac,i, bk, g, G, H}
De façon connue, la clé publique pk est supposée connue de tous les dispositifs du système SYS, notamment par le dispositif de chiffrement DC. La clé secrète sk est connue du dispositif de génération de trappe DT et du dispositif de déchiffrement RX.
La représente les principales étapes C22 à C28 d’un procédé de chiffrement conforme à un mode particulier de réalisation.
La procédé de chiffrement permet de chiffrer n’importe quelle chaîne de caractères m = m[1], m[2], …, m[u] dans lequel la taille u de cette chaîne est inférieure ou égale à la taille n maximum des données pouvant être chiffrées et déchiffrées par le système SYS. Les caractères m[i], quel que soit i, sont des éléments de l’alphabet S.
Ce procédé de chiffrement utilise la clé publique pk = {gc,i, hk, g, G, H} pour chiffrer les données.
Au cours d’une étape C22, le procédé de chiffrement sélectionne un entier a entre 0 et p-1.
Au cours d’une étape C24, le procédé de chiffrement calcule, pour tout entier k entre 1 et t, Ek = H(hk^(a)). On rappelle ici que la fonction H prend en entrée n’importe quelle chaîne de bits et à valeur dans un ensemble fini D.
Au cours d’une étape C26, le procédé de chiffrement calcule, pour tout entier i entre 1 et u, Ci = gm[i],i^a.
Au cours d’une étape C28, le procédé de chiffrement obtient le chiffré C constitué de tous les éléments Ek et Ci. On note C = {Ek, Ci}. On note que ce chiffré comporte t+u éléments avec :
- t : entier choisi faisant partie des paramètres du système ; et
- u : taille des données à chiffrer.
Dans le mode de réalisation décrit ici, le procédé de chiffrement est mis en œuvre par le dispositif de chiffrement DC et le dispositif de chiffrement DC envoie le chiffré C au dispositif de déchiffrement RX.
La représente les principales étapes T22 à T26 d’un procédé de génération de trappe conforme à un mode particulier de réalisation.
Le procédé de génération de trappe permet de générer une trappe pour n’importe quel motif w = w[1], w[2], …, w[v] dans lequel la taille v du motif est inférieure ou égale à la taille n maximum des données pouvant être chiffrés et déchiffrés par le système SYS, et w[i], quel que soit i, un élément de l’alphabet S ou un caractère spécial « * ».
Ce procédé utilise la clé secrète sk = {ac,i, bk, g, G, H}
Au cours d’une étape T22, le procédé de génération de trappe sélectionne un entier s entre 1 et t.
Au cours d’une étape T24, le procédé de génération de trappe sélectionne un entier r entre 1 et p-1 et calcule T = bs*(r1aw[1],1 + r2aw[2],2 +…+ rvaw[v],v), où :
- ri =0 si w[i] est le caractère spécial «* » et
- ri = r sinon.
Dans un mode particulier de réalisation r = 1 pour toutes les trappes.
Au cours d’une étape T26, le procédé de génération obtient la trappe TR(w) pour le motif w, avec TR(w) = {s, r, T}. On note que r n’a pas besoin d’être secret.
Dans le mode de réalisation décrit ici, le procédé de génération de trappe est mis en œuvre par le dispositif de déchiffrement RX.
Dans le mode de réalisation décrit ici, le dispositif de déchiffrement RX envoie la trappe TR(w) au dispositif DD de détection de présence d’un motif.
La représente les principales étapes D22 à D32 d’un procédé de détection de présence d’un motif conforme à un mode particulier de réalisation.
Le procédé de détection de présence d’un motif permet de tester si le motif w = w[1], w[2], …, w[v] correspond à v éléments des données m en clair qui ont été chiffrées pour générer le chiffré C = {Ek, Ci}, k étant compris entre 1 et t, i étant compris entre 1 et u.
Ce procédé utilise :
- l’alphabet S ;
- l’entier t
- la taille u de la chaîne de caractères en clair avant chiffrement
- la longueur v du motif w
- le chiffré C = {Ek, Ci} ;
- la trappe TR(w) = {s, r, T} associée à ce motif w ; et
- la fonction H.
Dans le mode de réalisation décrit ici, ce procédé de détection comporte les étapes D22 à D32 suivantes.
Au cours d’une étape D22, le procédé de détection calcule un élément Q = C1^r1*…*Cv^rv avec :
- ri =0 si w[i] est le caractère spécial « * » et
- ri = r sinon.
Au cours d’une étape D24, le procédé de détection calcule un élément D = Q^(1/T).
Au cours d’une étape D26, le procédé de détection calcule H(D).
Au cours d’une étape D28, le procédé de détection compare H(D) avec Es, s étant le premier élément de la trappe TR(w) et Es, l’élément de rang s du chiffré C.
Si H(D) = Es, le procédé de détection détermine ou détecte (étape D30) que les données m, chiffrées en C, comportent le motif w. Sinon le procédé de détection détermine (étape D32) que les données m, chiffrées en C, ne comportent pas le motif w. Cette détection est effectuée sans déchiffrer le chiffré C.
Nous apportons ci-après la preuve de la validité du chiffrement présenté ci-avant.
Si un motif w = w[1],…,w[v] est présent dans des données m = m[1],…,m[u], alors w[i] = m[i] pour tout i entre 1 et v tel que w[i] est différent du caractère spécial « * ».
Désignons par J l’ensemble de tels i.
Alors, l’élément Q calculé à l’étape D22 est exactement le produit des Ci^r pour i appartenant à J.
Comme Ci = gm[i],i^a = g^(a*am[i],i) = g^(a * aw[i],i), ce produit est exactement g^(a * r * A), où A est la somme des aw[i],i pour i appartenant à J.
Ainsi Q^(1/T) permet de simplifier cette somme et donne exactement g^(a/bs). En calculant l’image par H de cette dernière valeur on retombe exactement sur Es.
A l’inverse, si le motif diffère, ne serait-ce que sur une unique position, de la suite de caractères chiffré, on peut prouver que la probabilité de retomber sur Es est d’au plus 1 /p, ce qui est négligeable en pratique. En effet, p peut être choisi par exemple proche de 2256.
L’invention vise aussi un procédé de déchiffrement d'un chiffré obtenu par chiffrement de données comportant au moins u caractères élémentaires, le chiffré étant généré conformément à un procédé de chiffrement tel que décrit précédemment, le procédé de déchiffrement comprenant :
- obtention d'une trappe associée à chacune des données élémentaires distinctes du flux de données, ladite trappe étant générée conformément à un procédé de génération d’une trappe tel que décrit précédemment,
- détection de la présence de cette trappe, conformément au procédé de détection d'un motif tel que décrit précédemment.
Un dispositif DG de génération de trappe dans un système de chiffrement, selon un exemple de réalisation va maintenant être décrit en relation avec la . Ce dispositif DG est un équipement informatique, tel un ordinateur.
Le dispositif DG de génération de trappe comprend :
- une unité de traitement ou processeur 601, ou "CPU" (de l'anglais "Central Processing Unit"), destinée à charger des instructions en mémoire, à les exécuter, à effectuer des opérations ;
- un ensemble de mémoires, dont une mémoire volatile 602, ou "RAM" (pour "Random Access Memory") utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 603 de type « EEPROM » (de anglais « Electrically Erasable Programmable Read Only Memory »). En particulier, la mémoire de stockage 603 est agencée pour mémoriser un module logiciel de génération de trappe qui comprend des instructions de code pour mettre en œuvre les étapes du procédé de génération de trappe tel que décrit précédemment. La mémoire de stockage 603 est également agencée pour mémoriser dans une zone sécurisée la clé secrète sk du système de chiffrement.
Le dispositif DG de génération de trappe comprend également :
- un module MT22 pour sélectionner un entier s compris entre 1 et t ;
- un module MT24 de calcul d’une valeur T =  bs*(r1aw[1],1 + r2aw[2],2 +…+ rvaw[v],v), ri =0 si w[i] est ledit caractère spécial et ri est égal à un entier r sinon, et
- un module RES pour restituer la trappe comportant les éléments s, r, et T.
Un dispositif DC de chiffrement, selon un exemple de réalisation va maintenant être décrit en relation avec la . Ce dispositif DC de chiffrement est un équipement informatique, tel un ordinateur.
Il comprend :
- une unité de traitement ou processeur 701 , ou CPU, destinée à charger des instructions en mémoire, à les exécuter, à effectuer des opérations ;
- un ensemble de mémoires, dont une mémoire volatile 702, ou RAM utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 703 de type EEPROM. En particulier, la mémoire de stockage 703 est agencée pour mémoriser un module logiciel de chiffrement qui comprend des instructions de code pour mettre en œuvre les étapes du procédé de chiffrement tel que décrit précédemment. La mémoire 703 est également agencée pour mémoriser la clé publique pk du système de chiffrement.
Le dispositif DC de chiffrement comprend également :
- un module MC22 de sélection d’un entier a entre 0 et p-1 ;
- un premier module MC24 de calcul pour tout entier k entre 1 et une entier t, d’une valeur Ek = H(hk^(a))
- un deuxième module MC26 de calcul pour tout entier i entre 1 et un entier u, d’une valeur Ci égale à gm[i],i^a, et
un module MC28 d’obtention du chiffré, ledit chiffré étant constitué des éléments {Ek, Ci}.
Un dispositif DD de détection de présence d’un motif, selon un exemple de réalisation va maintenant être décrit en relation avec la . Ce dispositif DD est un équipement informatique, tel un ordinateur.
Il comprend :
- une unité de traitement ou processeur 801, ou CPU, destinée à charger des instructions en mémoire, à les exécuter, à effectuer des opérations ;
- un ensemble de mémoires, dont une mémoire volatile 802, ou RAM utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 803 de type EEPROM. En particulier, la mémoire de stockage 803 est agencée pour mémoriser un module logiciel de détection d'un motif dans un flux qui comprend des instructions de code pour mettre en œuvre les étapes du procédé de détection de motif tel que décrit précédemment.
Le dispositif DD de détection de présence d’un motif comprend également :
- un module MD20 d’obtention d’une trappe TR(w) associée audit motif ;
- un premier module MD22 de calcul d’un élément Q = C1^r1*…*Cv^rv avec ri =0 si w[i] est ledit caractère spécial et ri = r sinon ;
- un deuxième module MD24 de calcul d’une valeur D égale à Q^(1/T), où T est un élément de ladite trappe ;
- un troisième module MD26 de calcul d’une valeur H(D) où H est une fonction H à valeur dans un ensemble fini ;
- un module MD30 de détection configuré pour détecter que les données (m) comportent ledit motif (w) si H(D) est égal à Es, où s est un entier compris dans ladite trappe.

Claims (11)

  1. Procédé de génération d’une trappe (TR(w)) dans un système de chiffrement , ladite trappe (TR(w)) étant associée à un motif w comprenant des caractères élémentaires w[1, …w[v compris dans un alphabet (S) complété par un caractère spécial pouvant remplacer un caractère quelconque dudit alphabet, ledit système définissant une clé secrète (sk) paramétrée par des entiers n et t et comportant :
    - un entier ac,i pour tout caractère c de l’alphabet (S) et pour tout entier i entre 1 et l’entier n ; et
    - un entier bk pour tout entier k entre 1 et l’entier t ;
    le procédé comportant des étapes de :
    - sélection (T22) d’un entier s compris entre 1 et l’entier t ; et
    - calcul (T24) d’une valeur T =  bs*(r1aw[1],1 + r2aw[2],2 +…+ rvaw[v],v), ri =0 si w[i] est ledit caractère spécial et ri est égal à un entier r sinon,
    ladite trappe comportant les éléments s, r, et T.
  2. Procédé de chiffrement mis en œuvre dans un système de chiffrement définissant une clé publique (pk), pour obtenir un chiffré (C) par chiffrement de données (m) comportant au moins u caractères élémentaires m[i, la clé publique pk comportant :
    - des éléments gc,i pour tout entier i entre 1 et un entier u, les éléments gc,i étant de la forme g^(ac,i) où ac,i est un entier entre 0 et un entier p-1 et g un générateur d’un groupe G d’ordre p ;
    - des éléments hk, pour tout entier k entre 1 et un entier t, les éléments hk étant de la forme g^(1/bk) où bk est un entier entre 0 et p-1.;
    - le générateur g ;
    - une description du groupe G ; et
    - une description d’une fonction H à valeur dans un ensemble fini,
    ledit procédé comportant des étapes de :
    - sélection (C22) d’un entier a entre 0 et p-1 ;
    - calcul (C24) pour tout entier k entre 1 et t, d’une valeur Ek = H(hk^(a)) ;
    - calcul (C26) pour tout entier i entre 1 et u, d’une valeur Ci égale à gm[i],i^a,
    - obtention (C28) du chiffré (C), ledit chiffré étant constitué des éléments {Ek, Ci}.
  3. Procédé de détection, dans un système de chiffrement , d'un motif (w) dans un chiffré (C) obtenu par chiffrement de données (m), ledit motif (w) comprenant des caractères élémentaires (w[1, …w[v) compris dans un alphabet (S) complété par un caractère spécial pouvant remplacer un caractère quelconque dudit alphabet, le procédé comprenant des étapes de :
    - obtention (D20) d’une trappe (TR(w)) associée audit motif ;
    - calcul (D22) d’un élément Q = C1^r1*…*Cv^rv avec ri =0 si w[i] est ledit caractère spécial et ri = r sinon ;
    - calcul (D24) d’une valeur D égale à Q^(1/T), où T est un élément de ladite trappe ;
    - calcul (D26) d’une valeur H(D) où H est une fonction H à valeur dans un ensemble fini ;
    - détection (D30) que les données (m) comportent ledit motif (w) si H(D) est égal à Es, où s est un entier compris dans ladite trappe.
  4. Dispositif (DG) de génération d’une trappe (TR(w)) dans un système de chiffrement , ladite trappe (TR(w)) étant associée à un motif (w) comprenant des caractères élémentaires (w[1, …w[v) compris dans un alphabet (S) complété par un caractère spécial pouvant remplacer un caractère quelconque dudit alphabet, ledit système définissant une clé secrète (sk) paramétrée par des entiers n et t et comportant :
    - un entier ac,i pour tout caractère c de l’alphabet (S) et pour tout entier i entre 1 et l’entier n ; et
    - un entier bk pour tout entier k entre 1 et l’entier t ;
    le dispositif (DG) comportant:
    - un module (MT22) de sélection d’un entier s compris entre 1 et t ; et
    - un module (MT24) de calcul d’une valeur T =  bs*(r1aw[1],1 + r2aw[2],2 +…+ rvaw[v],v), ri =0 si w[i] est ledit caractère spécial et ri est égal à un entier r sinon,
    ladite trappe (TR(w)) comportant les éléments s, r, et T.
  5. Programme d’ordinateur pour un dispositif de génération d’une trappe dans un système de chiffrement , comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de génération d’une trappe selon la revendication 1, lorsque le programme est exécuté sur ledit dispositif.
  6. Dispositif (DC) de chiffrement mis en œuvre dans un système de chiffrement définissant une clé publique (pk), le dispositif étant configuré pour obtenir un chiffré (C) par chiffrement de données (m), comportant au moins u caractères élémentaires m[i, la clé publique (pk) comportant :
    - des éléments gc,i pour tout entier i entre 1 et un entier u, les éléments gc,i étant de la forme g^(ac,i) où ac,i est un entier entre 0 et un entier p-1 et g un générateur d’un groupe G d’ordre p  ;
    - des éléments hk, pour tout entier k entre 1 et un entier t, les éléments hk étant de la forme g^(1/bk) où bk est un entier entre 0 et p-1.;
    - le générateur g d’un groupe G  ;
    - une description du groupe G ; et
    - une description d’une fonction H à valeur dans un ensemble fini,
    ledit dispositif comportant :
    - un module (MC22) de sélection d’un entier a entre 0 et p-1 ;
    - un premier module (MC24) de calcul pour tout entier k entre 1 et t, d’une valeur Ek = H(hk^(a))
    - un deuxième module (MC26) de calcul pour tout entier i entre 1 et u, d’une valeur Ci égale à gm[i],i^a, et
    un module (MC28) d’obtention du chiffré, ledit chiffré étant constitué des éléments {Ek, Ci}.
  7. Programme pour un dispositif de chiffrement, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de chiffrement selon la revendication 2, lorsque le programme est exécuté sur ledit dispositif.
  8. Dispositif (DD) de détection, dans un système de chiffrement, de présence d'un motif (w) dans un chiffré (C) obtenu par chiffrement de données (m), ledit motif (w) comprenant des caractères élémentaires (w[1, …w[v) compris dans un alphabet (S) complété par un caractère spécial pouvant remplacer un caractère quelconque dudit alphabet, le dispositif comprenant :
    - un module (MD20) d’obtention d’une trappe (TR(w)) associée audit motif ;
    - un premier module (MD22) de calcul d’un élément Q = C1^r1*…*Cv^rv avec ri =0 si w[i] est ledit caractère spécial et ri = r sinon ;
    - un deuxième module (MD24) de calcul d’une valeur D égale à Q^(1/T), où T est un élément de ladite trappe ;
    - un troisième module (MD26) de calcul d’une valeur H(D) où H est une fonction H à valeur dans un ensemble fini ;
    - un module (MD30) de détection configuré pour détecter que les données (m) comportent ledit motif (w) si H(D) est égal à Es, où s est un entier compris dans ladite trappe.
  9. Programme pour un dispositif de détection de présence d'un motif dans un chiffré, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de détection de présence d'un motif dans un chiffré selon la revendication 3, lorsque le programme est exécuté sur ledit dispositif.
  10. Procédé de déchiffrement d'un chiffré (C) obtenu par chiffrement de données (m) comportant au moins u caractères élémentaires m[i, le chiffré étant généré conformément au procédé de chiffrement selon la revendication 2, le procédé de déchiffrement comprenant :
    - obtention d'une trappe associée à chacune des données élémentaires distinctes du flux de données, ladite trappe étant générée conformément au procédé de génération de trappe selon la revendication 1 ,
    - détection de la présence de ladite trappe, conformément au procédé de détection d'un motif selon la revendication 3.
  11. Système de chiffrement comprenant :
    - un dispositif (DG) de génération de trappe selon la revendication 4,
    - un dispositif (DC) de chiffrement selon la revendication 6, et
    - un dispositif (DD) de détection de présence d'un motif dans un chiffré selon la revendication 8.
PCT/EP2023/077826 2022-10-17 2023-10-09 Procédés et dispositifs de chiffrement, de génération de trappe et de détection de motif WO2024083540A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2210693A FR3141025A1 (fr) 2022-10-17 2022-10-17 Procédés et dispositifs de chiffrement, de génération de trappe et de détection de motif
FRFR2210693 2022-10-17

Publications (1)

Publication Number Publication Date
WO2024083540A1 true WO2024083540A1 (fr) 2024-04-25

Family

ID=86329651

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/077826 WO2024083540A1 (fr) 2022-10-17 2023-10-09 Procédés et dispositifs de chiffrement, de génération de trappe et de détection de motif

Country Status (2)

Country Link
FR (1) FR3141025A1 (fr)
WO (1) WO2024083540A1 (fr)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DESMOULINS NICOLAS ET AL: "Pattern Matching on Encrypted Streams", 27 October 2018, ADVANCES IN DATABASES AND INFORMATION SYSTEMS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 121 - 148, ISBN: 978-3-319-10403-4, XP047495338 *
ELIE BOUSCATI ET AL: "Public Key Encryption with Flexible Pattern Matching", vol. 20210531:064003, 28 May 2021 (2021-05-28), pages 1 - 30, XP061059568, Retrieved from the Internet <URL:https://eprint.iacr.org/2021/713.pdf> [retrieved on 20210528] *
LIN-SHUNG HUANGALEX RICEERLING ELLINGSENCOLLIN JACKSON: "2014 IEEE Symposium on Security and Privacy", May 2014, IEEE COMPUTER SOCIETY PRESS, article "Analyzing forged SSL certificates", pages: 83 - 97

Also Published As

Publication number Publication date
FR3141025A1 (fr) 2024-04-19

Similar Documents

Publication Publication Date Title
CN105553648B (zh) 量子密钥分发、隐私放大及数据传输方法、装置及系统
US11463242B2 (en) Padding oracle elimination in RSA encryption
EP2887574A1 (fr) Procédé de conversion d&#39;un contenu à acces conditionnel
FR2754659A1 (fr) Procede et appareil de generation de valeurs uniques impossibles a predire
FR2986631A1 (fr) Dispositif et procede de production d&#39;un code d&#39;authentification d&#39;un message
EP3861670B1 (fr) Méthode de transchiffrement à faible latence de calcul appliquée au chiffrement homomorphe
US20040252836A1 (en) Message-authenticated encryption apparatus or decryption apparatus for common-key cipher
CN112347498A (zh) 一种加密方法、装置、电子设备及可读存储介质
EP3854021A1 (fr) Méthode de traitement confidentiel de logs d&#39;un système d&#39;information
WO2021222272A1 (fr) Chiffrement symétrique distribué résistant aux attaques adaptatif
EP3545641A1 (fr) Procédé de chiffrement cherchable
FR2793366A1 (fr) Protocole de signature numerique a largeur de bande reduite
WO2024083540A1 (fr) Procédés et dispositifs de chiffrement, de génération de trappe et de détection de motif
US11165758B2 (en) Keystream generation using media data
EP2727253A1 (fr) Procédé de traitement d&#39;un paquet de données avant son émission dans un réseau de communication par radio, procédé de traitement d&#39;un paquet de données reçu, dispositifs et systèmes associés
CN113595982B (zh) 一种数据传输方法、装置、电子设备及存储介质
US11914746B2 (en) Methods and systems for validating sensitive data in a distributed computing system without exposing the sensitive data
WO2014029951A1 (fr) Système de cryptographie
EP2153575B1 (fr) Obtention de valeurs dérivées dépendant d&#39;une valeur maîtresse secrète
FR3123469A1 (fr) Contremesures par infection améliorées
Aa HexE-Securing Audio Contents in Voice Chat using Puzzle and Timestamp
JPWO2006114841A1 (ja) 情報処理方法および情報処理システム
Sannidhan et al. Lightweight Cryptographic Authentication Using Facial Landmarks and LFSR for IoT Security
EP3340096B1 (fr) Procédé de configuration d&#39;un programme cryptographique destiné à être exécuté par un terminal
FR3141021A1 (fr) Procédé de mise en œuvre d’un service d’une chaîne de services et dispositif électronique associé

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23786075

Country of ref document: EP

Kind code of ref document: A1