EP1759482A1 - Method and apparatus for data encryption or decryption - Google Patents

Method and apparatus for data encryption or decryption

Info

Publication number
EP1759482A1
EP1759482A1 EP05777131A EP05777131A EP1759482A1 EP 1759482 A1 EP1759482 A1 EP 1759482A1 EP 05777131 A EP05777131 A EP 05777131A EP 05777131 A EP05777131 A EP 05777131A EP 1759482 A1 EP1759482 A1 EP 1759482A1
Authority
EP
European Patent Office
Prior art keywords
data
encrypted
encryption
bits
block
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.)
Withdrawn
Application number
EP05777131A
Other languages
German (de)
French (fr)
Inventor
Pascal Nourry
Stéphanie RELIER
François DAUDE
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.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to EP05777131A priority Critical patent/EP1759482A1/en
Publication of EP1759482A1 publication Critical patent/EP1759482A1/en
Withdrawn 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/30Compression, e.g. Merkle-Damgard construction

Definitions

  • the present invention relates to the field of encryption in telecommunications networks.
  • Cryptology or scrambling, or encryption, consists of transforming, using secret conventions, information understandable by third parties into unintelligible information for third parties, or to perform the reverse operation, called decryption, thanks to means designed for that purpose.
  • a data packet In packet telecommunication networks, data packets are transmitted.
  • a data packet conventionally comprises data containing transport information which is mainly related to the transport processing in the network, and a so-called useful data item containing information which is mainly related to the content of the message to be transmitted and which must be conveyed to to the recipient.
  • IPsec Internet Protocol security
  • SRTP Secure Real-Time Transport Protocol
  • DVB Digital Video Broadcast
  • DVB-CSA for "Common Scrambling Algorithm", defined in a referenced document ETR 289, is known for "standard telecommunication institute Technical Report".
  • DVB-CSA Common Scrambling Algorithm
  • ETR 289 Standard telecommunication institute Technical Report
  • Such a function is particularly well suited for use in an MPEG-2 TS data stream, for MPEG2 Transport Stream, which is an audio and video sequence compression standard.
  • a disadvantage of this type of encryption is that it does not specify a synchronization mechanism between data to be encrypted and encryption keys for use of such an encryption method in a data transmission which is not coded according to MPEG-2 TS type.
  • a type of encryption function DVB-CSA is not suitable for encrypting audiovisual type of useful data of variable size.
  • ISMA Encryption and Authentication for "Internet Streaming Media Alliance", which encrypts useful data type multimedia.
  • the ISMA encryption method requires changing the header of each media data to insert specific encryption information for synchronization purposes.
  • This encryption information is generally public parameters such as a unique identifier for data to be encrypted or an encryption key indicator.
  • a disadvantage of this type of encryption method is that it adds synchronization information that creates a significant bit rate when transmitting such encrypted data. Such a method also poses compatibility problems with existing software resulting from the modification of the header of the encrypted data.
  • the present invention aims to propose a solution tending to satisfy these needs.
  • a first aspect of the present invention proposes a method for encrypting digital data blocks, each data block being associated with a time reference, according to which a value of an initialization vector Vl and an encryption key K are defined.
  • the method comprises, for each block of data to be encrypted, the steps of: obtaining a counter C, by combining said time reference and said value of the initialization vector; obtaining a sequence of encryption bits via an encryption function taking as input parameters said encryption key K and said counter C; encrypting said data block by combining it with said sequence of encryption bits.
  • the present invention therefore proposes an encryption method based on an encryption function which takes as input parameters an encryption key and an initial counter in order to combine them to deliver a sequence of encryption bits.
  • data block refers to a block comprising a set of data that can be an image, a soundtrack, or a multimedia data. Data of different type can therefore be contained in the same block of data.
  • a uniqueness of the counter obtained by combining the time reference associated with the block of data to be encrypted and the value of the initialization vector, a new value of the vector of initialization at a frequency such that the time references associated with the blocks of data to be encrypted are unique for a given value of the initialization vector.
  • This frequency is therefore generally a function of the length of the time reference associated with the blocks of data to be encrypted.
  • the data block to encrypting is useful data that constitutes a processing unit on the transmitter side or the receiver side.
  • a block of data to be encrypted can be an image.
  • the encoding processing of such data is generally done image after image.
  • the data block is transported in one or more of the packets as data. useful of a package.
  • the present invention covers another type of data block to be encrypted, since such a data block is associated with a time reference.
  • the block of data may be encrypted as the useful data of a packet to be transmitted in the network.
  • a time reference associated with the packet may be used.
  • the blocks of data thus encrypted are packaged before being transmitted through the network.
  • the block of data to be encrypted is broken down into several sub-blocks of fixed fixed length. It can therefore remain a last sub-block of length less than the determined length. Then, one digit after another all the sub-blocks thus obtained, including the last sub-block.
  • Such an encryption method according to an embodiment of the present invention also makes it possible to encrypt a block of data independently of the other data blocks.
  • such an encryption method does not add encryption overhead.
  • the data are thus encrypted according to a time reference that is already included in the transmitted data, regardless of the encryption.
  • an encryption system implementing a method according to an embodiment of the present invention can easily interface with an encryption key and rights management system using as synchronization the time references of the data packets. Such systems are well known to those skilled in the art. They will not be detailed.
  • Such a method also makes it possible to encrypt data packets independently of the transport layers of the transmission network.
  • an embodiment of the present invention may be implemented in any data packet transmission network.
  • An encryption method can thus advantageously be implemented in a multimedia data transport network.
  • the multimedia data before being sent over the network, the multimedia data are generally encoded. Then, these data are decoded upon receipt.
  • a block of data to be encrypted can be defined as the smallest part of the transmitted data that can be processed by an encoder and / or a decoder.
  • a block of data to be encrypted can correspond to an image.
  • the data to be transmitted, and the data to be encrypted a packet transmitted over the network may comprise either one or more blocks of encrypted data, or only a portion of an encrypted data block.
  • the present invention advantageously covers all possible data packet configurations.
  • a second aspect of the present invention proposes a device for encrypting digital data blocks, each data block being associated with a time reference, according to which a value of an initialization vector Vl and an encryption key K are defined.
  • Such a device comprises means arranged to implement an encryption method according to the first aspect of the present invention.
  • a third aspect of the present invention provides a method for decrypting digital data blocks, each data block being associated with a time reference, the data blocks being encrypted by a encryption method according to the first aspect of the present invention.
  • a value of an initialization vector and a synchronous encryption key are defined with the value of the initialization vector and the encryption key used in the encryption method.
  • the decryption method comprises, for each block of data to be decrypted, the steps of:
  • a fourth aspect of the present invention provides a device for decrypting digital data blocks, each data block to be decrypted being associated with a time reference, and being encrypted by an encryption method according to the first aspect of the invention.
  • Such a device comprises means arranged to implement a decryption method according to the third aspect of the present invention.
  • a fifth aspect of the present invention provides a computer program product, intended to be stored in a memory of a processing unit, or on a removable memory medium and intended to cooperate with a reader of said processing unit, said product computer program comprising instructions for implementing all or part of the steps of the method according to the first aspect of the invention.
  • a sixth aspect of the present invention proposes a computer program product, intended to be stored in a memory of a processing unit, or on a removable memory medium and intended to cooperate with a reader of said processing unit, said product computer program including instructions for implementing all or part of the steps of the method according to the third aspect of the present invention.
  • FIG. 1 is a diagram of the steps of an encryption method according to one embodiment of the invention.
  • FIG. 2 illustrates the main steps of flow encryption
  • FIG. 3 illustrates an encryption operation according to an embodiment of the present invention by combination of or exclusive
  • FIG. 4 illustrates a decryption operation of an encrypted data block, according to one embodiment of the invention
  • FIG. 5 illustrates an encryption of a block of data to be encrypted associated with a time reference according to an embodiment of the present invention in which the block of data to be encrypted is divided into a plurality of sub-blocks;
  • FIG. 6 illustrates a method of generating a counter according to an embodiment of the present invention
  • FIG. 7 illustrates an encryption and decryption of a data block cut into a plurality of sub-blocks according to an embodiment of the present invention
  • FIG. 8 illustrates an encryption device according to one embodiment of the invention
  • FIG. 9 illustrates a decryption device according to one embodiment of the invention.
  • Fig. 1 is a schematic diagram of the steps of an encryption method according to an embodiment of the present invention.
  • a block of data to be encrypted 12 is associated with an RT 13 Time Reference.
  • An initialization vector value Vl 10 is defined beforehand.
  • An encryption key K 19 is also defined in advance.
  • the present invention covers all means of obtaining an encryption key.
  • the temporal reference 13 is combined with the value of the vector In one embodiment of the invention, this combination corresponds to an operation of or exclusive. The latter is easy to implement. However, the present invention covers any other operation for generating a sequence of bits from an initialization vector and a time reference.
  • a counter 14 is obtained.
  • the time references associated with each of the blocks of data to be encrypted are preferably unique.
  • Such a counter 14 is therefore unique for each of the data blocks to be encrypted.
  • a new value of the initialization vector is preferably defined before values of the time references already associated with blocks of data to be encrypted are reused. Therefore, in one embodiment of the present invention, a new initialization vector value at a frequency is advantageously defined which is a function of the length of the time reference format associated with the data blocks to be encrypted.
  • a counter 14 is obtained which has a unique value for each of the blocks of data to be encrypted.
  • an operation 18 consists in processing, via an encryption function, the counter thus obtained and the encryption key defined beforehand.
  • This operation provides a sequence of encryption bits.
  • the encrypted data block 16 is obtained.
  • the present invention covers all the encryption functions, or encryption algorithms. It is advantageous to use a function of flow encryption. In this case, the encryption can be done bit by bit, or at least without waiting for the complete reception of a block of data to be encrypted. Such functions are advantageously implemented in streaming data transmissions ('streaming' in English).
  • encryption functions that are well known to those skilled in the art, such as AES-type encryption functions, for "Advanced Encryption Standard", standardized by NIST, for "National Standard and Technology Institute ", in a document referenced NIST FIPS 197, FIPS for” Federal Information Processing Standard ".
  • AES-type encryption functions for "Advanced Encryption Standard”
  • NIST National Standard and Technology Institute
  • This type of encryption function advantageously supports encryption keys of length equal to 128, 192 or 256 bits, while other encryption functions only support keys of less than 128 bits length. Thus, encryption can be more robust.
  • FIG. 2 illustrates the main steps of flow ciphering.
  • a flow cipher function 22 stream cipher 1 in English, takes as input parameter 24 a counter and as input parameter 25 an encryption key to provide a sequence of cipher bits. This sequence of encryption bits is then combined with the data block to be encrypted 21 to finally provide the corresponding encrypted data block 23.
  • a block of data thus encrypted can then be packaged in one or more data packets to be transmitted via the network.
  • Fig. 3 illustrates an encryption operation according to an embodiment of the present invention by combination of or exclusive.
  • the block of data to be encrypted 12 is associated with a time reference 13.
  • the sequence of encryption bits is combined with the block of data to be encrypted by an operation of or exclusive to provide the encrypted data block 16.
  • This block of data encrypted 16 is associated with the time reference 13, equal to the time reference associated with the data block to be encrypted 12.
  • a transmission of the data block thus encrypted can then be performed in the same way as any data block.
  • the data block to be encrypted and the encrypted data block are of identical length.
  • the encryption method has no effect on packetization and data transmission.
  • the encryption method is advantageously independent of the transport layer of the network used and does not introduce overflow in the transport of such data.
  • a data block decryption operation is performed on the receiver side of the data.
  • a received data packet comprises one or more blocks of encrypted data, or that it comprises only part of an encrypted data block
  • the block of data is deciphered. encrypted data.
  • Such an encrypted data block is received in such a way that it is associated with a time reference.
  • the encrypted data block receiver is informed of the current value of the initialization vector and the encryption key used in the encryption method.
  • the present invention covers all methods enabling the receiver to know this information synchronously with their use in the encryption method. Such methods are well known to those skilled in the art.
  • the same encryption function used in the encryption method used on the transmitter side is used.
  • the same operation of combining the value of the initialization vector and the time reference of the encrypted data block is performed to obtain the same counter as that obtained in the encryption method used to the encryption of the transmitted data.
  • a sequence of decryption bits is then obtained which is identical to the sequence of encryption bits obtained for the block of data to be encrypted by providing as input parameters of the decryption function the encryption key and the encryption key. counter.
  • An inverse combination is then made with the one performed in the encryption method between the data block to be encrypted and the sequence of encryption bits, this inverse combination being made between the encrypted data block and the sequence of encryption. binary decryption elements. This gives the decrypted data block.
  • FIG. 4 illustrates a decryption operation of an encrypted data block 16, according to one embodiment of the invention, in which the encryption of the data block has been achieved by an operation of or exclusive between the data block to encrypt and the sequence of encryption bits.
  • the ciphered data block associated with a time reference is received on the receiving side.
  • an exclusive operation is performed between the encrypted data block and the decryption bit sequence 15.
  • the decrypted data block 12 associated with the corresponding time reference is obtained. 13 received in association with the encrypted data block 16.
  • the data to be transmitted are multimedia type data. They can be coded according to an MPEG-4 type protocol.
  • a block of data to be encrypted multimedia is noted subsequently AU, for "Access Unit".
  • Such data may correspond to a useful data constituting a processing unit by the encoder and / or the decoder, such as for example an image for the transmission of a sequence of images.
  • a time reference is associated with each AU. This time reference is coded on an integer T of bits.
  • the length of an AU to be encrypted is equal to an integer number L of bits.
  • An encryption method is a stream encryption method. As previously described, a method of this type makes it possible to encrypt bit-by-bit data.
  • a number (m-1) of sub-blocks of length equal to 128 bits is obtained.
  • These sub-blocks are denoted Bj for i ranging from 1 to m-1.
  • the last sub-block noted R has a length of RL bits.
  • FIG. 5 illustrates an encryption of a block of data to be encrypted associated with a time reference according to an embodiment of the present invention, in which the block of data to be encrypted is split into a plurality of sub-blocks Bj as described above.
  • FIG. 6 illustrates a method of generating a counter in one embodiment in which the value of the initialization vector Vl 61 is combined with a value generated from the time reference associated with the block of data to be encrypted.
  • the format of the time reference 13 is smaller than the fixed fixed length of the sub-blocks Bi for i ranging from 1 to m-1.
  • the format of the time reference 13 can then be shifted to the high-order bits and the lower-order bits 62 are given dummy values. These bits of lower weight are in this example set to 0.
  • the value to be combined with the value of the initialization vector 61, in order to obtain a counter can be written in the following form:
  • the present invention covers any other method of generating a value to be combined with the initialization vector from a time reference which has a length less than the initialization vector in order to obtain a value to be combined of the same length as the initialization vector. initialization vector.
  • the recipient or recipients know this method in order to be able to decrypt the data thus encrypted, as detailed in other sections.
  • the encryption method uses an AES type encryption function. More particularly, a 128-bit AES encryption function in CTR mode, for CompTeuR, standardized in a referenced NIST SP 800-38A document.
  • the encryption key preferably has a length equal to 128 bits.
  • the initialization vector also preferably has a length equal to 128 bits.
  • a value of the initialization vector is denoted by Vl.
  • AES CW, x
  • CW sequence of encryption bits obtained via the AES encryption function taking as parameters input the encryption key CW and a counter x.
  • the encryption function E is defined such that, for each sub-block B 1 of a data block to be encrypted, i being between 1 and m-1, the following equation is obtained:
  • E (R) R XOR [first R L bits of AES (CW, C + m)]. Then, we can then transmit I 1 AU encrypted.
  • Fig. 7 illustrates an embodiment of the present invention as described above.
  • the first AU is cut in m in blocks as previously described.
  • E (Bj) first sub-blocks
  • E (R) the last sub-block R
  • the AU thus encrypted 72 is associated with the temporal reference 13 with the same value as the temporal reference already associated with the AU to be encrypted.
  • first and the second AU are advantageously independently encrypted.
  • a method for decrypting the data thus encrypted is based on the decryption function denoted by D which verifies the following equation, for each sub-block Bi, i being between 1 and m-1:
  • an encryption device advantageously implements an encryption method according to the invention.
  • FIG. 8 illustrates such an encryption device 80, comprising a storage entity 81 for the data to be encrypted, an encryption entity 82 data to be encrypted and a storage entity 83 encrypted data.
  • a decryption device advantageously implements a decryption method according to the invention.
  • FIG. 9 illustrates such a decryption device 90, comprising a storage entity 91 of the encrypted data to be decrypted, a decryption entity 92 of the data to be decrypted and a storage entity 93 of the decrypted data.
  • Data encrypted by a method according to the invention can be advantageously stored on any medium for storing digital data.
  • the decryption method advantageously uses the same encryption algorithm as used in the encryption method. It preferably generates the same counter as that generated in the encryption method from the time reference associated with the encrypted data block, which is identical to that associated with the corresponding data block to be encrypted. The value of the initialization counter is synchronized between the sending side of encrypted data and the receiving side. Therefore, the encrypted data received is advantageously decrypted without having to carry specific information encryption.
  • An encryption and decryption method can be advantageously implemented in streaming transmission devices, or "streaming" in English.
  • the present invention can offer great flexibility as to the size of the blocks of data to be encrypted and therefore makes it possible to encrypt blocks of data of very variable sizes.
  • the invention enables the transmission of multimedia data over heterogeneous transport networks. Indeed, the invention can be implemented on any data block transport medium associated with a time reference value.
  • the invention advantageously makes it possible not to propagate an error in case of loss of a data packet since one can encrypt a data block independently of the other blocks of data to be encrypted.

