FR2884995A1 - Procede de transmission securisee, processus/modules de chiffrement et de dechiffrement, support d'enregistrement d'informations pour ce procede - Google Patents

Procede de transmission securisee, processus/modules de chiffrement et de dechiffrement, support d'enregistrement d'informations pour ce procede Download PDF

Info

Publication number
FR2884995A1
FR2884995A1 FR0504174A FR0504174A FR2884995A1 FR 2884995 A1 FR2884995 A1 FR 2884995A1 FR 0504174 A FR0504174 A FR 0504174A FR 0504174 A FR0504174 A FR 0504174A FR 2884995 A1 FR2884995 A1 FR 2884995A1
Authority
FR
France
Prior art keywords
mod
kpub
symbol
public key
message
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.)
Granted
Application number
FR0504174A
Other languages
English (en)
Other versions
FR2884995B1 (fr
Inventor
Alexandre Giard
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.)
Viaccess SAS
Original Assignee
Viaccess SAS
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 Viaccess SAS filed Critical Viaccess SAS
Priority to FR0504174A priority Critical patent/FR2884995B1/fr
Publication of FR2884995A1 publication Critical patent/FR2884995A1/fr
Application granted granted Critical
Publication of FR2884995B1 publication Critical patent/FR2884995B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/606Traitor tracing

Landscapes

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

Abstract

Ce procédé de transmission sécurisée d'un message numérique comporte :a) un module de chiffrement qui chiffre (en 62) le message numérique à l'aide d'une clé publique Kpub comprenant des composantes d, e0 à e2k définie par la relation suivante : <d;e<SB>>0</SB>>;e<SB>>1</SB>>;e<SB>>2</SB>>;...;e<SB>>2k</SB>>>=<y^(-1)<SP>>i0</SP>>(MOD P);H0^(-1)<j>(mod p);h1^(-1)<i>1 (mod P);h2^(-1)<i2> (mod p);...;h2k^(-1)<i2k> (mod p) >b) un module de déchiffrement qui déchiffre (en 68) à l'aide d'une clé privée Kpriv comprenant des composantes 1, m1 à m2k définies par la relation suivante :<1;m<SB>>1</SB>>;m<SB>>2</SB>>;...;m<SB>>2k</SB>>>=<(-1)<SP>>1+i0+j(mod2)</SP>>Q1(<T 353>u)(mod q),(-1)<1+i0+1>(mod2)alphau(mod q), ..., (-1)<1+i0+i2k(mod2)>alpha<2k>u (mod q) >

Description

