• Aucun résultat trouvé

Plusieurs optimisations sont encore envisageables pour améliorer davantage le taux secret.

Les binarisations multidimensionnelles sont couramment employées pour amélio- rer le découpage en tranches. Cette réconciliation multidimensionnelle consiste à se placer dans un espace de grande dimension n (typiquement, n peut aller jusqu’à 30), et à définir un ensemble de 2k points répartis judicieusement dans cet espace7. Les données continues prove-

13.8 Perspectives d’amélioration 165 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Information extrinsèque Information intrinsèque

Fig. 13.8: Carte EXIT comparant les performances des codes LDPC (symboles ×) et les turbo codes (symboles +). Une carte EXIT représente l’information extrinsèque apportée par le décodeur en fonc- tion de l’information intrinsèque qu’on lui fournit. Un décodeur est d’autant meilleur qu’il produit plus d’information extrinsèque. On fait varier l’information intrinsèque en modifiant le rapport si- gnal à bruit autour de sa valeur nominale (3). Les courbes de gauche représentent le décodage de la tranche 3 d’un décodage multi-niveaux, avec des codes de taux 0,23. Les courbes de droite re- présentent le décodage de la tranche 4, avec des codes de taux 0,86. Alors que pour cette dernière tranche, les performances des codes LDPC et des turbo codes sont comparables, on remarque que, pour la tranche 3, les turbo codes fournissent moins d’information extrinsèque que les codes LDPC. Cette information extrinsèque n’est pas suffisante pour amorcer le décodage itératif multi-niveaux. Le code convolutif utilisé dans les turbo codes est représenté par le polynôme (15,13) (voir annexe A). Nous avons constaté un résultat similaire pour les turbo codes (7,5) (23,35) (37,21) (255,223) et duo binary (23,35,20,32) [74].

nant du canal quantique sont regroupées en vecteurs de n composantes, et chaque vecteur est binarisé par le point le plus proche de ce vecteur dans l’espace à n dimensions. Chaque vecteur fournit ainsi k bits, définissant k tranches, que nous pouvons décoder comme nous le faisons dans le cas unidimensionnel. En général, à haute dimension, le maillage optimal n’est pas ré- gulier : à première vue, la constellation semble être composée de points aléatoirement répartis ; dans cette configuration, il est difficile et coûteux de trouver le point le plus proche de notre vecteur de données. Une constellation idoine doit donc être trouvée pour optimiser l’efficacité de réconciliation sans sacrifier la vitesse.

Deux effets peuvent être recherchés. Tout d’abord, une bonne discrétisation peut, comme nous l’avons vu dans ce chapitre, conduire à une bonne efficacité de réconciliation βtranches, actuellement limitée à 95%. Ensuite, on peut envisager de garder une efficacité constante, pour profiter d’une réconciliation plus rapide. En effet, notre maillage unidimensionnel est équi- valent, en termes de vitesse et d’efficacité, à un maillage «hyper-cubique» à n dimensions. Dans ce maillage hyper-cubique, beaucoup d’intervalles de binarisation, notamment dans les inter- valles éloignés de l’origine, ont une probabilité très faible d’accueillir des données continues. Un maillage multidimensionnel de type polaire permettrait d’éliminer ces intervalles de binarisation inutilisés, améliorant ainsi la vitesse de décodage.

166 Chapitre 13 : Réalisation et optimisation de la réconciliation

Nous pouvons trouver une structure de codes LDPC adaptée à la distribution des symboles issus de la discrétisation de nos données continues. Nous évoqué une pro- priété intéressante des codes LDPC : l’efficacité de décodage ne dépend que de la connectivité du graphe représentant le code. La connectivité optimale dépend de la distribution des LLR intrinsèques fournis par le canal de communication. Nous avons utilisé des connectivités op- timisées pour des distributions de LLR gaussiennes, comme celles rencontrées sur les canaux AWGN avec une modulation binaire8. Si notre distribution est proche d’une gaussienne lors des dernières étapes de décodage, elle s’en écarte significativement au début du décodage, où l’efficacité est critique pour la réussite du décodage itératif (voir figure 12.7). L’utilisation de codes optimisés permettrait donc d’augmenter l’efficacité de décodage, actuellement limité à 93%.