Abstract

Digital data blocks are encrypted, each data block that is to be encrypted being associated with a time reference. A value of an initialization vector Vi and an encryption key K are defined. Then, a counter C is obtained for each data block to be encoded, by combining the time reference and the value of the initialization vector. A series of binary encryption elements is obtained via an encryption function taking the encryption key K and counter C as input parameters. The data block is then encrypted by combining it with the series of binary encryption elements.

Description

PROCEDE ET DISPOSITIF DE CHIFFREMENT OU DECHIFFREMENT DE METHOD AND DEVICE FOR ENCRYPTING OR DE-CREATING
DONNEESDATA
La présente invention est relative au domaine du chiffrement dans les réseaux de télécommunications.The present invention relates to the field of encryption in telecommunications networks.
La cryptologie, ou bien l'embrouillage, ou encore le chiffrement, consiste à transformer à l'aide de conventions secrètes des informations compréhensibles par des tiers en informations inintelligibles pour des tiers, ou à réaliser l'opération inverse, appelée déchiffrement, grâce à des moyens conçus à cet effet.Cryptology, or scrambling, or encryption, consists of transforming, using secret conventions, information understandable by third parties into unintelligible information for third parties, or to perform the reverse operation, called decryption, thanks to means designed for that purpose.
Dans des réseaux de télécommunication de paquets, des paquets de données sont transmis. Un paquet de données comprend classiquement une donnée contenant des informations de transport qui sont principalement liées au traitement de transport dans le réseau, et une donnée dite utile contenant des informations qui sont principalement liées au contenu du message à transmettre et qui doivent être acheminées jusqu'au destinataire.In packet telecommunication networks, data packets are transmitted. A data packet conventionally comprises data containing transport information which is mainly related to the transport processing in the network, and a so-called useful data item containing information which is mainly related to the content of the message to be transmitted and which must be conveyed to to the recipient.
Dans les réseaux existants, il existe déjà de nombreuses méthodes de chiffrement de données. Certaines de ces méthodes proposent de chiffrer des paquets de données au niveau des données de transport.In existing networks, there are already many methods of encrypting data. Some of these methods provide for encrypting data packets at the transport data level.
Ainsi, dans le domaine des réseaux de type Internet, on connaît un protocole nommé IPsec, pour « Internet Protocole security », qui est défini dans le document standard « Security Architecture for the Internet Protocol » référencé RFC 2401 , pour 'Request For Comment'. On connaît également un protocole nommé SRTP, pour « Secure Real-Time Transport Protocol », qui est défini dans un document standard « The Secure Real-time Transport Protocol » référencé RFC 3711. Des protocoles de ce type, sont conçus et adaptés pour chiffrer des données transmises selon un protocole de type IP. Ils présentent l'inconvénient de ne pas s'adapter facilement à d'autre type de transport tels que par exemple le transport de fichiers multimédia ou encore la diffusion dans les réseaux de type DVB, pour « Digital Video Broadcast ».Thus, in the field of Internet type networks, there is known a protocol named IPsec, for "Internet Protocol security", which is defined in the standard document "Security Architecture for the Internet Protocol" referenced RFC 2401, for "Request For Comment" . Also known is a protocol named SRTP, for "Secure Real-Time Transport Protocol", which is defined in a standard document "The Secure Real-time Transport Protocol" referenced RFC 3711. Protocols of this type, are designed and adapted to encrypt data transmitted according to an IP type protocol. They have the disadvantage of not easily adapting to other types of transport such as for example the transport of multimedia files or broadcasting in DVB type networks, for "Digital Video Broadcast".
D'autres solutions proposent des chiffrements conçus et adaptés pour chiffrer des données transmises selon un protocole de type DVB. On connaît notamment une fonction de chiffrement nommé DVB-CSA, pour « Common Scrambling Algorithm », définie dans un document référencé ETR 289, pour Εuropean télécommunications standards institute Technical Report'. Une telle fonction est particulièrement bien adaptée pour être utilisée dans un flux de données de type MPEG-2 TS, pour MPEG2 Transport Stream, qui est une norme de compression de séquence audio et vidéo.Other solutions offer ciphers designed and adapted for encrypt data transmitted according to a DVB protocol. In particular, an encryption function called DVB-CSA, for "Common Scrambling Algorithm", defined in a referenced document ETR 289, is known for "standard telecommunication institute Technical Report". Such a function is particularly well suited for use in an MPEG-2 TS data stream, for MPEG2 Transport Stream, which is an audio and video sequence compression standard.
Un inconvénient de ce type de chiffrement est qu'il ne précise pas de mécanisme de synchronisation entre des données à chiffrer et des clés de chiffrement pour une utilisation d'un tel procédé de chiffrement dans une transmission de données qui ne sont pas codées selon de type MPEG-2 TS. De plus, une fonction de chiffrement de type DVB-CSA n'est pas adaptée pour chiffrer des données utiles de type audiovisuelles d'une taille variable.A disadvantage of this type of encryption is that it does not specify a synchronization mechanism between data to be encrypted and encryption keys for use of such an encryption method in a data transmission which is not coded according to MPEG-2 TS type. In addition, a type of encryption function DVB-CSA is not suitable for encrypting audiovisual type of useful data of variable size.
Il existe également des fonctions de chiffrement réalisées au niveau des données utiles transportées. On connaît notamment dans un réseau multimédia, une spécification nommée ISMA Encryption and Authentication, pour « Internet Streaming Media Alliance », qui permet de chiffrer des données utiles de type multimédia. La méthode de chiffrement ISMA nécessite la modification de l'en-tête de chaque donnée multimédia afin d'y insérer des informations de chiffrement spécifiques pour des besoins de synchronisation. Ces informations de chiffrement sont généralement des paramètres publics comme par exemple un identifiant unique par donnée à chiffrer ou encore un indicateur de clé de chiffrement.There are also encryption functions performed at the transported useful data level. One particular known in a multimedia network, a specification called ISMA Encryption and Authentication, for "Internet Streaming Media Alliance", which encrypts useful data type multimedia. The ISMA encryption method requires changing the header of each media data to insert specific encryption information for synchronization purposes. This encryption information is generally public parameters such as a unique identifier for data to be encrypted or an encryption key indicator.
Un inconvénient de ce type de procédé de chiffrement est qu'il ajoute des informations de synchronisation qui créent un sur débit non négligeable lors de la transmission de telles données chiffrées. Un tel procédé pose également des problèmes de compatibilité avec des logiciels existants résultant de la modification de l'en-tête des données chiffrées.A disadvantage of this type of encryption method is that it adds synchronization information that creates a significant bit rate when transmitting such encrypted data. Such a method also poses compatibility problems with existing software resulting from the modification of the header of the encrypted data.
Ainsi, il est intéressant de définir un procédé de chiffrement permettant de chiffrer des données transportées dans le réseau de télécommunication, de manière indépendante de la couche de transport du réseau utilisée, sans générer de sur débit lié à ce procédé de chiffrement.Thus, it is advantageous to define an encryption method for encrypting data transported in the telecommunication network, independently of the transport layer of the network used, without generating overhead linked to this encryption method.
La présente invention vise à proposer une solution tendant à satisfaire ces besoins.The present invention aims to propose a solution tending to satisfy these needs.
Un premier aspect de la présente invention propose un procédé de chiffrement de blocs de données numériques, chaque bloc de données étant associé à une référence temporelle, suivant lequel on définit une valeur d'un vecteur d'initialisation Vl et une clé de chiffrement K.A first aspect of the present invention proposes a method for encrypting digital data blocks, each data block being associated with a time reference, according to which a value of an initialization vector Vl and an encryption key K are defined.
Le procédé comprend, pour chaque bloc de données à chiffrer, les étapes consistant à : obtenir un compteur C, par combinaison de ladite référence temporelle et de ladite valeur du vecteur d'initialisation ; obtenir une suite d'éléments binaires de chiffrement via une fonction de chiffrement prenant comme paramètres d'entrée ladite clé de chiffrement K et ledit compteur C ; - chiffrer ledit bloc de données en le combinant avec ladite suite d'éléments binaires de chiffrement.The method comprises, for each block of data to be encrypted, the steps of: obtaining a counter C, by combining said time reference and said value of the initialization vector; obtaining a sequence of encryption bits via an encryption function taking as input parameters said encryption key K and said counter C; encrypting said data block by combining it with said sequence of encryption bits.
La présente invention propose donc un procédé de chiffrement basé sur une fonction de chiffrement qui prend comme paramètres d'entrée une clé de chiffrement et un compteur initial afin de les combiner pour délivrer une suite d'éléments binaires de chiffrement.The present invention therefore proposes an encryption method based on an encryption function which takes as input parameters an encryption key and an initial counter in order to combine them to deliver a sequence of encryption bits.
On note que les termes « bloc de données » font référence à un bloc comprenant un ensemble de données pouvant être une image, une bande son, ou encore une donnée multimédia. Des données de type différent peuvent donc être contenues dans un même bloc de données. Afin d'assurer, pour chaque bloc de données à chiffrer, une unicité du compteur obtenu par combinaison de la référence temporelle associée au bloc de données à chiffrer et de la valeur du vecteur d'initialisation, on définit une nouvelle valeur du vecteur d'initialisation à une fréquence telle que les références temporelles associées aux blocs de données à chiffrer sont uniques pour une valeur du vecteur d'initialisation donnée. Cette fréquence est donc généralement fonction de la longueur de la référence temporelle associée aux blocs de données à chiffrer.Note that the term "data block" refers to a block comprising a set of data that can be an image, a soundtrack, or a multimedia data. Data of different type can therefore be contained in the same block of data. In order to ensure, for each block of data to be encrypted, a uniqueness of the counter obtained by combining the time reference associated with the block of data to be encrypted and the value of the initialization vector, a new value of the vector of initialization at a frequency such that the time references associated with the blocks of data to be encrypted are unique for a given value of the initialization vector. This frequency is therefore generally a function of the length of the time reference associated with the blocks of data to be encrypted.
Dans un mode de réalisation de l'invention, le bloc de données à chiffrer correspond à une donnée utile qui constitue une unité de traitement du côté de l'émetteur ou du côté du récepteur. Notamment, lorsque les données à transmettre sont une séquence d'images, un bloc de données à chiffrer peut être une image. En effet, le traitement d'encodage de telles données est généralement réalisé image après image.In one embodiment of the invention, the data block to encrypting is useful data that constitutes a processing unit on the transmitter side or the receiver side. In particular, when the data to be transmitted is a sequence of images, a block of data to be encrypted can be an image. Indeed, the encoding processing of such data is generally done image after image.
Puis, après avoir chiffré et encodé le bloc de données, en fonction de la taille du bloc de données à chiffrer et de la taille des paquets du réseau de transmission, le bloc de données est transporté dans un ou plusieurs des paquets en tant que donnée utile d'un paquet. La présente invention couvre d'autre type de bloc de données à chiffrer, dès lors qu'un tel bloc de données est associé à une référence temporelle.Then, after encrypting and encoding the data block, depending on the size of the block of data to be encrypted and the size of the packets of the transmission network, the data block is transported in one or more of the packets as data. useful of a package. The present invention covers another type of data block to be encrypted, since such a data block is associated with a time reference.
On peut également définir le bloc de données à chiffrer comme la donnée utile d'un paquet à transmettre dans le réseau. Dans ce cas, on peut utiliser une référence temporelle associée au paquet.It is also possible to define the block of data to be encrypted as the useful data of a packet to be transmitted in the network. In this case, a time reference associated with the packet may be used.
Quelque soit le bloc de données à chiffrer, on met en paquet les blocs de données ainsi chiffrés avant de les transmettre à travers le réseau.Whatever the block of data to be encrypted, the blocks of data thus encrypted are packaged before being transmitted through the network.
Dans un mode de réalisation de l'invention, on décompose le bloc de données à chiffrer en plusieurs sous blocs de longueur fixe déterminée. Il peut donc rester un dernier sous bloc de longueur inférieure à la longueur déterminée. Puis, on chiffre l'un après l'autre tous les sous blocs ainsi obtenus, y compris le dernier sous bloc. Un mode de réalisation de ce type est décrit en détail dans des sections suivantes.In one embodiment of the invention, the block of data to be encrypted is broken down into several sub-blocks of fixed fixed length. It can therefore remain a last sub-block of length less than the determined length. Then, one digit after another all the sub-blocks thus obtained, including the last sub-block. An embodiment of this type is described in detail in the following sections.
On peut ainsi chiffrer des données d'un réseau de transmission quelque soit la taille des blocs de données à chiffrer. On peut de ce fait chiffrer des blocs de données de tailles très variables.It is thus possible to encrypt data of a transmission network regardless of the size of the blocks of data to be encrypted. As a result, data blocks of very different sizes can be encrypted.
Un tel procédé de chiffrement selon un mode de réalisation de la présente invention permet également de chiffrer un bloc de données indépendamment des autres blocs de données. De plus, un tel procédé de chiffrement n'ajoute pas de sur débit lié au chiffrement. En effet, les données sont ainsi chiffrées en fonction d'une référence temporelle qui est déjà incluse dans les données transmises, indépendamment du chiffrement. Par ailleurs, un système de chiffrement mettant en œuvre un procédé selon un mode de réalisation de la présente invention peut s'interfacer facilement avec un système de gestion de clé de chiffrement et de droits utilisant comme synchronisation les références temporelles des paquets de données. De tels systèmes sont bien connus de l'homme du métier. Ils ne seront pas détaillés.Such an encryption method according to an embodiment of the present invention also makes it possible to encrypt a block of data independently of the other data blocks. In addition, such an encryption method does not add encryption overhead. Indeed, the data are thus encrypted according to a time reference that is already included in the transmitted data, regardless of the encryption. Furthermore, an encryption system implementing a method according to an embodiment of the present invention can easily interface with an encryption key and rights management system using as synchronization the time references of the data packets. Such systems are well known to those skilled in the art. They will not be detailed.
Un tel procédé permet également de chiffrer des paquets de données de manière indépendante des couches de transport du réseau de transmission. Ainsi, un mode de réalisation de la présente invention peut être mis en œuvre dans n'importe quel réseau de transmission de paquets de données.Such a method also makes it possible to encrypt data packets independently of the transport layers of the transmission network. Thus, an embodiment of the present invention may be implemented in any data packet transmission network.
Un procédé de chiffrement selon la présente invention peut ainsi être avantageusement mis en œuvre dans un réseau de transport de données multimédia. Dans ce type de réseau, avant d'être émises sur le réseau, les données multimédia sont généralement encodées. Puis, ces données sont décodées à leur réception. Dans ce contexte, un bloc de données à chiffrer peut être définie comme étant la plus petite partie des données transmises qui puisse être traitée par un encodeur et/ou un décodeur. Ainsi, lorsque les données transportées sont une séquence d'images, un bloc de données à chiffrer peut correspondre à une image. En fonction du réseau de transport utilisé, des données à transmettre, et des données à chiffrer, un paquet transmis sur le réseau peut comprendre soit un ou plusieurs blocs de données chiffrés, soit seulement une partie d'un bloc de données chiffré. La présente invention couvre avantageusement toutes les configurations de paquets de données possibles. Un deuxième aspect de la présente invention propose un dispositif de chiffrement de blocs de données numériques, chaque bloc de données étant associé à une référence temporelle, suivant lequel on définit une valeur d'un vecteur d'initialisation Vl et une clé de chiffrement K. Un tel dispositif comprend des moyens agencés pour mettre en œuvre un procédé de chiffrement selon le premier aspect de la présente invention.An encryption method according to the present invention can thus advantageously be implemented in a multimedia data transport network. In this type of network, before being sent over the network, the multimedia data are generally encoded. Then, these data are decoded upon receipt. In this context, a block of data to be encrypted can be defined as the smallest part of the transmitted data that can be processed by an encoder and / or a decoder. Thus, when the transported data is a sequence of images, a block of data to be encrypted can correspond to an image. Depending on the transport network used, the data to be transmitted, and the data to be encrypted, a packet transmitted over the network may comprise either one or more blocks of encrypted data, or only a portion of an encrypted data block. The present invention advantageously covers all possible data packet configurations. A second aspect of the present invention proposes a device for encrypting digital data blocks, each data block being associated with a time reference, according to which a value of an initialization vector Vl and an encryption key K are defined. Such a device comprises means arranged to implement an encryption method according to the first aspect of the present invention.
Un troisième aspect de la présente invention propose un procédé de déchiffrement de blocs de données numériques, chaque bloc de données étant associé à une référence temporelle, les blocs de données étant chiffrés par un procédé de chiffrement selon le premier aspect de la présente invention. On définit une valeur d'un vecteur d'initialisation et une clé de chiffrement synchrone avec la valeur du vecteur d'initialisation et la clé de chiffrement utilisées dans le procédé de chiffrement. Le procédé de déchiffrement comprend, pour chaque bloc de données à déchiffrer, les étapes consistant à :A third aspect of the present invention provides a method for decrypting digital data blocks, each data block being associated with a time reference, the data blocks being encrypted by a encryption method according to the first aspect of the present invention. A value of an initialization vector and a synchronous encryption key are defined with the value of the initialization vector and the encryption key used in the encryption method. The decryption method comprises, for each block of data to be decrypted, the steps of:
- obtenir un compteur, par combinaison de ladite référence temporelle et de ladite valeur du vecteur d'initialisation ;obtaining a counter, by combining said time reference and said value of the initialization vector;
- obtenir une suite d'éléments binaires de déchiffrement via une fonction de déchiffrement prenant comme paramètres d'entrée ladite clé de chiffrement et ledit compteur, ladite fonction de déchiffrement étant équivalente à la fonction de chiffrement utilisée dans ledit procédé de chiffrement ;obtaining a sequence of decryption bits via a decryption function taking as input parameters said encryption key and said counter, said decryption function being equivalent to the encryption function used in said encryption method;
- déchiffrer ledit bloc de données chiffré en le combinant avec ladite suite d'éléments binaires de déchiffrement, via une combinaison inverse de celle utilisée dans ledit procédé de chiffrement à l'étape de chiffrement.decrypting said encrypted data block by combining it with said sequence of decryption bits, by a combination inverse to that used in said encryption method at the encryption step.
Un quatrième aspect de la présente invention propose un dispositif de déchiffrement de blocs de données numériques, chaque bloc de données à déchiffrer étant associé à une référence temporelle, et étant chiffré par un procédé de chiffrement selon le premier aspect de l'invention. Un tel dispositif comprend des moyens agencés pour mettre en œuvre un procédé de déchiffrement selon le troisième aspect de la présente invention.A fourth aspect of the present invention provides a device for decrypting digital data blocks, each data block to be decrypted being associated with a time reference, and being encrypted by an encryption method according to the first aspect of the invention. Such a device comprises means arranged to implement a decryption method according to the third aspect of the present invention.
Un cinquième aspect de la présente invention propose un produit programme d'ordinateur, destiné à être stocké dans une mémoire d'une unité de traitement, ou sur un support mémoire amovible et destiné à coopérer avec un lecteur de ladite unité de traitement, ledit produit programme d'ordinateur comprenant des instructions pour la mise en œuvre de tout ou partie des étapes du procédé selon le premier aspect de l'invention.A fifth aspect of the present invention provides a computer program product, intended to be stored in a memory of a processing unit, or on a removable memory medium and intended to cooperate with a reader of said processing unit, said product computer program comprising instructions for implementing all or part of the steps of the method according to the first aspect of the invention.
Un sixième aspect de la présente invention propose un produit programme d'ordinateur, destiné à être stocké dans une mémoire d'une unité de traitement, ou sur un support mémoire amovible et destiné à coopérer avec un lecteur de ladite unité de traitement, ledit produit programme d'ordinateur comportant des instructions pour la mise en œuvre de tout ou partie des étapes du procédé selon le troisième aspect de la présente invention.A sixth aspect of the present invention proposes a computer program product, intended to be stored in a memory of a processing unit, or on a removable memory medium and intended to cooperate with a reader of said processing unit, said product computer program including instructions for implementing all or part of the steps of the method according to the third aspect of the present invention.
D'autres aspects, buts et avantages de l'invention apparaîtront à la lecture de la description d'un de ses modes de réalisation.Other aspects, objects and advantages of the invention will appear on reading the description of one of its embodiments.
L'invention sera également mieux comprise à l'aide des dessins, sur lesquels :The invention will also be better understood with the aid of the drawings, in which:
- la figure 1 est un schéma des étapes d'un procédé de chiffrement selon un mode de réalisation de l'invention ;FIG. 1 is a diagram of the steps of an encryption method according to one embodiment of the invention;
- la figure 2 illustre des étapes principales d'un chiffrement par flux;FIG. 2 illustrates the main steps of flow encryption;
- la figure 3 illustre une opération de chiffrement selon un mode de réalisation de la présente invention par combinaison de ou exclusif;FIG. 3 illustrates an encryption operation according to an embodiment of the present invention by combination of or exclusive;
- la figure 4 illustre une opération de déchiffrement d'un bloc de données chiffré, selon un mode de réalisation de l'invention;FIG. 4 illustrates a decryption operation of an encrypted data block, according to one embodiment of the invention;
- la figure 5 illustre un chiffrement d'un bloc de données à chiffrer associé à une référence temporelle selon un mode de réalisation de la présente invention dans lequel le bloc de données à chiffrer est découpé en une pluralité de sous blocs ;FIG. 5 illustrates an encryption of a block of data to be encrypted associated with a time reference according to an embodiment of the present invention in which the block of data to be encrypted is divided into a plurality of sub-blocks;
- la figure 6 illustre un procédé de génération d'un compteur selon un mode de réalisation de la présente invention ;FIG. 6 illustrates a method of generating a counter according to an embodiment of the present invention;
- la figure 7 illustre un chiffrement et un déchiffrement d'un bloc de données découpé en une pluralité de sous blocs selon un mode de réalisation de la présente invention ;FIG. 7 illustrates an encryption and decryption of a data block cut into a plurality of sub-blocks according to an embodiment of the present invention;
- la figure 8 illustre un dispositif de chiffrement selon un mode de réalisation de l'invention ;FIG. 8 illustrates an encryption device according to one embodiment of the invention;
- la figure 9 illustre un dispositif de déchiffrement selon un mode de réalisation de l'invention.FIG. 9 illustrates a decryption device according to one embodiment of the invention.
La figure 1 est un schéma des étapes d'un procédé de chiffrement selon un mode de réalisation de la présente invention. Un bloc de données à chiffrer 12 est associé à une Référence Temporelle RT 13. On définit au préalable une valeur de vecteur d'initialisation Vl 10. On définit également au préalable une clé de chiffrement K 19.Fig. 1 is a schematic diagram of the steps of an encryption method according to an embodiment of the present invention. A block of data to be encrypted 12 is associated with an RT 13 Time Reference. An initialization vector value Vl 10 is defined beforehand. An encryption key K 19 is also defined in advance.
La présente invention couvre tous les moyens d'obtenir une clé de chiffrement.The present invention covers all means of obtaining an encryption key.
La référence temporelle 13 est combinée à la valeur du vecteur d'initialisation 10 par l'opération 17. Dans un mode de réalisation de l'invention, cette combinaison correspond à une opération de ou exclusif. Cette dernière est facile à mettre en œuvre. Cependant, la présente invention couvre toute autre opération permettant de générer une suite d'éléments binaires à partir d'un vecteur d'initialisation et d'une référence temporelle.The temporal reference 13 is combined with the value of the vector In one embodiment of the invention, this combination corresponds to an operation of or exclusive. The latter is easy to implement. However, the present invention covers any other operation for generating a sequence of bits from an initialization vector and a time reference.
On obtient ainsi un compteur 14. Pour une valeur de vecteur d'initialisation donnée, les références temporelles associées à chacun des blocs de données à chiffrer sont de préférence uniques. Un tel compteur 14 est par conséquent unique pour chacun des blocs de données à chiffrer. Puis, une nouvelle valeur du vecteur d'initialisation est de préférence définie avant que des valeurs des références temporelles déjà associées à des blocs de données à chiffrer soient réutilisées. Par conséquent, dans un mode de réalisation de la présente invention, on définit avantageusement une nouvelle valeur de vecteur d'initialisation à une fréquence qui est fonction de la longueur du format de la référence temporelle associée aux blocs de données à chiffrer.Thus, a counter 14 is obtained. For a given initialisation vector value, the time references associated with each of the blocks of data to be encrypted are preferably unique. Such a counter 14 is therefore unique for each of the data blocks to be encrypted. Then, a new value of the initialization vector is preferably defined before values of the time references already associated with blocks of data to be encrypted are reused. Therefore, in one embodiment of the present invention, a new initialization vector value at a frequency is advantageously defined which is a function of the length of the time reference format associated with the data blocks to be encrypted.
En gérant ainsi les valeurs du vecteur d'initialisation, on obtient un compteur 14 qui a une valeur unique pour chacun des blocs de données à chiffrer.By thus managing the values of the initialization vector, a counter 14 is obtained which has a unique value for each of the blocks of data to be encrypted.
Puis, une opération 18 consiste à traiter via une fonction de chiffrement, le compteur ainsi obtenu et la clé de chiffrement définie au préalable. Cette opération permet de fournir une suite d'éléments binaires de chiffrement. Puis, par combinaison de la suite d'éléments binaires de chiffrement et du bloc de données à chiffrer 12, on obtient le bloc de données chiffré 16. La présente invention couvre toutes les fonctions de chiffrement, ou encore algorithmes de chiffrement. On peut avantageusement utiliser une fonction de chiffrement par flux. Dans ce cas, le chiffrement peut être effectué bit à bit, ou tout au moins sans attendre la réception complète d'un bloc de données à chiffrer. De telles fonctions sont avantageusement mises en œuvre dans des transmissions de données en flux continu ('streaming' en anglais).Then, an operation 18 consists in processing, via an encryption function, the counter thus obtained and the encryption key defined beforehand. This operation provides a sequence of encryption bits. Then, by combining the sequence of encryption bits and the data block to be encrypted 12, the encrypted data block 16 is obtained. The present invention covers all the encryption functions, or encryption algorithms. It is advantageous to use a function of flow encryption. In this case, the encryption can be done bit by bit, or at least without waiting for the complete reception of a block of data to be encrypted. Such functions are advantageously implemented in streaming data transmissions ('streaming' in English).
On peut ainsi utiliser des fonctions de chiffrement bien connues par l'homme du métier telles que des fonctions de chiffrement de type AES, pour « Advanced Encryption Standard », normalisé par le NIST, pour « National Institut Standard and Technology », dans un document référencé NIST FIPS 197, FIPS pour « Fédéral Information Processing Standard». Ce type de fonction de chiffrement supporte avantageusement des clés de chiffrement de longueur égale à 128, 192 ou encore 256 bits, alors que d'autres fonctions de chiffrement ne supportent que des clés de longueur inférieure à 128 bits. Ainsi, le chiffrement peut être plus robuste.It is thus possible to use encryption functions that are well known to those skilled in the art, such as AES-type encryption functions, for "Advanced Encryption Standard", standardized by NIST, for "National Standard and Technology Institute ", in a document referenced NIST FIPS 197, FIPS for" Federal Information Processing Standard ". This type of encryption function advantageously supports encryption keys of length equal to 128, 192 or 256 bits, while other encryption functions only support keys of less than 128 bits length. Thus, encryption can be more robust.
La figure 2 illustre les étapes principales d'un chiffrement par flux. Ainsi, une fonction de chiffrement par flux 22, 'stream cipher1 en anglais, prend comme paramètre d'entrée 24 un compteur et comme paramètre d'entrée 25 une clé de chiffrement pour fournir une suite d'éléments binaires de chiffrement. Cette suite d'éléments binaires de chiffrement est alors combinée avec le bloc de données à chiffrer 21 pour fournir enfin le bloc de données chiffré correspondante 23.Figure 2 illustrates the main steps of flow ciphering. Thus, a flow cipher function 22, stream cipher 1 in English, takes as input parameter 24 a counter and as input parameter 25 an encryption key to provide a sequence of cipher bits. This sequence of encryption bits is then combined with the data block to be encrypted 21 to finally provide the corresponding encrypted data block 23.
Puis, un bloc de données ainsi chiffré peut alors être mis en paquet dans un ou plusieurs paquets de données à transmettre via le réseau.Then, a block of data thus encrypted can then be packaged in one or more data packets to be transmitted via the network.
La figure 3 illustre une opération de chiffrement selon un mode de réalisation de la présente invention par combinaison de ou exclusif.Fig. 3 illustrates an encryption operation according to an embodiment of the present invention by combination of or exclusive.
Le bloc de données à chiffrer 12 est associé à une référence temporelle 13. La suite d'éléments binaires de chiffrement est combinée au bloc de données à chiffrer par une opération de ou exclusif pour fournir le bloc de données chiffré 16. Ce bloc de données chiffré 16 est associé à la référence temporelle 13, égale à la référence temporelle associée au bloc de données à chiffrer 12.The block of data to be encrypted 12 is associated with a time reference 13. The sequence of encryption bits is combined with the block of data to be encrypted by an operation of or exclusive to provide the encrypted data block 16. This block of data encrypted 16 is associated with the time reference 13, equal to the time reference associated with the data block to be encrypted 12.
Une transmission du bloc de données ainsi chiffré peut ensuite être réalisée de la même façon que n'importe quel bloc de données. En effet, selon un mode de réalisation de l'invention, le bloc de données à chiffrer et le bloc de données chiffré sont de longueur identique. Le procédé de chiffrement n'a pas d'effet sur la mise en paquet et la transmission des données. Comme cela a déjà été décrit, le procédé de chiffrement est avantageusement indépendant de la couche de transport du réseau utilisé et n'introduit pas de sur débit dans le transport de telles données.A transmission of the data block thus encrypted can then be performed in the same way as any data block. Indeed, according to one embodiment of the invention, the data block to be encrypted and the encrypted data block are of identical length. The encryption method has no effect on packetization and data transmission. As already described, the encryption method is advantageously independent of the transport layer of the network used and does not introduce overflow in the transport of such data.
Dans un mode de réalisation de l'invention, côté récepteur des données, on effectue une opération de déchiffrement des blocs de données reçus. Quelque soit la méthode de transmission utilisée, qu'un paquet de données reçu comprenne un ou plusieurs blocs de données chiffrés, ou qu'il ne comprenne qu'une partie d'un bloc de données chiffré, côté récepteur, on déchiffre le bloc de données chiffré. Un tel bloc de données chiffré est reçu de telle façon qu'il est associé à une référence temporelle.In one embodiment of the invention, on the receiver side of the data, a data block decryption operation is performed. received. Whatever the transmission method used, whether a received data packet comprises one or more blocks of encrypted data, or that it comprises only part of an encrypted data block, on the receiver side, the block of data is deciphered. encrypted data. Such an encrypted data block is received in such a way that it is associated with a time reference.
Dans un mode de réalisation de la présente invention, le récepteur de blocs de données chiffrés est informé de la valeur courante du vecteur d'initialisation et de la clé de chiffrement utilisé dans le procédé de chiffrement. La présente invention couvre toutes méthodes permettant au récepteur de connaître ces informations de façon synchrone avec leur utilisation dans le procédé de chiffrement. De telles méthodes sont bien connues de l'homme du métier.In one embodiment of the present invention, the encrypted data block receiver is informed of the current value of the initialization vector and the encryption key used in the encryption method. The present invention covers all methods enabling the receiver to know this information synchronously with their use in the encryption method. Such methods are well known to those skilled in the art.
Par ailleurs, de préférence, on utilise dans le procédé de déchiffrement la même fonction de chiffrement que celle utilisée dans le procédé de chiffrement utilisé côté émetteur.Furthermore, preferably in the decryption method the same encryption function used in the encryption method used on the transmitter side is used.
Sur réception d'un bloc de données chiffré, on effectue la même opération de combinaison de la valeur du vecteur d'initialisation et de la référence temporelle du bloc de données chiffré pour obtenir le même compteur que celui obtenu dans le procédé de chiffrement utilisé pour le chiffrement des données émises. On obtient ensuite une suite d'éléments binaires de déchiffrement qui est identique à la suite d'éléments binaires de chiffrement obtenue pour le bloc de données à chiffrer en fournissant comme paramètres d'entrée de la fonction de déchiffrement, la clé de chiffrement et le compteur. Puis on réalise une combinaison inverse de celle qui a été réalisée dans le procédé de chiffrement entre le bloc de données à chiffrer et la suite d'éléments binaires de chiffrement, cette combinaison inverse étant réalisée entre le bloc de données chiffré et la suite d'éléments binaires de déchiffrement. On obtient ainsi le bloc de données déchiffré.Upon receipt of an encrypted data block, the same operation of combining the value of the initialization vector and the time reference of the encrypted data block is performed to obtain the same counter as that obtained in the encryption method used to the encryption of the transmitted data. A sequence of decryption bits is then obtained which is identical to the sequence of encryption bits obtained for the block of data to be encrypted by providing as input parameters of the decryption function the encryption key and the encryption key. counter. An inverse combination is then made with the one performed in the encryption method between the data block to be encrypted and the sequence of encryption bits, this inverse combination being made between the encrypted data block and the sequence of encryption. binary decryption elements. This gives the decrypted data block.
La figure 4 illustre une opération de déchiffrement d'un bloc de données chiffré 16, selon un mode de réalisation de l'invention, dans lequel le chiffrement du bloc de données a été réalisé par une opération de ou exclusif entre le bloc de données à chiffrer et la suite d'éléments binaires de chiffrement. Le bloc de données chiffré associé à une référence temporelle est reçu côté récepteur. Ainsi, pour déchiffrer le bloc de données chiffré 16, on réalise une opération de ou exclusif entre le bloc de données chiffré et la suite d'éléments binaires de déchiffrement 15. On obtient ainsi le bloc de données déchiffré 12 associée à la référence temporelle correspondante 13 reçue en association avec le bloc de données chiffré 16.FIG. 4 illustrates a decryption operation of an encrypted data block 16, according to one embodiment of the invention, in which the encryption of the data block has been achieved by an operation of or exclusive between the data block to encrypt and the sequence of encryption bits. The ciphered data block associated with a time reference is received on the receiving side. Thus, in order to decipher the encrypted data block 16, an exclusive operation is performed between the encrypted data block and the decryption bit sequence 15. Thus, the decrypted data block 12 associated with the corresponding time reference is obtained. 13 received in association with the encrypted data block 16.
Les sections suivantes détaillent un mode de réalisation de l'invention, dans lequel les données à transmettre sont des données de type multimédia. Elles peuvent être codées selon un protocole de type MPEG-4. Un bloc de données à chiffrer multimédia est noté par la suite AU, pour « Access Unit ». Une telle donnée peut correspondre à une donnée utile constituant une unité de traitement par le codeur et/ou le décodeur, comme par exemple une image pour la transmission d'une séquence d'images.The following sections detail an embodiment of the invention, in which the data to be transmitted are multimedia type data. They can be coded according to an MPEG-4 type protocol. A block of data to be encrypted multimedia is noted subsequently AU, for "Access Unit". Such data may correspond to a useful data constituting a processing unit by the encoder and / or the decoder, such as for example an image for the transmission of a sequence of images.
Comme cela a été décrit précédemment, une référence temporelle est associée à chaque AU. Cette référence temporelle est codée sur un nombre entier T de bits. La longueur d'une AU à chiffrer est égale à un nombre entier L de bits.As previously described, a time reference is associated with each AU. This time reference is coded on an integer T of bits. The length of an AU to be encrypted is equal to an integer number L of bits.
Un procédé de chiffrement selon un mode de réalisation de l'invention est un procédé de chiffrement par flot. Comme décrit précédemment, un procédé de ce type permet de chiffrer des données bit à bit. Afin de simplifier l'implémentation d'un tel procédé de chiffrement, dans un mode de réalisation de l'invention, une AU est découpée en un nombre entier m de sous blocs de taille fixe. A titre illustratif, on fixe la longueur de ces sous blocs égale à 128 bits. Ainsi, on peut écrire l'équation suivante : m = (L div 128) + 1. On note RL la taille du dernier sous bloc composant l'AU à chiffrer. On peut écrire l'équation suivante :An encryption method according to one embodiment of the invention is a stream encryption method. As previously described, a method of this type makes it possible to encrypt bit-by-bit data. In order to simplify the implementation of such an encryption method, in one embodiment of the invention, an AU is divided into an integer number m of fixed size sub-blocks. By way of illustration, the length of these sub-blocks equal to 128 bits is fixed. Thus, we can write the following equation: m = (L div 128) + 1. We denote by RL the size of the last sub-block composing the AU to be encrypted. We can write the following equation:
RL = (L mod 128).R L = (L mod 128).
On obtient donc par une telle découpe d'une AU, un nombre (m-1) de sous blocs de longueur égale à 128 bits. Ces sous blocs sont notés Bj pour i compris entre 1 et m-1. Le dernier sous bloc noté R a une longueur de RL bits.Thus, by such a section of an AU, a number (m-1) of sub-blocks of length equal to 128 bits is obtained. These sub-blocks are denoted Bj for i ranging from 1 to m-1. The last sub-block noted R has a length of RL bits.
La figure 5 illustre un chiffrement d'un bloc de données à chiffrer associée à une référence temporelle selon un mode de réalisation de la présente invention, dans lequel le bloc de données à chiffrer est découpé en une pluralité de sous blocs Bj comme cela est décrit ci-dessus.FIG. 5 illustrates an encryption of a block of data to be encrypted associated with a time reference according to an embodiment of the present invention, in which the block of data to be encrypted is split into a plurality of sub-blocks Bj as described above.
La figure 6 illustre un procédé de génération d'un compteur dans un mode de réalisation dans lequel la valeur du vecteur d'initialisation Vl 61 est combinée à une valeur générée à partir de la référence temporelle associée au bloc de données à chiffrer.FIG. 6 illustrates a method of generating a counter in one embodiment in which the value of the initialization vector Vl 61 is combined with a value generated from the time reference associated with the block of data to be encrypted.
Dans cet exemple, le format de la référence temporelle 13 est inférieur à longueur fixe déterminé des sous blocs Bi pour i compris entre 1 et m-1. On peut alors décaler le format de la référence temporelle 13 vers les bits de poids forts et donner aux bits de poids plus faible 62 des valeurs factices. Ces bits de poids plus faible sont dans cet exemple mis à la valeur 0. Ainsi la valeur à combiner avec la valeur du vecteur d'initialisation 61 , afin d'obtenir un compteur, peut s'écrire sous la forme suivante :In this example, the format of the time reference 13 is smaller than the fixed fixed length of the sub-blocks Bi for i ranging from 1 to m-1. The format of the time reference 13 can then be shifted to the high-order bits and the lower-order bits 62 are given dummy values. These bits of lower weight are in this example set to 0. Thus the value to be combined with the value of the initialization vector 61, in order to obtain a counter, can be written in the following form:
T bits de la référence temporelle suivis de (128-T) bits de valeur 0. On combine ensuite avantageusement la valeur à combiner ainsi obtenue avec la valeur du vecteur d'initialisation 61 par une opération de ou exclusif pour obtenir le compteur C 63.T bits of the time reference followed by (128-T) bits of value 0. The combined value thus obtained is then advantageously combined with the value of the initialization vector 61 by an operation of exclusive or to obtain the counter C 63.
La présente invention couvre toute autre méthode de générer une valeur à combiner au vecteur d'initialisation à partir d'une référence temporelle qui a une longueur inférieure au vecteur d'initialisation dans le but d'obtenir une valeur à combiner de même longueur que le vecteur d'initialisation. Dans un mode de réalisation de l'invention, le ou les destinataires connaissent cette méthode afin de pouvoir déchiffrer les données ainsi chiffrées, comme cela est détaillé dans d'autres sections.The present invention covers any other method of generating a value to be combined with the initialization vector from a time reference which has a length less than the initialization vector in order to obtain a value to be combined of the same length as the initialization vector. initialization vector. In one embodiment of the invention, the recipient or recipients know this method in order to be able to decrypt the data thus encrypted, as detailed in other sections.
A titre illustratif également, le procédé de chiffrement utilise une fonction de chiffrement de type AES. Plus particulièrement, une fonction de chiffrement de type AES de 128 bits en mode CTR, pour CompTeuR, normalisé dans un document référencé NIST SP 800-38A.By way of illustration also, the encryption method uses an AES type encryption function. More particularly, a 128-bit AES encryption function in CTR mode, for CompTeuR, standardized in a referenced NIST SP 800-38A document.
On note, pour la suite, CW la clé de chiffrement. Cette clé a de préférence une longueur égale à 128 bits. Le vecteur d'initialisation a également de préférence une longueur égale à 128 bits. Une valeur du vecteur d'initialisation est notée Vl.For the rest, we note CW the encryption key. This key preferably has a length equal to 128 bits. The initialization vector also preferably has a length equal to 128 bits. A value of the initialization vector is denoted by Vl.
On note AES (CW, x) la suite d'éléments binaires de chiffrement obtenue via la fonction de chiffrement AES prenant comme paramètres d'entrée la clé de chiffrement CW et un compteur x.We denote by AES (CW, x) the sequence of encryption bits obtained via the AES encryption function taking as parameters input the encryption key CW and a counter x.
On note par ailleurs 'XOR' l'opération de ou exclusif. On définie la fonction de chiffrement E de telle sorte que, pour chaque sous bloc B1 d'un bloc de données à chiffrer, i étant compris entre 1 et m-1 , on a l'équation suivante :We also note 'XOR' the operation of or exclusive. The encryption function E is defined such that, for each sub-block B 1 of a data block to be encrypted, i being between 1 and m-1, the following equation is obtained:
E(Bj) = Bj XOR AES (CW, C+i)E (Bj) = Bj XOR AES (CW, C + i)
Pour le dernier sous bloc R de longueur RL bits, on a l'équation suivante :For the last R block of length RL bits, we have the following equation:
E(R) = R XOR [premiers RL bits de AES (CW, C+m)]. Puis, on peut alors transmettre I1AU ainsi chiffrée.E (R) = R XOR [first R L bits of AES (CW, C + m)]. Then, we can then transmit I 1 AU encrypted.
Le procédé de chiffrement est ensuite réitéré pour chaque AU. La figure 7 illustre un mode de réalisation de la présente invention tel que décrit ci-dessus. Dans une première partie, le chiffrement d'une première AU 71 est illustré. La première AU est découpée en m sous blocs comme cela a été décrit précédemment. Puis, pour chaque sous bloc B, des (m-1) premiers sous blocs, on obtient E(Bj). Puis pour le dernier sous bloc R, on obtient E(R).The encryption method is then reiterated for each AU. Fig. 7 illustrates an embodiment of the present invention as described above. In a first part, the encryption of a first AU 71 is illustrated. The first AU is cut in m in blocks as previously described. Then, for each sub-block B, (m-1) first sub-blocks, we obtain E (Bj). Then for the last sub-block R, we get E (R).
L' AU ainsi chiffrée 72 est associée à la référence temporelle 13 avec la même valeur que la référence temporelle déjà associée à l'AU à chiffrer.The AU thus encrypted 72 is associated with the temporal reference 13 with the same value as the temporal reference already associated with the AU to be encrypted.
Dans une seconde partie, le chiffrement d'une seconde AU 73 en une AU chiffrée 74 est illustré.In a second part, the encryption of a second AU 73 into an encrypted AU 74 is illustrated.
On note que la première et la seconde AU sont avantageusement chiffrées de manière indépendante.It is noted that the first and the second AU are advantageously independently encrypted.
Dans un mode de réalisation de la présente invention, un procédé de déchiffrement des données ainsi chiffrées est basé sur la fonction de déchiffrement noté D qui vérifie l'équation suivante, pour chaque sous bloc Bi, i étant compris entre 1 et m-1 :In one embodiment of the present invention, a method for decrypting the data thus encrypted is based on the decryption function denoted by D which verifies the following equation, for each sub-block Bi, i being between 1 and m-1:
D(Bi) ≈ E(Bi) XOR AES (CW, C + i).D (Bi) ≈ E (Bi) XOR AES (CW, C + 1).
Pour le dernier sous bloc, R, on peut écrire l'équation suivante: D(R) = E(R) XOR [premiers RLbits de AES (CW, C+m)]. Dans un mode de réalisation de la présente invention, un dispositif de chiffrement met avantageusement en œuvre un procédé de chiffrement selon l'invention. La figure 8 illustre un tel dispositif de chiffrement 80, comprenant une entité de stockage 81 des données à chiffrer, une entité de chiffrement 82 des données à chiffrer et une entité de stockage 83 des données chiffrées.For the last sub-block, R, we can write the following equation: D (R) = E (R) XOR [first R L bits of AES (CW, C + m)]. In one embodiment of the present invention, an encryption device advantageously implements an encryption method according to the invention. FIG. 8 illustrates such an encryption device 80, comprising a storage entity 81 for the data to be encrypted, an encryption entity 82 data to be encrypted and a storage entity 83 encrypted data.
Dans un mode de réalisation de la présente invention, un dispositif de déchiffrement met avantageusement en œuvre un procédé de déchiffrement selon l'invention. La figure 9 illustre un tel dispositif de déchiffrement 90, comprenant une entité de stockage 91 des données chiffrées à déchiffrer, une entité de déchiffrement 92 des données à déchiffrer et une entité de stockage 93 des données déchiffrées.In one embodiment of the present invention, a decryption device advantageously implements a decryption method according to the invention. FIG. 9 illustrates such a decryption device 90, comprising a storage entity 91 of the encrypted data to be decrypted, a decryption entity 92 of the data to be decrypted and a storage entity 93 of the decrypted data.
Des données chiffrées par un procédé selon l'invention peuvent être avantageusement stockées sur un support quelconque de stockage de données numériques.Data encrypted by a method according to the invention can be advantageously stored on any medium for storing digital data.
Dans un mode de réalisation de la présente invention, le procédé de déchiffrement utilise avantageusement le même algorithme de chiffrement que celui utilisé dans le procédé de chiffrement. Il génère de préférence le même compteur que celui généré dans le procédé de chiffrement à partir de la référence temporelle associée au bloc de données chiffré, qui est identique à celle associée au bloc de donnée à chiffrer correspondant. La valeur du compteur d'initialisation est synchronisée entre le côté émetteur de données chiffrées et le côté récepteur. Par conséquent, les données chiffrées reçues sont avantageusement déchiffrées sans avoir à transporter des informations spécifiques au chiffrement.In one embodiment of the present invention, the decryption method advantageously uses the same encryption algorithm as used in the encryption method. It preferably generates the same counter as that generated in the encryption method from the time reference associated with the encrypted data block, which is identical to that associated with the corresponding data block to be encrypted. The value of the initialization counter is synchronized between the sending side of encrypted data and the receiving side. Therefore, the encrypted data received is advantageously decrypted without having to carry specific information encryption.
Un procédé de chiffrement et de déchiffrement selon un mode de réalisation de l'invention peut être avantageusement mis en œuvre dans les dispositifs de transmission en flux continu, ou encore « streaming » en anglais. La présente invention peut offrir une grande souplesse quant à la taille des blocs de données à chiffrer et permet donc de chiffrer des blocs de données de tailles très variables. L'invention permet la transmission de données multimédia sur des réseaux de transport hétérogènes. En effet, l'invention peut être mis en œuvre sur tout support de transport de blocs de données associés à une valeur de référence temporelle. En outre, l'invention permet avantageusement de ne pas propager une erreur en cas de perte d'un paquet de données puisque on peut chiffrer un bloc de données indépendamment des autres blocs de données à chiffrer. An encryption and decryption method according to one embodiment of the invention can be advantageously implemented in streaming transmission devices, or "streaming" in English. The present invention can offer great flexibility as to the size of the blocks of data to be encrypted and therefore makes it possible to encrypt blocks of data of very variable sizes. The invention enables the transmission of multimedia data over heterogeneous transport networks. Indeed, the invention can be implemented on any data block transport medium associated with a time reference value. In addition, the invention advantageously makes it possible not to propagate an error in case of loss of a data packet since one can encrypt a data block independently of the other blocks of data to be encrypted.

