FR2805421A1 - Internet audio/visual secure transmission method having transmitter with pseudo random index table generating encrypted words/separate index set and internet transmitting with receivers table de encrypting. - Google Patents

Internet audio/visual secure transmission method having transmitter with pseudo random index table generating encrypted words/separate index set and internet transmitting with receivers table de encrypting. Download PDF

Info

Publication number
FR2805421A1
FR2805421A1 FR0002087A FR0002087A FR2805421A1 FR 2805421 A1 FR2805421 A1 FR 2805421A1 FR 0002087 A FR0002087 A FR 0002087A FR 0002087 A FR0002087 A FR 0002087A FR 2805421 A1 FR2805421 A1 FR 2805421A1
Authority
FR
France
Prior art keywords
data
remote
pseudo
random
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0002087A
Other languages
French (fr)
Inventor
Jean Francois Morreeuw
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to FR0002087A priority Critical patent/FR2805421A1/en
Publication of FR2805421A1 publication Critical patent/FR2805421A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The secure transmission method has an information system (10) transmitting to distant receivers (40,42,44,46), over a network link (20). The encrypted words are the same for all transmissions. For each transmission a pseudo random table index (T) is formed and a set of indexes are sent with the digital words to allow de encryption using tables in the receivers.

Description

<U>Domaine technique</U> <U>Art antérieur</U> L'invention concerne le domaine du traitement de données, par exemple signaux audio ou vidéo, et de leur transmission sous une forme sécurisée. The invention relates to the field of data processing, for example audio or video signals, and their transmission in a secure form.

Elle concerne également un procédé pour générer des données décryptage. Une transmission de ces données peut ensuite être réalisee, vers un utilisateur qui dispose de données cryptees. It also relates to a method for generating decryption data. A transmission of this data can then be performed to a user who has crypt data.

Elle peut s'appliquer aussi bien à des signaux numériques qu'à des signaux analogiques. It can be applied to both digital and analog signals.

exemple d'application concerne le domaine la diffusion de la musique par un réseau, par exemple par l'internet. example of application concerns the field of music broadcasting by a network, for example by the Internet.

II existe actuellement des techniques de téléchargement de morceaux musique, dans lesquels une source, exemple un serveur, envoie des morceaux de musique, sous forme numérisée, à des utilisateurs, chaque utlisateur étant équipé d'un modem analogique. There are currently techniques for downloading music tracks, in which a source, for example a server, sends pieces of music, in digital form, to users, each user being equipped with an analog modem.