La programmation de processeurs numériques spécialisés permettrait d’améliorer la vitesse de réconciliation. Les processeurs DSP9 sont optimisés pour le traitement numé- rique du signal. Ils sont notamment couramment utilisés pour le décodage de codes correcteurs d’erreurs mous dans les appareils électroniques grand publique. Nous avons testé l’un de ces pro- cesseurs : le DPS TMS320C6416 cadencé à 1 GHz de Texas Instruments, monté sur une carte de test. Comme ce processeur se programme directement en C, nous pouvons utiliser notre algorithme de décodage LDPC existant, moyennant quelques modifications mineures. Malheu- reusement, nous avons obtenu des vitesses de décodage un ordre de grandeur en dessous de celles obtenues avec un ordinateur de bureau standard. En effet, les DSP sont particulièrement adaptés aux algorithmes demandant beaucoup de calculs pour peu d’accès mémoire, comme le décodage de codes moins complexes et donc moins efficaces (codes LDPC réguliers, mais sur- tout turbo codes) que les codes que nous utilisons. Les performances de ces processeurs pour le décodage des turbo codes avait d’ailleurs motivé notre intérêt pour ces codes. Ces propriétés répondent en effet aux motivations industrielles, qui favorisent les décodages peu efficaces, mais rapides et peu gourmands en puissance électrique. Toutefois, plusieurs projets récents explorent l’implémentation des codes LDPC irréguliers sur DSP ou FPGA [75].

Nous envisageons également l’utilisation de cartes graphiques. Ces cartes, usuellement dé- diées au rendu graphique de jeux vidéo, sont de puissants calculateurs parallèles à virgule flottante. Nous avons adapté le décodage des codes LDPC à ces processeurs graphiques, et des résultats préliminaires font état d’une vitesse de décodage identique à celle obtenue avec un puissant ordianteur, pour un encombrement réduit.

L’utilisation de modulations non gaussiennes peut augmenter le taux secret final.

Les preuves de sécurité présentées au chapitre 4 ne nécessitent en rien l’utilisation de modula- tions gaussiennes. Nous avons pourtant utilisé ces modulations, car elles permettent d’exprimer analytiquement le taux secret en fonction des paramètres du canal et car elles sont optimales pour une efficacité de réconciliation β = 1 [36]. Cependant, pour une réconciliation imparfaite (β < 1), nous pouvons trouver des modulations non gaussiennes qui améliorent le taux secret. Considérons les deux modèles de sécurité suivants :

Attaques individuelles Les preuves entropiques de la sécurité du protocole de distribution

quantique de clé utilisant la réconciliation inverse [36] donnent une expression du taux 8Rappelons qu’un canal AWGN est un canal ajoutant un bruit gaussien. Une modulation binaire encode les

bits 0 et 1 sur deux symboles -1 ou 1 introduits en entrée du canal.

13.8 Perspectives d’amélioration 167

secret indépendante de la modulation utilisée, que nous avions écrite au chapitre 4 (nous reprenons ici les notations de ce chapitre) :

∆I ≥ 2H0− (1 − β)H(XB) − βH(XB|XA) − H(PB|PA0). (13.4) Pour β = 1, cette expression est optimale quand la modulation est gaussienne. Pour β < 1 dépendant de la modulation, un algorithme d’optimisation numérique pourrait permettre de trouver une modulation non gaussienne fournissant un taux secret supérieur.

Attaques collectives À ce jour, les preuves de sécurité prenant en compte les attaques col-

lectives ne fournissent pas d’expression explicite pour le taux secret quand la modulation n’est pas gaussienne. Cependant, le taux secret est borné par

∆I = βIAB− χgaussBE , (13.5)

où χgaussBE est l’entropie de Holevo gaussienne entre Bob et Ève, qu’Alice et Bob déter- minent en calculant les moments d’ordre deux de la distribution de leurs données (voir chapitre 4). Pour des paramètres du canal constants, c’est-à-dire à moment d’ordre deux constants, χgaussBE est constant, et ne dépend pas de la forme de la distribution des données. Si β ≤ 1 est également constant, la modulation gaussienne maximise ∆I, car elle maxi- mise l’information mutuelle IAB à variance constante. Mais β peut dépendre du type de modulation utilisée : certaines modulations non gaussiennes peuvent avoir une efficacité ou une vitesse supérieures. Là encore, une optimisation numérique est nécessaire pour déterminer la modulation optimale. Cependant, si une amélioration est possible, elle sera limitée : avec notre modulation gaussienne, IAB est optimale, et β vaut environ 87%. Il faut donc trouver une modulation dont l’information mutuelle s’écarte de moins de 15% d’une modulation gaussienne, tout en présentant une efficacité proche de 100%.