Claims

REVENDICATIONS
1. Procédé de chiffrement de blocs de données numériques, chaque bloc de données à chiffrer (12) étant associé à une référence temporelle (13), suivant lequel on définit une valeur d'un vecteur d'initialisation Vl (10) et une clé de chiffrement K (19), ledit procédé comprenant, pour chaque bloc de données à chiffrer, les étapes consistant à : obtenir un compteur C (14), par combinaison de ladite référence temporelle (13) et de ladite valeur du vecteur d'initialisation (10) ; obtenir une suite d'éléments binaires de chiffrement (15) via une fonction de chiffrement prenant comme paramètres d'entrée ladite clé de chiffrement K (19) et ledit compteur C (14) ; chiffrer ledit bloc de données en le combinant avec ladite suite d'éléments binaires de chiffrement (15).1. A method of encrypting digital data blocks, each data block to be encrypted (12) being associated with a time reference (13), according to which a value of an initialization vector Vl (10) and a key are defined. encryption method K (19), said method comprising, for each block of data to be encrypted, the steps of: obtaining a counter C (14), by combining said time reference (13) and said value of the initialization vector (10); obtaining a sequence of encryption bits (15) via an encryption function taking as input parameters said encryption key K (19) and said counter C (14); encrypting said data block by combining it with said sequence of encryption bits (15).
2. Procédé selon la revendication 1 , suivant lequel on définit une nouvelle valeur du vecteur d'initialisation (10) à une fréquence telle que les références temporelles (13) associées aux blocs de données à chiffrer sont uniques pour une valeur du vecteur d'initialisation donnée.2. Method according to claim 1, wherein a new value of the initialization vector (10) is defined at a frequency such that the time references (13) associated with the data blocks to be encrypted are unique for a value of the vector of initialization given.
3. Procédé selon l'une quelconque des revendications précédentes, suivant lequel la combinaison de la référence temporelle (13) et de la valeur du vecteur d'initialisation (10) comprend une opération de ou exclusif.The method of any of the preceding claims, wherein the combination of the time reference (13) and the value of the initialization vector (10) comprises an exclusive operation.
4. Procédé selon l'une quelconque des revendications précédentes, suivant lequel la combinaison du bloc de données à chiffrer (12) et de la suite d'éléments binaires de chiffrement (15) comprend une opération de ou exclusif.A method according to any one of the preceding claims, wherein the combination of the data block to be encrypted (12) and the sequence of encryption bits (15) comprises an exclusive operation.
5. Procédé selon l'une quelconque des revendications précédentes, suivant lequel la fonction de chiffrement est une fonction de type AES. 5. Method according to any one of the preceding claims, wherein the encryption function is an AES type function.
6. Procédé selon l'une quelconque des revendications précédentes, suivant lequel les blocs de données à chiffrer (12) sont des blocs de données multimédia.The method of any of the preceding claims, wherein the data blocks to be encrypted (12) are multimedia data blocks.
7. Procédé selon l'une quelconque des revendications précédentes, suivant lequel on décompose le bloc de données à chiffrer en une pluralité de sous blocs de longueur fixe déterminée , le cas échéant le dernier sous bloc étant de longueur inférieure, et suivant lequel on chiffre chacun desdits sous blocs, sous bloc par sous bloc.7. Method according to any one of the preceding claims, according to which the block of data to be encrypted is broken down into a plurality of sub-blocks of determined fixed length, where appropriate the last sub-block being of shorter length, and according to which one digit each of said sub-blocks, sub-block by sub-block.
8. Procédé selon la revendication 7, suivant lequel la longueur fixe déterminée est égale à B bits, B étant un nombre entier ; le bloc de données à chiffrer est de longueur L bits, L étant un nombre entier supérieur audit nombre entier8. The method of claim 7, wherein the determined fixed length is equal to B bits, B being an integer; the block of data to be encrypted is of length L bits, L being an integer greater than said integer
B, la référence temporelle associée est de longueur T bits, T étant un nombre entier inférieur audit nombre entier B ; le vecteur d'initialisation Vl est de longueur B bits ; suivant lequel on détermine une valeur binaire de la référence temporelle sur B bits, les T bits de poids le plus fort correspondant à ladite référence temporelle, les (B-T) bits de poids plus faible étant de valeur 0, et suivant lequel on obtient le compteur par l'opération d'un ou exclusif entre la valeur binaire de ladite référence temporelle sur B bits et la valeur du vecteur d'initialisation Vl.B, the associated time reference is of length T bits, T being an integer less than said integer number B; the initialization vector Vl is of length B bits; according to which a binary value of the time reference is determined on B bits, the T bits of highest weight corresponding to said time reference, the (BT) bits of lower weight being of value 0, and according to which the counter is obtained by the operation of one or exclusively between the binary value of said time reference on B bits and the value of the initialization vector Vl.
9. Procédé selon l'une quelconque des revendications 1 à 8, comprenant une étape ultérieure d'encodage des blocs de données chiffrés avant transmission des blocs de données chiffrés et encodés.The method of any one of claims 1 to 8, comprising a subsequent step of encoding the encrypted data blocks prior to transmitting the encrypted and encoded data blocks.
10. Procédé selon l'une quelconque des revendications 1 à 8, comprenant une étape ultérieure de stockage des blocs de données chiffrées sur un support de mémoire amovible.10. Process according to any one of claims 1 to 8, comprising a subsequent step of storing the encrypted data blocks on a removable memory medium.
11. Dispositif de chiffrement de blocs de données numériques, chaque bloc de données à chiffrer (12) étant associé à une référence temporelle (13), suivant lequel on définit une valeur d'un vecteur d'initialisation Vl (10) et une clé de chiffrement K (19), ledit dispositif comprenant des moyens agencés pour mettre en œuvre un procédé de chiffrement selon l'une quelconque des revendications précédentes.11. Device for encrypting digital data blocks, each block of data to be encrypted (12) being associated with a time reference (13), according to which a value of an initialization vector Vl (10) and a key are defined. K encryptor (19), said device comprising means arranged to implement an encryption method according to any one of the preceding claims.
12. Procédé de déchiffrement de blocs de données numériques, chaque bloc de données à déchiffrer (16) étant associé à une référence temporelle (13), lesdits blocs de données étant chiffrés par un procédé de chiffrement selon l'une quelconque des revendications 1 à 10, suivant lequel on définit une valeur d'un vecteur d'initialisation et une clé de chiffrement synchrone avec la valeur du vecteur d'initialisation (10) et la clé de chiffrement (19) utilisées dans ledit procédé de chiffrement, ledit procédé de déchiffrement comprenant, pour chaque bloc de données à déchiffrer, les étapes consistant à : - obtenir un compteur, par combinaison de ladite référence temporelle et de ladite valeur du vecteur d'initialisation ;12. A method for decrypting digital data blocks, each data block to be decrypted (16) being associated with a time reference (13), said data blocks being encrypted by an encryption method according to any one of claims 1 to 10, which defines a value of an initialization vector and a synchronous encryption key with the value of the initialization vector (10) and the encryption key (19) used in said encryption method, said method of decryption comprising, for each data block to be decrypted, the steps of: - obtaining a counter, by combining said time reference and said value of the initialization vector;
- obtenir une suite d'éléments binaires de déchiffrement (15) via une fonction de déchiffrement prenant comme paramètres d'entrée ladite clé de chiffrement et ledit compteur, ladite fonction de déchiffrement étant équivalente à la fonction de chiffrement utilisée dans ledit procédé de chiffrement ;obtaining a sequence of decryption bits (15) via a decryption function taking as input parameters said encryption key and said counter, said decryption function being equivalent to the encryption function used in said encryption method;
- déchiffrer ledit bloc de données chiffré en le combinant avec ladite suite d'éléments binaires de déchiffrement (15), via une combinaison inverse de celle utilisée dans ledit procédé de chiffrement.decrypting said encrypted data block by combining it with said sequence of decryption bits (15), by a reverse combination of that used in said encryption method.
13. Procédé selon la revendication 12, suivant lequel on décompose le bloc de données à déchiffrer en une pluralité de sous blocs de longueur fixe déterminée, le cas échéant le dernier sous bloc étant de longueur inférieure, et suivant lequel on déchiffre chacun desdits sous blocs, sous bloc par sous bloc.The method according to claim 12, wherein the data block to be decoded is broken down into a plurality of sub-blocks of determined fixed length, where appropriate the last sub-block being of shorter length, and according to which one decrypts each of said sub-blocks, sub-block by sub-block.
14. Procédé selon la revendication 13, suivant lequel : la longueur fixe déterminée est égale à B bits, B étant un nombre entier ; le bloc de données à chiffrer est de longueur L bits, L étant un nombre entier supérieur audit nombre entier14. The method of claim 13, wherein: the determined fixed length is equal to B bits, B being an integer; the block of data to be encrypted is of length L bits, L being an integer greater than said integer
B, la référence temporelle associée est de longueur T bits, T étant un nombre entier inférieur audit nombre entier B ; le vecteur d'initialisation Vl est de longueur B bits ; suivant lequel on détermine une valeur binaire de la référence temporelle sur B bits, les T bits de poids le plus fort correspondant à ladite référence temporelle et les (B-T) bits de poids plus faible étant de valeur 0, et suivant lequel on obtient le compteur par l'opération d'un ou exclusif entre la valeur binaire de ladite référence temporelle sur B bits et la valeur du vecteur d'initialisation Vl.B, the associated time reference is of length T bits, T being an integer less than said integer number B; the initialization vector Vl is of length B bits; according to which a binary value of the time reference is determined on B bits, the T strongest bits corresponding to said temporal reference and the (BT) least significant bits being of value 0, and according to which the counter is obtained by the operation of one or exclusively between the binary value of said time reference on B bits and the value of the initialization vector Vl.
15. Dispositif de déchiffrement de blocs de données numériques, chaque bloc de données à déchiffrer étant associé à une référence temporelle, et étant chiffré par un procédé de chiffrement selon l'une quelconque des revendications 1 à 10, ledit dispositif comprenant des moyens agencés pour mettre en œuvre un procédé de déchiffrement selon l'une des revendications 12 à 14.15. Device for decrypting digital data blocks, each data block to be decrypted being associated with a time reference, and being encrypted by an encryption method according to any one of claims 1 to 10, said device comprising means arranged to implement a decryption method according to one of claims 12 to 14.
16. Produit programme d'ordinateur, destiné à être stocké dans une mémoire d'une unité de traitement, ou sur un support mémoire amovible et destiné à coopérer avec un lecteur de ladite unité de traitement, ledit produit programme d'ordinateur comprenant des instructions pour la mise en oeuvre de tout ou partie des étapes du procédé selon l'une quelconque des revendications 1 à 10. 16. Computer program product, intended to be stored in a memory of a processing unit, or on a removable memory medium and intended to cooperate with a reader of said processing unit, said computer program product comprising instructions for the implementation of all or part of the process steps according to any one of claims 1 to 10.
17. Produit programme d'ordinateur, destiné à être stocké dans une mémoire d'une unité de traitement, ou sur un support mémoire amovible et destiné à coopérer avec un lecteur de ladite unité de traitement, ledit produit programme d'ordinateur comprenant des instructions pour la mise en œuvre de tout ou partie des étapes du procédé selon l'une quelconque des revendications 12 à 14. 17. Computer program product, intended to be stored in a memory of a processing unit, or on a removable memory medium and intended to cooperate with a reader of said processing unit, said computer program product comprising instructions for the implementation of all or part of the process steps according to any one of claims 12 to 14.
EP05777131A 2004-06-21 2005-06-14 Method and apparatus for data encryption or decryption Withdrawn EP1759482A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05777131A EP1759482A1 (en) 2004-06-21 2005-06-14 Method and apparatus for data encryption or decryption

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04291561A EP1610490A1 (en) 2004-06-21 2004-06-21 Method and apparatus for data encryption or decryption
PCT/FR2005/001474 WO2006008362A1 (en) 2004-06-21 2005-06-14 Method and device for the encryption and decryption of data
EP05777131A EP1759482A1 (en) 2004-06-21 2005-06-14 Method and apparatus for data encryption or decryption