Cependant on ne peut actuellement réaliser une opération de téléchargement de musique, dans des délais raisonnables (de l'ordre de quelques minutes), avec les modems analogiques classiques qui équipent la plupart usagers. However we can not currently perform a music download operation, within reasonable time (of the order of a few minutes), with the conventional analog modems that equip most users.

De plus, afin de rétribuer ce service, une partie au moins de chacun des morceaux transmis est cryptée, le décryptage n'étant fourni que contre paiement ou télépaiement. Moreover, in order to pay for this service, at least part of each of the pieces transmitted is encrypted, the decryption being provided only against payment or telepayment.

cryptage est cependant réalisé de manière personnalisée, ce qui conduit à un nombre important d'étapes de marquage et de cryptage.  However, encryption is done in a personalized manner, which leads to a large number of marking and encryption steps.

techniques actuelles de marquage personnalisé des données à crypter mettent en oeuvre - une étape de compression des données - une étape de marquage des données, - une étape de cryptage des données. current techniques for custom marking data to encrypt implement - a data compression step - a data marking step, - a data encryption step.

Eventuellement, le marquage peut précéder la compression, mais le cryptage est toujours réalisé après ces deux étapes de compression et de marquage. Le marquage des données est donc réalisé à la demande et le cryptage est de ce fait, lui-même personnalisé, c'est ' dire qu'il est fonction de l'utilisateur. Le décryptage est donc, lui aussi, personnalisé.  Optionally, the marking may precede the compression, but the encryption is always performed after these two stages of compression and marking. The marking of the data is therefore done on demand and the encryption is thereby itself personalized, ie it is a function of the user. Decryption is therefore also personalized.

Cette technique, bien que satisfaisante à certains égards, nécessite cependant la mise en oeuvre d'un nombre d'étapes de cryptage trop important. This technique, although satisfactory in some respects, however requires the implementation of a number of encryption steps too important.

Si un ensemble de données (par exemple morceau de musique) doit être diffusé à 100 utilisateurs, ce sont étapes de marquage sont à réaliser, puis 100 étapes de cryptage corres pondantes. If a set of data (for example a piece of music) has to be broadcast to 100 users, these are marking steps to be performed, then 100 corresponding encryption steps.

Le même problème se pose quelle que soi nature des données transmises ou diffusées. The same problem arises regardless of the nature of the data transmitted or disseminated.

II pose donc le problème de trouver un procédé permettant de diffuser des données cryptées ou marquées, mais mettant en oeuvre un nombre réduit d'étapes. It therefore poses the problem of finding a method for distributing encrypted or marked data, but implementing a reduced number of steps.

II pose également le problème de trouver un procédé permettant de diffuser des données cryptées qui puissent être téléchargées par un utilisateur dans des délais assez brefs de l'ordre de quelques minutes au plus. It also poses the problem of finding a method for distributing encrypted data that can be downloaded by a user within a relatively short time of the order of a few minutes at most.

Certaines autres solutions existantes, qui permettent d'ailleurs pas plus un téléchargement dans des délais brefs, ne mettent pas de marquage dans le fichier compressé et crypté. Cependant, le cryptage reste bien personnalisé. Le marquage, dans ce , est réalisé dans le logiciel utilisateur. Ce système pose un problème car il est possible de pirater le logiciel afin de court-circuiter l'étape marquage. <U>Exposé de l'invention</U> L'invention vise à résoudre ce problème, en proposant un procédé et un dispositif de traitement des données, qui permettent de crypter celles-ci de manière indépendante de l'identité de l'utilisateur ou du destinataire des données cryptées. Some other existing solutions, which do not allow any more download in a short time, do not put marking in the compressed and encrypted file. However, the encryption remains well personalized. The marking in this is done in the user software. This system is a problem because it is possible to hack the software to bypass the marking step. The invention aims to solve this problem, by proposing a method and a device for processing the data, which make it possible to encrypt the data independently of the identity of the user. user or recipient of the encrypted data.

L'invention a tout d'abord pour objet un procédé de transmission, à partir de moyens informatiques et vers au moins deux dispositifs informatiques distants qui sont reliés par réseaux aux moyens informatiques, de données de décryptage de données cryptées, caractérisé en ce que les données cryptées sont identiques pour tous les dispositifs distants, et comportent des données (brutes ou de base) et des données de cryptage d'au moins une partie de ces données brutes ou de base, on forme, pour chaque appareil distant, une table ou une suite pseudo-aléatoire d'index, propre à chaque appareil distant, - on transmet, à au moins un des appareils distants, ensemble d'index identifiant des données de décryptage dans la table ou dans la suite pseudo-aléatoire propre audit appareil distant. The invention firstly relates to a transmission method, from computer means and to at least two remote computing devices that are connected by networks to the computer means, encrypted data decryption data, characterized in that the encrypted data are identical for all the remote devices, and include data (raw or basic) and encryption data of at least a portion of these raw or basic data, one forms for each remote device, a table or a pseudo-random index sequence, specific to each remote device, - is transmitted to at least one of the remote devices, set of index identifying decryption data in the table or in the pseudo-random sequence specific to said remote device .

Les données cryptées étant, après cryptage, identiques pour tous destinataires ou utilisateurs, ceux-ci peuvent en disposer, avant tout envoi des index identifiant les données de décryptage dans la table personnalisée de chaque utilisateur. En particulier, ces données cryptées n'ont besoin d'être transmises par réseau et peuvent tout simplement être remises aux utilisateurs sous la forme d'un support matériel, par exemple un CD audio dans le cas de données représentant morceau de musique, ou un CD ROM pour des données numériques compressées. Ou bien ces données peuvent avoir été préalablement mémorisées dans le dispositif informatique de chaque utilisateur, par exemple lorsque les données cryptées sont des données d'application ou de programme informatique. The encrypted data is, after encryption, identical for all recipients or users, they can have, before sending any index identifying the decryption data in the custom table of each user. In particular, these encrypted data need not be transmitted over the network and can simply be delivered to the users in the form of a hardware medium, for example an audio CD in the case of data representing a piece of music, or a CD ROM for compressed digital data. Or these data may have been previously stored in the computer device of each user, for example when the encrypted data is application data or computer program.

Les seules données transmises par réseau à chaque utilisateur sont la table pseudo-aléatoire propre à l'utilisateur, et l'ensemble d'index identifiant les données de décryptage dans cette table. The only data transmitted by network to each user is the pseudo-random table specific to the user, and the set of indexes identifying the decryption data in this table.

La quantité d'informations, notamment binaires, à envoyer par réseau, est donc bien moins importante que dans le cas où l'ensemble de données lui-même (par exemple, un morceau de musique) à envoyer par réseau. The amount of information, particularly binary, to send by network, is much less important than in the case where the data set itself (for example, a piece of music) to send by network.

La table pseudo-aléatoire propre à chaque utilisateur peut être obtenue par combinaison d'une pluralité de fonctions pseudo-aléatoires. L'envoi de cette table à un utilisateur consiste de préférence à envoyer la table elle-même. Selon un autre mode de realisation, on envoie une partie des fonctions permettant d'obtenir cette table. Dans ce dernier cas, le calcul de la table est réalisé au plus en partie par la machine ou le dispositif informatique de l'utilisateur, qui programmé pour réaliser ce calcul. Ceci permet d'optimiser l'utilisation de la ligne reliant le réseau l'utilisateur ou à son dispositif informatique distant, en envoyant, à celui- soit la table ou la suite pseudo-aléatoire elle-même lorsque cette ligne présente un débit suffisant, soit les fonctions pour la calculer lorsque le débit de la ligne est insuffisant ou réduit. The pseudo-random table specific to each user can be obtained by combining a plurality of pseudo-random functions. Sending this table to a user preferably consists of sending the table itself. According to another embodiment, one sends part of the functions to obtain this table. In the latter case, the calculation of the table is performed at most in part by the machine or the computer device of the user, who programmed to perform this calculation. This makes it possible to optimize the use of the line connecting the network to the user or to his remote computing device, by sending either the table or the pseudo-random sequence itself when this line has a sufficient flow rate, either the functions to calculate it when the flow of the line is insufficient or reduced.

De préférence, l'ensemble d'index transmis à chaque appareil distant pour le décryptage est fonction de cet appareil. Autrement dit, les données de décryptage peuvent être personnalisées et ceci bien que les données cryptées soient identiques pour tous les utilisateurs. Preferably, the set of indexes transmitted to each remote device for decryption is a function of this apparatus. In other words, the decryption data can be customized, even though the encrypted data is identical for all users.

Ceci signifie que le marquage n'est effectué qu'au moment d'une opération de décryptage, et de toute manière après une éventuelle opération de compression des données et après cryptage (unique pour tous les utlisateurs) de celles-ci. This means that the marking is performed only at the time of a decryption operation, and anyway after a possible data compression operation and after encryption (unique for all users) thereof.

Il n'est donc pas possible de court-circuiter une étape marquage lors du décryptage. It is therefore not possible to bypass a marking step during decryption.

Le procédé selon l'invention permet en outre de ne réali qu'une unique opération de cryptage des données, éventuellement compressées, et ceci quel que soit le nombre d'utilisateurs. The method according to the invention also makes it possible to perform only a single operation of encrypting the data, possibly compressed, and this regardless of the number of users.

L'invention concerne également un dispositif pour transmettre des données de décryptage de données cryptées vers au moins deux appareils informatiques distants, caractérisé en ce qu'il comporte moyens informatiques, reliés par réseaux aux appareils informatiques distants et programmés pour: - déterminer, pour chaque appareil, une table pseudo aléatoire d'index ou des données pour former une table pseudo-aléatoire d'index, propre à chaque appareil distant, - déterminer, pour chaque appareil distant, un ensemble d'index identifiant des données de décryptage dans la table pseudo- aléatoire propre audit appareil distant, - envoyer, à chaque appareil distant, la table pseudo-aléatoire d'index ou les données pour former cette table pseudo-aléatoire d'index ainsi que des données d'ensemble d'index identifiant les données décryptage dans la table pseudo-aléatoire propre à chaque appareil distant. The invention also relates to a device for transmitting encrypted data decryption data to at least two remote computing devices, characterized in that it comprises computer means connected by networks to remote computing devices and programmed to: - determine, for each device, a pseudo-random index table or data to form a pseudo-random index table, specific to each remote device, - determining, for each remote device, a set of indexes identifying decryption data in the table pseudo-random own said remote device, - send, to each remote device, the index pseudo-random table or data to form this index pseudo-random table as well as index set data identifying the data decryption in the pseudo-random table specific to each remote device.

Les moyens informatiques peuvent être en outre programmés pour envoyer à chaque appareil distant des données pour former une table pseudo-aléatoire d'index selon un format fonction du débi de la ligne qui ie chaque appareil distant au(x) réseau(x). The computer means may also be programmed to send to each remote device data to form a pseudo-random index table in a format function of the flow of the line that I each remote device network (x).

L'invention concerne également un procédé d'échange de données entre un opérateur et des utilisateurs distants reliés à l'operateur par réseau(x), comportant: l'identification de chaque utilisateur dans une base de données ou des moyens de mémorisation d'un système informatique de l'opérateur, l'attribution, c'est-à-dire la détermination ou le calcul à ou pour chaque utilisateur, d'une table ou d'une suite pseudo-aléatoire de données d'index, personnalisée ou propre à chaque utilisateur. Lorsqu'un utilisateur formule une requête d'attribution de données décryptage pour un ensemble de données cryptées, un ensemble d'index identifiant des données de décryptage dans la table ou dans la suite pseudo-aléatoire propre audit utilisateur ou à son appareil distant lui est envoyé par réseau. Le décryptage a lieu dans l'appareil de l'utilisateur par lecture de la table personnalisée dont il dispose, cette lecture étant faite dans l'ordre déterminé par l'ensemble d'index lui a été envoyé. The invention also relates to a method for exchanging data between an operator and remote users connected to the operator by network (x), comprising: the identification of each user in a database or memory storage means; an operator's computer system, assigning, that is, determining or calculating to or for each user, a pseudo-random table or sequence of index data, customized or specific to each user. When a user makes a decryption data assignment request for a set of encrypted data, a set of indexes identifying decryption data in the table or in the pseudorandom suite specific to said user or his remote device is sent by network. The decryption takes place in the user's device by reading the personalized table that he has, this reading being made in the order determined by the set of indexes has been sent.

<U>Brève description des figures</U> La description de l'invention fait référence aux figures suivantes, données à titre uniquement illustratif et non limitatif la figure 1 représente schématiquement la mémorisation de données dans des zones mémoires d'un serveur et d'un inateur personnel ; - la figure 2 est un exemple simplifié de cryptage de données ; - la figure 3 représente un système pour la mise en oeuvre de l'invention ; - la figure 4 est une représentation schématique de divers composants d'un ordinateur personnel ; - la figure 5 représente des étapes d'un procédé de compression et de cryptage de données ; - la figure 6 représente des étapes d'une transaction électro nique entre un distributeur de données et un utilisateur. <U>Description détaillée de modes de réalisation de l'invention</U> Un premier mode de réalisation de l'invention va être décrit, pour lequel on prendra l'exemple d'un signal audio se présentant sous forme numérique. BRIEF DESCRIPTION OF THE DRAWINGS The description of the invention refers to the following figures, which are given for illustrative and nonlimiting purposes only. FIG. 1 schematically represents the storage of data in memory zones of a server. a personal inator; FIG. 2 is a simplified example of data encryption; FIG. 3 represents a system for implementing the invention; FIG. 4 is a schematic representation of various components of a personal computer; FIG. 5 represents steps of a method of data compression and encryption; FIG. 6 represents steps of an electronic transaction between a data distributor and a user. <U> DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION </ U> A first embodiment of the invention will be described, for which we will take the example of an audio signal in digital form.

Des exemples de réalisation tables ou de suites pseudo- aléatoires vont d'abord d'être donnés. Examples of realization of tables or pseudorandom suites will first be given.

On appelle ordre pseudo-aléatoire tout ordre défini par une séquence de nombres qui peut être complètement prévue ou déterminée par un algorithme prédéfini et une ou des valeur(s) initiale(s). A pseudo-random order is any order defined by a sequence of numbers that can be completely predicted or determined by a predefined algorithm and initial value (s).

Un tel ordre pseudo-aléatoire est défini pour les nombres choisis entre 0 et 2b-', b étant le nombre bits sur lequel le codage des données, ici des données audio, est realisé. Par exemple, b = 28 ou encore b = 16. Such a pseudo-random order is defined for the numbers chosen between 0 and 2b- ', where b is the number of bits on which the coding of the data, here audio data, is carried out. For example, b = 28 or b = 16.

Cet ordre pseudo-aléatoire constitue une suite Un, avec 0 < n, < 2b-'. Pour chaque indice n, Un désigne l'indice de la position de n dans la suite pseudo-aléatoire ainsi obtenue. This pseudo-random order constitutes a sequence Un, with 0 <n, <2b- '. For each index n, A denotes the index of the position of n in the pseudo-random sequence thus obtained.

En d'autres termes, on a defini une fonction génératrice f, f(n) = Un, de l'ensemble des nombres cers compris entre 0 et 2b-' sur lui-même. In other words, we have defined a generating function f, f (n) = Un, of the set of numbers between 0 and 2b- 'on itself.

Le résultat de cette fonction, est-à-dire la suite Un elle-même, est aussi appelée table génératrice T. The result of this function, ie the sequence itself, is also called the T generator table.

Cette table génératrice T peut ensuite être différenciée en vue de chaque utilisateur. This generating table T can then be differentiated in view of each user.

Cette différenciation s'effectue par application, pour chaque utilisateur, d'une fonction, qui est inversible pour la personne qui émet les données, mais qui est tenue secrète cachée au destinataire des données. Pour ce dernier, cette fonction n'est donc pas inversible, tandis qu'elle l'est pour le distributeur des données. This differentiation is carried out by applying, for each user, a function, which is invertible for the person who transmits the data, but which is held secret secret to the recipient of the data. For the latter, this function is not invertible, while it is for the data distributor.

Selon un exemple, une telle fonction dépendante de deux paramètres p et i : un paramètre de position p, compris entre 0 et 264-1, et un incrément i, compris entre 0 et 2z8-1. Les valeurs données pour les plages dans lesquelles ces valeurs peuvent être choisies le sont à titre indicatif, d'autres valeurs pouvant être choisies. Les nombres p et i sont des données caractéristiques affectées à chacun des destinataires ou utilisateurs des données à transmettre. According to an example, such a function dependent on two parameters p and i: a position parameter p, between 0 and 264-1, and an increment i, between 0 and 2z8-1. The values given for the ranges in which these values may be chosen are indicative, other values may be chosen. The numbers p and i are characteristic data assigned to each of the recipients or users of the data to be transmitted.

La table suivante est alors calculée <I>(ci</I> +i)mod22g,(cl +i)mod228,...,(cl +i)mod22g <I>(I)</I> p mod 2z" (1+p) mod 22" (2"-1+p) mod 2'2' Cette table est personnalisée en fonction de l'utilisateur par les paramètres p et i. The following table is then computed <I> (ci </ I> + i) mod22g, (cl + i) mod228, ..., (cl + i) mod22g <I> (I) </ I> p mod 2z "(1 + p) mod 22" (2 "-1 + p) mod 2'2 'This table is customized according to the user by the parameters p and i.

Autrement dit, la fonction génératrice f définie ' dessus est combinée avec une fonction fp,; qui est propre à chaque utilisateur ou destinataire des données, et qui est maintenue attachée à dernier. II en résulte une table T. personnalisée en fonction de l'utilisateur, client ou du destinataire Tic = fp,; o f (2) Le symbole "o" désigne la loi de combinaison fonctions (avec cette notation: f o g (x) = f[g(x)]). In other words, the generating function f defined above is combined with a function fp; which is unique to each user or recipient of the data, and which is kept attached to last. This results in a personalized table T. according to the user, customer or recipient Tic = fp ,; o f (2) The symbol "o" indicates the law of combination functions (with this notation: f o g (x) = f [g (x)]).

La table personnalisée Tic peut aussi être obtenue par combinaison des fonctions f et fp,; dans l'ordre inverse. The custom table Tic can also be obtained by combining the functions f and fp; in the reverse order.

Selon une variante, la table génératrice T peut aussi être obtenue, non plus par la donnée d'une seule fonction pseudo-aléatoire mais par combinaison d'une pluralité de fonctions pseudo-aléatoires g1,...gn, et de f (n > 1). According to one variant, the generating table T can also be obtained, either by the data of a single pseudo-random function but by a combination of a plurality of pseudo-random functions g1, ... gn, and f (n > 1).

Autrement dit, on peut obtenir une table génératrice à partir de la composition suivante Tic = gn o gn_1 o......092 <B>091</B> 0 f (3) On expliquera ci-dessous l'intérêt d'utiliser une telle construction. In other words, we can obtain a generating table from the following composition Tic = gn o gn_1 o ...... 092 <B> 091 </ B> 0 f (3) We will explain below the interest of use such a construction.

Selon un exemple, la fonction f est définie par les deux égalités suivantes: f(n) = x, I 2k et par : xn+, = [axn mod (2k2P)] (4) la valeur de xo étant choisie première avec la base utilisée pour réaliser le codage. Pour une base 2, on prendra donc une valeur impaire. Dans cette fonction, la division par 2k (avec k>0) permet de prendre que les p bits de poids forts. According to one example, the function f is defined by the following two equalities: f (n) = x, I 2k and by: xn +, = [axn mod (2k2P)] (4) the value of xo being chosen first with the base used to perform the coding. For a base 2, we will therefore take an odd value. In this function, dividing by 2k (with k> 0) makes it possible to take only the p most significant bits.

La fonction g, peut être par exemple définie par les deux égalités suivantes: g,(n) = x,, I 2k et par x, (n+,) = [a', x, n mod (2k2"0] (5) avec les mêmes conditions sur k et x,o. The function g, for example, can be defined by the following two equalities: g, (n) = x ,, I 2k and by x, (n +,) = [a ', x, n mod (2k2 "0) (5 ) with the same conditions on k and x, o.

Pour l'application de ces formules, les coefficients xo,x,osont, de préférence, choisis de manière à conférer aux fonctions f g, un caractère cyclique. For the application of these formulas, the coefficients x 0, x, are preferably chosen so as to confer on the functions f g a cyclic character.

Si, par exemple, p = 10 et p', = 10, chacune des fonctions f et g, définit alors une application, et même une bijection, de l'ensemble des nombres entiers naturels compris entre 0 et 2'o sur lui-même. If, for example, p = 10 and p '= 10, each of the functions f and g, then defines an application, and even a bijection, of the set of natural integers between 0 and 2'0 on it. even.

Selon un exemple : a = a'1 = 997 et xo = x,o = 5284163. According to an example: a = a'1 = 997 and xo = x, o = 5284163.

Le résultat de la composition de g, avec f fournit alors fonction génératrice, bijective, de l'ensemble des entiers naturels compris entre 0 et 106 sur lui-même. The result of the composition of g, with f then provides a generating function, bijective, of the set of natural integers between 0 and 106 on itself.

Plus généralement, on pourra prendre également des valeurs de p et de p' telles que p soit différent de p'. Dans l'exemple des fonctions f g, ci-dessus, des valeurs typiques de p et p' peuvent être par exemple =18ou19,p'=6ou7. More generally, values of p and p 'may also be taken such that p is different from p'. In the example of the functions f g, above, typical values of p and p 'can be for example = 18 or 19, p' = 6 or 7.

Dans l'exemple donné ci-dessus, la fonction g, réalise concaténation des résultats obtenus respectivement avec f et g, separément. In the example given above, the function g realizes concatenation of the results obtained respectively with f and g, separately.

On peut aussi, au lieu d'une simple concaténation, réaliser une combinaison binaire qui ne soit pas simplement une concaténation, par exemple, il est possible de mélanger entre eux les bits des résultats respectifs de f et de g,. It is also possible, instead of a simple concatenation, to perform a binary combination that is not merely a concatenation, for example, it is possible to mix together the bits of the respective results of f and g, respectively.

On peut aussi utiliser, pour g, - une étape d'application de l'opérateur XOR, appliqué aux resultats de f, - une génération de nombres pseudo-aléatoires, par exemple du type indiqué ci-dessus avec la formule (5), - une combinaison binaire, autre qu'une concaténation. It is also possible to use, for g, an application step of the XOR operator, applied to the results of f, a pseudo-random number generation, for example of the type indicated above with the formula (5), - a binary combination, other than a concatenation.

Le résultat de la combinaison de g, et de f est une bijection d'un ensemble de N valeurs d'index sur lui-même. The result of the combination of g, and f is a bijection of a set of N index values on itself.

Le résultat ci-dessus se généralise au cas d'une combinaison de f avec n fonction g;, chaque fonction g; étant par exemple définie par les deux égalités suivantes: g;(n ) = X;,, / 2k et par x;(,+,) = [a'; x;n mod (2'2p')] (6) où a'; et x;o définis de manière à ce que g; soit cyclique (par exemple: a';.= 997 et x;o = 5284163.) La combinaison de la fonction gk (respectivement : g,) avec la fonction gk_, (respectivement : f) peut être par exemple une concaténation du résultat de ces deux fonctions, ou bien encore le résultat de l'application opérateur XOR et d'une combinaison binaire des résultats de chacune des fonctions gk et gk_, (respectivement g, et f). The result above is generalized to the case of a combination of f with n function g ;, each function g; being for example defined by the two following equalities: g; (n) = X; ,, / 2k and by x; (, +,) = [a '; x; n mod (2'2p ')] (6) where a'; and x; o defined so that g; cyclic (for example: a ';. = 997 and x; o = 5284163.) The combination of the function gk (respectively: g,) with the function gk_, (respectively: f) can be for example a concatenation of the result of these two functions, or else the result of the XOR operator application and a binary combination of the results of each of the functions gk and gk_, (respectively g, and f).

Comme expliqué ci-dessus, une étape de personnalisation de la table géneratrice, pour former la table du client, intervient lors de l'application d'une fonction fp,;. As explained above, a step of customizing the generating table, to form the customer's table, occurs during the application of a function fp,.

a alors T2, = Tofp,; ou Tz, = fp,; o T (7) Il est possible, en outre, de personnaliser chacune des fonctions g; dans le cas d'une combinaison du type de la formule (3) indiquée ci-dessus, mais le choix des fonctions g; est alors fait en sorte que le résultat de la combinaison des différentes fonctions pseudo- aléatoires entre elles, et avant application de la fonction de personnalisation fp,; soit le même quelque soit le client ou l'utilisateur. then T2 = Tofp; or Tz, = fp ,; o T (7) It is also possible to customize each of the functions g; in the case of a combination of the type of the formula (3) indicated above, but the choice of the functions g; is then made to ensure that the result of the combination of the different pseudorandom functions between them, and before application of the personalization function fp ,; the same whatever the client or the user.

Autrement dit, si pour un premier client, on effectue choix de fonctions g'; (i = 1,..., n) et pour un deuxième client un choix de fonctions (i = 1,..., n), ce choix est fait de telle manière que dans les deux cas, on genère une table génératrice T unique définie par T = g'n o g'n_1 0...........09'z o 9110f (8) T z z = g # o g n_l o<B>...........</B> ogz z o gzlof (9) Selon une autre variante, on peut utiliser, pour chaque fonction génératrice g;, le résultat de la combinaison suivante G;_, = g;_, o g;_2 ..........of (10) pour indexer g;. In other words, if for a first client, one makes choice of functions g '; (i = 1, ..., n) and for a second client a choice of functions (i = 1, ..., n), this choice is made in such a way that in both cases, a generating table is generated T unique defined by T = g'n o g'n_1 0 ........... 09'zo 9110f (8) T zz = g # og n_l o <B> ....... According to another variant, it is possible to use, for each generating function g 1, the result of the following combination G 1, g 2, g 2,. ........ of (10) to index g;

Par exemple, il est possible de concaténer le résultat de G;_ (x;) avec une première fonction génératrice g;_<B>1</B>, puis le résultat de g;_, (x;) avec deuxième fonction génératrice g;.2. For example, it is possible to concatenate the result of G; _ (x;) with a first generating function g; _ <B> 1 </ B>, then the result of g; _, (x;) with second function generator g; .2.

Cette technique de combinaison rajoute encore un aléa dans le resultat. This combination technique adds another hazard to the result.

Dans tous les cas, la table personnalisée T,c est obtenue par combinaison de T et fP,;. In all cases, the custom table T, c is obtained by combining T and fP,.

Comme illustré sur la figure 1, la table génératrice T, unique quelque soit le destinataire des données, est stockée dans une zone mémoire 2 d'un système informatique (par exemple un serveur) du distributeur des données. Elle est maintenue secrète, c'est-à-dire elle n'est pas transmise aus utilisateurs. As illustrated in FIG. 1, the generating table T, unique whatever the recipient of the data, is stored in a memory zone 2 of a computer system (for example a server) of the data distributor. It is kept secret, that is, it is not passed on to users.

La table personnalisée Tlc d'un client donné c est transmise à client et est stockée dans une zone mémoire 4 d'un systeme informatique de ce client ou de ce destinataire, ce système pouvant être exemple un ordinateur de type PC usuel. The personalized table Tlc of a given client c is transmitted to the client and is stored in a memory zone 4 of a computer system of this client or of this recipient, this system being exemplary a computer of the usual PC type.

Chacun des fichiers ainsi constitués est indépendant des données qui doivent être transmises par le distributeur au client ou au destinataire. Each of the files thus constituted is independent of the data that must be transmitted by the distributor to the customer or the recipient.

La table Tl. est donc fournie au client au début de sa relation avec le fournisseur de données. The table Tl. Is therefore provided to the customer at the beginning of his relationship with the data provider.

Par ailleurs, les données à transmettre doivent être cryptées. La figure 2 represente schématiquement l'évolution temporelle d'un signal audio, après compression. In addition, the data to be transmitted must be encrypted. Figure 2 schematically shows the time evolution of an audio signal, after compression.

La courbe en traits interrompus représente le résultat du cryptage de ces données. The dashed line represents the result of the encryption of these data.

Toute méthode cryptage peut être utilisée. De préférence, on regroupe les données en intervalles, tels que les intervalles I, II, III, IV représentés sur la figure 2, et on effectue un cryptage unique de l'ensemble des données comprises dans chacun de ces intervalles. Any encryption method can be used. Preferably, the data are grouped in intervals, such as the intervals I, II, III, IV shown in FIG. 2, and a single encryption of the set of data included in each of these intervals is carried out.

Selon l'exemple de la figure 2, le cryptage des données de l'intervalle I est obtenu par addition d'une valeur vi aux données brutes compressées initiales, et il en va de même pour les autres intervalles II (addition de v2),<B>111</B> (addition de v3), IV (addition de v4). According to the example of FIG. 2, the encryption of the data of the interval I is obtained by adding a value vi to the initial compressed raw data, and the same goes for the other intervals II (addition of v2), <B> 111 </ B> (addition of v3), IV (addition of v4).

Dans l'exemple donné, le regroupement des données en bloc est un découpage régulier linéaire en intervalles I, II, ... Cependant, on peut choisir d'autres méthodes de regroupement qui peuvent par exemple conduire à une superposition des intervalles de cryptage, auquel cas, certaines données, communes à ces intervalles, subissent un double cryptage. In the example given, the grouping of the data in block is a regular linear division in intervals I, II, ... However, one can choose other methods of grouping which can for example lead to a superposition of the intervals of encryption, in which case, certain data, common to these intervals, undergo a double encryption.

Selon une variante, il est également possible de superposer plusieurs niveaux de cryptage ; en particulier, chaque niveau de cryptage peut dépendre du niveau de cryptage précédent. According to one variant, it is also possible to superimpose several levels of encryption; in particular, each level of encryption may depend on the previous encryption level.

L'intérêt du regroupement des données en vue du cryptage sera expliqué ci-dessous. The interest of grouping data for encryption purposes will be explained below.

Le résultat du cryptage, c'est-à-dire les données cryptées, sont remises au client ou au destinataire des données, ce dernier demandant ensuite une clé de décryptage au distributeur des données. The encryption result, i.e. the encrypted data, is delivered to the client or recipient of the data, which then requests a decryption key from the data distributor.

En fait, les données cryptées peuvent être contenues dans un support de données tel qu'un CDROM que l'utilisateur peut lire avec son propre matériel (lecteur de CDROM et micro-ordinateur équipé d'une carte son). In fact, the encrypted data can be contained in a data medium such as a CDROM that the user can read with his own hardware (CDROM reader and microcomputer equipped with a sound card).

Les données nécessaires au décryptage sont en fait déjà contenues dans la table personnalisée T, que possède le client. Cependant, ce dernier ignore l'adresse ou la position de ces données de cryptage dans la table dont il dispose. Dans l'exemple de la figure 1, les données VI, V2, V3, V4, .... sont contenues dans la table T, mais le client ignore leur position dans cette table. Par contre, le distributeur, qui dispose de la table T, et qui a lui- même realisé le cryptage, connaît exactement les données de cryptage et leur position, à la fois dans sa propre table T et dans la table Tc de chaque client. Par exemple, comme illustré sur la figure 1, chacune des valeurs V2, V3, V4 possède un index il, i2, i3, i4 dans table T et un index i'l, i'2, i'3, i'4 dans la table Tc. The data necessary for decryption are in fact already contained in the custom table T, which the client has. However, it ignores the address or position of this encryption data in the table that it has. In the example of Figure 1, the data VI, V2, V3, V4, .... are contained in the table T, but the client ignores their position in this table. On the other hand, the distributor, who has the table T, and who has himself made the encryption, knows exactly the encryption data and their position, both in his own table T and in the table Tc of each client. For example, as illustrated in FIG. 1, each of the values V2, V3, V4 has an index il, i2, i3, i4 in table T and an index i'1, i'2, i'3, i'4 in the table Tc.

Le distributeur va donc indiquer à chaque client ou utilisateur, sur requête de ce dernier, les index i'k des valeurs ainsi que, éventuellement, le cryptage utilisé pour chacun des intervalles 1, II, III, IV, Selon une variante, on fournit aux clients non pas adresses des valeurs V;, mais les adresses de données Wi qui sont de tailles plus importantes que les données Vi. Ces dernières se déduisent de W; par une opération de condensation, qui consiste à enlever Wi un certain nombre de bits. The distributor will therefore indicate to each client or user, on request of the latter, the indexes i'k values as well as, optionally, the encryption used for each of the intervals 1, II, III, IV, According to a variant, it provides clients not addresses V; values, but Wi data addresses that are larger in size than the data Vi. These are deduced from W; by a condensation operation, which consists in removing Wi a certain number of bits.

Par exemple, si chacun des W; est codé sur bits et si les V; sont codés sur 16 bits, l'opération de condensation consistera à enlever les 8 premiers bits de chacune des informations Wi. Cette technique permet de multiplier les clés de décryptage possibles. Elle permet également d'éviter que des personnes, ayant acheté un certain nombre de fois les mêmes données cryptées, comparent ces données entre elles et en déduisent les valeurs des V; ainsi que, pour chaque intervalle de données, le cryptage utilisé. For example, if each of W; is bit-encoded and if the V; are coded on 16 bits, the operation of condensation will consist of removing the first 8 bits of each information Wi. This technique makes it possible to multiply the possible decryption keys. It also makes it possible to prevent people, having bought a number of times the same encrypted data, to compare these data with each other and to deduce the values of the Vs; as well as, for each data interval, the encryption used.

La fonction de condensation peut être n'importe quelle application surjective mais non injective, par exemple de 2" vers 2" avec N>n. The condensation function can be any surjective but non-injective application, for example from 2 "to 2" with N> n.

En particulier, on peut utiliser une fonction de hachage, ou encore un code à redondance cyclique (CRC). In particular, it is possible to use a hash function or a cyclic redundancy code (CRC).

La fonction de condensation peut être identique pour tous les clients, ou différenciée d'un client à l'autre. The condensation function can be identical for all customers, or differentiated from one customer to another.

Selon un autre aspect, il est possible de réaliser un décryptage imparfait, la clé de décryptage ne donnant pas exactement la position des valeurs Vi dans la table Tc du client, mais la position de valeurs V; + si. In another aspect, it is possible to perform an imperfect decryption, the decryption key not giving exactly the position of the values Vi in the customer's table Tc, but the position of values V; + if.

<B>ci</B> est choisi pour que la restitution des données, après décryptage (imparfait) ne soit pas sensible au client ou à l'utilisateur. Par exemple, pour des données qui représentent un morceau de musique, E; est choisi pour que, lors de l'audition, l'auditeur ne puisse, l'oreille, identifier que décryptage a été réalisé de manière imparfaite. Selon encore un exemple, l'erreur F; affecte les 4 ou 5 bits de poi les plus faibles, ce qui peut conduire à une erreur d'environ 12dB, inaudible lors de la restitution morceau à partir d'un CD. <B> ci </ B> is chosen so that the restitution of the data, after decryption (imperfect) is not sensitive to the customer or the user. For example, for data that represents a piece of music, E; is chosen so that, during the hearing, the listener can not, the ear, identify that decryption was carried out imperfectly. According to another example, the error F; affects the 4 or 5 bits of weaker poi, which can lead to an error of about 12dB, inaudible when restoring piece from a CD.

En outre, l'ensemble des valeurs s;, affecté aux données V;, dépend de l'utilisateur ou du client. In addition, the set of values s; assigned to the data V ;, depends on the user or the client.

Autrement dit, le distributeur des données choisit d'attribuer à chaque utilisateur ou client un ensemble de valeurs de décryptage imparfait qui lui est propre. Un autre utilisateur ou client se verra attribuer un autre ensemble de valeurs ou de données de décryptage. In other words, the data distributor chooses to assign each user or client a set of imperfect decryption values of its own. Another user or client will be assigned another set of decryption values or data.

Bien que la différence de son soit inaudible, c' -à-dire que l'utilisateur ne perçoive pas l'altération du signal analogique final, une analyse numérique de ce signal analogique permet de retrouver l'ensemble des valeurs E;,,#, et donc l'utilisateur ou le client c correspondant. Ainsi, si un utilisateur ou un client, auquel une clé de décryptage a été fournie, enregistre un signal analogique produit lors de la restitution des données, après décryptage imparfait, ce signal analogique portera la marque de l'utilisateur, notamment si celui-ci essaye, partir du signal analogique, de refaire ou de réimprimer des supports tels que des CD. En d'autres termes, un CD "pirate" portera nécessairement marque de la personne à laquelle une clé de décryptage a été attribuée, et qui a, soit elle-même, soit en transmettant les données décryptées à une autre personne, contribué à cette reproduction non autorisée. Although the difference in sound is inaudible, that is to say that the user does not perceive the alteration of the final analog signal, a numerical analysis of this analog signal makes it possible to find all the values E; , and therefore the corresponding user or customer c. Thus, if a user or a client, to which a decryption key has been provided, records an analog signal produced during the restitution of the data, after imperfect decryption, this analog signal will bear the mark of the user, especially if the latter try, from the analog signal, to redo or reprint media such as CDs. In other words, a "hacker" CD will necessarily bear the mark of the person to whom a decryption key has been assigned, and who either has himself or by transmitting the decrypted data to another person, contributed to this unauthorized reproduction.

En d'autres termes, l'inversion imparfaite du cryptage ou de l'opération de chiffrement permet de marquer chaque morceau en fonction de l'utilisateur ou du client, et donc de conférer au procédé et dispositif de distribution selon l'invention une grande sécurité. In other words, the imperfect inversion of the encryption or the encryption operation makes it possible to mark each piece according to the user or the client, and thus to confer on the method and dispensing device according to the invention a great deal of security.

La valeur de E;,c peut être positive ou négative : dans un cas, l'opération de décryptage conduira à soustraire une valeur V; + s;,': supérieure à V;, et dans l'autre cas, à soustraire une valeur inférieure. The value of E; c can be positive or negative: in one case, the decryption operation will result in subtracting a value V; + s ;, ': greater than V ;, and in the other case, subtracting a lower value.

Selon une variante, il est possible d'introduire un erroné de poids faible dans la valeur résulatnt de l'application de l'opérateur XOR dans le cas du chiffrement par masque XOR. Au lieu de réaliser un XOR avec la même valeur, la valeur utilisée peut différer au niveau 4 ou 5 bits de poids faible. Le résultat est alors encore une distortion au niveau de 4 ou bits de poids faibles, ce qui résulte en un bruit de moins de 12 dB. According to one variant, it is possible to introduce a low-weight error in the result value of the application of the XOR operator in the case of XOR mask encryption. Instead of performing an XOR with the same value, the value used may differ at the level of 4 or 5 low-order bits. The result is then still a distortion at the level of 4 or least significant bits, which results in a noise of less than 12 dB.

Par conséquent, selon l'invention, le marquage peut être réalisé à l'aide décryptage, imparfait et unique pour chaque utilisateur ou client, cryptage qui est, lui, identique pour tous les utilisateurs ou clients. Autrement dit, les données cryptées et fournies au client (par exemple données de la figure 2) sont les mêmes quel que soit le client, mais la clé fournie à chaque client dépend de ce client (du fait de la construction de la table Tc pour chaque client) ; le marquage depend ou provient du décryptage lorsque ce dernier est réalisé de manière imparfaite et dépendante du client. Therefore, according to the invention, the marking can be achieved using decryption, imperfect and unique for each user or client, encryption that is identical for all users or customers. In other words, the data encrypted and provided to the client (for example data in Figure 2) are the same regardless of the client, but the key provided to each client depends on this client (because of the construction of the Tc table for each client); the marking depends or comes from decryption when the latter is imperfectly made and dependent on the customer.

Le procédé de cryptographie réalisé peut être qualifié d'asymétrique - le chiffrement ou le cryptage des données est transmis, de manière identique, à tous les clients, - le déchiffrement, ou le décryptage, est personnalisé en fonction du client ou de l'utilisateur, car la clé de décryptage qui est fournie à ce dernier est appliquée à une table personnalisée fonction de celui-ci. The cryptography method can be described as asymmetric - encryption or encryption of data is transmitted identically to all clients, - decryption or decryption is customized according to the client or user because the decryption key that is provided to the latter is applied to a custom table based on it.

Le marquage réalisé ne se trouve donc pas, dès le début, dans les données cryptées, mais ce marquage est "créé" au moment où l'opération de décryptage a lieu, lorsque ce décryptage est imparfait et variable en fonction de l'identité du client. The marking achieved is therefore not, from the beginning, in the encrypted data, but this marking is "created" at the time when the decryption operation takes place, when this decryption is imperfect and variable depending on the identity of the customer.

II en résulte que l'opération de cryptage est unique pour un morceau donné, et pour l'ensemble des clients. En d'autres termes, un cryptage est réalisé pour chaque morceau, quel que soit le nombre de clients. Par conséquent, pour 100 clients ou utilisateurs et pour un ensemble de 200 morceaux, on réalisera 100 tables T, (chaque table étant indépendante des morceaux sélectionnés), on réalisera 200 cryptages (1 cryptage par morceau, quelque soit le client), et on aura donc au total réalisé 300 opérations. As a result, the encryption operation is unique for a given piece, and for all customers. In other words, encryption is performed for each piece, regardless of the number of clients. Therefore, for 100 clients or users and for a set of 200 pieces, we will realize 100 tables T, (each table being independent of the selected pieces), we will carry out 200 encryptions (1 encryption per piece, whatever the client), and we will have completed a total of 300 operations.

Les techniques classiques de marquage, consistant à appliquer une marque à des données compressées, puis à réaliser une cryptographie, nécessitent de réaliser beaucoup plus d'opérations. Si on reprend l'exemple de 100 clients et de 200 morceaux, le marquage personnalisé de chaque morceau en fonction de chaque client conduira, avec ces techniques classiques, à réaliser 2.104 opérations de cryptage. Conventional tagging techniques, including applying a mark to compressed data and then cryptography, require many more operations. If we take the example of 100 customers and 200 pieces, the custom marking of each piece according to each customer lead, with these conventional techniques, to perform 2.104 encryption operations.

Un ensemble de moyens pour mettre en oeuvre la présente invention va être décrit en liaison avec les figures 3 et 4. A set of means for implementing the present invention will be described with reference to FIGS. 3 and 4.

Sur la figure 3, la référence 17 désigne un serveur auquel les différents utilisateurs, possédant chacun un micro-ordinateur de type PC 40, 42, 44, 46, ... peuvent avoir accès via un réseau 20, par exemple l'Internet. Chacun des utilisateurs accède au réseau par sa propre connexion 41, 43, 45, 47,... et possède sa propre adresse. In FIG. 3, the reference 17 denotes a server to which the different users, each having a PC-type microcomputer 40, 42, 44, 46,..., Can access via a network 20, for example the Internet. Each of the users accesses the network by his own connection 41, 43, 45, 47, ... and has his own address.

Dans l'exemple d'une diffusion de données audio, on suppose en outre que le matériel de chacun des utilisateurs est équipé d'une carte son et d'enceintes 50, 51 de restitution du signal analogique, après décryptage. Le serveur mémorise dans des moyens de mémorisation 12 les données constitutives de l'ensemble de la table T (unique pour l'ensemble des utilisateurs et des morceaux). II mémorise également, dans des moyens 14, la fonction de personnalisation fp,;. Enfin, un fichier d'utilisateurs ou de clients, établissant le lien entre chaque utilisateur ou client et les paramètres P,i de personnalisation, est stocké dans moyens de mémorisation 16. In the example of a broadcast of audio data, it is further assumed that the equipment of each of the users is equipped with a sound card and speakers 50, 51 for rendering the analog signal, after decryption. The server stores in storage means 12 the constituent data of the entire table T (unique for all users and pieces). It also stores, in means 14, the personalization function fp,; Finally, a file of users or clients, establishing the link between each user or client and the personalization parameters P i, is stored in storage means 16.

Ce serveur est programmé ou spécialement programmé pour effectuer toute transaction avec un ou plusieurs utlisateurs, l'appareil informatique distant de chacun d'eux étant relié au réseau 20. This server is programmed or specially programmed to perform any transaction with one or more users, the remote computer device of each of them being connected to the network 20.

Le serveur est donc programmé ou spécialement programme pour fournir chaque utilisateur qui le souhaite une table Tc, calculée ou obtenue à partir d'une table T. Cette table T est gardée secrète par le gestionnaire du serveur 10. De même les fonctions de personnalisation fp,i ne sont pas communiquées à l'utilisateur et sont tenues secrètes le gestionnaire du serveur 10. The server is therefore programmed or specially programmed to provide each user who wishes a Tc table, calculated or obtained from a table T. This table T is kept secret by the server manager 10. Similarly the customization functions fp , i are not communicated to the user and are kept secret the server manager 10.

Le serveur est programmé pour déterminer, pour chaque appareil distant, et pour chaque ensemble de données cryptées, un ensemble d'index identifiant des données de décryptage dans la table pseudo-aléatoire propre audit appareil distant. The server is programmed to determine, for each remote device and for each set of encrypted data, a set of indexes identifying decryption data in the pseudo-random table specific to said remote device.

II comporte en outre des moyens (son ou ses microprocesseurs) pour envoyer, à chaque appareil distant, la table pseudo-aléatoire d'index ou les données pour former cette table pseudo- aléatoire d'index, ainsi que des données d'ensemble d'index identifiant les données décryptage dans la table pseudo-aléatoire propre à chaque appareil distant. It further comprises means (sound or microprocessors) for sending, to each remote apparatus, the pseudo-random index table or the data to form this pseudo-random index table, as well as data set of index identifying the decryption data in the pseudo-random table specific to each remote device.

figure 4 représente schématiquement, en bloc, les diverses composantes de chacun des micro-ordinateurs 42, ... Un microprocesseur 60 est relié, par un bus 62, à un ensemble de mémoires RAM 64 pour stocker des données, et à une mémoire ROM 66 dans laquelle instructions de programme peuvent être mémorisées. Ce système comporte en outre un dispositif de visualisation ou écran et des moyens périphériques 70 (clavier) ou 72 (souris). FIG. 4 schematically shows, in block, the various components of each of the microcomputers 42, ... A microprocessor 60 is connected, by a bus 62, to a set of RAM memories 64 for storing data, and to a ROM 66 in which program instructions can be stored. This system further comprises a display device or screen and peripheral means 70 (keyboard) or 72 (mouse).

moyens de mémorisation 64 mémorisent table T, créée pour un client particulier, ainsi que les valeurs i'k d'adresses dans cette table, fournies au client, en vue du décryptage, après celui-ci en ait formulé la requête auprès du serveur 10. storage means 64 memorize table T, created for a particular client, as well as the values i'k of addresses in this table, supplied to the client, for the purpose of decryption, after this one has formulated the request to the server 10 .

moyens de mémorisation 66 comportent en outre les instructions nécessaires à la mise en oeuvre du programme de décryptage c'est-à-dire du programme qui va pouvoir décrypter les données à partir de la table T,, et des adresses i'k. storage means 66 further comprise the instructions necessary for the implementation of the decryption program, that is to say the program that will be able to decrypt the data from the table T ,, and addresses i'k.

la figure 4, les références 74 et 76 désignent en outre la carte son l'utilisateur et des moyens d'interface avec le réseau, de type modem. 4, the references 74 and 76 further designate the user sound card and interface means with the network, modem type.

serveur a, globalement, une structure du même type, avec processeur(s), zones de stockage de données (d'ailleurs désignées sue la figure 3 par références 12,14,16) et connexion au réseau. server has, overall, a structure of the same type, with processor (s), data storage areas (also referred to in Figure 3 by references 12,14,16) and connection to the network.

Une transaction entre le gestionnaire du serveur 10, qui distribue les informations, et notamment les clés de décryptage, et un utilisateur, peut être décrite de la manière suivante. A transaction between the server manager 10, which distributes the information, and especially the decryption keys, and a user, can be described as follows.

Dans une première étape, il y a enregistrement du client ou de l'utilisateur auprès du distributeur ou du serveur 10. Par exemple, l'utilisateur du micro-ordinateur 40 se connecte via la ligne 41 et le réseau 20, et entre alors ses données d'identification (nom, prénom, adresse, ...). II requiert, auprès du serveur 10, l'attribution d'un mot de passe. In a first step, the client or the user is registered with the distributor or the server 10. For example, the user of the microcomputer 40 connects via the line 41 and the network 20, and then enters his identification data (surname, first name, address, ...). It requires the server 10 to assign a password.

En réponse, le serveur attribue un mot de passe et, éventuellement, d'autres données permettant de sécuriser les transactions (par exemple pour mettre en oeuvre un système de clé publique/clé privée). D'autres étapes de sécurisation telles qu'une vérification de la carte réseau de l'utilisateur, ou un contrôle de carte à puce de ce dernier (après introduction de cette carte dans un lecteur du micro-ordinateur) peuvent être mises en oeuvre. In response, the server assigns a password and, optionally, other data to secure transactions (for example to implement a public key system / private key). Other security steps such as a verification of the user's network card, or a smart card control of the latter (after introduction of this card into a reader of the microcomputer) can be implemented.

Une table aléatoire Tc peut ensuite être générée, à ir de la table T contenue dans les moyens de mémorisation 12 du serveur 10 et de la fonction fp; de personnalisation contenue dans les moyens de mémorisation 14 du serveur. Cette table Tc est fournie au client qui la mémorise sous forme de fichier dans les moyens de mémorisation 64 de son propre appareil. Lorsque l'utilisateur est intéressé par le décryptage certaines données il l'indique à l'aide d'un curseur qu'il déplace sur son écran et de la souris 72 en cliquant sur un bouton. Le serveur 10 identifie alors la personne qui a formulé la requête, et procède à la transaction, est-à-dire à l'envoi, à l'utilisateur concerné, des index i'k des données de décryptage dans la table Tc du client ou de l'utilisateur. Eventuellement cet envoi n'est réalisé qu'après encaissement, par le gestionnaire du serveur 10, d'un certain montant, ou après enregistrement de données, par ce même gestionnaire en vue d'un tel encaissement. A random table Tc can then be generated, at ir of the table T contained in the storage means 12 of the server 10 and the function fp; personalization contained in the storage means 14 of the server. This table Tc is provided to the customer who stores it as a file in the memory means 64 of his own device. When the user is interested in the decryption of certain data he indicates it with the aid of a cursor that he moves on his screen and the mouse 72 by clicking on a button. The server 10 then identifies the person who made the request, and proceeds to the transaction, that is to say, the sending, to the user concerned, i'k index decryption data in the customer's table Tc or the user. Eventually, this sending is performed only after receipt, by the server manager 10, of a certain amount, or after recording data, by the same manager for such collection.

L'utilisateur 20 mémorise les données i'k dans une zone mémoire 64 de son propre appareil et, lorsqu'il le souhaitera, pourra mettre oeuvre le programme L, stocké initialement dans zone mémoire 66 de son appareil, pour décrypter les données selon un procède conforme à l'invention. The user 20 stores the data i'k in a memory zone 64 of his own apparatus and, when he wishes, can implement the program L, initially stored in memory zone 66 of his apparatus, to decrypt the data according to a proceeds according to the invention.

Ce programme L lit chacune des données de décryptage dans la table Tc du client, et ajoute ou soustrait les valeurs nécessaires aux valeurs cryptées pour effectuer une opération de décryptage. Ce programme L est donc le programme qui permet de réaliser les opérations de décryptage. II se construit à partir du cryptage réalisé. This program reads each of the decryption data in the client's Tc table, and adds or subtracts the necessary values to the encrypted values to perform a decryption operation. This program L is the program that allows you to perform decryption operations. It is built from the encryption realized.

Dans le cas où les données sont des données audio, la carte son 74 les enceintes 50, 51, permettent de restituer à l'utilisateur un signal sonore analogique. In the case where the data is audio data, the sound card 74 the speakers 50, 51, can restore the user an analog sound signal.

II a été expliqué ci-dessus que, conformément à l'invention, une méthode construction de la table Tc du client peut consister à combiner un certain nombre de fonctions pseudo-aléatoires, par exemple selon l'une des formules (3), (8) ou (9) déjà indiquées ci-dessus. II est donc possible de calculer, dans le serveur 10 lui même, l'ensemble résultant de la combinaison de la fonction f, des fonctions g; et la fonction de personnalisation fp,;, c'est-à-dire l'ensemble de chaque table T,,, puis d'envoyer cette table pour stockage chez l'utilisateur. It has been explained above that, according to the invention, a method for constructing the client's table Tc may consist of combining a certain number of pseudo-random functions, for example according to one of the formulas (3), ( 8) or (9) already indicated above. It is therefore possible to calculate, in the server 10 itself, the set resulting from the combination of the function f, the functions g; and the customization function fp,; that is, the set of each table T ,,, and then send this table for storage to the user.

Selon une variante, il est également possible de ne réaliser, dans le serveur 10, que le calcul d'une partie de l'ensemble de la combinaison, par exemple gn-k O gn-k-1 ..........o92 O<B>91</B> O f O fp,; (k > o), (11) puis de transmettre ensuite les données relatives à chacune des fonctions gn-k+1, gn-k+2, .... , gn à l'utilisateur qui pourra stocker ces données dans les moyens de mémorisation 64 et calculer ensuite lui-même chacune de ces fonctions gn-k+1, gn-k+2, ...., g. Cette manière de procéder présente l'avantage suivant : la ligne (par exemple la ligne 41 pour le micro inateur 42 de la figure 3), qui relie l'utilisateur au réseau, peut avoir un débit plus ou moins important. Aujourd'hui, avec les modem actuellement utilisés, il est possible de considérer qu'un débit inférieur à 100 k octetsls est un débit réduit, tandis qu'une ligne à débit supérieur à 100 kOls peut être qualifiée de ligne à haut débit. En fonction du débit de la ligne du client ou de l'utilisateur, on pourra transférer, en un temps donné, une plus ou moins grande quantité d'informations. Alors il peut être souhaitable, à la fois pour des raisons techniques et pour des raisons commerciales, de transférer les données de la table T. en un temps donné, par exemple en moins de 15 min, du serveur 10 à l'utilisateur 40. En fonction du débit de la ligne du client, le serveur 10 pourra donc ne réaliser le calcul de la combinaison de fonctions pseudo-aléatoires que jusqu'à l'ordre ,_k. Puis il transférera les données relatives aux fonctions gn- k+1, gn-k+2,..... au client, ce transfert des fonctions g; d'indice ; supérieur ou égal<B>a</B> n-k+1 étant économe en terme de quantité d'informations, et étant donc compatible avec un débit limité de la ligne du client et de l'utilisateur. According to a variant, it is also possible to perform, in the server 10, only the calculation of a part of the whole combination, for example gn-k O gn-k-1 ....... ... o92 O <B> 91 </ B> O f O fp ,; (k> o), (11) then to transmit then the data relating to each of the functions gn-k + 1, gn-k + 2, ...., gn to the user who will be able to store these data in the means 64 and then calculate each of these functions gn-k + 1, gn-k + 2, ...., g. This way of proceeding has the advantage that the line (for example the line 41 for the microinverter 42 of FIG. 3), which connects the user to the network, may have a greater or lesser flow rate. Today, with the modem currently in use, it is possible to consider that a bit rate of less than 100 k octets is a reduced bit rate, whereas a line with a bit rate greater than 100 kOls can be described as a high bit rate line. Depending on the rate of the line of the customer or the user, it will be possible to transfer, in a given time, a greater or lesser amount of information. Then it may be desirable, both for technical reasons and for commercial reasons, to transfer the data from the table T in a given time, for example in less than 15 minutes, from the server 10 to the user 40. Depending on the rate of the line of the client, the server 10 can therefore perform the calculation of the combination of pseudo-random functions that up to the order, _k. Then it will transfer the data relating to the functions gn-k + 1, gn-k + 2, ..... to the client, this transfer of the functions g; index; greater than or equal to <B> a </ B> n-k + 1 being economical in terms of amount of information, and therefore compatible with a limited rate of the line of the client and the user.

Par conséquent, pour un client ou un utilisateur possédant une ligne rapide, l'ensemble du calcul de la table Tc sera réalisé dans le serveur 10, puis le résultat du calcul sera intégralement transféré chez l'utilisateur. Pour un client ou un utilisateur ayant une ligne à débit faible, une partie seulement du calcul sera réalisée par le serveur 10, et reste du calcul sera effectué par le micro-ordinateur 40 de l'utilisateur, par exemple à l'aide du logiciel L mémorisé par celui-ci. Therefore, for a client or a user having a fast line, the entire calculation of the Tc table will be performed in the server 10, then the calculation result will be fully transferred to the user. For a client or a user having a low rate line, only part of the calculation will be performed by the server 10, and the remainder of the calculation will be performed by the user's microcomputer 40, for example using the software L memorized by it.

Lors de la connexion d'un utilisateur au serveur 10, ce dernier peut éventuellement tester la vitesse de la ligne l'utilisateur, par exemple en envoyant un signal ou une information déterminé, appelant une réponse de la part de l'appareil de l'utilisateur, en déterminant l'instant retour de cette réponse. When a user is connected to the server 10, the latter may optionally test the user's line speed, for example by sending a signal or determined information, calling for a response from the user's device. user, determining the instant return of this response.

On peut aussi commencer par envoyer les valeurs résultant de l'appli ion de f o fpj, puis celles obtenues par application de g,, puis celles obtenues par application de 92. Pour l'application g; , un certain temps limite prédéterminé sera écoulé, et le serveur fait alors calculer le resten de la combinaison par l'appareil de l'utilisateur. We can also begin by sending the values resulting from the application of f o fpj, then those obtained by applying g ,, then those obtained by application of 92. For the application g; a certain predetermined time limit will be passed, and the server will then calculate the rest of the combination by the device of the user.

De cette manière, il est possible de varier la quantité d'informations transmises du serveur à l'utilisateur. In this way, it is possible to vary the amount of information transmitted from the server to the user.

Typiquement, la table Tc du client a une taille d'environ quelques dizaines de mégaoctets, par exemple 50 Moctets, tandis que le résultat de la fonction f (celle des formules (8), (9) (10) ci-dessus) a une taille l'ordre de quelques dizaines ou quelques centaines de k0, par exemple 16k0. Typically, the client's table Tc has a size of about a few tens of megabytes, for example 50 Mbytes, whereas the result of the function f (that of the formulas (8), (9) (10) above) has a size in the order of a few tens or a few hundreds of k0, for example 16k0.

rapport entre ces deux tailles est donc typiquement d'au moins ou 103. The ratio between these two sizes is therefore typically at least or 103.

Le rapport de la taille des données transmises à la taille du résultat la fonction f pourra donc varier en fonction du débit de la ligne utilisateur, comme expliqué ci-dessus. The ratio of the size of the data transmitted to the size of the result the function f may therefore vary according to the flow rate of the user line, as explained above.

Le système de cryptage et de diffusion données selon l'invention peut concerner aussi bien des données audio, comme déjà mentionné ci-dessus, que des données vidéo. The encryption and broadcasting system provided according to the invention can relate both to audio data, as already mentioned above, as video data.

Dans tous les cas, il est préférable de séparer l'ensemble des données en deux familles - un premier ensemble de données, non-crypté, et dont la restitution permet d'avoir une information de qualité réduite, - un deuxième ensemble de données, crypté, qui permet, en combinaison avec le premier ensemble, une restitution de qualité améliorée. Dans le cas de données audio, on pourra séparer données bandes passantes - le premier ensemble de données correspondant aux fréquences comprises entre 0 et 4 000 Hertz. In any case, it is preferable to separate the data set into two families - a first set of data, non-encrypted, and whose restitution makes it possible to have information of reduced quality, - a second set of data, encrypted, which allows, in combination with the first set, an improved quality rendering. In the case of audio data, bandwidth data can be separated - the first set of data corresponding to frequencies between 0 and 4000 Hertz.

- le second ensemble de données pour des fréquences supérieures à 4 000 Hertz. - the second set of data for frequencies above 4000 Hertz.

Le premier ensemble permet alors une écoute qualité reduite, par exemple comparable à la qualité offerte par ligne téléphonique courante, le second ensemble de données contenant les informations complémentaires permettant la restitution d'un son qualité CD. The first set then allows a reduced quality listening, for example comparable to the quality offered by current telephone line, the second set of data containing additional information for the restitution of a CD quality sound.

II est ainsi possible de disposer de données, et de percevoir ou de visualiser un signal analogique correspondant en qualité reduite, de manière libre, et d'avoir accès à la meilleure qualité après avoir passé une transaction avec le gestionnaire du serveur 10, qui fournit clé de décryptage contre paiement. It is thus possible to have data, and to perceive or view a corresponding analogue signal in reduced quality, freely, and to have access to the best quality after having made a transaction with the server manager 10, which provides decryption key against payment.

Dans le cas d'une image, par exemple fournie sous forme de données correspondant à 200 x 200 pixels, il est possible de separer les données en un premier ensemble, constitutif d'une image de base, et en un deuxième ensemble conférant une certaine finesse à l'image de base, ce deuxième ensemble de données étant crypté. In the case of an image, for example provided as data corresponding to 200 x 200 pixels, it is possible to separate the data into a first set, constituting a base image, and a second set conferring some finesse to the basic image, this second set of data being encrypted.

L'invention s'applique également à la diffusion de fichiers vidéo associant des données audio et des données d'image, et plus généralement à la diffusion de données cryptées d'un signal physique ou correspondant à un signal physique. The invention also applies to the broadcasting of video files associating audio data and image data, and more generally to the broadcast of encrypted data of a physical signal or corresponding to a physical signal.

Elle s'applique également à la diffusion de fichiers littéraires, est-à-dire formés ou essentiellement formés de caractères littéraires. Dans de tels fichiers, on ne laisse en clair que quelques extraits du texte complet, ainsi que des résumés de certaines parties. Ces éléments peuvent être lus sans décryptage. Les parties originales manquantes, données uniquement sous forme de résumés, sont disponibles uniquement sous forme chiffrée ou cryptée. Dans ce cas, le déchiffrement imparfait peut être effectué en jouant sur l'écartement des mots ou des lettres lors de la mise en forme du texte en vue de l'impression. L'ensemble du procédé déjà décrit ci-dessus s'applique, en considérant lettres de chaque texte comme des caractères ASCII. Là encore, l'utilisateur dispose préalablement d'un fichier de données cryptées, par exemple sur CD ROM, ainsi que d'un logiciel décryptage, ces deux éléments étant les mêmes pour tous les utilisateurs ou pour un groupe d'utilisateurs. Une transaction avec le serveur permet à chacun des utilisateurs de recevoir l'information sur la position, dans sa table personnalisée, des données de décryptage Un autre exemple d'application concerne la diffusion de logiciels partiellement cryptés. Ces logiciels peuvent préalablement être la disposition de tout utilisateur. Par exemple, l'utilisateur dispose d'une disquette sur laquelle le logiciel est copié. Ou bien encore, le logiciel fait partie d'options livrées avec un système d'exploitation, et qui sont cryptées, l'utilisateur devant passer une transaction avec le distributeur avant recevoir les données de décryptage. It also applies to the distribution of literary files, that is to say formed or essentially formed literary characters. In such files, only a few excerpts of the complete text, as well as summaries of certain parts, are left untouched. These elements can be read without decryption. Missing original parts, given only in the form of abstracts, are available only in encrypted or encrypted form. In this case, imperfect decryption can be done by playing on the spacing of the words or letters when formatting the text for printing. The entire process already described above applies, considering letters of each text as ASCII characters. Here again, the user has beforehand an encrypted data file, for example on CD ROM, as well as decryption software, these two elements being the same for all users or for a group of users. A transaction with the server allows each user to receive information on the position, in its personalized table, decryption data Another example of application is the dissemination of partially encrypted software. These programs may be available to any user. For example, the user has a floppy disk on which the software is copied. Or, the software is part of the options delivered with an operating system, and which are encrypted, the user having to make a transaction with the distributor before receiving the decryption data.

Dans ce cas les index transmis à l'utilisateur lui permettent lire données de décryptage d'un logiciel Dans tous les cas, après déchiffrement de la partie complémentaire, le fichier de données est pleinement reconstitué et remis sous une forme exploitable pour l'utilisateur. In this case the indexes transmitted to the user enable him to read decryption data of a software In all cases, after decryption of the complementary part, the data file is fully restored and returned in a usable form for the user.

La figure 3 ci-dessus a été décrite dans le cas d'une connexion à l'Internet des différents utilisateurs. Figure 3 above has been described in the case of a connection to the Internet of different users.

II est également possible de passer par un numéro spécial téléphonique dédié, et facturé à l'utilisation, par exemple en fonction du temps de la communication téléphonique, au cas où l'utilisateur ne disposerait pas de services Internet. L'utilisateur reçoit alors les données dans son micro-ordinateur par l'intermédiaire de sa ligne téléphonique et d'un modem. It is also possible to go through a special dedicated telephone number, billed for use, for example depending on the time of the telephone call, in case the user does not have Internet services. The user then receives the data in his microcomputer via his telephone line and a modem.

La figure 5 représente diverses étapes d'un procédé production de CD audio cryptés conformément à l'invention. Figure 5 shows various steps of an encrypted audio CD production method according to the invention.

Dans une première étape S20, un signal audio original sélectionné, et éventuellement numérisé. In a first step S20, an original audio signal selected, and possibly digitized.

On procède ensuite à une discrimination acoustique (étape S22) permettant de séparer le fichier de données numériques initiales en un fichier de données 80 indispensables, et donc non crypté, et un fichier 82 de données complémentaires, destiné à être crypté. On procède ensuite à une éventuelle compression. Une étape S24 de cryptage permet de produire une table 86 de données cryptées à partir des données de l'ensemble 82, et une table 84 de données non cryptées, équivalente à l'ensemble 80 de données décrit précédemment. An acoustic discrimination is then carried out (step S22) making it possible to separate the initial digital data file into a data file 80 which is indispensable, and therefore not encrypted, and a file 82 of additional data, intended to be encrypted. Then proceed to a possible compression. An encryption step S24 produces a table 86 of encrypted data from the data of the set 82, and a table 84 of unencrypted data, equivalent to the set 80 of data described above.

données peuvent être enregistrées sur un support physique. Dans le cas de données audio, on pourra ainsi produire des CD 88-94 qui peuvent être distribués à chacun des utilisateurs 40, 42, 44, lecture de ces supports, sans décryptage, donne première indication, à chacun des utilisateurs, des données audio concernées. Lorsqu'un utilisateur décide de percevoir les données avec une quali améliorée, il réalise avec le gestionnaire du serveur 10 transaction et le logiciel L mémorisé dans son micro-ordinateur permet de décrypter données. data can be saved on physical media. In the case of audio data, it will thus be possible to produce 88-94 CDs that can be distributed to each of the users 40, 42, 44, reading these media, without decryption, give first indication, to each of the users, of the audio data. concerned. When a user decides to collect the data with an improved quali, he realizes with the manager of the server 10 transaction and the software L stored in his microcomputer can decrypt data.

Ainsi, l'invention permet de transmettre les mêmes données cryptées à divers utilisateurs, par exemple sur un support physique. procédé peut s'appliquer également à la réalisation de tout support physique de données cryptées. II peut s'agir par exemple d'un CD ROM sur lequel sont enregistrées des données d'un texte littéraire ou bien d'une disquette sur laquelle des données d'une application ou d'un programme informatique partiellement crypté sont enregistrées. II n' donc pas nécessaire de transmettre ces données par le réseau 20, celles ci étant prealablement transmises à l'utilisateur. Thus, the invention makes it possible to transmit the same encrypted data to various users, for example on a physical medium. method can also be applied to the realization of any physical media encrypted data. It may be for example a CD ROM on which are recorded data of a literary text or a diskette on which data from a partially encrypted application or computer program are recorded. It is therefore not necessary to transmit these data via the network 20, the latter being previously transmitted to the user.

Seules la table de chaque utilisateur et les index des données de décryptage dans cette table sont transmises par voie électronique par réseau(x) à chaque utilisateur. Only the table of each user and the indexes of the decryption data in this table are transmitted electronically by network (x) to each user.

figure 6 représente schématiquement les étapes d'une transaction entre un utilisateur et le gestionnaire du serveur 10. Dans première étape S40, un utilisateur, que l'on suppose enregistré auprès du serveur 1 formule urne requête pour l'acquisition d'une licence, c'est-à- dire pour l'acquisition de données lui permettant de décrypter la partie cryptée des données dont il dispose. FIG. 6 schematically represents the steps of a transaction between a user and the server manager 10. In the first step S40, a user, who is supposed to be registered with the server 1 formulates a request for the acquisition of a license, that is to say, for the acquisition of data allowing him to decrypt the encrypted part of the data which he has.

L'étape S42 est une étape de transaction commerciale, le serveur 10 identifiant l'utilisateur qui a formé la requête dans l'étape précédente, ainsi que les données nécessaires au paiement du service constitué par la fourniture d'une clé de décryptage. Dans une étape suivante (S44) le serveur 10 envoie à l'utilisateur clé de décryptage constituée par les données d'index i'k. Ces données sont stockées dans une zone mémoire 64 (voir figure 4) du micro-ordinateur de l'utilisateur. Step S42 is a commercial transaction step, the server 10 identifying the user who formed the request in the previous step, as well as the data necessary for the payment of the service constituted by the provision of a decryption key. In a next step (S44) the server 10 sends the decryption key user constituted by the index data i'k. This data is stored in a memory zone 64 (see FIG. 4) of the user's microcomputer.

cours d'une étape suivante (S46) l'utilisateur peut mettre en oeuvre le logiciel L qui est chargé dans une zone memoire 66 de son appareil et, à l'aide de la clé de décryptage qui lui a été fournie, décrypter les données. Dans le cas de données audio, il procède alors à l'audition de morceaux de musique sélectionnés. Dans le cas données vidéo, son appareil est par exemple équipé d'une carte vidéo. during a next step (S46) the user can implement the software L which is loaded in a memory zone 66 of his apparatus and, using the decryption key which has been provided to him, decrypt the data . In the case of audio data, he then hears selected music tracks. In the case of video data, its apparatus is for example equipped with a video card.

Les données fournies au client, par exemple sur un support tel que le CD sont de préférence comprimées. Dans le cas de données vidéo, on pourra utiliser une compression de type MPEG. Dans le cas de données audio, on pourra utiliser un codage de type codage de HUFFMAN, permet de coder les données les plus fréquentes sur moins de bits et les données les moins fréquentes sur un nombre plus important de bits. The data provided to the customer, for example on a medium such as the CD are preferably compressed. In the case of video data, it will be possible to use an MPEG type compression. In the case of audio data, it will be possible to use an encoding of the HUFFMAN encoding type, to code the most frequent data on fewer bits and the less frequent data on a larger number of bits.

Le résultat de l'échantillonnage de l'information initiale peut être remplacé par un indice dans une table contenant un nombre plus réduit de valeurs possibles. L'indice étant plus petit que la donnée, la taille prise pour le codage de l'indice est plus petite que celle de la donnée initiale, permettant ainsi une réduction de la taille binaire de la donnée originale, au prix d'une perte de qualité. Cette compression est d'ailleurs utilisée par la compression MPEG de données vidéo. The result of the sampling of the initial information can be replaced by an index in a table containing a smaller number of possible values. The index being smaller than the data, the size taken for the coding of the index is smaller than that of the initial data, thus allowing a reduction of the binary size of the original data, at the cost of a loss of quality. This compression is also used by MPEG compression of video data.

La description ci-dessus concerne également des signaux analogiques, qui sont cryptés par tout procédé analogique modulant le signal original. Par exemple les crêtes de tension ou des fréquences du signal sont modifiées. Selon un autre exemple, on met en ceuvre des filtres dont les paramètres dépendent du temps selon une cryptographie définie.The above description also relates to analog signals, which are encrypted by any analog method modulating the original signal. For example voltage peaks or signal frequencies are changed. In another example, we implement filters whose parameters depend on time according to a defined cryptography.

Claims (1)

<U>REVENDICATIONS</U><U> CLAIMS </ U> 1. Procédé de transmission, à partir de moyens informatiques (10) vers au moins deux dispositifs informatiques distants (40,42,44,46) qui sont reliés par réseaux (20,41,43,45,47) aux moyens informatiques, de données de décryptage de données cryptées, caractérisé en ce que: - les données cryptées sont identiques pour tous dispositifs distants, et comportent des données et des données de cryptage d'au moins une partie de ces données, on forme, pour chaque appareil distant, une table pseudo- aléatoire index (Tc), propre à chaque appareil distant, on transmet, à au moins un des appareils distants, un ensemble index identifiant des données de décryptage, ou données à partir desquelles des données de décryptage peuvent être calculées, dans la table pseudo-aléatoire propre audit appareil distant. Procédé selon la revendication 1, les données cryptées étant des données analogiques ou numériques. Procédé selon la revendication 1 ou 2, chaque table pseudo- aléatoire étant obtenue par combinaison d'une table pseudo-aleatoire (T) de référence et d'une fonction (fp,i) propre à chaque appareil distant. Procédé selon la revendication 3, la table de référence (T) étant obtenue par combinaison d'au moins deux fonctions pseudo- aléatoires (f,g1,.... gn). Procédé selon l'une des revendications 1 à 4, dans lequel la table pseudo-aléatoire d'index correspondant à un des appareils distants est calculée par les moyens informatiques (10) et est transmise par les moyens informatiques à chaque terminal distant. Procédé selon l'une des revendications 1 à 4, dans lequel les moyens informatiques transmettent à un ou plusieurs terminaux distants données pour calculer la ou les table(s) pseudo aléatoire(s) d'index correspondante(s), cette ou ces table(s) étant calculée(s) par les appareils distants correspondants. 7. Procédé selon la revendication 6, la quantité de données transmises à un appareil distant pour le calcul de sa table pseudo- aléatoire étant déterminée en fonction du débit de la ligne de transmission (41 45,47) qui relie ledit appareil distant aux moyens informatiques. 8. Procédé selon l'une des revendications 1 à 7, l'ensemble d'index transmis à chaque appareil distant pour identifier les données de décryptage dans sa propre table pseudo-aléatoire étant fonction de chaque appareil distant. 9. Procédé selon l'une des revendications précédentes, les données de décryptage étant obtenues par condensation à partir donnees identifiées par l'ensemble d'index transmis. 10. Procédé selon l'une des revendications précédentes, données cryptées étant regroupées en intervalles de cryptage (1,11,111,1V). 11. Procédé selon l'une des revendications précédentes, données cryptées étant cryptées avec au moins deux niveaux de cryptage, chaque niveau de cryptage à partir du deuxième dépendant du précédent. 12. Procédé selon l'une des revendications précédentes, les données cryptées étant des données audio ou vidéo. 13. Procédé selon l'une des revendications 1 à 11, les données cryptees étant des données correspondant à un texte littéraire. 14. Procédé selon l'une des revendications 1 à 11, les données cryptées étant des données d'un logiciel ou d'une application informatique. 15. Procédé selon l'une des revendications précédentes, les données étant séparées en un premier ensemble de données non cryptées et un deuxième ensemble de données cryptées. 16. Procédé selon l'une des revendications précédentes, le ou les réseaux reliant au moins un dispositif informati distant (40,42,44,46) aux moyens informatiques (20) étant le réseau Internet. 17. Procédé selon l'une des revendications 1 à ou les réseaux reliant au moins un dispositif informatique distant (40,42,44,46) aux moyens informatiques (10) étant le réseau téléphonique. Procédé d'échange de données entre des moyens informatiques (10) et des dispositifs informatiques distants (40,42,44,46) qui sont reliés aux moyens informatiques par réseau(x) (20,41,43 47) , comportant: l'identification de chaque utilisateur dans une base de données ou des moyens de mémorisation (16) des moyens informatiques (10), - l'attribution, à ou pour chaque dispositif informatique distant, d'une table ou d'une suite pseudo-aléatoire de données ou d'index, personnalisée ou propre à chaque dispositif informatique distant. 19. Dispositif (10) pour transmettre des données décryptage de données cryptées vers au moins deux appareils informatiques distants, caractérisé en ce qu'il comporte des moyens informatiques (1 reliés par réseaux (20) aux appareils informatiques distants (40,42,44,46) et programmés pour déterminer, pour chaque appareil, une table pseudo-aléatoire d'index (Tc) ou des données pour former une table pseudo-aléatoire d'index, propre à chaque appareil distant, déterminer, pour chaque appareil distant, un ensemble d'index identifiant des données de décryptage dans la table pseudo- aléatoire propre audit appareil distant, envoyer, à chaque appareil distant, la table pseudo-aléatoire d'index ou les données cour former cette table Dseudo-aléatoire d'index. ainsi que données d'ensemble d'index identifiant données de décryptage dans la table pseudo-aléatoire propre à chaque appareil distant. Dispositif selon la revendication 1 les moyens informatiques (10) étant en outre programmés pour envoyer à chaque appareil distant des données pour former une table pseudo-aléatoire d'index selon un format fonction du débit de la ligne qui relie chaque appareil distant au(x) réseau(x). A transmission method, from computer means (10) to at least two remote computing devices (40,42,44,46) which are connected by networks (20,41,43,45,47) to the computer means, encrypted data decryption data, characterized in that: - the encrypted data are identical for all remote devices, and include data and encryption data of at least a portion of this data, is formed for each remote device a pseudorandom table index (Tc), specific to each remote device, transmitting, to at least one of the remote devices, an index set identifying decryption data, or data from which decryption data can be calculated, in the pseudo-random table specific to said remote device. The method of claim 1, the encrypted data being analog or digital data. Method according to claim 1 or 2, each pseudo-random table being obtained by combining a pseudo-random reference table (T) and a function (fp, i) specific to each remote device. Method according to claim 3, the reference table (T) being obtained by combining at least two pseudo-random functions (f, g1, .... gn). Method according to one of claims 1 to 4, wherein the index pseudo-random table corresponding to one of the remote devices is calculated by the computer means (10) and is transmitted by the computer means to each remote terminal. Method according to one of claims 1 to 4, wherein the computer means transmit to one or more remote terminals data to calculate the table or tables (s) pseudo random (s) corresponding index (s), this or these table (s) being calculated by the corresponding remote devices. 7. The method according to claim 6, the quantity of data transmitted to a remote apparatus for calculating its pseudo-random table being determined as a function of the bit rate of the transmission line (41 45,47) which links said remote apparatus to the means computer. 8. Method according to one of claims 1 to 7, the set of indexes transmitted to each remote device to identify the decryption data in its own pseudo-random table being a function of each remote device. 9. Method according to one of the preceding claims, the decryption data being obtained by condensation from data identified by the set of transmitted index. 10. Method according to one of the preceding claims, encrypted data being grouped in encryption intervals (1,11,111,1V). 11. Method according to one of the preceding claims, encrypted data being encrypted with at least two levels of encryption, each level of encryption from the second depending on the previous. 12. Method according to one of the preceding claims, the encrypted data being audio or video data. 13. Method according to one of claims 1 to 11, the cryptographic data being data corresponding to a literary text. 14. Method according to one of claims 1 to 11, the encrypted data being data of a software or a computer application. 15. Method according to one of the preceding claims, the data being separated into a first set of unencrypted data and a second set of encrypted data. 16. Method according to one of the preceding claims, the network or networks connecting at least one remote computer device (40,42,44,46) to the computer means (20) being the Internet network. 17. Method according to one of claims 1 to or networks connecting at least one remote computing device (40,42,44,46) to the computer means (10) being the telephone network. A method of exchanging data between computer means (10) and remote computing devices (40,42,44,46) which are connected to the computer network means (x) (20,41,43 47), comprising: identifying each user in a database or storage means (16) of the computing means (10), - assigning, to or for each remote computing device, a pseudo-random table or sequence data or index, personalized or specific to each remote computing device. 19. Device (10) for transmitting encrypted data decryption data to at least two remote computing devices, characterized in that it comprises computer means (1 connected by networks (20) to remote computing devices (40,42,44 , 46) and programmed to determine, for each device, a pseudo-random index table (Tc) or data to form a pseudo-random index table, specific to each remote device, determine, for each remote device, a set of indexes identifying decryption data in the pseudorandom table specific to said remote device, sending, to each remote device, the pseudo-random index table or the data to form this index pseudo-random table. as well as index set data identifying decryption data in the pseudo-random table specific to each remote device Device according to claim 1, the computer means ( 10) being further programmed to send data to each remote apparatus to form a pseudo-random index table according to a rate-dependent format of the line that connects each remote apparatus to the network (s).
FR0002087A 2000-02-21 2000-02-21 Internet audio/visual secure transmission method having transmitter with pseudo random index table generating encrypted words/separate index set and internet transmitting with receivers table de encrypting. Pending FR2805421A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0002087A FR2805421A1 (en) 2000-02-21 2000-02-21 Internet audio/visual secure transmission method having transmitter with pseudo random index table generating encrypted words/separate index set and internet transmitting with receivers table de encrypting.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0002087A FR2805421A1 (en) 2000-02-21 2000-02-21 Internet audio/visual secure transmission method having transmitter with pseudo random index table generating encrypted words/separate index set and internet transmitting with receivers table de encrypting.

Publications (1)

Publication Number Publication Date
FR2805421A1 true FR2805421A1 (en) 2001-08-24

Family

ID=8847179

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0002087A Pending FR2805421A1 (en) 2000-02-21 2000-02-21 Internet audio/visual secure transmission method having transmitter with pseudo random index table generating encrypted words/separate index set and internet transmitting with receivers table de encrypting.

Country Status (1)

Country Link
FR (1) FR2805421A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4908834A (en) * 1984-10-12 1990-03-13 Wiedemer John D High security pay television system
FR2681165A1 (en) * 1991-09-05 1993-03-12 Gemplus Card Int Process for transmitting confidential information between two chip cards

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4908834A (en) * 1984-10-12 1990-03-13 Wiedemer John D High security pay television system
FR2681165A1 (en) * 1991-09-05 1993-03-12 Gemplus Card Int Process for transmitting confidential information between two chip cards

Similar Documents

Publication Publication Date Title
CA2221016C (en) Process for recovering keys implemented for highly encrypting messages
EP1305948B1 (en) Method for secure distribution of digital data representing a multimedia content
JP4716357B2 (en) Compressed data scramble delivery device, playback device and delivery / playback device
US20050246763A1 (en) Secure digital content reproduction using biometrically derived hybrid encryption techniques
EP1890493A1 (en) Method for revocating security modules used to secure broadcast messages
FR2703552A1 (en) Method and apparatus for scrambling and descrambling a specific television program
EP1946552A2 (en) Method for securing data exchanged between a multimedia processing device and a security module
FR2930391A1 (en) AUTHENTICATION TERMINAL OF A USER.
US20160005411A1 (en) Versatile music distribution
WO2019115943A1 (en) Technique for protecting a cryptographic key by means of a user password
EP3732849B1 (en) Method and system for identifying a user terminal in order to receive streaming protected multimedia content
CN110380843B (en) Information processing method and related equipment
US7409063B2 (en) Contents distribution system
FR2805421A1 (en) Internet audio/visual secure transmission method having transmitter with pseudo random index table generating encrypted words/separate index set and internet transmitting with receivers table de encrypting.
EP2005703A1 (en) Device for reproducing digital content, secure electronic entity, system comprising said elements and method for reproducing digital content
CN108769748B (en) Information processing method and related equipment
WO2000011867A1 (en) Method for certified delivery of an audio, video or textual sequence
JP2004252966A (en) Content delivery system
JP2003258772A (en) Contents distributor and contents receiver
EP1992104B1 (en) Authenticating a computer device at user level
FR2836322A1 (en) Content access control system for internet multimedia splits data and scrambles part
FR2823399A1 (en) METHOD FOR MANAGING SECURE ACCESS TO DIGITAL RESOURCES OF A SERVER, AND SYSTEM THEREOF
FR2990818A1 (en) Method for transfer of digital documents between set of terminals, involves deciphering symmetrical key using private asymmetrical key associated with terminal, and deciphering document using deciphered symmetrical key
WO2005101965A2 (en) Secure digital content reproduction using biometrically derived hybrid encryption techniques
FR2763191A1 (en) Data transmission system using encoded data with encryption key