EP1964301A1 - Transmission securisee avec code correcteur d'erreur - Google Patents

Transmission securisee avec code correcteur d'erreur

Info

Publication number
EP1964301A1
EP1964301A1 EP06847193A EP06847193A EP1964301A1 EP 1964301 A1 EP1964301 A1 EP 1964301A1 EP 06847193 A EP06847193 A EP 06847193A EP 06847193 A EP06847193 A EP 06847193A EP 1964301 A1 EP1964301 A1 EP 1964301A1
Authority
EP
European Patent Office
Prior art keywords
symbols
parity
value
encryption
encrypted
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
EP06847193A
Other languages
German (de)
English (en)
Inventor
Aurélien Francillon
Vincent Roca
Christoph Neumann
Pascal Moniot
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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics 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 STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of EP1964301A1 publication Critical patent/EP1964301A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • 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/34Encoding or coding, e.g. Huffman coding or error correction

Definitions

  • the present invention generally relates to digital data transmissions using error correcting codes.
  • the invention relates more particularly to transmissions in which it is desired that the data can be read only by an authorized receiver.
  • the invention applies more particularly to monodirectional transmission systems, for example broadcast (broadcasting), that is to say in which the receiver is not able to communicate with the transmitter.
  • broadcast broadcast
  • FIG. 1 very schematically shows in the form of blocks an example of a data transmission system of the type to which the present invention applies. It is a broadcasting system (eg DVB - Digital Video Broadcasting) in which a transmitter 1 encodes data to a large number of receivers 2. The number of receivers is generally not known.
  • the transmission may be a transmission by radio, with or without intervention of a relay satellite 3.
  • Each receiver 2 comprises an antenna 22 communicating, for example by wire link 21, with a television set 24.
  • the transmitter 1 communicates by means of a transmitting antenna 11 with the satellite 3 to broadcast broadcasts and more generally any data. More generally, the communication medium can be arbitrary (Internet network for example).
  • the example of Figure 1 is an example of a one-way system, in that the receivers are not able to send back information to the satellite to the transmitter.
  • FEC error correction code
  • Error correctors are usually integrated into the physical layer.
  • error correcting codes that operate on a symbol erasing channel, the symbols representing one or more bits or bytes. This channel is so named because a symbol can be either received without error, or destroyed by the channel.
  • the symbol is the processing unit (sequence of bytes or bits) by the system and its size is fixed.
  • error correcting codes are generally used above the physical layer.
  • the present invention applies to the processing of error correcting codes at the level of symbols whose size is most often several hundreds or thousands of bytes or bits.
  • An encoding ratio is generally defined as the number (k) of source symbols of the object to be transmitted (file, data stream, etc.) divided by a total number (n) of symbols.
  • the n symbols consist of the k source symbols and the n-k parity symbols.
  • the ratio k / n is less than or equal to unity, generally between 2/3 and 1.
  • FIGS. 2A, 2B and 2C illustrate, very schematically, an example of error correction coding of the type to which the present invention applies more particularly.
  • This is a Low Density Parity Check (LDPC) technique that uses a parity matrix composed of a part (or sub-matrix) of source symbols and a part (or sub-matrix) of symbols of parity. The interpretation of such a matrix makes it possible to obtain the parity symbols transmitted in addition to the source symbols.
  • LDPC Low Density Parity Check
  • FIG. 2A represents, arbitrarily, a stream of source symbols S 1 , S 2 ..., S 1 , S 1 + 1 ..., S k .
  • FIG. 2B illustrates an example of matrix 31 of parity in which each of the first k columns (sub-matrix of symbols source) is assigned to one of the symbols S 1 (i being between 1 and k) and each of the last nk columns (sub-matrix of parity symbols) is assigned to one of the parity symbols P (j being between 1 and nk).
  • the parity matrix has nk rows L 1 , L 2 , and so on. respectively assigned to the parity symbols to calculate (and to transmit).
  • Each element of the first part of the matrix represents the taking into account (1) or not (0 or nothing) of the symbol of the corresponding column in the calculation of the symbol of the current line.
  • the construction of the parity matrix is in this example called staircase (LDPC-staircase). It can have many thousands of columns and thousands of rows.
  • the constitution of the source symbol sub-matrix depends on the application. It can use a pseudo-random generation.
  • a first solution to encrypt a data stream would be to submit all the symbols upstream or downstream of the coding to an encryption algorithm (AES, DES, RC4, etc.).
  • a disadvantage of such a solution is the processing time, whether on the transmitter side or the receiver side.
  • error correction codes and encryption algorithms have in common having to process data in their entirety and to be expensive tasks in access and / or memory consumption and processing time by a central unit, therefore in energy.
  • a problem that arises in adding a data encryption function to an error correction code is that it generates a processing time which is added to the coding time. This problem is particularly sensitive on the receiver side, where the processing capabilities need to be optimized.
  • FIG. 3 very schematically illustrates in the form of blocks a known method of data encryption to be broadcast with an error correction function. This method is described in the article "Securing BuIk Content Almost for Free” by J. Byers et al., Accepted in Computer Communication Journal in January 2005 (http: //www.sciencedirect .corn) and forthcoming in “Computer Communication Journal, Special Issue on Network Security ".
  • DATA data (block 12) to be transmitted are coded (block 13, CODE) of type
  • the output of the encoding provides a number of symbols greater than the number of input symbols. Then, 4% of the coded symbols
  • the coding may be of the so-called Tornado type, but it may also be of the LDPC type or of another type.
  • the transmitter naturally includes transmission elements (not shown) for, for example, a broadcast.
  • the stream of nk symbols received from the antenna 22 is, after demodulation and other reception processes (level adaptation, filtering, etc.), partially submitted (4%) to a decryption (block 26, DECIPHER ) before being fully decoded (block 25, DECODE), 96% of the symbols do not need to be deciphered.
  • the output of block 25 provides the flow of data symbols k decoded desti ⁇ nation, for example, a TV 24.
  • the present invention aims at overcoming all or part of the disadvantages of known solutions combining error correction code processing with encryption for digital data transmission.
  • the object of the invention is more particularly to propose a solution improving the resistance to cryptanalysis of the transmitted data, without going back to a solution requiring the encryption of all the data.
  • the invention also aims to propose a solution particularly suitable for large-scale broadcasting systems.
  • the invention also aims to propose a solution compatible with any encryption algorithm.
  • the invention also aims to propose a solution that is particularly suitable for the use of LDPC-type error correcting codes.
  • the invention also aims to propose a solution compatible with the creation of groups and subgroups of users.
  • the present invention provides a method of encoding digital data represented by source symbols, parity symbol generation error correction code from, for each symbol. parity, of several source symbols and at least one parity symbol of preceding rank, comprising at least steps of: encrypting at least one first value into several encrypted values; and taking into account at least one combination of said encrypted values to calculate at least a portion of the parity symbols.
  • said first value depends on at least part of the source symbols.
  • said first value comprises a combination of all the source symbols.
  • said first value is the first parity symbol, a combination being assigned to each parity symbol from the second.
  • said first value is independent of the source symbols, a combination being assigned to each parity symbol.
  • each said parity symbol takes into account a combination different from those assigned to other parity symbols.
  • each encrypted value corresponds to an encryption of said first value with a different initialization vector.
  • said first value is subjected to an encryption with a first key for transmission, the encrypted value or values being obtained by encryption of said first value with a second key, preferably different from the first.
  • the invention also provides a method of decoding received data, comprising at least steps of: decrypting said first value with the aid of said first key; reconstituting said combinations from said encrypted values obtained by encrypting said first value with the aid of the second key; and subjecting the received parity symbols to decoding by the error correcting code.
  • the source symbols of a partial set preferably comprising less than 1% of the total number of source symbols, are encrypted and transmitted without coding.
  • said first key is used to encrypt said source symbols of the partial set.
  • the error correcting code is represented by a matrix in which each line represents an equation for obtaining a parity symbol, each column of a first part representing a symbol source and each column of a second part representing a parity symbol, at at least one column of the second part containing, for all or part of the lines, one of said combinations.
  • a ciphering matrix determines each combination of numerical values.
  • the invention also provides a method of trans mission encoded data ⁇ wherein said dies, or seed for their generation by receptors, are transmitted before the parity symbols.
  • the encryption keys are functions of groups of receivers to which the data are intended.
  • the invention also provides a digital data transmitter in an error correction code transmission system.
  • the invention also provides a digital data receiver transmitted by an error correction code system.
  • the invention also provides a system for transmitting digital data in application of an error correction code.
  • FIG. 1 which has been described above represents, very schematically and in block form, an example of a diffusion system of the type to which the present invention applies;
  • FIGS. 2A, 2B and 2C which have been described above illustrate an LDPC type error correction code coding mechanism;
  • FIG. 3 which has been described above illustrates, very schematically and in block form, a known technique combining encryption and error correction code;
  • FIG. 4 very schematically shows in the form of blocks an example of an encryption and coding system according to an embodiment of a first aspect of the present invention;
  • FIG. 1 which has been described above represents, very schematically and in block form, an example of a diffusion system of the type to which the present invention applies
  • FIGS. 2A, 2B and 2C which have been described above illustrate an LDPC type error correction code coding mechanism
  • FIG. 3 which has been described above illustrates, very schematically and in block form, a known technique combining encryption and error correction code
  • FIG. 4 very schematically shows in the form of blocks an example of an encryption and
  • FIG. 5 illustrates, by an exemplary parity matrix, a first embodiment of the present invention according to its first aspect
  • FIG. 6 illustrates, by an exemplary parity matrix, a second embodiment of the present invention according to its first aspect
  • 7A and 7B illustrate, in repre ⁇ matrix presentations, an embodiment of the present invention in a second aspect
  • FIG. 8 very schematically shows in block form an embodiment of a digital data transmission system according to the second aspect of the present invention
  • Fig. 9 very schematically shows in block form another embodiment of a digital data transmission system according to the second aspect of the present invention.
  • the present invention proposes to select a part of the source symbols to be subjected to an encryption and then to apply the coding to all the symbols whether or not they are encrypted.
  • FIG. 4 very schematically shows in the form of blocks an embodiment of a coded encrypted transmission system according to this first aspect of the present invention.
  • data DATA (12) to be transmitted are partially submitted (mk source symbols with m ⁇ 1) to a first encryption algorithm (block 15, CIPHER1) to be encrypted with the remainder (lm) k of source symbols (not encrypted) to the error correcting code (block 13, CODE).
  • mk source symbols are also transmitted, either encrypted by the first algorithm, or as it is represented encrypted by a second algorithm (block 16, CIPHER2), without passing through the error correction code.
  • the second encryption algorithm differs from the first by the type of algorithm and / or the key used.
  • a significant difference compared to the previous solutions is that the mk source symbols encrypted are also taken into account by the error correction code 13.
  • the code 13 provides nk parity symbols to which are added, for transmission, the mk source symbols transmitted encrypted (without going through the error correcting code).
  • the mk encrypted source symbols are decrypted by being subjected to the second algorithm (block 28, DECIPHER2).
  • the mk source symbols in clear are then encrypted by the first algorithm (block 15, CIPHERl) to be provided to the decoder (block 25, DECODE).
  • the decoder supplies the (lm) k source symbols, the missing mk symbols being provided directly by the second algorithm.
  • the k symbols are then exploited, for example, by a television. If the two encryption algorithms are identical and use the same key, it is not necessary, on the reception side, to re-encrypt the mk symbols. They are decrypted for use directly and are in parallel submitted, as received, to code 25 with the rest of the symbols. Such a variant, however, is less efficient from the point of view of the security of the transmitted data (resistance to cryptanalysis).
  • the proportion m of symbols subject to encryption must remain low (for example, between 0.1% and 10%, and preferably between 0.1% and 1%) so as not to fall back into the disadvantages of the techniques consisting in encrypting then to code all the symbols.
  • FIG. 5 illustrates, by a representation of a parity matrix 31 ', an embodiment of the present invention according to its first aspect.
  • One characteristic of this embodiment is to encrypt (encryption symbolized by a function E in FIG. 5), a reduced number of the first lines of source symbols present in the parity matrix 31 '.
  • the symbols S 1 , S 5 , S g , S 3 and S 5 of data present in the first two lines (L and L) of the matrix 31 ' are encrypted before coding, the other symbols that do not appear that in subsequent lines are coded in clear.
  • the application of the encoding using a stepwise LDPC parity matrix 31 ' causes all the parity symbols to contain encrypted data, which reduces the risk of cryptanalysis thereof.
  • the calculation of the parity symbols is performed, as before, by an exclusive-OR combination of the source symbols (encrypted or not) and parity of the line.
  • FIG. 6 represents a parity matrix 31 "according to a second embodiment of the first aspect of the invention.
  • the source symbols to be encrypted are chosen such that each line of the parity matrix 31 "contains, in its part of source symbols, at least one encrypted symbol .
  • One advantage is that it improves the confidentiality of the data compared to the solutions of the prior art.
  • FIG. 6 also illustrates another modification with respect to the previous embodiment which is to use a triangle type LDPC parity matrix, that is to say in which each parity symbol starting from the third P 3 is capable of to combine more than two previous parity symbols.
  • a technique improves security and error correction, i.e. requires the reception of fewer symbols by a receiver so that it can decode the original content successfully.
  • symbol arrays can have many thousands of columns and thousands of lines, the fact of only encrypting a small number of symbols is interesting from the point of view of processing time.
  • FIG. 7A and 7B illustrate, in repre ⁇ matrix presentations, an embodiment 1 of the invention in a second aspect.
  • a characteristic of this second aspect is to use, in addition to the parity matrix whose parity symbol portion is, for example, of LDPC step type, a second matrix of encrypted values to generate several combinations respectively taken into account in the calculation. symbols of parity.
  • the encrypted values are preferably obtained by encryption of one or more first symbols of parity (number to be chosen according to the requirements of the system to guarantee the confidentiality of the information). Combinations of numerical values are then taken into account in the calculation of higher-rank parity symbols.
  • the parity symbol sub-matrix used is a step-type matrix in which a first column contains the results of different combinations of several encrypted variants of the first parity symbol, which in this case is transmitted in a secure manner. to the receiver.
  • the combinations are preferably different for each row of the matrix. Therefore, the contribution of the first parity symbol is different in each parity symbol of the following lines.
  • the sub-matrix 41 of source symbols is established in a conventional manner (FIG. 2B), without an encrypted symbol.
  • the parity sub-matrix 42 is set following a step LDPC technique for all parity symbols from the second (P 0 to P). Moreover, all the lines starting from the second, and therefore all the parity symbols calculated from the second one, take into account a value P which is a function of the first parity symbol P 1 that is encrypted. This is illustrated by a sub-matrix 42 ⁇ comprising, for each line from the second, a value P 1 , P 1 , ..., P 1 ,. In this example, we assume that the symbol P 1 is not encrypted
  • FIG. 7B represents an encryption matrix 44 illustrating, arbitrarily by a matrix representation, an example of generation of the values P 1 , P 1 , ..., P 1 ,.
  • Each value is obtained by combining several variants E 17 (IV 1 , P 1 ), E 17 (IV-, P 1 ) ..., E 17 (IV 1 , P 1 ) of the encryption of the parity symbol P 1 with a key K.
  • These variants are, for example, obtained by modifying an initialization vector IV of the encryption algorithm E.
  • the encryption algorithm is a symmetric algorithm (for example, DES or AES type used in CBC mode - Cipher Block Chaining).
  • the number of initialization vectors does not need to be large (preferably between 0.1% and 10% of the number of parity symbols).
  • the symbol P 1 preferably encrypted, must be received by the receiver so that it can reconstruct the other symbols.
  • receiving it first improves the decoding performance.
  • the combination of the different encrypted values in the creation of the values P 1 is effected, for example, by means of an exclusive operation. Other operations may also be used, for example bit rotation type operations contained in the symbols.
  • the combination operator is preferably chosen according to the encryption algorithm executed in order not to degrade its performance from the point of view of its resistance to cryptanalysis. We can also combine different types of operations.
  • the encryption matrix 44 contains the information (for example by a word of two bits or more depending on the number of operators) on the way in which the encrypted variants E K (TV ⁇ ,
  • a 0 (00) in the matrix 44 indicates that the variant is not taken into account
  • a 1 (01) indicates that the variant is taken into account by an exclusive-OR combination
  • a 2 (10) or a 3 (11) indicates a rotation of a fixed number (for example 4 or 7) of bits of the current variant before combination by an exclusive-OR with the combination result of the previous variants.
  • a choice between two possibilities (0: not taking into account the variant of the column; 1: taking into account this variant by an exclusive-OR combination).
  • the encryption matrix 44 is modified periodically. For that, it suffices to send the seed of generation of the matrix of encryption and that the receiver contains the software and / or hardware tools to rebuild this matrix from this seed. This amounts to using, to transmit the encryption matrix, the same technique as that used to transmit the parity matrix.
  • FIGS. 7A and 7B has, compared to the embodiment of FIG. 6, the advantage of being better in error correction and, compared to the embodiment of FIG. advantage of being better in resistance to cryptanalysis.
  • the symbol P 1 is constructed from all the source symbols (sub-matrix 41 having only 1 in its first line). This improves the so-called "avalanche" effect in the other parity symbols and, therefore, encryption, without impairing the error correction capability.
  • the first symbol P 1 ⁇ is itself derived from the encryption matrix 44 which combines encrypted values independent of the source symbols. In the representation of FIGS. 7A and 7B, this amounts to adding a line P 1 to the matrix 44 and to taking into account, as the value to be encrypted, an amount other than a combination P 1 of all or part of the source symbols.
  • the matrix 42 also comprises one more column for calculating the first parity symbol P 1 as a function of the source symbols of the first line and the value There is no longer any dependence between the values P 1 and the source data.
  • FIG. 8 very schematically shows in block form an embodiment of an encryption and coding system according to the second aspect of the present invention.
  • the source symbols of the data DATA (12) taken into account in the calculation of the first parity symbol are used to obtain it (block 53, CODE P1).
  • This symbol Pl is then encrypted (block 54, CIPHER) according to different initialization vectors IVs and the key K.
  • the t values The obtained encrypted values are combined according to the encryption matrix 44 to obtain the respective values P 1 of the first parity symbol to be taken into account for the coding of the others (block 55, CODE P 0 ... P.).
  • the set of nk parity symbols is then transmitted (broadcast).
  • a small number x (preferably between 0.1% and 1%) of the k source symbols that are digitized with the key K (block 65, CIPHER) are also selected.
  • the x encrypted source symbols E R (S) with the key K are transmitted in addition to the first parity symbol, preferably also encrypted E 1 ⁇ (P 1 ) with this key K (block 64, CIPHER), and nk- 1 remaining parity symbols.
  • the first parity symbol is decrypted with the key K (block 58, DECIPHER) as well as, if applicable, the x source symbols E R (S) (block 57, DECIPHER).
  • the first parity symbol P 1 obtained makes it possible to reconstruct the values E 1 .K 1 (IV 1 -L, P 1 -L), P 1 1) ..., P 1 -L) encrypted with the key K and thus reconstruct the combinations P 1 (block 44) for decoding the nk-1 parity symbols P 2 ..., P n _ k remaining (block 59, DECODE PZ 0 .... PTi, K.).
  • the remaining kx source symbols are then obtained.
  • parity matrices (sub-matrices 41 and 42) and encryption matrices 44 must be transmitted (preferably at the beginning of the session and / or in a secure manner) as well as the initialization vectors of the encryption (or a seed enabling them to be reconstituted). ) so that all compatible receivers can reconstruct the different matrices. This reconstruction, however, is not enough to recover the source symbols. Only receivers with the key K will be able to decipher the first parity symbol to correctly decode the other symbols.
  • FIG. 9 very schematically shows in block form another embodiment of the second aspect of the invention.
  • a key Kg is assigned per user or sub-group of users in addition to one K Q key used to encrypt the parity symbols.
  • the first transmitted parity symbol P 1 corresponds to an encrypted value E (P) with a key Kg (block 64, CIPHER) different from the key K Q used to obtain the values P 1 .
  • the x of the k source symbols are encrypted with this key Kg (block 65, CIPHER).
  • the x encrypted source symbols E R (S) with the key Kg are transmitted in addition to the first parity symbol encrypted with this key Kg and nk-1 parity symbols depending on the encrypted values with the key K Q.
  • the x source symbols are used in their encrypted version for coding, which amounts to combining the two aspects of the invention.
  • the encryption and parity matrices (or seeds allowing their generation) are also transmitted, encrypted or not with the key K. It is the same for the initialization vectors generating the different values of the encryption of the first parity symbol.
  • a single key Kg is used. This amounts to providing only one group.
  • the x source symbols E R (S) are decrypted (block 57, DECIPHER) with the key Kg, as well as the first parity symbol (block 58, DECIPHER).
  • the first parity symbol P 1 obtained makes it possible to reconstruct the values E 1 ⁇ 0 (IV 1 , P 1 ), E R 0 (IV 2 , P 1 )..., E R 0 (IV t , P 1 ) encrypted with the key K n U and thus reconstruct the combinations P 1 1, J (block 44) for decoding, if necessary using the x decrypted source symbols, the nk-1 parity symbols P 2 ..., Pn-. k remaining (block 59, DECODE P2 0 ... Pn-, k). The remaining kx source symbols are then obtained.
  • a receiver having only the key K Q is unable to reconstruct the data.
  • a receiver having only the key Kg is able to obtain only a very small part (less than 1%) of the source symbols. This embodiment makes it possible to broadcast data to subgroups of users of a common group having the key K 0 .
  • One advantage is that most (more than 99%) of the transmitted content is the same for all receivers, only a small part of these symbols differs according to the receivers, which simplifies the calculations.
  • a restriction by groups of users as explained in connection with FIG. 9 may also be implemented with the first aspect of the invention.
  • a common key is used for the second encryption algorithm (15, Figure 4) while group keys are used for the first algorithm (blocks 14 and 26).
  • An advantage of the present invention is that it improves the security of the transmitted data.
  • Another advantage of the present invention according to its second aspect is that it is compatible with the management of different user groups.
  • the present invention is susceptible of various variations and modifications which will be apparent to those skilled in the art.
  • the practical implementation of the Inventory ⁇ from hardware and / or conventional software tools for example, electronic circuits and / or micro processors ⁇
  • the formation of the symbol flow resulting from the coding and encryption of the invention with, if necessary, receiver parameterization symbols is not a problem.
  • the invention applies to different types of encryption algorithms whose choice is to be made by the skilled person depending on the application.
  • the number of these symbols between 0.1% and 1% of the source symbols

