Brevet FR2794592A1 — publié le 20001208

GENERATEUR DE BITS POUR L'ÉTABLISSEMENT D'UNE CLEF SECRETE DE CRYPTAGE ET PROCÉDÉ CORRESPONDANT DESCRIPTION DOMAINE TECHNIQUE La présente invention a pour objet un générateur de bits pour l'établissement d'une clef secrète de cryptage et un procédé correspondant. Elle trouve une application dans la transmission d'informations secrètes. Plus particulièrement, elle peut remplacer la cryptologie quantique. ETAT DE LA TECHNIQUE ANTERIEURE Les mathématiciens ont recherché de tous temps des techniques de communication protégées permettant de transmettre des informations secrètes. Le principe mettant en oeuvre les particularités de la mécanique quantique pour générer des clefs de codage aléatoires a été proposé dès les années 1970 par Stephen Wiesner [1]. Charles E. Bennett et al. ont contribué à établir la faisabilité du concept [2]. La cryptologie quantique est fondée sur le fait que la mesure en mécanique quantique est un phénomène aléatoire et irréversible qui perturbe de façon définitive l'objet mesuré. Ainsi, une interception du message par un tiers conduit inévitablement à modifier l'état quantique de l'objet, ce qui permet soit de détecter les écoutes illégales, soit, inversement, de s'assurer que le message n'a pas été intercepté. On peut dès lors transmettre des clefs susceptibles de coder ultérieurement des messages en étant certain que la clef est unique et est bien restée secrète. Le principe d'une transmission de clef de décryptage est alors le suivant. Une opératrice A (appelée communément Alice dans le langage des spécialistes de la cryptologie) envoie une série de particules ayant un certain spin, ou des photons ayant une certaine polarisation, vers un destinataire B (appelé communément Bob). Alice dispose de deux référentiels orthogonaux de mesure du spin, que l'on notera a et b. Mesuré selon le référentiel a, le spin d'une particule est +1 ou -1 (dans un système d'unité convenable). Si l'on mesure une seconde fois le spin de la même particule dans le même référentiel, en l'espèce a, on retrouve évidemment la même valeur. Mais si l'on mesure ledit spin dans l'autre référentiel b, alors on trouve une valeur aléatoire + 1 ou -1, indépendamment de la valeur trouvée dans la première mesure. Dans une série d'opérations successives, Alice choisit au hasard une suite de référentiels a ou b. Dans chaque référentiel, elle mesure le spin d'une nouvelle particule qu'elle envoie à Bob. Elle note ses choix ainsi que le résultat de ses mesures. Bob à son tour choisit au hasard une suite de référentiels a ou b avec lesquels il mesure successivement les spins des particules que lui envoie Alice. Lui aussi note ses choix et ses résultats. Bien entendu, si Bob a choisi (par hasard) le même référentiel qu'Alice, ce qui se produira en moyenne dans la moitié des cas, il retrouvera le même résultat que celle-ci. Si, au contraire, s'il a choisi l'autre référentiel, il obtiendra un résultat aléatoire par rapport au spin mesuré par Alice. Si donc, dans un deuxième temps, Alice et Bob s'échangent leurs choix de référentiels a ou b pour chaque particule, ils en déduisent quels sont les choix communs et donc quels sont les suites de spins mesurés +1 ou -1 qu'ils ont en commun. Cette suite de spins communs constitue la clef secrète qu'ils peuvent partager. Par mesure de sécurité, ils peuvent se communiquer une partie de cette clef: si cette partie est bien commune, c'est que le message n'a pas été intercepté. Sinon, il doivent recommencer l'opération jusqu'à obtenir une clef commune secrète et testée. Cette technique d'établissement d'une clef de cryptage est très lourde à mettre en oeuvre car elle nécessite des lasers émettant leurs photons un par un, et ce avec une polarisation particulière. La présente invention a justement pour but de remédier à cet inconvenient. EXPOSÉ DE L'INVENTION A cette fin, l'invention propose un dispositif appelé générateur de bits qui, d'une certaine manière, simule les moyens quantiques de l'art antérieur, mais qui utilise des moyens beaucoup plus simples à mettre en oeuvre, comme des mémoires de données binaires et des circuits de calcul. Ce dispositif ne travaille plus alors avec des spins ou des états quantiques mais avec des bits et des contenus de mémoire, ce qui est beaucoup plus commode. Selon l'invention, on utilise une ou des cellules mémoires, par exemple à deux bits, avec un premier bit, dit bit de référentiel, dont la valeur est notée a ou b (dans le cas d'un environnement à deux référentiels) et un second bit, dit bit de mesure, noté +1 ou -1. Une telle cellule peut être dans l'un ou l'autre de quatre états logiques: (a,+l) ou (a,-1) ou (b,+l) ou (b,-1). L'état initial est engendré de façon aléatoire à l'intérieur du circuit faisant l'objet de l'invention. Pour mesurer l'état d'une cellule on lui applique un bit de référentiel, c'est-à-dire a ou b et l'on provoque une transition logique de l'état initial vers un état final, transition de caractère aléatoire possédant une certaine probabilité dépendant de l'état initial et de l'état final et du bit de référentiel appliqué. L'état final reflète le résultat de la mesure dans le référentiel appliqué. Un tel générateur présente donc tous les attributs des objets quantiques et il peut donc servir à établir des clefs secrètes de cryptage. Naturellement, l'invention ne se limite à une seule cellule, ni a deux bits par cellule, mais couvre tous les cas de n cellules à k bits, n et k étant des entiers quelconques. De façon précise, la présente invention a pour objet un générateur de bits pour l'établissement d'une clef secrète de cryptage, caractérisé en ce qu'il est constitué d'un circuit électronique comprenant: - une entrée apte à recevoir un signal d'entrée constitué par un groupe de n bits, dits bits de référentiel, o n est un entier au moins égal à 1, - une sortie apte à délivrer un signal de sortie constitué par un groupe de n bits, dits bits de mesure, - une mémoire à n cellules de mémorisation, mémorisant chacune k bits, o k est un entier au moins égal à 2, avec des bits de référentiel et des bits de mesure, chaque cellule étant ainsi dans un état logique défini par ses k bits, cet état n'étant pas lisible de l'extérieur du circuit électronique, cette mémoire possédant une sortie reliée à la sortie du générateur et délivrant les bits de mesure des n cellules, - un moyen de calcul relié à la mémoire et possédant une entrée de commande reliée à l'entrée du générateur et recevant de celle-ci des bits de référentiel, ce moyen de calcul étant apte à provoquer, pour chaque cellule, une transition aléatoire entre l'état de la cellule, dit état initial, lu à la réception du bit de référentiel correspondant à la cellule et un autre état, dit état final, la probabilité de cette transition dépendant de l'état initial, du bit de référentiel reçu et de lois de probabilité prédéterminées dont est muni le moyen de calcul. La présente invention a également pour objet un procédé d'établissement d'une clef secrète de cryptage commune à un premier utilisateur et à un second utilisateur, ce procédé mettant en oeuvre le générateur qui vient d'être défini. Ce procédé est caractérisé en ce que: - le premier utilisateur applique à l'entrée du générateur un premier groupe de bits aléatoires d'entrée et recueille à la sortie du générateur un premier groupe de bits de sortie, et fait ensuite parvenir le générateur au second utilisateur, - le second utilisateur applique à l'entrée de ce générateur un second groupe de bits aléatoires d'entrée et recueille à la sortie du générateur un second groupe de bits de sortie, - le premier utilisateur transmet en clair au second le premier groupe de bits d'entrée qu'il a utilisé et le second utilisateur transmet en clair au premier le second groupe de bits d'entrée qu'il a utilisé, - le premier et le second utilisateur identifient les bits d'entrée communs au premier et au second groupe de bits d'entrée et déterminent respectivement dans le premier et dans le second groupe de bits de sortie les bits correspondant aux bits d'entrée communs, - le premier et le second utilisateur prennent comme clef secrète de cryptage commune au moins une partie des bits de sortie correspondant aux bits d'entrée communs. De préférence, le premier et le second utilisateur vérifient qu'une partie des bits de sortie correspondant aux bits d'entrée communs sont bien identiques dans le premier et le second groupe de bits de sortie et prennent le reliquat des bits pour constituer leur clef secrète commune. BREVE DESCRIPTION DES FIGURES a La figure 1 est un schéma synoptique d'un générateur simplifié selon l'invention à une seule cellule à deux bits; * La figure 2 est un schéma synoptique d'une variante à six entrées et quatre sorties. DESCRIPTION DE MODES PARTICULIERS DE REALISATION Dans la description qui suit on supposera, pour simplifier, que chaque cellule de mémorisation ne contient que deux bits. Mais il va de soi que l'invention ne se limite pas à ce cas particulier. Sur la figure 1 on voit un générateur G à une entrée E et une sortie S et comprenant une mémoire à une seule cellule de mémorisation. Cette cellule comprend deux zones, l'une Br destinée à mémoriser un bit de référentiel noté a ou b (dans la pratique il s'agit de +1 ou -1, ou de 1 ou 0) et l'autre Bm destinée à mémoriser un bit de mesure. La mémoire 10 possède une sortie de lecture 12 et une entrée d'écriture 14. Elle possède encore une sortie s reliée à la sortie générale S du générateur. Le générateur représenté comprend encore un moyen de calcul 16 relié à la sortie de lecture 12 et à l'entrée d'écriture 14 de la mémoire. Il possède une entrée de commande e reliée à l'entrée générale E du générateur. Ce générateur fonctionne de la manière suivante. Initialement, il se trouve dans un état interne O défini par les deux bits mémorisés dans la mémoire (par exemple a et +1). Si l'on applique sur l'entrée E un bit pour mesurer cet état, le résultat de la mesure va dépendre de la valeur de bit d'entrée considéré comme bit de référentiel. Si ce bit est le même que le bit de référentiel de l'état interne 0 (dans l'hypothèse choisie il s'agira donc de a), le moyens de calcul 16 provoquera une transition faisant correspondre à l'état initial un état final identique (en l'espèce (a,+l)). Le bit apparaissant sur la sortie S du générateur sera alors le bit de mesure de l'état final, c'est-à-dire celui de l'état initial. On a donc bien mesuré l'état initial sans le perturber. On peut dire aussi que la probabilité de transition entre l'état initial (a,+l) et l'état final (a,+l) est égale à 1 (en conséquence la probabilité de transition entre l'état (a,+1) et (a,-1) est nulle). Si l'on applique à l'entrée E un bit de référentiel différent du bit de référentiel de l'état de la cellule (en l'espèce b) alors, le référentiel de mesure diffère du référentiel ayant servi à établir l'état initial. Le résultat de la mesure est alors aléatoire et dépend des probabilités de transition entre l'état initial (a,+l) d'une part, et l'un ou l'autre des états finaux (b,+l) et (b,-1) d'autre part. si l'on ne privilégie aucune des valeurs possibles, ces probabilités peuvent être prises égales chacune à 1/2. Le bit de mesure obtenu peut donc être aussi bien +1 que -1. On peut résumer cet exemple par le tableau I o la ligne du haut contient les quatre états initiaux possibles, la colonne de gauche les quatre états finaux possibles et les cases associées les probabilités de transition. (a,+1) (a,-1) (b,+1) (b,-1) (a,+l) 1 0 1/2 1/2-- - (a,-1) 0 1 1/2 1/2 (b,+l) 1/2 1/2 1 _... (b,-l) 1/2 /2 0 1 TABLEAU I Naturellement, on ne sortirait pas du cadre de l'invention en renonçant à l'équiprobabilité des transitions correspondant à des bits de référentiel différents. En pratique, une clef de cryptage contient plusieurs bits et la mémoire doit contenir plusieurs cellules travaillant indépendamment. La figure 2 illustre ainsi le cas d'un générateur utilisant une mémoire à six cellules de mémorisation référencées 101, 102,..., 106. Le moyen de calcul 16 comprend six moyens élémentaires 161, 162, 166. Le générateur comprend six entrées El, E2, E6 et six sorties S1, S2,..., S6 sur lesquelles sont présents des groupes de six bits. Sur la figure 2, les entrées et les sorties sont disposées en parallèle mais on ne sortirait pas du cadre de l'invention en utilisant une seule entrée et une seule sortie avec des bits introduits et extraits en série mais étant répartis de manière appropriée dans le circuit. Chacune des six voies fonctionne comme le générateur de la figure 1, ces six voies étant indépendantes les unes des autres. Le tableau II illustre le fonctionnement de ce générateur et montre en même temps, comment deux utilisateurs, Alice et Bob, peuvent établir une clef de cryptage secrète commune. Cellule Cellule Cellule Cellule Cellule Cellule l0 102 103 104 105 106 Etat interne O (a, 1) (b, -1) (b, 1) (b,-1) (a, 1) (a-l) Péférentiel Alioea a b a b b Etat interne 1 (a, 1) (a, -1) (b, 1) (a, 1) (b,-1) (b, 1) MsureAlie 1 -1 1 1 -1 1 Péféoentiel Bcb b a b b b a Etat interne 2 (b, 1) (a,-1) (b, 1) (b,- 1) (b,-1) (a, 1) Msure Bcb 1 -1 1 -1 -1 1 Clef Carmu.e -1 1 -1 Tableau II Dans ce tableau, l'état interne de départ est donné sur la première ligne. Alice applique au générateur six bits de référentiel (ligne 2). L'état interne passe alors à l'état 1, selon les règles de probabilité de transition déjà explicitées. L'état interne 1 figure sur la ligne 3. Alice reçoit comme résultat de sa mesure les six bits de la ligne 4. Le nouvel état interne est cohérent avec le choix et la mesure d'Alice.Bob ayant reçu d'Alice le générateur dans son état interne 1 (qui joue alors le rôle d'état initial), il lui applique six bits de référentiel (ligne 5). Ces bits n'ont aucune raison d'être les mêmes que ceux d'Alice, mais, statistiquement ils sont les mêmes une fois sur deux, c'est-à-dire, dans le cas d'espèce, trois fois (ce sont les bits appliqués sur les cellules 102, 103, 105). L'état interne subit une transition et aboutit à l'état interne 2 de la ligne 6. Le résultat de la mesure effectuée par Bob est représenté sur la ligne 7. Bob laisse le générateur dans l'état interne 2. Alice et Bob échangent ensuite, en clair, par tout moyen les bits de référentiel utilisés (lignes 2 et 5). Ils constatent que pour les cellules 102, 103 et 105 les bits étaient les mêmes. Eux seuls connaissent le résultat de la mesure obtenue pour ces bits communs, à savoir -1, 1 et -1. Ils peuvent retenir ces bits pour constituer la clef secrète commune. Si un tiers fraudeur a intercepté la carte, il a pu appliquer ses propres bits de référentiel et obtenir un résultat, mais, une fois sur deux, le bit de référentiel n'aura pas correspondu au bit de référentiel de l'état initial de sorte que cette mesure frauduleuse aura perturbé l'état du générateur. Alice et Bob s'en apercevront en comparant quelques uns des bits communs. Naturellement, ces bits de test seront inutilisables ensuite pour la clef secrète. Dans l'exemple précédent, Alice et Bob peuvent comparer le premier bit (1) et retenir pour clef commune les deux autres (+1 et -1). Le générateur qui vient d'être décrit peut être disposé avantageusement dans un objet portatif, commode d'emploi, par exemple une carte à puce. Dans ce cas, son transfert d'Alice à Bob peut s'effectuer par pli ordinaire ou recommandé. Il est important de noter que la carte à puce constitue un objet scellé inviolable dont le contenu ne peut être lu frauduleusement sans destruction de la carte elle-même. Mais, naturellement, le générateur de l'invention peut aussi s'intégrer dans des circuits de transmission plus complexes. Références: [l]Wiesner, S., Conjugate coding, Sigact News, vol.15, n l, 1983, pp.78-88; manuscrit original 1970. [2]Bennett, C. H., Bessette, F., Brassard, G., Salvail, L. and Smolin, J. Experimental quantum cryptography, Journal of Cryptology, vol. 5, n l, 1992, pp.3-28 (1992) REVENDICATIONS 1. Générateur de bits pour l'établissement d'une clef secrète de cryptage, caractérisé en ce qu'il est constitué d'un circuit électronique comprenant: - une entrée (E) apte à recevoir un signal d'entrée constitué par un groupe de n bits, dits bits de référentiel, o n est un entier au moins égal à 1, - une sortie (S) apte à délivrer un signal de sortie constitué par n bits, dits bits de mesure, - une mémoire (10) à n cellules de mémorisation mémorisant chacune k bits o k est un entier au moins égal à 2, avec des bits de référentiel (Br) et des bits de mesure (Bm), chaque cellule étant ainsi dans un état logique défini par ses k bits, cet état n'étant pas lisible de l'extérieur du circuit électronique, cette mémoire possédant une sortie (s) reliée à la sortie (S) du générateur et délivrant les bits de mesure des n cellules, - un moyen de calcul (16) relié à la mémoire (10) et possédant une entrée de commande (e) reliée à l'entrée (E) du générateur et recevant de celle-ci les bits de référentiel, ce moyen de calcul (16) étant apte à provoquer, pour chaque cellule, une transition aléatoire entre l'état de la cellule, dit état initial, lu à la réception du bit de référentiel correspondant à la cellule et un autre état, dit état final, la probabilité de cette transition dépendant de l'état initial, du bit de référentiel reçu et de lois de probabilité prédéterminées dont est muni le moyen de calcul (16). 2. Générateur selon la revendication 1, dans lequel la probabilité de transition entre un état initial et un état final identique à l'état initial est égale à 1 lorsque le bit de référentiel du signal d'entrée est identique au bit de référentiel de l'état initial. 3. Générateur selon la revendication 1, dans lequel la probabilité de transition entre un état initial ayant un certain bit de référentiel et un état final ayant un bit de référentiel différent de celui de l'état initial est égale à 1/2. 4. Générateur selon l'une quelconque des revendications 1 à 3, dans lequel le circuit électronique est disposé dans un objet portatif. 5. Générateur selon la revendication 4, dans lequel l'objet portatif est au format carte à puce. 6. Générateur selon la revendication 1, dans lequel l'entrée (E) et la sortie (S) sont aptes à recevoir et à délivrer des groupes de bits en parallèle. 7. Procédé d'établissement d'une clef secrète de cryptage commune à un premier utilisateur et à un second utilisateur, ce procédé mettant en oeuvre le générateur selon la revendication 1, caractérisé en ce que: - le premier utilisateur applique à l'entrée du générateur un premier groupe de bits aléatoires d'entrée et recueille à la sortie du générateur un premier groupe de bits de sortie, et fait ensuite parvenir le générateur au second utilisateur, - le second utilisateur applique à l'entrée de ce générateur un second groupe de bits aléatoires d'entrée et recueille à la sortie du générateur un second groupe de bits de sortie, - le premier utilisateur transmet en clair au second le premier groupe de bits d'entrée qu'il a utilisé et le second utilisateur transmet en clair au premier le second groupe de bits d'entrée qu'il a utilisé, - le premier et le second utilisateur identifient les bits d'entrée communs au premier et au second groupe de bits d'entrée et déterminent respectivement dans le premier et dans le second groupe de bits de sortie les bits correspondant aux bits d'entrée communs, - le premier et le second utilisateur prennent comme clef secrète de cryptage commune au moins une partie des bits de sortie correspondant aux bits d'entrée communs. 8. Procédé selon la revendication 7, dans lequel le premier et le second utilisateur vérifient sur une partie des bits de sortie correspondant aux bits d'entrée communs, qu'il y a bien identité entre les bits du premier et du second groupe et prennent le reliquat des bits pour constituer leur clef secrète commune.