Publications (1)

Publication Number Publication Date
EP1759482A1 true EP1759482A1 (en) 2007-03-07

Family

ID=34931188

Family Applications (2)

Application Number Title Priority Date Filing Date
EP04291561A Withdrawn EP1610490A1 (en) 2004-06-21 2004-06-21 Method and apparatus for data encryption or decryption
EP05777131A Withdrawn EP1759482A1 (en) 2004-06-21 2005-06-14 Method and apparatus for data encryption or decryption

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP04291561A Withdrawn EP1610490A1 (en) 2004-06-21 2004-06-21 Method and apparatus for data encryption or decryption

Country Status (3)

Country Link
US (1) US8548164B2 (en)
EP (2) EP1610490A1 (en)
WO (1) WO2006008362A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8345713B2 (en) * 2006-10-25 2013-01-01 Verizon Patent And Licensing Inc. Methods and apparatus for content scrambling in a communications system
US8661243B2 (en) * 2008-06-16 2014-02-25 Telefonaktiebolaget L M Ericsson (Publ) Storing and forwarding media data
US8818019B2 (en) 2009-06-08 2014-08-26 Cisco Technology Inc Robust watermark
US8769306B1 (en) * 2012-09-05 2014-07-01 Amazon Technologies, Inc. Protecting content with initialization vector manipulation
JP6399382B2 (en) * 2014-01-08 2018-10-03 パナソニックIpマネジメント株式会社 Authentication system
US10326588B2 (en) 2015-05-13 2019-06-18 Bank Of America Corporation Ensuring information security in data transfers by dividing and encrypting data blocks
US10613777B2 (en) 2015-05-13 2020-04-07 Bank Of America Corporation Ensuring information security in data transfers by utilizing decoy data
US10313315B2 (en) * 2017-08-25 2019-06-04 Bank Of America Corporation Ensuring information security in data transfers by utilizing proximity keys
TWI672930B (en) * 2018-02-12 2019-09-21 瑞昱半導體股份有限公司 Network data prediction method, network data processing device and network data processing method
CN110166166B (en) * 2018-02-14 2022-01-28 瑞昱半导体股份有限公司 Network data processing device and method
US10448123B1 (en) 2018-07-02 2019-10-15 The Nielsen Company (Us), Llc Methods and apparatus to extend a timestamp range supported by a watermark
US10448122B1 (en) 2018-07-02 2019-10-15 The Nielsen Company (Us), Llc Methods and apparatus to extend a timestamp range supported by a watermark
CN112491532A (en) * 2020-12-03 2021-03-12 珠海格力电器股份有限公司 Video data encryption method and device, storage medium and electronic equipment
CN114495474B (en) * 2022-02-16 2022-11-22 青岛克莱玛物联技术有限公司 Wireless remote control device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH411983A (en) * 1963-10-18 1966-04-30 Gretag Ag Method for encrypting and decrypting pulse-shaped messages
US5345508A (en) * 1993-08-23 1994-09-06 Apple Computer, Inc. Method and apparatus for variable-overhead cached encryption
FI112419B (en) * 1996-06-06 2003-11-28 Nokia Corp Procedure for the confidentiality of data transmission
DE69715029D1 (en) * 1996-11-12 2002-10-02 California Inst Of Techn SEMICONDUCTOR IMAGE SENSOR WITH ONCHIP ENCRYPTION
EP1081888B1 (en) * 1999-08-31 2005-12-21 Matsushita Electric Industrial Co., Ltd. Encryption method, encryption apparatus, decryption method, and decryption apparatus
US20020044651A1 (en) * 2000-05-16 2002-04-18 Tuvell Walter E. Method and apparatus for improving the security of cryptographic ciphers
DE60128007T2 (en) * 2000-12-25 2007-12-27 Matsushita Electric Industrial Co., Ltd., Kadoma DEVICE AND METHOD FOR SAFELY PROCESSING COMMUNICATION PACKAGES
FR2843258B1 (en) 2002-07-30 2004-10-15 Eads Defence & Security Ntwk METHOD FOR TRANSMITTING ENCRYPTED DATA, ASSOCIATED DECRYPTION METHOD, DEVICES FOR IMPLEMENTING SAME, AND MOBILE TERMINAL INCORPORATING THE SAME.
US7734932B2 (en) * 2003-11-10 2010-06-08 Broadcom Corporation System and method for securing executable code
US7715555B2 (en) * 2004-09-07 2010-05-11 Broadcom Corporation Method and system for extending advanced encryption standard (AES) operations for enhanced security

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US8548164B2 (en) 2013-10-01
EP1610490A1 (en) 2005-12-28
WO2006008362A1 (en) 2006-01-26
US20080187134A1 (en) 2008-08-07