Abstract

L'invention concerne un procédé et un système de codage de données numériques (DATA) représentées par des symboles source, par un code correcteur d'erreur de génération de symboles de parité à partir, pour chaque symbole de parité, de plusieurs symboles source et d'au moins un symbole de parité de rang précédent, comportant au moins un chiffrement (54) d'au moins une première valeur (P<SUB>1</SUB>) en plusieurs valeurs chiffrées et une prise en compte d'au moins une combinaison (P<SUB>1, j</SUB>) desdites valeurs chiffrées pour calculer (55) au moins une partie (P<SUB>2</SUB>... P<SUB>n-k</SUB>) des symboles de parité.

Description

TRANSMISSION SECURISEE AVEC CODE CORRECTEtIR D1ERREtJR
Domaine de l' invention
La présente invention concerne de façon générale les transmissions de données numériques utilisant des codes correcteurs d'erreur. L'invention concerne plus particulièrement les transmissions dans lesquelles on souhaite que les données ne soient lisibles que par un récepteur autorisé. L'invention s'applique plus particulièrement aux systèmes de transmission monodirectionnels, par exemple de radiodiffusion (broadcasting) , c'est-à-dire dans lesquels le récepteur n'est pas capable de communiquer avec l ' émetteur . Exposé de l'art antérieur
La figure 1 représente, de façon très schématique et sous forme de blocs, un exemple de système de transmission de données du type auquel s'applique la présente invention. Il s'agit d'un système de radiodiffusion (par exemple, DVB - Digital Video Broadcasting) dans lequel un émetteur 1 encode des données à destination d'un grand nombre de récepteurs 2. Le nombre de récepteurs n'est généralement pas connu. La transmission peut être une transmission par voie hertzienne, avec ou sans intervention d'un satellite relais 3. Chaque récepteur 2 comporte une antenne 22 communiquant, par exemple par liaison filaire 21, avec un poste de télévision 24. L'émetteur 1 communique au moyen d'une antenne émettrice 11 avec le satellite 3 pour diffuser des émissions et plus généralement n'importe quelles données. Plus généralement, le support de communication peut être quelconque (réseau Internet par exemple) .
L ' exemple de la figure 1 est un exemple de système monodirectionnel, en ce sens que les récepteurs ne sont pas en mesure d'émettre en retour des informations vers le satellite à destination de l ' émetteur .
Quand on souhaite limiter les droits d'accès à certains programmes, il est nécessaire d'adjoindre au téléviseur 24, ou d'intégrer à celui-ci, un décodeur 23 particulier comportant des clés permettant de décoder des programmes transmis de façon chiffrée.
D'autres systèmes auxquels s'applique également la présente invention sont les systèmes de type téléphonie mobile dans lesquels, bien qu'il existe un canal de communication bidirectionnel entre l'opérateur et le téléphone mobile, les téléphones sont susceptibles de recevoir des données diffusées à grande échelle, l'opérateur ne servant que de relais. Il est alors difficilement envisageable de faire communiquer chaque téléphone mobile récepteur avec l'émetteur, le téléphone mobile se comportant comme un récepteur de programme diffusé .
Le plus souvent, dans les systèmes de transmission de données numériques, le flux de données est combiné par un code correcteur d'erreur (FEC pour Forward Error Correction), dont le rôle est de permettre de récupérer des données en cas de perturbation de la transmission. Le besoin des codes correcteurs d'erreur est également lié à l'absence de communication bidi¬ rectionnelle empêchant le récepteur d'indiquer à l'émetteur qu'il n'a pas reçu correctement une partie des données.
Il existe des codes qui opèrent sur un canal binaire symétrique, ainsi nommé car un bit peut être reçu sans erreur ou être inversé. Le code correcteur d'erreur vérifie alors la cohérence des bits reçus au travers du canal. Ces codes correcteurs d'erreurs sont en général intégrés à la couche physique .
Il existe également des codes correcteurs d'erreur qui opèrent sur un canal à effacement de symboles, les symboles représentant un ou plusieurs bits ou octets . Ce canal est ainsi nommé car un symbole peut être soit reçu sans erreur, soit détruit par le canal. Le symbole est l'unité de traitement (séquence d'octets ou de bits) par le système et sa taille est fixe. Ces codes correcteurs d'erreurs sont en général utilisés au dessus de la couche physique.
La présente invention s ' applique au traitement des codes correcteurs d'erreur au niveau des symboles dont la taille est le plus souvent de plusieurs centaines ou plusieurs milliers d'octets ou de bits.
Un tel codage engendre une augmentation du volume de données à transmettre. On définit généralement un ratio de codage (code rate) comme étant le nombre (k) de symboles source de l'objet à transmettre (fichier, flux de données, etc.) divisé par un nombre (n) total de symboles. Les n symboles sont constitués des k symboles source et des n-k symboles de parité. Le ratio k/n est inférieur ou égal à l'unité, généralement compris entre 2/3 et 1.
Les figures 2A, 2B et 2C illustrent, de façon très schématique, un exemple de codage correcteur d'erreur du type auquel s ' applique plus particulièrement la présente invention . Il s'agit d'une technique dite LDPC (Low Density Parity Check) qui exploite une matrice de parité composée d'une partie (ou sous-matrice) de symboles source et d'une partie (ou sous- matrice) de symboles de parité. L'interprétation d'une telle matrice permet d'obtenir les symboles de parité transmis en plus des symboles source.
La figure 2A représente, de façon arbitraire, un flux 30 de symboles source S1, S2..., S1, S1+1..., Sk. La figure 2B illustre un exemple de matrice 31 de parité dans laquelle chacune des k premières colonnes (sous-matrice de symboles source) est affectée à l'un des symboles S1 (i étant compris entre 1 et k) et chacune des n-k dernières colonnes (sous- matrice de symboles de parité) est affectée à l'un des symboles de parité P (j étant compris entre 1 et n-k) . La matrice de parité comporte n-k lignes L1, L2, etc. respectivement affectées aux symboles de parité à calculer (et à transmettre) . Chaque élément de la première partie de la matrice représente la prise en compte (1) ou non (0 ou rien) du symbole de la colonne correspondante dans le calcul du symbole de la ligne courante. La construction de la matrice de parité est dans cet exemple dite en escalier (LDPC-staircase) . Elle peut comporter plusieurs milliers de colonnes et plusieurs milliers de lignes.
La matrice 31 se lit en considérant que la combinaison de type OU-Exclusif (θ) des symboles source ou de parité identifiés dans chaque ligne doit être nulle. Par exemple, pour la troisième ligne, S2Θ... S1S...θP2θP3=0.
Côté réception, connaissant la matrice de parité, il est possible d'effectuer les opérations de récupération des symboles source transmis .
La constitution de la sous-matrice de symboles source dépend de l'application. Elle peut faire appel à une génération pseudoaléatoire .
Une première solution pour chiffrer un flux de données serait de soumettre l'ensemble des symboles en amont ou en aval du codage à un algorithme de chiffrement (AES, DES, RC4, etc.). Un inconvénient d'une telle solution est le temps de traitement, que ce soit côté émetteur ou côté récepteur.
En effet, les codes de correction d'erreur et algorithmes de chiffrement ont en commun de devoir traiter des données dans leur intégralité et d'être des tâches coûteuses en accès et/ou consommation mémoire ainsi qu'en temps traitement par une unité centrale, donc en énergie.
Ils poursuivent toutefois d'autres objectifs opposés, notamment le fait qu'un code correcteur d'erreur cherche à faciliter la récupération des données alors que le chiffrement vise à l'inverse à rendre difficile la récupération des données pour un récepteur ne possédant pas la bonne clé.
Un problème qui se pose pour adjoindre une fonction de chiffrement des données à un code correcteur d'erreur est que cela engendre un temps de traitement qui s'ajoute au temps de codage. Ce problème est particulièrement sensible côté récepteur, où les capacités de traitement doivent être optimisées.
La figure 3 illustre, de façon très schématique et sous forme de blocs, un procédé connu de chiffrement de données à diffuser avec une fonction de correction d'erreur. Ce procédé est décrit dans l'article "Securing BuIk Content Almost for Free" de J. Byers et al., accepté dans Computer Communication Journal en Janvier 2005 (http://www.sciencedirect .corn) et à paraître dans "Computer Communication Journal, Spécial Issue on Network Security" .
Côté émetteur 1, des données DATA (bloc 12) à transmettre sont soumises à un codage (bloc 13, CODE) de type
FEC. La sortie du codage fournit un nombre de symboles supérieur au nombre de symboles en entrée. Puis, 4 % des symboles codés
(0,04(n-k)) sont soumis avant transmission à un chiffrement
(bloc 14, CIPHER) tandis que les 96 % restants (0,96(n-k)) sont transmis directement. Le codage peut être de type dit Tornado, mais il peut également être de type LDPC ou d'un autre type.
L'émetteur comporte bien entendu des éléments d'émission (non représentés) pour, par exemple, une radiodiffusion.
Côté récepteur 2, le flux de n-k symboles reçus depuis l'antenne 22 est, après démodulation et autres traitements de réception (adaptation de niveau, filtrage, etc.), soumis pour partie (4 %) à un déchiffrement (bloc 26, DECIPHER) avant d'être entièrement soumis au décodage (bloc 25, DECODE) , 96 % des symboles n'ayant pas besoin d'être déchiffrés. La sortie du bloc 25 fournit le flux de k symboles de données décodées à desti¬ nation, par exemple, d'un téléviseur 24. En variante au chiffrement, on peut également utiliser un canal sécurisé pour transmettre les 4 % des symboles destinés à conditionner l'obtention correcte des données côté récepteur.
Un inconvénient de la solution de la figure 3 est qu'elle n'est pas assez sûre (pas assez résistante à la cryp- tanalyse) . En effet, des attaques sur les 96 % de symboles non soumis au chiffrement peuvent permettre de retrouver les symboles en clair. Par exemple, au moyen d'analyses statistiques sur les symboles de parité qui correspondent le plus souvent à une combinaison de type Ou-Exclusif de symboles source, il est possible de retrouver les données émises. En particulier, si les données source sont constituées d'un nombre important de données nulles (octet = 00), les données sont transmises quasiment en clair. De plus, s'il s'agit d'un fichier texte, une analyse lexicale permet assez facilement de retrouver des parties du contenu d'origine. En outre, si un même fichier est transmis deux fois avec un faible nombre de bits de différence, le flux de sortie obtenu est quasiment identique, ce qui constitue aussi une faiblesse. Pour que le chiffrement soit efficace, il faudrait que le flux d'entrée soit parfaitement aléatoire, ce qui n'est en pratique jamais le cas. Résumé de l' invention
La présente invention vise à pallier tout ou partie des inconvénients des solutions connues combinant un traitement par code correcteur d'erreur à un chiffrement pour une transmission de données numériques.
L'invention vise plus particulièrement à proposer une solution améliorant la résistance à la cryptanalyse des données transmises, sans pour autant revenir à une solution requérant le chiffrement de l'intégralité des données.
L'invention vise également à proposer une solution particulièrement adaptée aux systèmes de diffusion à grande échelle .
L'invention vise également à proposer une solution compatible avec n ' importe quel algorithme de chiffrement . L'invention vise également à proposer une solution particulièrement adaptée à l'utilisation de codes correcteurs d'erreur de type LDPC.
L'invention vise également à proposer une solution compatible avec la création de groupes et sous-groupes d ' utilisateurs .
Pour atteindre tout ou partie de ces objets ainsi que d'autres, la présente invention prévoit un procédé de codage de données numériques représentées par des symboles source, par un code correcteur d'erreur de génération de symboles de parité à partir, pour chaque symbole de parité, de plusieurs symboles source et d'au moins un symbole de parité de rang précédent, comportant au moins des étapes de : chiffrement d'au moins une première valeur en plusieurs valeurs chiffrées ; et prise en compte d'au moins une combinaison desdites valeurs chiffrées pour calculer au moins une partie des symboles de parité .
Selon un mode de mise en oeuvre de la présente invention, ladite première valeur dépend d'au moins une partie des symboles source.
Selon un mode de mise en oeuvre de la présente invention, ladite première valeur comprend une combinaison de tous les symboles source.
Selon un mode de mise en oeuvre de la présente invention, ladite première valeur est le premier symbole de parité, une combinaison étant affectée à chaque symbole de parité à partir du deuxième.
Selon un mode de mise en oeuvre de la présente invention, ladite première valeur est indépendante des symboles source, une combinaison étant affectée à chaque symbole de parité.
Selon un mode de mise en oeuvre de la présente invention, chaque dit symbole de parité prend en compte une combinaison différente de celles affectées aux autres symboles de parité .
Selon un mode de mise en oeuvre de la présente invention, chaque valeur chiffrée correspond à un chiffrement de ladite première valeur avec un vecteur d'initialisation différent .
Selon un mode de mise en oeuvre de la présente invention, ladite première valeur est soumise à un chiffrement avec une première clé pour transmission, la ou lesdites valeurs chiffrées étant obtenues par chiffrement de ladite première valeur avec une deuxième clé, de préférence différente de la première .
L ' invention prévoit également un procédé de décodage de données reçues, comportant au moins des étapes de : déchiffrement de ladite première valeur à l'aide de ladite première clé ; reconstitution desdites combinaisons à partir desdites valeurs chiffrées obtenues en chiffrant ladite première valeur à 1 ' aide de la deuxième clé ; et soumettre les symboles de parité reçus à un décodage par le code correcteur d'erreur.
Selon un mode de mise en oeuvre de la présente invention, les symboles source d'un ensemble partiel, comportant de préférence moins d'1 % du nombre total de symboles source, sont chiffrés et transmis sans codage.
Selon un mode de mise en oeuvre de la présente invention, ladite première clé est utilisée pour chiffrer lesdits symboles source de l'ensemble partiel.
Selon un mode de mise en oeuvre de la présente invention, le code correcteur d'erreur est représenté par une matrice dans laquelle chaque ligne représente une équation d'obtention d'un symbole de parité, chaque colonne d'une première partie représentant un symbole source et chaque colonne d'une deuxième partie représentant un symbole de parité, au moins une colonne de la deuxième partie contenant, pour tout ou partie des lignes, une desdites combinaisons.
Selon un mode de mise en oeuvre de la présente inven¬ tion, une matrice de chiffrement conditionne chaque combinaison de plusieurs valeurs chiffrées.
L ' invention prévoit également un procédé de trans¬ mission de données codées dans lequel lesdites matrices, ou des graines permettant leur génération par des récepteurs, sont transmises avant les symboles de parité.
Selon un mode de mise en oeuvre de la présente inven¬ tion, la ou les clés de chiffrement sont fonctions de groupes de récepteurs auxquels sont destinées les données.
L ' invention prévoit également un émetteur de données numériques dans un système de transmission à code correcteur d'erreur.
L'invention prévoit également un récepteur de données numériques transmises par un système à code correcteur d'erreur.
L ' invention prévoit également un système de trans¬ mission de données numériques en application d'un code correcteur d'erreur. Brève description des dessins
Ces objets, caractéristiques et avantages, ainsi que d' autres de la présente invention seront exposés en détail dans la description suivante de modes de mise en oeuvre et de réali¬ sation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 qui a été décrite précédemment représente, de façon très schématique et sous forme de blocs, un exemple de système de diffusion du type auquel s ' applique la présente invention ; les figures 2A, 2B et 2C qui ont été décrites précédemment illustrent un mécanisme de codage par code correcteur d'erreur de type LDPC ; la figure 3 qui a été décrite précédemment illustre, de façon très schématique et sous forme de blocs, une technique connue combinant un chiffrement et un code correcteur d'erreur ; la figure 4 représente, de façon très schématique et sous forme de blocs, un exemple de système de chiffrement et de codage selon un mode de réalisation d'un premier aspect de la présente invention ; la figure 5 illustre, par un exemple de matrice de parité, un premier mode de mise en oeuvre de la présente invention selon son premier aspect ; la figure 6 illustre, par un exemple de matrice de parité, un deuxième mode de mise en oeuvre de la présente invention selon son premier aspect ; les figures 7A et 7B illustrent, par des repré¬ sentations matricielles, un mode de mise en oeuvre de la présente invention selon un deuxième aspect ; la figure 8 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un système de transmission de données numériques selon le deuxième aspect de la présente invention ; et la figure 9 représente, de façon très schématique et sous forme de blocs, un autre mode de réalisation d'un système de transmission de données numériques selon le deuxième aspect de la présente invention.
De mêmes éléments ont été désignés par les mêmes références aux différentes figures. De plus, pour des raisons de clarté, seuls les étapes et éléments qui sont utiles à la compréhension de l'invention ont été représentés aux figures et seront décrits par la suite. En particulier, les moyens de transmission proprement dits, notamment de modulation et démo¬ dulation n'ont pas été détaillés, l'invention étant compatible avec tout système classique. De plus, les algorithmes de chiffrement utilisables par l'invention n'ont pas non plus été détaillés, celle-ci étant là encore compatible avec tout algo¬ rithme symétrique classique. Description détaillée
Selon un premier aspect, la présente invention propose de sélectionner une partie des symboles source à soumettre à un chiffrement puis d'appliquer le codage à tous les symboles qu'ils soient ou non chiffrés.
La figure 4 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un système de transmission chiffrée et codée selon ce premier aspect de la présente invention.
Côté émetteur 10, des données DATA (12) à transmettre sont soumises, pour partie (mk symboles source avec m<l) à un premier algorithme de chiffrement (bloc 15, CIPHERl) pour être soumises chiffrées avec le reste (l-m)k des symboles source (non chiffrés) au code correcteur d'erreur (bloc 13, CODE). Ces mk symboles source sont également transmis, soit chiffrés par le premier algorithme, soit comme cela est représenté chiffrés par un deuxième algorithme (bloc 16, CIPHER2), sans passer par le code correcteur d'erreur. Le deuxième algorithme de chiffrement diffère du premier par le type d'algorithme et/ou par la clé utilisée. Une différence importante par rapport aux solutions précédentes est que les mk symboles source chiffrés sont également pris en compte par le code correcteur d'erreur 13. Le code 13 fournit n-k symboles de parité auxquels s'ajoutent, pour la transmission, les mk symboles sources transmis chiffrés (sans passer par le code correcteur d'erreur) .
Côté récepteur 20, dans le flux de n-k(l-m) symboles reçus, les mk symboles source chiffrés sont déchiffrés en étant soumis au deuxième algorithme (bloc 28, DECIPHER2) . Les mk symboles source en clair sont ensuite chiffrés par le premier algorithme (bloc 15, CIPHERl) pour être fournis au décodeur (bloc 25, DECODE). Le décodeur fournit les (l-m)k symboles sources, les mk symboles manquants étant fournis directement par le deuxième algorithme. Les k symboles sont alors exploités, par exemple, par un téléviseur. Si les deux algorithmes de chiffrement sont identiques et utilisent la même clé, il n'est pas nécessaire, côté réception, de rechiffrer les mk symboles. Ils sont déchiffrés pour être utilisés directement et sont en parallèle soumis, tels que reçus, au code 25 avec le reste des symboles. Une telle variante est cependant moins performante du point de vue de la sécurité des données transmises (résistance à la cryptanalyse) .
La proportion m de symboles soumis au chiffrement doit rester faible (par exemple, comprise entre 0,1 % et 10 %, et de préférence entre 0,1 % et 1 %) pour ne pas retomber dans les inconvénients des techniques consistant à chiffrer puis à coder l'ensemble des symboles.
La figure 5 illustre, par une représentation d'une matrice de parité 31', un mode de mise en oeuvre de la présente invention selon son premier aspect.
Une caractéristique de ce mode de mise en oeuvre est de chiffrer (chiffrement symbolisé par une fonction E en figure 5) , un nombre réduit des premières lignes de symboles source présents dans la matrice de parité 31'. Dans cet exemple, les symboles S1, S5, Sg, S3 et S5 de données présents dans les deux premières lignes (L et L ) de la matrice 31' sont chiffrés avant codage, les autres symboles qui n'apparaissent que dans les lignes ultérieures sont codés en clair. L'application du codage en utilisant une matrice de parité 31' du type LDPC en escalier entraîne que tous les symboles de parité contiendront des données chiffrées, ce qui réduit le risque de cryptanalyse de celles-ci. Le calcul des symboles de parité s'effectue, comme précédemment, par une combinaison OU-Exclusif des symboles source (chiffrés ou non) et de parité de la ligne.
Côté réception, en recevant les n-k symboles P (j prenant les valeurs de 1 à n-k) , seul un récepteur possédant la ou les clés de chiffrement sera capable, en déchiffrant les mk symboles sources transmis chiffrés mais non codés, puis en les chiffrant de nouveau avec le premier algorithme, de reconstituer un flux de symboles de données correct. Une telle technique est envisageable du fait que la matrice de parité prend en compte, dans des symboles ultérieurs, le contenu des symboles précédents.
La figure 6 représente une matrice de parité 31" selon un deuxième mode de mise en oeuvre du premier aspect de 1 ' invention .
Les symboles source à chiffrer (dans cet exemple S1, S5, S8, S12) sont choisis de telle sorte que chaque ligne de la matrice de parité 31" contient, dans sa partie de symboles source, au moins un symbole chiffré.
Un avantage est que cela améliore la confidentialité des données par rapport aux solutions de l'art antérieur.
La figure 6 illustre également une autre modification par rapport au mode de réalisation précédent qui est d'utiliser une matrice de parité LDPC de type triangle, c'est-à-dire dans laquelle chaque symbole de parité à partir du troisième P3 est susceptible de combiner plus de deux symboles de parité précédents . Une telle technique améliore la sécurité et la correction d'erreur, c'est-à-dire nécessite la réception d'un nombre moindre de symboles par un récepteur afin qu'il puisse décoder le contenu original avec succès .
Comme les matrices de symboles peuvent comporter plusieurs milliers de colonnes et plusieurs milliers de lignes, le fait de ne chiffrer qu'un petit nombre de symboles est intéressant du point de vue du temps de traitement.
Les figures 7A et 7B illustrent, par des repré¬ sentations matricielles, un mode de mise en oeuvre de 1 ' invention selon un deuxième aspect .
Une caractéristique de ce deuxième aspect est d'utiliser, outre la matrice de parité dont la partie symboles de parité est, par exemple, de type LDPC en escalier, une deuxième matrice de valeurs chiffrées pour générer plusieurs combinaisons respectivement prises en compte dans le calcul des symboles de parité. Les valeurs chiffrées sont, de préférence, obtenues par chiffrement d'un ou plusieurs premiers symboles de parité (nombre à choisir en fonction des exigences du système pour garantir la confidentialité de l'information). Les combinaisons de valeurs chiffrées sont alors prises en compte dans le calcul des symboles de parité de rangs supérieurs .
Par exemple, la sous-matrice de symboles de parité utilisée est une matrice du type en escalier dans laquelle une première colonne contient les résultats de différentes combinaisons de plusieurs variantes chiffrées du premier symbole de parité qui, dans ce cas, est transmis de façon sécurisée au récepteur. Les combinaisons sont, de préférence, différentes pour chaque ligne de la matrice. Par conséquent, la contribution du premier symbole de parité est différente dans chaque symbole de parité des lignes suivantes.
Dans l'exemple de la figure 7A, la sous-matrice 41 de symboles source est établie de façon classique (figure 2B) , sans symbole chiffré. La sous-matrice de parité 42 est établie en suivant une technique de LDPC en escalier pour tous les symboles de parité à partir du deuxième (P0 à P . ) . De plus, toutes les lignes à partir de la deuxième, donc tous les symboles de parité calculés à partir du deuxième, prennent en compte une valeur P fonction du premier symbole de parité P1 chiffré. Cela est illustré par une sous-matrice 42χ comportant, pour chaque ligne à partir de la deuxième, une valeur P1 , P1 ,..., P1 , . Dans cet exemple, on suppose que le symbole P1 n'est pas chiffré
(P^1=P1) •
La figure 7B représente une matrice de chiffrement 44 illustrant, arbitrairement par une représentation matricielle, un exemple de génération des valeurs P1 ., P1 ,..., P1 , . Chaque valeur est obtenue par combinaison de plusieurs variantes E17(IV1, P1), E17(IV-, P1)..., E17(IV., P1) du chiffrement du symbole de parité P1 avec une clé K. Ces variantes sont, par exemple, obtenues en modifiant un vecteur d'initialisation IV de l'algorithme de chiffrement E. L'algorithme de chiffrement est un algorithme symétrique (par exemple, de type DES ou AES utilisé en mode CBC - Cipher Block Chaining) . Grâce à la combinaison de plusieurs variantes chiffrées pour générer les valeurs P1 , le nombre t de vecteurs d'initialisation n'a pas besoin d'être important (de préférence compris entre 0,1 % et 10 % du nombre de symboles de parité) . Dans cet exemple, le symbole P1, de préférence chiffré, doit être reçu par le récepteur pour qu'il puisse reconstituer les autres symboles. De plus, le recevoir en premier améliore les performances de décodage .
La combinaison des différentes valeurs chiffrées dans la création des valeurs P1 s'effectue, par exemple, au moyen d'une opération Ou-Exclusif. On pourra également utiliser d'autres opérations, par exemple des opérations de type rotation des bits contenus dans les symboles. L'opérateur de combinaison est, de préférence, choisi en fonction de l'algorithme de chiffrement exécuté afin de ne pas dégrader ses performances du point de vue de sa résistance à la cryptanalyse . On pourra également combiner différents types d'opérations. Dans ce cas, la matrice de chiffrement 44 contient l'information (par exemple par un mot de deux bits ou plus selon le nombre d'opérateurs) sur la façon dont sont combinées les variantes chiffrées EK(TV±,
P1), E K(IV 2' pi) •• •' E κ (IV t' Pi) dans l'obtention de la combinaison P1 affectée à chaque symbole de parité P . Par exemple, un 0 (00) dans la matrice 44 indique que la variante n'est pas prise en compte, un 1 (01) indique que la variante est prise en compte par une combinaison OU-Exclusif, un 2 (10) ou un 3 (11) indique une rotation d'un nombre fixé (par exemple 4 ou 7) de bits de la variante courante avant combinaison par un OU-Exclusif avec le résultat de combinaison des variantes précédentes. Dans le mode de réalisation simplifié de la figure 7B, on suppose simplement un choix entre deux possibilités (0 : non prise en compte de la variante de la colonne ; 1 : prise en compte de cette variante par une combinaison OU-Exclusif) .
De préférence, la matrice de chiffrement 44 est modifiée périodiquement. Pour cela, il suffit d'envoyer la graine de génération de la matrice de chiffrement et que le récepteur contienne les outils logiciels et/ou matériels pour reconstruire cette matrice à partir de cette graine. Cela revient à utiliser, pour transmettre la matrice de chiffrement, la même technique que celle utilisée pour transmettre la matrice de parité .
Le mode de mise en oeuvre des figures 7A et 7B présente, par rapport au mode de réalisation de la figure 6, l'avantage d'être meilleur en correction d'erreur et, par rapport au mode de réalisation de la figure 5, l'avantage d'être meilleur en résistance à la cryptanalyse .
Selon une variante de mise en oeuvre, le symbole P1 est construit à partir de tous les symboles source (sous-matrice 41 ne comportant que des 1 dans sa première ligne) . Cela améliore l'effet dit "d'avalanche" dans les autres symboles de parité et, par conséquent, le chiffrement, sans nuire à la capacité de correction d'erreur.
Selon un autre mode de mise en oeuvre, le premier symbole P1 ± est lui-même issu de la matrice de chiffrement 44 qui combine des valeurs chiffrées indépendantes des symboles source. Dans la représentation des figures 7A et 7B, cela revient à ajouter une ligne P1 à la matrice 44 et à prendre en compte, comme valeur à chiffrer, une quantité autre qu'une combinaison P1 de tout ou partie des symboles source. La matrice 42 comporte également une colonne de plus pour calculer le premier symbole de parité P1 en fonction des symboles sources de la première ligne et de la valeur -L II n'y a alors plus de dépendance entre les valeurs P1 et les données source.
-L» 3
La figure 8 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un système de chiffrement et de codage selon le deuxième aspect de la présente invention. Les symboles source des données DATA (12) pris en compte dans le calcul du premier symbole de parité servent à l'obtention de celui-ci (bloc 53, CODE Pl) . Ce symbole Pl est alors chiffré (bloc 54, CIPHER) en fonction de différents vecteurs d'initialisation IVs et de la clé K. Les t valeurs chiffrées obtenues sont combinées en fonction de la matrice de chiffrement 44 pour obtenir les valeurs respectives P1 du premier symbole de parité à prendre en compte pour le codage des autres (bloc 55, CODE P0... P .). L'ensemble des n-k symboles de parité est alors transmis (diffusé) . De préférence, on sélectionne également un petit nombre x (de préférence entre 0,1 % et 1 %) des k symboles source que l'on chiffre avec la clé K (bloc 65, CIPHER). Les x symboles source chiffrés ER(S) avec la clé K sont transmis en plus du premier symbole de parité, de préférence également chiffré E1^(P1) avec cette clé K (bloc 64, CIPHER) , et des n-k-1 symboles de parité restants .
Côté réception, le premier symbole de parité est déchiffré avec la clé K (bloc 58, DECIPHER) de même que, s'il y a lieu, les x symboles source ER(S) (bloc 57, DECIPHER) . Le premier symbole de parité P1 obtenu permet de reconstituer les valeurs E1 .K1(IV1-L, P1-L), P11)..., P1-L) chiffrées avec la clé K et de reconstituer ainsi les combinaisons P1 (bloc 44) permettant de décoder les n-k-1 symboles de parité P2... , Pn_k restants (bloc 59, DECODE P Z0.... PTi ,K.). On obtient alors les k-x symboles source restants.
Les matrices de parité (sous-matrices 41 et 42) et de chiffrement 44 doivent être transmises (de préférence en début de session et/ou de façon sécurisée) ainsi que les vecteurs d'initialisation du chiffrement (ou une graine permettant de les reconstituer) de façon à permettre à tous les récepteurs compatibles de reconstituer les différentes matrices . Cette reconstitution ne suffit toutefois à récupérer les symboles source. Seuls les récepteurs possédant la clé K seront en mesure de déchiffrer le premier symbole de parité pour décoder de façon correcte les autres symboles.
La figure 9 représente, de façon très schématique et sous forme de blocs, un autre mode de réalisation du deuxième aspect de l ' invention .
Selon ce mode de réalisation, on affecte une clé Kg par utilisateur ou par sous-groupe d'utilisateurs en plus d'une clé KQ servant au chiffrement des symboles de parité. Par rapport au mode de réalisation précédent, le premier symbole de parité transmis P1 correspond à une valeur chiffrée E (P ) avec une clé Kg (bloc 64, CIPHER) différente de la clé KQ servant à l'obtention des valeurs P1 . Les x des k symboles source sont chiffrés avec cette clé Kg (bloc 65, CIPHER) . Les x symboles source chiffrés ER (S) avec la clé Kg sont transmis en plus du premier symbole de parité chiffré avec cette clé Kg et des n-k-1 symboles de parité dépendant des valeurs chiffrées avec la clé KQ. Le cas échéant (non représenté), les x symboles source sont utilisés dans leur version chiffrée pour le codage, ce qui revient à combiner les deux aspects de l'invention. Bien entendu, les matrices de chiffrement et de parité (ou des graines permettant leur génération) sont également transmises, chiffrées ou non avec la clé K . Il en est de même pour les vecteurs d'initialisation générant les différentes valeurs du chiffrement du premier symbole de parité. Selon une variante simplifiée, une seule clé Kg est utilisée. Cela revient à ne prévoir qu ' un seul groupe .
Côté réception, les x symboles source ER (S) sont déchiffrés (bloc 57, DECIPHER) avec la clé Kg, de même que le premier symbole de parité (bloc 58, DECIPHER) . Le premier symbole de parité P1 obtenu permet de reconstituer les valeurs E1^0(IV1, P1), ER0(IV2, P1)..., ER0(IVt, P1) chiffrées avec la clé Kn U et de reconstituer ainsi les combinaisons P11, J (bloc 44) permettant de décoder, le cas échéant en utilisant les x symboles source déchiffrés, les n-k-1 symboles de parité P2..., Pn-.k restants (bloc 59,' DECODE P20...Pn-,k). On obtient alors les k-x symboles source restants .
Un récepteur ne possédant que la clé KQ est incapable de reconstituer les données. De même, un récepteur ne possédant que la clé Kg n'est capable d'obtenir qu'une toute petite partie (moins de 1 %) des symboles source. Ce mode de réalisation permet de diffuser des données à des sous-groupes d'utilisateurs d'un groupe commun possédant la clé K0.
Un avantage est que la majeure partie (plus de 99 %) du contenu transmis est le même pour tous les récepteurs, seule une faible partie de ces symboles diffère selon les récepteurs, ce qui simplifie les calculs.
Une restriction par groupes d'utilisateurs telle qu'exposée en relation avec la figure 9 pourra également être mis en oeuvre avec le premier aspect de l ' invention . Par exemple, une clé commune sert au deuxième algorithme de chiffrement (15, figure 4) tandis que des clés de groupes sont utilisées pour le premier algorithme (blocs 14 et 26) .
Un avantage de la présente invention est qu'elle améliore la sécurité des données transmises .
Un autre avantage de la présente invention selon son deuxième aspect est qu ' elle est compatible avec la gestion de groupes d'utilisateurs différents.
Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, la mise en oeuvre pratique de l'inven¬ tion à partir d'outils matériels et/ou logiciels classiques (par exemple, par des circuits électroniques et/ou des micro¬ processeurs) est à la portée de l'homme de métier à partir des indications fonctionnelles données ci-dessus. En particulier, la formation du flux de symboles issu du codage et chiffrement de l'invention avec, si besoin, des symboles de paramétrage des récepteurs (par exemple, indiquant le type de chiffrement appliqué) ne pose pas problème. De plus, l'invention s'applique à différents types d'algorithmes de chiffrement dont le choix est à faire par l'homme du métier en fonction de l'application. En outre, dans les modes de réalisation où des symboles source sont transmis sans codage, le nombre de ces symboles (entre 0,1 % et 1 % des symboles source) est à choisir en réalisant un compromis entre le calcul requis côté récepteur et la sécurité (résistance à la cryptanalyse) .

Claims

REVENDICATIONS
1. Procédé de codage de données numériques (DATA) représentées par des symboles source (S1) , par un code correcteur d'erreur de génération de symboles de parité (P ) à partir, pour chaque symbole de parité, de plusieurs symboles source et d'au moins un symbole de parité de rang précédent, caractérisé en ce qu'il comporte au moins des étapes de : chiffrement (54) d'au moins une première valeur (P1) en plusieurs valeurs chiffrées (ER(IV, P1)) ; et prise en compte d'au moins une combinaison (P )
-W 3 desdites valeurs chiffrées pour calculer (55) au moins une partie (P0... P .) des symboles de parité.
2. Procédé selon la revendication 1, dans lequel ladite première valeur (P1) dépend d'au moins une partie des symboles source (S1) .
3. Procédé selon la revendication 2, dans lequel ladite première valeur (P ) comprend une combinaison de tous les symboles source (S ) .
4. Procédé selon l'une quelconque des revendications 2 et 3, dans lequel ladite première valeur (P1) est le premier symbole de parité, une combinaison (P1 ) étant affectée à chaque
-W 3 symbole de parité (P0... P ,) à partir du deuxième.
5. Procédé selon la revendication 1, dans lequel ladite première valeur est indépendante des symboles source (S1) , une combinaison étant affectée à chaque symbole de parité (P1).
6. Procédé selon l'une quelconque des revendications 4 et 5, dans lequel chaque dit symbole de parité (P0...P ,) prend en compte une combinaison (P ) différente de celles affectées aux autres symboles de parité.
7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel chaque valeur chiffrée (ER(IV, P1)) correspond à un chiffrement (54) de ladite première valeur (P ) avec un vecteur d'initialisation (IV) différent.
8. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel ladite première valeur (P1) est soumise à un chiffrement (64) avec une première clé (Kg) pour transmission, la ou lesdites valeurs chiffrées (ER0 (IV, P1)) étant obtenues par chiffrement (54) de ladite première valeur avec une deuxième clé (K0), de préférence différente de la première.
9. Procédé de décodage de données reçues, codées selon le procédé de la revendication 8, caractérisé en ce qu'il comporte au moins des étapes de : déchiffrement (58) de ladite première valeur (P1) à l'aide de ladite première clé (Kg) ; reconstitution (44) desdites combinaisons (P1 ) à partir desdites valeurs chiffrées (ER0(IV, P1)) obtenues en chiffrant (54) ladite première valeur (P1) à l'aide de la deuxième clé (KQ) ; et soumettre les symboles de parité reçus à un décodage (54) par le code correcteur d'erreur.
10. Procédé selon l'une quelconque des revendications 1 à 9, dans lequel les symboles source (S1) d'un ensemble partiel (x) , comportant de préférence moins d'1 % du nombre total (k) de symboles source, sont chiffrés (65) et transmis sans codage.
11. Procédé selon la revendication 10, dans son rattachement à la revendication 8, dans lequel ladite première clé (Kg) est utilisée pour chiffrer (65) lesdits symboles source (S1) de l'ensemble partiel (x) .
12. Procédé selon l'une quelconque des revendications 1 à 11, dans lequel le code correcteur d'erreur est représenté par une matrice dans laquelle chaque ligne représente une équation d'obtention d'un symbole de parité (P ), chaque colonne d'une première partie (41) représentant un symbole source (S ) et chaque colonne d'une deuxième partie (42) représentant un symbole de parité, au moins une colonne (421) de la deuxième partie contenant, pour tout ou partie des lignes, une desdites combinaisons (P1 ) .
13. Procédé selon la revendication 11, dans lequel une matrice de chiffrement (44) conditionne chaque combinaison (P1 ) de plusieurs valeurs chiffrées (ER(IV, P1)).
14. Procédé de transmission de données codées par la mise en oeuvre du procédé selon l'une quelconque des revendications 12 et 13, caractérisé en ce que lesdites matrices
(41, 44), ou des graines permettant leur génération par des récepteurs, sont transmises avant les symboles de parité (P ) .
15. Procédé selon la revendication 14, dans lequel la (K) ou les (KQ, K ) clés de chiffrement sont fonctions de groupes de récepteurs auxquels sont destinées les données .
16. Emetteur de données numériques dans un système de transmission à code correcteur d'erreur, caractérisé en ce qu'il comporte des moyens pour la mise en oeuvre du procédé selon 1 ' une quelconque des revendications 1 à 8.
17. Récepteur de données numériques transmises par un système à code correcteur d'erreur, caractérisé en ce qu'il comporte des moyens de décodage et de déchiffrement de données reçues, codées conformément au procédé selon l'une quelconque des revendications 1 à 8.
18. Système de transmission de données numériques en application d'un code correcteur d'erreur, caractérisé en ce qu'il comporte des moyens d'émission et de réception conformes aux revendications 16 et 17.
EP06847193A 2005-12-21 2006-12-20 Transmission securisee avec code correcteur d'erreur Withdrawn EP1964301A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0513072A FR2895176B1 (fr) 2005-12-21 2005-12-21 Transmission securisee avec code correcteur d'erreur
PCT/FR2006/051403 WO2007074296A1 (fr) 2005-12-21 2006-12-20 Transmission securisee avec code correcteur d'erreur

Publications (1)

Publication Number Publication Date
EP1964301A1 true EP1964301A1 (fr) 2008-09-03

Family

ID=36968800

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06847193A Withdrawn EP1964301A1 (fr) 2005-12-21 2006-12-20 Transmission securisee avec code correcteur d'erreur

Country Status (4)

Country Link
US (1) US8935527B2 (fr)
EP (1) EP1964301A1 (fr)
FR (1) FR2895176B1 (fr)
WO (1) WO2007074296A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI497920B (zh) * 2007-11-26 2015-08-21 Sony Corp Data processing device and data processing method
EP2974096A4 (fr) * 2013-03-14 2016-11-09 Massachusetts Inst Technology Procédé et appareil pour une communication sécurisée
CN108432170B (zh) * 2016-01-29 2021-08-17 麻省理工学院 用于多码分布式存储的装置和方法
EP3457601B1 (fr) 2017-09-13 2019-12-25 Siemens Aktiengesellschaft Procédé pour envoyer des données numériques sur un certain nombre de canaux

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526370A (en) * 1994-04-04 1996-06-11 Bell Communications Research, Inc. Weighted sum codes for error detection
KR100438448B1 (ko) * 2001-02-13 2004-07-03 삼성전자주식회사 통신시스템에서 부호 생성장치 및 방법
US6856263B2 (en) * 2002-06-11 2005-02-15 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US8935527B2 (en) 2015-01-13
US20110035642A1 (en) 2011-02-10
FR2895176A1 (fr) 2007-06-22
FR2895176B1 (fr) 2008-02-22
WO2007074296A1 (fr) 2007-07-05

Similar Documents

Publication Publication Date Title
EP1802022A1 (fr) Code correcteur d&#39;erreur sécurisé
EP2232765B1 (fr) Procede et entite de chiffrement symetrique probabiliste
EP2119095B1 (fr) Procede de chiffrement a l&#39;aide de codes correcteurs d&#39;erreurs
WO2008095788A1 (fr) Procede pour securiser la transmission d&#39;informations
EP2892176A2 (fr) Procédé de conversion d&#39;un contenu a accès conditionnel et récepteur pour la mise en oeuvre de ce procédé
FR2845227A1 (fr) Procede de reception d&#39;un signal module selon une technique de codage multi-niveaux, procede de decodage, dispositif de reception, systeme de codage-decodage et applications correspondant
FR2496303A1 (fr) Systeme de chiffrage/dechiffrement de donnees a cle publique
EP2951944A1 (fr) Procede de chiffrement homomorphe pour le ou exclusif et calcul securise d&#39;une distance de hamming
WO2005009040A2 (fr) Methode de chiffrage d’un flux audio ou video compresse a tolerance d’erreurs
EP1525748A1 (fr) Procede et module electronique de transmission securisee de donnees
FR2956541A1 (fr) Procede cryptographique de communication d&#39;une information confidentielle.
EP2457344B1 (fr) Procede de conversion d&#39;un premier chiffre en un deuxieme chiffre
EP2517397A1 (fr) Procede de chiffrement et de dechiffrement
EP1869823A2 (fr) Procede de communication entre un lecteur et un marqueur d&#39;identification sans fil, lecteur et marqueur associes
US20080317243A1 (en) Low complexity encryption method for content that is coded by a rateless code
EP1964301A1 (fr) Transmission securisee avec code correcteur d&#39;erreur
WO2006061420A1 (fr) Procede et systeme d &#39; encryption par un proxy
WO2012089632A1 (fr) Procede et systeme permettant de tester une integrite cryptographique d&#39;une donnee tolerante aux erreurs
EP1723791A1 (fr) Methode de securisation d&#39;un evenement telediffuse
FR3079989A1 (fr) Procédés, dispositifs et programmes d&#39;ordinateur pour le chiffrement et le déchiffrement de données pour la transmission ou le stockage de données
Babu et al. Ortho Linear Feedback Shift Register Cryptographic System
WO2021140159A1 (fr) Procédé d&#39;émission et de réception d&#39;un message comportant un identifiant chiffré du dispositif émetteur
WO2007015034A2 (fr) Procede et systeme de chiffrement a haut debit

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: 20080616

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IT

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

17Q First examination report despatched

Effective date: 20100722

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: 20130702