La présente invention concerne un procédé de transmission sécurisée d'un
message, des processus/modules de chiffrement et de déchiffrement, un support d'enregistrement d'informations pour ce procédé.
Il existe des procédés de transmission sécurisée dans lesquels le message est chiffré et déchiffré à l'aide d'un algorithme cryptographique permettant le traçage de traîtres ( traitor tracing en anglais).
Plus d'informations sur ce qu'est le traçage de 10 traîtres peut être trouvé dans l'article suivant Tracing traitors Benny Chor, Amos Fiat, Moni Naor, Benny Pinkas, IEEE Transactions on Information Theory, Vol. 46, n 3, 2000.
On indiquera ici seulement que le traçage de traîtres est une propriété d'un algorithme cryptographique selon laquelle il est possible d'identifier au moins une personne malveillante (traître) ayant divulgué des secrets permettant de déchiffrer illégalement les messages chiffrés tant qu'un seuil de collusion k de traîtres n'est pas dépassé.
L'un de ces algorithmes a été divulgué par Aggelos Kiayas et Moti Yung dans l'article suivant: Breaking and repairing asymmetric public-key traitor tracing Aggelos Kiayas, Moti Yung, DRM 2002.
L'algorithme ci-dessus est ici appelé l'algorithme de Kiayas et Yung.
L'algorithme de Kiayas et Yung est un algorithme cryptographique asymétrique utilisant une clé publique Kpub-t pour chiffrer le message et une clé privée Kpriv-t propre à chaque récepteur pour déchiffrer le message chiffré. La clé publique Kpub-t et la clé privée Kpriv-t sont formées de plusieurs composantes. Lors du déchiffrement d'un message, chaque récepteur doit réaliser une division modulaire. Les clés Kpub_t et Kpriv-t, l'opération de division modulaire et d'autres détails de l'algorithme de Kiayas et Yung seront décrits plus loin.
Un procédé de transmission sécurisée à l'aide de l'algorithme de Kiayas et Yung est particulièrement intéressant et présente de nombreux avantages tels que la possibilité de tracer efficacement les traîtres. Toutefois, cet algorithme est long à exécuter. Cette lenteur est un inconvénient d'autant plus important que le microprocesseur utilisé pour exécuter cet algorithme est lent. Par exemple, ceci freine l'utilisation de cet algorithme dans des processeurs de sécurité tels que des cartes à puce.
L'invention vise à remédier à cet inconvénient en proposant un procédé de transmission sécurisée plus rapide que celui utilisant l'algorithme de Kiayas et Yung à performances cryptographiques égales.
L'invention a donc pour objet un procédé de transmission sécurisée d'un message dans lequel: a) le module de chiffrement chiffre le message numérique M à l'aide d'une clé publique Kpub pour obtenir un cryptogramme C (M, Kpub) comprenant des composantes C, Co, C1r C2, ..., C2k définies par la relation suivante: <C; Co; C1; C2; ...; C2k>=<M. dr (mod p); eo (mod p); e; (mod p); eZ (mod p)...; eZk (mod p)> où . - le symbole . est l'opération de multiplication, - r est un nombre entier tiré de façon aléatoire, - le symbole (mod p) est la réduction modulaire d'argument p (connue sous le terme de modulo p ), p étant un grand nombre premier, - k est le seuil de collusion, sa valeur est un entier strictement supérieur à 0, - d, eo à e2k sont des composantes de la clé publique Kpub définie par la relation suivante: 3 <d;eo;el;e2;.. .;e2k>=<y^ (-1)'" (mod p) ;ho^ (-1) (mod p) ; hl^ (-1)'' (mod p) ; h2^ (-1)'Z (mod p) ; h2k^ (-1) '2k (mod p) > Oë . - le symbole ^ est l'opération d'exponentiation, - les éléments i0, j, il, i2, i2k appartiennent chacun à l'ensemble X, - le symbole (mod p) est la réduction modulaire d'argument p, p étant un grand nombre premier, 10 - y, ho, hl, h2..., h2k sont respectivement égaux à gao, g, -al -a2 g, g, g- a'k, où g est un générateur d'un sous-groupe d'ordre q du groupe des éléments inversibles de Zp, q étant un nombre premier issu de la décomposition en nombres premiers de p-1, et où ao, al, a2, a2k sont les coefficients d'un polynome Ql (x) =ao+alx+a2x2+...+a2kx Zk à valeurs dans l'ensemble Zq; b) le module de déchiffrement déchiffre le cryptogramme C (M, Kpub) à l'aide d'une clé privée Kpriv en réalisant la multiplication modulaire suivante: C. Col. Cime. C2m2 C2km2k (mod p) où . - 1, mi à m2k sont des composantes de la clé privée Kpriv définie par la relation suivante: <l;mi;m2;...;m2k>=< (-1) 1+io + j(mod2)Q(a ) (modq) , (-1) 1+io +i,(mod2) au (mod cl), ..., (1) 1+io +i2k(mod2) a2k (mod q) > où . io, j, il à i2k sont les mêmes éléments que ceux utilisés dans la définition de la clé publique lors du chiffrement, et - Q(au) est le polynome défini lors de la génération de la clé publique en fonction du polynome Qi(x) et de paramètre au.
- le paramètre au est un nombre associé au module de déchiffrement.
Le procédé ci-dessus diffère de celui proposé par Kiayas et Yung principalement par le fait que: 1) soit l'une des composantes de la clé publique Kpub est l'inverse modulo p de la composante correspondante de la clé publique Kpub_t, soit l'une des composantes de la clé privée Kpriv est l'opposé modulo q de la composante correspondante de la clé Kpriv_t; et 2) l'opération de multiplication modulaire remplace l'opération de division modulaire lors du déchiffrement du message, son remplacement étant rendu possible grâce aux modifications du point 1).
Le procédé ci-dessus présente les mêmes avantages qu'un procédé de transmission utilisant l'algorithme de Kiayas et Yung et permet notamment un traçage efficace des traîtres. Toutefois, le nombre d'instructions pour exécuter une multiplication modulaire est nettement inférieur à celui nécessaire pour exécuter une division modulaire.
Ainsi, le procédé ci-dessus s'exécute, à performance égale, plus rapidement que le même procédé utilisant l'algorithme de Kiayas et Yung sans modification.
Par inverse modulo p, on désigne ici l'opération suivante: 1/a(mod p) (1) où a est un entier et p l'argument de la réduction modulaire.
La notation a 1 est utilisée ici pour désigner cette opération d'inverse modulo p. Par opposé modulo q on désigne ici l'opération suivante: -a(mod q) (2) La notation -a est utilisée pour désigner cette opération.
Les modes de réalisation de ce procédé peuvent comporter une ou plusieurs des caractéristiques suivantes: - la clé publique Kpub est entièrement définie par la relation: Kpub=<yA(-1)' (mod p);hoA(-1) (mod p);hiA(-1) '' (mod p); h2^ (-1)'2 (mod p) ;...;h2kA (-1)'2k (mod p) >, et la clé privée Kpriv est entièrement définie par la relation.
- 1) l + i a + j(mod2) QI (au) (mod q) , (-1) 1+io +(mod2) au (mod q) ,... , Kpriv-< ( (-1) 1+ i0 +12k(mod2) aûk (mod q) > . - les valeurs des éléments io, j, il, i2, i 2 k peuvent être choisies pour que la clé publique Kpub soit identique à une clé publique de l'algorithme de Kiayas et Yung.
Ces modes de réalisation du procédé de transmission sécurisée présentent en outre les avantages suivants: - l'omission dans le procédé de transmission de tous les éléments relatifs à la mise en oeuvre d'une propriété de non répudiation permet d'accélérer l'exécution du procédé en contre partie de la perte de cette propriété de non répudiation; - une clé Kpub peut être homogène à une clé Kpub_t; ceci permet de réutiliser sans modification un module de chiffrement déjà capable de chiffrer un message à l'aide de l'algorithme de Kiayas et Yung.
L'invention a également pour objet un processus de chiffrement et un processus de déchiffrement mis en uvre respectivement par le module de chiffrement et le module de déchiffrement dans le procédé de transmission sécurisée ci- dessus.
L'invention a également pour objet un support d'enregistrement d'informations contenant des instructions pour l'exécution du processus de chiffrement ou du processus de déchiffrement ci-dessus, lorsque ces instructions sont exécutées par un processeur électronique.
L'invention a également pour objet des modules électroniques de chiffrement et de déchiffrement aptes à être utilisés dans le procédé de transmission sécurisée ci-dessus.
Les modes de réalisation des modules électroniques de chiffrement et de déchiffrement peuvent comporter la caractéristique suivante selon laquelle ils comportent chacun une mémoire préenregistrée contenant respectivement la clé publique ou privée.
Ce mode de réalisation présente l'avantage qu'il n'est pas nécessaire de recalculer la clé publique ou la clé privée lors de chaque transmission d'un message chiffré.
Les modes de réalisation du module électronique de déchiffrement peuvent comporter aussi la caractéristique suivante: une mémoire préenregistrée contenant une clé préenregistrée de la forme <Q 1 (au) (mod q) ; au (mod q) ; a2. 20 (mod q) ;... ; a (mod q)> et le nombre premier q permettant de calculer l'opposé modulaire de chacune des composantes de cette clé préenregistrée par soustraction pour construire la clé privée.
Ces derniers modes de réalisation du module électronique de déchiffrement permettent de construire la clé privée Kpriv à partir de la clé Kpriv_t en utilisant uniquement des soustractions. Une clé privée de Kiayas et Yung ainsi modifiée peut alors être utilisée avec le module électronique de déchiffrement.
L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins sur lesquels: - la figure 1 est une illustration schématique de l'architecture d'un système de transmission sécurisée d'un message numérique; et - la figure 2 est un organigramme d'un procédé de 5 transmission sécurisée d'un message numérique mis en oeuvre dans le système de la figure 1.
Dans la suite de cette description, toutes les opérations de multiplication, d'exponentiation ou de division sont des opérations avec réduction modulaire d'argument p (c'est-à-dire modulo p) à moins qu'il en soit indiqué autrement. Le symbole (mod p) est donc omis pour simplifier les relations suivantes lorsque dans ces relations les opérations modulaires se font avec réduction modulaire d'argument p (modulo p).
La figure 1 représente un système 2 de transmission sécurisée d'un message numérique. Par exemple, le système 2 est un système de transmission de programmes multimédias payants tels que des programmes audiovisuels payants. Dans ce contexte, le message numérique chiffré est, par exemple, un ou plusieurs mots de contrôle utilisés pour embrouiller les programmes multimédias payants. Ces mots de contrôle chiffrés sont insérés dans un message ECM (Entitlement Control Message). Le message numérique peut également être une clé de déchiffrement transmise sous forme chiffrée à l'intérieur d'un message EMM (Entitlement Managment Message).
Dans ce système, les messages numériques sont chiffrés par un émetteur 4, puis distribués par l'intermédiaire d'un réseau 6 de transmission d'informations à une multitude de terminaux de réception.
Pour simplifier la figure 1, seul un terminal 8 de réception est représenté.
L'émetteur 4 comprend un module électronique 10 de chiffrement apte à exécuter un processus de chiffrement des messages numériques.
Le module 10 est raccordé à une mémoire préenregistrée 5 12 contenant une clé publique de chiffrement Kpub.
Le module 10 est, par exemple, réalisé à l'aide d'un processeur électronique conventionnel programmable apte à exécuter des instructions enregistrées sur un support d'enregistrement 14. A cet effet, le support 14 comporte des instructions pour l'exécution du procédé de la figure 2, lorsque ces instructions sont exécutées par le processeur électronique.
Le module 10 peut également être intégré dans un circuit intégré de sécurité. Dans ce cas, typiquement, la mémoire 12 est également intégrée dans ce circuit intégré de sécurité et correspond à une mémoire sécurisée dans laquelle les données peuvent être enregistrées uniquement avant la mise en service du module 10. Le support d'enregistrement 14 peut également être intégré dans ce circuit intégré de sécurité.
Le réseau 6 comprend, par exemple, un réseau de diffusion hertzienne.
Le terminal 8 est typiquement formé d'un décodeur 16 utilisé pour recevoir les programmes audiovisuels et les décoder. Ce décodeur 16 est associé à une unité 18 de désembrouillage propre à désembrouiller les programmes audiovisuels embrouillés à l'aide des mots de contrôle.
L'unité 18 est elle-même associée à un processeur de sécurité 20 propre à déchiffrer les mots de contrôle chiffrés contenus dans les messages ECM reçus pour permettre le désembrouillage des programmes multimédias. Le processeur 20 est, par exemple, une carte à puce et comporte notamment une mémoire sécurisée préenregistrée 22 contenant au moins une clé privée Kpriv permettant de déchiffrer les mots de contrôle. Le processeur 20 comporte également un module électronique 24 apte à exécuter un processus de déchiffrement des mots de contrôle chiffrés.
Le terminal 8 est raccordé à un poste de télévision 26 propre à afficher les programmes multimédias désembrouillés.
Le fonctionnement du système 2 va maintenant être décrit en regard du procédé de la figure 2.
Le procédé de transmission de messages numériques entre le module 10 et le module 24 utilise ici une version modifiée de l'algorithme de Kiayas et Yung pour que le déchiffrement s'exécute plus rapidement. L'algorithme de Kiayas et Yung étant connu, seuls les détails de cet algorithme nécessaires à la compréhension de l'invention sont présentés.
Initialement, lors d'une phase 30, les clés publiques et privées utilisées dans le système 2 sont définies.
Plus précisément, lors d'une étape 32, la clé publique Kpub est définie. Dans une première opération 34: - un grand nombre premier p est choisi, puis - un polynôme Q1(x) à coefficients dans l'ensemble Zq est choisi. Zq est l'ensemble des entiers compris entre 0 et q-1. q est un nombre premier de la décomposition en nombres premiers de p-l.
Le polynôme Q1(x) est de la forme suivante: Q1(x) = ao + al x + a2. x2k + ... + a2k.x2k (3) où . ao, al, a2r... a2k sont les coefficients constants du polynôme Q1(x) ; - x est la variable; - k est le seuil de collusion, sa valeur est un entier strictement supérieur à 0; - le symbole + désigne l'opération d'addition dans Zq; et - le symbole . désigne l'opération de multiplication dans Zq.
Ensuite, lors d'une opération 36, un entier b est choisi de façon aléatoire dans l'ensemble Zq.
Lors d'une opération 38, un générateur g d'un sous-groupe d'ordre q du groupe des éléments inversibles de Zp est également choisi dans Zp.
Ici, à titre d'illustration uniquement, lors d'une opération 40, la clé publique Kpub-t de l'algorithme non modifié de Kiayas et Yung est construite à l'aide de la relation suivante: Kpub-t =<ga0, g, g-al, ga2, a2, g b g > =<y,ho,hi h2...,h2k h'> (4) où y, ho, hl, h2, ... , h2kr h' désignent les composantes de la clé 15 Kpub-tÉ Lors d'une opération 42, la clé Kpub est construite à partir de la relation suivante Kpub=<y (-1) (mod p) ;ho (-1) mod p) ;hl (-1)" (mod p) ; h2 (-1)'z (mod p) ;...;h2k (-1)'2k (mod p) ; h' (-1)'b (mod p)> =<d;eo;el;e2; ;e2k;f> où . le symbole ^ désigne l'opération d'exponentiation; le symbole (mod p) est la réduction modulaire d'argument 25 p (modulo p) les éléments io, ii, i2r..., i2kr ib sont des entiers choisis chacun dans l'ensemble {0,1} ; - y, ho, hl, h2, ...,h2kr h' sont les composantes de la clé Kpub-t définies précédemment; et - d, eo, el, e2, ..., e2k, f désignent les composantes de la clé KpubÉ Une des composantes de la clé Kpub diffère donc de la composante correspondante de la clé Kpub-t lorsqu'au moins l'un des éléments io, j, i2,-., i2kr ib est égal à 1. Dans ces conditions, la clé Kpub se déduit de la clé Kpub-t en prenant l'inverse modulaire de certaines des composantes correspondantes de la clé Kpub-t.
Par exemple, ici, on suppose que io, j, il et ib sont tous égaux à 1, tandis que les éléments i2 à i2k sont tous égaux à o. Dans ces conditions, la clé Kpub s'écrit sous la forme suivante.
Kpub=<y 1; h0-1; hl-1; h2; ; h2k; h' -1> (6) Lors d'une étape 46, la clé Kpriv de chaque module de déchiffrement 24 est définie.
De manière à ce que chaque processeur 20 ait une clé Kpriv qui soit unique parmi l'ensemble des clés Kpriv utilisées par tous les modules de déchiffrement du système 2, deux valeurs au et Ru formant un couple unique dans le système 2 sont choisies chacune dans l'ensemble Zq, lors d'une opération 48.
Ensuite, à titre d'illustration, lors d'une opération 50, la clé privée Kpriv-t de l'algorithme de Kiayas et Yung 20 est construite à l'aide de la relation suivante: Kpriv-t = <Q ( au,(3u) (mod q) ; au (mod q) ; a, (mod q) ; au (mod (4); ; ak (mod q) ; (3u (mod q)> (7) où . - Q(x,y) est le polynôme défini sur l'ensemble Zq par la relation suivante Q(x,y) = Q1(x) + b.y; et - au et Ru sont les valeurs choisies lors de l'étape 48.
La clé privée Kpriv est alors construite, lors d'une opération 52, à l'aide de la relation suivante où les opérations sont faites modulo q: Kpriv = <( ) l + io + j (mod 2) Q(au,fll ul (mod q), (_1) 1+io +i, (mod2) a (mod q) , ..., (_1) 1+io +izk(mod2) aûk (mod q), (_ 1) 1+i o + ih (mod 2) Qu (mod q) > (8) où . - les éléments i0r]r ilr i2rÉÉÉ, '2kr ib sont les mêmes éléments que ceux choisis lors de l'opération 42; et -1, Mir mgr...r m2kr 5 Kprivn désignent les composantes de la clé A noter que la clé Kpriv diffère de la clé K riv-t lorsque, par exemple, io est nul et au moins l'un des éléments j, i2, i2k, ib est égal à 0.
Lorsque la clé Kpriv diffère de la clé Kpriv_t, la clé Kpriv se déduit de la clé Kpriv_t en prenant l'opposé modulo q d'une ou plusieurs des composantes de la clé Kpriv_t.
En poursuivant l'exemple débuté lors de la description de l'opération 42, la clé Kpriv est décrite ici sous la forme suivante.
Kpriv = <-Q( au,F3 ) ; au où . - le symbole - désigne l'opposé modulo q.
Une fois la phase d'initialisation des clés terminée, des messages chiffrés sont transmis du module 10 vers le module 24, lors d'une phase 60.
Pendant la phase 60, le module 10 chiffre, lors d'une opération 62, un message M pour obtenir un cryptogramme C (M, Kp b) à l'aide de la relation suivante: C (M, Kpub) =<M. dr (mod p); eo (mod p; e (mod p) ; e2 (mod p) ; ...; ezk (mod p) ; fr(mod p) > =<C;Co;C1;C2;... ;C2k; C'> (10) où . - r est une valeur aléatoire tirée à chaque opération de chiffrement; et - le symbole (mod p) est la réduction modulaire d'argument p (modulo p).
Cette relation (10) est identique à la relation permettant d'obtenir un cryptogramme dans l'algorithme de û a k au 25 Kiayas et Yung, à l'exception du fait que la clé Kpub est utilisée à la place de Kpub-tÉ Le cryptogramme C(M,Kpub) est ensuite transmis, lors d'une opération 64, au module 24 par l'intermédiaire du réseau 6.
Le module 24 reçoit, lors d'une opération 66, le cryptogramme C (M, Kpub) et le déchiffre, lors d'une opération 68, à l'aide de la relation suivante: M=C.Cô.C;''.CZz...Czkk.6' (modp) (11) où . - 1, m1, m2, m2k et n sont des composantes de la clé Kpriv; - C, Cl, C2, C2kr C' sont les composantes du cryptogramme C (M, Kpub) ; et - le symbole (mod p) est la réduction modulaire d'argument p (modulo p).
Dans l'algorithme de Kiayas et Yung non modifié, l'opération de déchiffrement se fait à l'aide de la relation suivante.
M=C/ (Co(a,R) Clay C2ka 2k C' R.) (mod p) (12) où . - le symbole / désigne l'opération de division.
- le symbole (mod p) est la réduction modulaire d'argument p (modulo p).
La division modulaire de la relation (12) nécessite l'exécution d'un nombre d'instructions bien plus important que le calcul de la multiplication modulaire de la relation (11). Le procédé de la figure 2 est donc plus rapide.
A titre d'exemple, la réalisation de 10 000 multiplications modulaires de nombres dont la taille est de 1 024 bits lorsque l'argument de modulo p est un nombre de 1 024 bits s'effectue en 640 ms sur un ordinateur équipé d'un processeur Pentium 4TM fonctionnant à 1,5 GHz. Le calcul de 10 000 divisions modulaires de nombres dont la taille est de 1 024 bits avec un argument de modulo p et un ordinateur identiques à ceux utilisés cidessus s'effectue en 4 797 ms. Ainsi, les modifications décrites cidessus permettent d'accélérer par un facteur 7 l'opération de déchiffrement.
De nombreux autres modes de réalisation de ce procédé sont possibles. Par exemple, ici, pour faciliter la compréhension, le procédé calcule les clés Kpub_t et Kpriv_t pour en déduire les clés Kpub et Kpriv. Toutefois, en variante, les opérations 40 et 42 et les opérations 50 et 52 sont fusionnées, de manière à calculer directement les clés Kpub et suivantes. Kpriv
l'aide, par exemple, des relations Kpub=<gA[(-1Y a01g'[(-0'1g"[(-1),+ 1a1JÉ..,g"[(-112Â a2 1gA[(-1),a+1b]> (13) relation dans laquelle les opérations sont faites modulo p, et Kpriv = < (-1) 1+io + j(mod2)Q(au Nu) (_1) 1+i0 +il(mod2) au, (_1) 1+io +12k(mod2) a2k (-1) 1+ io +ib(mod2) > (14) relation dans laquelle les opérations sont faites modulo q.
Les composantes f et n respectivement des clés Kpub et Kpriv et la composante du cryptogramme C' du cryptogramme C(M,Kpub) assure la propriété de non répudiation de l'algorithme de Kiayas et Yung. Dans un système tel qu'un système de diffusion de programmes multimédias payants, où seule une communication unidirectionnelle du module 10 vers le module 24 est utilisée, ces composantes peuvent être supprimées. Ceci accélère l'exécution du procédé de la figure 2.
De préférence, les éléments io, j, i2, i2k, ib sont nuls. La clé Kpub est alors identique à la clé Kpub_t, de sorte que seules les clés privées Kpriv et des modules de déchiffrement de Kiayas et Yung doivent être modifiées pour mettre en uvre le procédé de la figure 2.
En variante, le processus de déchiffrement exécuté par le processeur de sécurité 20 peut également être exécuté par un processeur électronique conventionnel programmable apte à exécuter des instructions enregistrées sur un support d'enregistrement d'informations. A cet effet, ce support d'enregistrement d'informations comporte des instructions pour l'exécution du procédé de la figure 2.
Egalement en variante, seule la clé privée Kpriv_t et l'entier q sont enregistrés dans la mémoire 22. Dans cette variante, l'algorithme de déchiffrement de Kiayas et Yung peut être utilisé directement ou, lors de l'exécution du processus de déchiffrement, on construit la clé privée Kpriv à partir de l'opposé modulo q de la clé Kpriv-t et on déchiffre avec le procédé de la figure 2.

Claims (8)

REVENDICATIONS
1. Procédé de transmission sécurisée d'un message numérique entre un module électronique de chiffrement et un module électronique de déchiffrement, dans lequel le message numérique est chiffré et déchiffré à l'aide d'un algorithme cryptographique permettant le traçage de traîtres pour un seuil de collusion k, caractérisé en ce que: a) le module de chiffrement chiffre (en 62) le message numérique M à l'aide d'une clé publique Kpub pour obtenir un cryptogramme C(M,Kpub) comprenant des composantes C, Co, Cl, C2, ..., C2k définies par la relation suivante: <C; Co; C1; C2; ...; C2k>=<M. dr (mod p); eo (mod p); e (mod p); e'2(mod p) 15; ...;eZk (mod p) > où . - le symbole . est l'opération de multiplication, - r est un nombre entier tiré de façon aléatoire, - le symbole (mod p)est la réduction modulaire d'argument p, p étant un grand nombre premier, - k est le seuil de collusion, sa valeur est un entier strictement supérieur à 0, - d, eo à e2k sont des composantes de la clé publique Kpub définie par la relation suivante: <d;eo;el;e2;...;e2k>=<y^ (-1)'" (mod p) ;ho^ (-1)J (mod p) ;hl^ (-1)' (mod p);h2^(-1)'2 (mod p);...;h2k^(-1)'2k (mod p)> où . - le symbole ^ est l'opération d'exponentiation, - les éléments io, j, i2r i2k appartiennent chacun à l'ensemble {CO}, - le symbole (mod p) est la réduction modulaire d'argument p, p étant un grand nombre premier, - y, ho, hl, h2..., h2k sont respectivement égaux à a0 g, g, -al -a2 -a2A g g g où g est un générateur d, un sous-groupe d'ordre q du groupe des éléments inversibles de Zp, q étant un nombre premier issu de la décomposition en nombres premiers de p-1, et où ao, al, a2, a2k sont les coefficients d'un polynome Q1 (x) =ao+alx+a2x2+...+a2kx 2k à valeurs dans l'ensemble Zq; b) le module de déchiffrement déchiffre (en 68) le cryptogramme C (M, Kpub) à l'aide d'une clé privée Kpriv en réalisant la multiplication modulaire suivante: C. Col. C1ml. C2m2 C2km2k (mod p) où . - 1, m1 à m2k sont des composantes de la clé privée Kpriv définie par la relation suivante: <1;ml;m2;...;m2k>=<(-1) 1+io+j(mod2)Q(aU) (mod (mod (1) , (-1) l+io +i2k(mod2) aûk (mod q) > où . - io, j, il à in sont les mêmes éléments que ceux utilisés lors du chiffrement, et - Q (au) est un polynome défini lors de la génération de la 20 clé publique en fonction du polynome Q1(x) et de paramètre au.
- le paramètre au est un nombre associé au module de déchiffrement.
2. Procédé selon la revendication 1, caractérisé en ce 25 que la clé publique Kpub est entièrement définie par la relation: Kpub-<y^ (-1) 1" (mod p) ; ho^ (-1) ' (mod p) ; hl^ (-1) '' (mod p) ;h2^ (-1)'2 (mod p) ;...;h2k^ (-1)'Zk (mod p)>, et la clé privée Kpriv est entièrement définie par la relation : Kpriv< (-1) 1+io + j(mod2)Q1(a (mod (1), (-1) 1+io +il(mod 2) au (mod q) , ..., (_1) 1+ia +i2k(mod2) aûk (mod q) > 3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les valeurs des éléments q) (_1) 1+io +i,(mod 2) a u io, j, i2, ..., i2k sont choisies pour que la clé publique Kpub soit identique à une clé publique de l'algorithme de Kiayas et Yung.
4. Processus de chiffrement apte à être mis en oeuvre par un module électronique de chiffrement pour exécuter un chiffrement d'un message électronique dans un procédé conforme à l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une opération de chiffrement (en 62) d'un message numérique (M) à l'aide de la clé publique Kpub pour obtenir un cryptogramme C (M, Kpub) comprenant des composantes C, Co, CI, C2, ..., C2k définies comme suit: - <C; Co; Cl; C2; ...;C2k>=<M. dr (mod p); eo (mod p); e; (mod p); e'2(mod p) ...; ezk (mod p) > où . - le symbole . est l'opération de multiplication, - r est un nombre entier tiré de façon aléatoire, -le symbole (mod p) est la réduction modulaire d'argument p, p étant un grand nombre premier, - k est le seuil de collusion, sa valeur est un entier strictement supérieur à 0, - d, eo à e2k sont des composantes de la clé publique Kpub définie par la relation suivante: <d;eo;el;e2;...; e2k>=<y^ (-1) ' (mod p) ;ho^ (-1) (mod p) ;hi^ (-1) (mod p) ;h2^ (1)'Z (mod p) ;...;h2k^ (-1)'2k (mod p)> où . - le symbole ^ est l'opération d'exponentiation, - les éléments io, j, i2, 12k appartiennent chacun à l'ensemble X, - le symbole (mod p) est la réduction modulaire d'argument p, p étant un grand nombre premier, - y, ho, hl, h2..., h2k sont respectivement égaux à gao, g, -a2 g, g-aZ", où g est un générateur d'un sous-groupe g-al d'ordre q du groupe des éléments inversibles de un nombre premier issu de la décomposition premiers de p-1, et où ao, al, a2, q étant nombres a2k sont les à valeurs à être mis en oeuvre par un module électronique de déchiffrement pour exécuter un déchiffrement d'un message numérique dans un procédé conforme à l'une quelconque des revendications 1 à 3, caractérisé en ce que ce processus comporte une opération (68) de déchiffrement du cryptogramme C(M,Kp b) à l'aide de la clé privée Kpriv et en réalisant la multiplication modulaire suivante.
C. Col. Clml. C^m2 C2kM2k (mort p) où . - 1, ml à m2k sont des composantes de la clé privée Kpriv définie par la relation suivante: < l;ml;mz;...;mzk>=< (-1) 1+io + j(mod2)Q(aU) (mod q) , (-l) 1+io +i, (mod2) au (mod q) , (-1) l+io +i2k(mod2) a2k (mod q) > où . - io, j, il à i2k_ sont les mêmes éléments que ceux utilisés lors du chiffrement, et Q (au) est un polynôme défini lors de la génération de la clé publique en fonction de Ql(x) et de paramètre au.
- le paramètre au est un nombre associé au module de déchiffrement.
6. Support d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour l'exécution d'un processus conforme à la revendication 4 ou 5, lorsque les instructions sont exécutées par un processeur électronique.
Zp, en coefficients d'un polynôme Ql (x) =ao+alx+azx2+...+azkx z" dans l'ensemble Zq.
5. Processus de déchiffrement apte 7. Module électronique (10) de chiffrement apte à mettre en oeuvre le chiffrement d'un message numérique dans un procédé conforme à l'une quelconque des revendications 1 à 3, à l'aide de la clé publique Kpub pour obtenir un cryptogramme C(M,Kp b) comprenant les composantes C; Co; C1; C2; ...;C2k définies par la relation suivante: <C; Co; C1; C2; ...; C2k>=<M. dr (mod p) ; eo (mod p) ; ei (mod p) ; e2 (mod p)...; ezk (mod p) > où . - le symbole . est l'opération de multiplication, - r est un nombre entier tiré de façon aléatoire, - le symbole (mod p) est la réduction modulaire d'argument p, p étant un grand nombre premier, - k est le seuil de collusion et sa valeur est un entier 15 strictement supérieur à 0, - d, eo à e2k sont des composantes de la clé publique Kpub définie par la relation suivante: <d; eo; el; e2;...; e2k>=<y^ (-1) ' (mod p) ; ho^ (-1) (mod p) ; hl^ (-1)'' (mod p) ;h2^ (-1)'Z (mod p) ; 20...;h2kA (- 1) '2k (mod p) > où . - le symbole A est l'opération d'exponentiation, - les éléments io, j, i2r i2k appartiennent chacun à l'ensemble {M, - le symbole (mod p) est la réduction modulaire d'argument p, p étant un grand nombre premier, - y, ho, hl, h2 ", h2k sont respectivement égaux à gao, g, -a2 g g -a2k où g est un générateur d'un sous-groupe g-al d'ordre q du groupe des éléments inversibles de Zp, q étant 30 un nombre premier issu de la décomposition en nombres premiers de p-1, et où et ao, al, a2, a2k sont les coefficients d'un polynome Ql (x) =ao+alx+a2x2+...+a2kx 2k à valeurs dans l'ensemble Zq, dans lequel au moins l'un des éléments io, j, i1, i2, - '2k, ib est égal à 1.
8. Module selon la revendication 7, caractérisé en ce qu'il comporte une mémoire préenregistrée (12) comprenant la clé publique Kpub.
9. Module électronique (24) de déchiffrement apte à déchiffrer un cryptogramme C (M, Kpub) dans un procédé conforme à l'une quelconque des revendications 1 à 3, en réalisant la multiplication modulaire suivante: C. Col. C1ml. C2m2 C2km2k (mod p) où : - 1, ml à m2k sont des composantes de la clé privée Kpriv 15 définie par la relation suivante: <1;m1;m2;.. .;m2k>=<(-1) 1 +io+j(mod2)Q(aU) (mod q), (-1) l+io+il(mod2)a, (mod q) , ..., (-1) l+io +i2k(mod 2) aûk (mod q) > où . - io, j, il à i2k sont les mêmes éléments que ceux utilisés 20 lors du chiffrement, et - Q (au) est un polynome défini lors de la génération de la clé publique en fonction de Q1(x) et de paramètre au.
- le paramètre au est un nombre associé au module de déchiffrement.
10. Module selon la revendication 9, caractérisé en ce qu'il comporte une mémoire préenregistrée (22) contenant la clé privée Kpriv 11. Module selon la revendication 9, caractérisé en ce qu'il comporte une mémoire préenregistrée contenant une clé préenregistrée de la forme < Q1 (au) ; au; a2u; ... ;a;...> et le grand nombre premier q permettant de calculer l'opposé modulaire de chacune des composantes de cette clé préenregistrée par soustraction pour construire la clé privée.
FR0504174A 2005-04-26 2005-04-26 Procede de transmission securisee, processus/modules de chiffrement et de dechiffrement, support d'enregistrement d'informations pour ce procede Expired - Fee Related FR2884995B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0504174A FR2884995B1 (fr) 2005-04-26 2005-04-26 Procede de transmission securisee, processus/modules de chiffrement et de dechiffrement, support d'enregistrement d'informations pour ce procede

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0504174A FR2884995B1 (fr) 2005-04-26 2005-04-26 Procede de transmission securisee, processus/modules de chiffrement et de dechiffrement, support d'enregistrement d'informations pour ce procede

Publications (2)

Publication Number Publication Date
FR2884995A1 true FR2884995A1 (fr) 2006-10-27
FR2884995B1 FR2884995B1 (fr) 2007-06-22

Family

ID=35058128

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0504174A Expired - Fee Related FR2884995B1 (fr) 2005-04-26 2005-04-26 Procede de transmission securisee, processus/modules de chiffrement et de dechiffrement, support d'enregistrement d'informations pour ce procede

Country Status (1)

Country Link
FR (1) FR2884995B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012152956A1 (fr) 2011-05-09 2012-11-15 PÉREZ I GIL, Antoni Procédé à double cryptogramme symétrique de sécurité de shannon pour le codage d'informations destinée à la transmission télématique et électronique

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BONEH D ET AL: "AN EFFICIENT PUBLIC KEY TRAITOR TRACING SCHEME", ADVANCES IN CRYPTOLOGY. CRYPTO '99. 19TH ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE. SANTA BARBARA, CA, AUG. 15 - 19, 1999. PROCEEDINGS, LECTURE NOTES IN COMPUTER SCIENCE ; VOL. 1666, BERLIN : SPRINGER, DE, 15 August 1999 (1999-08-15), pages 338 - 353, XP001194953, ISBN: 3-540-66347-9 *
KIAYIAS A ET AL: "Breaking and repairing asymmetric public-key traitor tracing", DIGITAL RIGHTS MANAGEMENT. ACM CCS-9 WORKSHOP, DRM 2002. REVISED PAPERS (LECTURE NOTES IN COMPUT. SCI. VOL.2696) SPRINGER-VERLAG BERLIN, GERMANY, 2003, pages 1 - 16, XP002349623, ISBN: 3-540-40410-4 *
KIAYIAS A ET AL: "Self protecting pirates and black-box traitor tracing", ADVANCES IN CRYPTOLOGY. CRYPTO 2001. 21ST ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE, SANTA BARBARA, CA, AUG. 19 - 23, 2001. PROCEEDINGS, LECTURE NOTES IN COMPUTER SCIENCE ; VOL. 2139, BERLIN : SPRINGER, DE, vol. 2139, 19 August 2001 (2001-08-19), pages 63 - 79, XP002210279, ISBN: 3-540-42456-3 *
YOSHIDA M ET AL: "An efficient traitor tracing scheme for broadcast encryption", 2000 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY (CAT. NO.00CH37060) IEEE PISCATAWAY, NJ, USA, 2000, pages 463, XP001090016, ISBN: 0-7803-5857-0 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012152956A1 (fr) 2011-05-09 2012-11-15 PÉREZ I GIL, Antoni Procédé à double cryptogramme symétrique de sécurité de shannon pour le codage d'informations destinée à la transmission télématique et électronique

Also Published As

Publication number Publication date
FR2884995B1 (fr) 2007-06-22

Similar Documents

Publication Publication Date Title
EP0723371B1 (fr) Procédé de protection des messages de gestion d&#39;un système de controle d&#39;accès et dispositif pour sa mise en oeuvre
EP1867096B1 (fr) Procede et systeme de reception d&#39;un signal multimedia, entite cryptographique pour ce procede de reception et systeme, procede et boite noire pour la fabrication de l&#39;entite cryptographique
EP1917756B1 (fr) Procede d&#39;etablissement d&#39;une cle de session et unites pour la mise en oeuvre du procede
FR2818062A1 (fr) Methode de transmission securisee de donnees numeriques d&#39;une source vers un recepteur
WO1995020280A1 (fr) Procede d&#39;emission et de reception de programmes a acces conditionnel utilisant des mots de controle specifiques aux programmes
FR2755809A1 (fr) Procede de protection d&#39;information transmise d&#39;un element de securite vers un decodeur et systeme de protection utilisant un tel procede
FR2913154A1 (fr) Chiffrement broadcast base sur identite
EP1890493A1 (fr) Méthode de révocation de modules de sécurité utilisés pour sécuriser des messages diffusés
EP2168304B1 (fr) Verification de code mac sans revelation
WO2010081631A1 (fr) Procede et module de renouvellement du code d&#39;un algorithme cryptographique, procede et module de generation d&#39;une graine, processeur de securite et support d&#39;enregistrement pour ces procedes
EP2060117A1 (fr) Processeur de securite et procede et support d&#39;enregistrement pour configurer le comportement de ce processeur
EP1151576A1 (fr) Procede cryptographique a cles publique et privee
EP1634405A2 (fr) Procede, systeme et supports d&#39;enregistrement de chiffrement et/ou de dechiffrement traçable
WO2006040482A2 (fr) Dispositif et procede de reception d&#39;informations embrouillees, et unite de desembrouillage, systeme de transmission d&#39;informations et emetteur adaptes pour ce dispositif
FR2967851A1 (fr) Procede et systeme d&#39;acces conditionnel a un contenu numerique, terminal et dispositif d&#39;abonne associes
EP3818659A1 (fr) Procede d&#39;obtention d&#39;une succession de cles cryptographiques
EP1419640B1 (fr) Reseau numerique local, procedes d&#39;installation de nouveaux dispositifs et procedes de diffusion et de reception de donnees dans un tel reseau
FR2884995A1 (fr) Procede de transmission securisee, processus/modules de chiffrement et de dechiffrement, support d&#39;enregistrement d&#39;informations pour ce procede
FR2922393A1 (fr) Systeme tracable de chiffrement/dechiffrement de donnees numeriques diffusees
EP1723791B1 (fr) Methode de securisation d&#39;un evenement telediffuse
EP2652899B1 (fr) Procédé et système d&#39;accès conditionnel à un contenu numérique, terminal et dispositif d&#39;abonné associés
EP2153575B1 (fr) Obtention de valeurs dérivées dépendant d&#39;une valeur maîtresse secrète
FR2763194A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
FR3072848B1 (fr) Procede de reception et de dechiffrement, par un processeur electronique de securite, d&#39;un cryptogramme d&#39;un mot de controle
FR2786973A1 (fr) Dispositif securite decodeur d&#39;informations chiffrees et comprimees, notamment d&#39;informations video, audio ou de texte

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20151231