Similar Documents

Publication Publication Date Title
EP1759482A1 (en) Method and apparatus for data encryption or decryption
US11102553B2 (en) Systems and methods for secure playback of encrypted elementary bitstreams
EP1645129B1 (en) Method for encrypting an error-tolerance compressed audio or video stream
US7693278B2 (en) Data distribution apparatus and data communications system
EP1678586B1 (en) A method and apparatus for ensuring the integrity of data
US20060229992A1 (en) Securely relaying content using key chains
US10084492B2 (en) Method and system for non-persistent real-time encryption key distribution
WO2004084523A1 (en) Data file splitting
EP3073752B1 (en) Method for generating an initialisation vector for the encryption of video content
EP1499061A1 (en) Individual video encryption system and method
Sen et al. Performance analysis of elliptic curves for real-time video encryption
Janu et al. Development of an efficient real-time H. 264/AVC advanced video compression encryption scheme
Nour El Deen et al. The impact of frame rate on securing real time transmission of video over IP Networks
EP1499062B1 (en) Individual video encryption system and method
Ravishankar et al. Selective Encryption of the Audio Extracted from the Video Streamed Over the Content Delivery Network
Kim Secure scalable streaming for integrity verification of media data
Stenborg et al. Distribution of individually watermarked content in peer-to-peer networks
JP2004356949A (en) Information distributing device and information receiving device

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20061221

AK Designated contracting states

Kind code of ref document: A1

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

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: FRANCE TELECOM

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20150106