Chapitre 14

Amplification de confidentialité

À l’issue de la réconciliation, Alice et Bob partagent un série de bits sans erreur, mais par- tiellement connue de l’espion. Par exemple, un décodage de 200 000 impulsions sur 4 tranches, dont deux sont totalement révélées produit 400 000 bits contenant environ 11 000 bits secrets pour une transmission sur 25 km. L’amplification de confidentialité a pour but de générer le nombre désiré de bits secrets à partir des bits issus du décodage.

Dans ce chapitre, nous reprendrons simplement les résultats obtenus par Gilles Van Assche [7], et nous montrerons comment les étendre à des blocs de données de taille arbitraire, notamment pour des entrées de 400 000 bits. Enfin, nous montrerons comment combiner plusieurs fonctions de hachage afin d’améliorer la vitesse de l’algorithme d’amplification.

14.1

Familles de fonctions de hachage comme amplifica-

teurs de confidentialité

Dans ce chapitre, nous utiliserons les notations suivantes :

• la chaîne de bits à amplifier est notée B. Sa longueur est notée b. Pour notre algorithme de réconciliation, b = 400 000.

• la chaîne de bits issue de l’amplification (c’est-à dire la clé secrète) est notée K, et sa longueur est k. En général, on choisit k = ∆I − s, où ∆I est le nombre de bits secrets contenus dans la chaîne à amplifier, et s est une marge de sécurité (voir section 14.6).

Une fonction de hachage est une fonction de l’ensemble des chaînes de b bits vers l’ensemble des chaînes de k bits. 1 En d’autres termes, on peut voir le hachage de b bits (c’est-à-dire l’image d’une chaîne de b bits par une fonction de hachage) comme un échan- tillon représentatif des b bits. Si la fonction de hachage est correctement choisie, deux chaînes distinctes auront un hachage différent avec une bonne probabilité. On rencontre ces fonctions de hachage dans la vie courante pour garantir l’intégrité des données, par exemple dans les systèmes de vérification de CD, ou dans la clé RIB.

L’amplification de confidentialité nécessite de définir au préalable un ensemble de fonctions de hachage appelé «famille». Pour amplifier leur chaîne B en une chaîne K, Alice et Bob appliquent à B une fonction de hachage choisie aléatoirement parmi cette famille, et différente 1En toute rigueur, on peut définir des fonctions de hachage dans un ensemble quelconque. Nous nous limi-

terons ici aux chaînes de bits.

170 Chapitre 14 : Amplification de confidentialité

pour chaque chaîne à amplifier. Il est prouvé que ce processus conduit inconditionnellement à une chaîne secrète K, à condition que la famille de fonctions de hachage soit universelle (ou proche de l’universalité, voir section 14.6), selon la définition suivante : une famille de fonctions de hachage est universelle si, pour toutes chaînes d’entrée différentes B1 et B2, la probabilité pour que f (B1) = f (B2) est au plus 1/2b. Dans cette définition, le terme probabilité s’entend «quand f parcourt la famille de fonctions de hachage» [60]. Une fonction est dite -universelle quand cette probabilité est au plus /2b, avec2  > 1.

Une famille de fonctions de hachage universelle doit vérifier plusieurs contraintes pour être utilisable en pratique dans une situation d’amplification de confidentialité [7] : • La famille de fonctions de hachage doit être conçue pour accepter des entrées de b bits et des sorties de k bits telles que définies par notre protocole de réconciliation. Notamment, la taille de sortie k doit être variable, car elle dépend du taux secret calculé à partir des paramètres du canal quantique.

• L’évaluation de la fonction de hachage doit être rapide, pour ne pas dégrader la vitesse d’établissement de la clé secrète.

• Alice et Bob doivent s’accorder via le canal classique sur le choix d’une fonction de hachage parmi cette famille. La famille doit donc être assez petite pour que la désignation d’une fonction requière un nombre raisonnable de bits.