HAL Id: tel-00438600
https://tel.archives-ouvertes.fr/tel-00438600v3
Submitted on 11 Jan 2010
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Vers des générateurs de nombres aléatoires uniformes et
gaussiens à très haut débit
Renaud Santoro
To cite this version:
Renaud Santoro. Vers des générateurs de nombres aléatoires uniformes et gaussiens à très haut débit.
Traitement du signal et de l’image [eess.SP]. Université Rennes 1, 2009. Français. �tel-00438600v3�
THÈSE / UNIVERSITÉ DE RENNES 1
sous le s eau de l'Université Européenne de Bretagne
pour le grade de
DOCTEUR DE L'UNIVERSITÉ DE RENNES 1
Mention : Traitement du Signal et Télé ommuni ations
É ole do torale Matisse
présentée par
Renaud SANTORO
préparée à l'unitéde re her he UMR6074 IRISA
Institut de re her he en informatiqueet systèmesaléatoires -CAIRN
É ole Nationale Supérieure des S ien es Appliquées etde Te hnologie
Vers des générateurs
de nombres aléatoires
uniformes et gaussiens
à très haut débit
Thèse soutenue à Lannion
le Jeudi 17 Dé embre 2009
devant lejury omposé de :
Viktor FISCHER
ProfesseurdesUniversités
UniversitéJeanMonnet/président
Bruno ROUZEYRE
ProfesseurdesUniversités
UniversitédeMontpellier/rapporteur
Russell TESSIER
Professeur
UniversityofMassa husetts/rapporteur
Paul FORTIER
Professeur
UniversitéLaval/examinateur
Olivier SENTIEYS
ProfesseurdesUniversités
UniversitédeRennes1/dire teurdethèse
Sébastien ROY
Professeur
Je remer ietoutparti ulièrement MonsieurOlivierSentieys,ProfesseurdesUniversités
à l'ENSSAT et responsable de l'équipe CAIRN, pour m'avoir a ueilli dans son équipe
de re her he et pour avoir a epter de diriger ette thèse. Je tiens à remer ier également
Monsieur Sébastien Roy, Professeur adjoint à l'Université Laval de Québe pour avoir
a epté le o-en adrement de ette thèseet m'avoira ueilli danssonéquipe de re her he
pendant un an.Qu'ilssoientassurés de magratitude.
Je tiens également à remer ierMonsieurViktor Fis her pour avoir a epté de présider
lejury desoutenan e, MessieursBruno Rouzeyreet RussellTessierpour avoir a epté de
rapporter sur e manus rit et enn MonsieurPaul Fortier pour avoir a epté d'examiner
estravaux.
Jetienségalementàremer ierArnaudTisserandpourses onseils,sarigueuretson
ou-vertures ientique.Mer ien oreàThomasAnger, ArnaudCarer,RémiPallasetPhilippe
Quémérépour leur ontribution dansledéveloppement des ir uits ASICOCHRE.
Que tous lesmembres de l'équipe CAIRN et lepersonnel de l'ENSSATa eptent mes
remer iements pour avoir ontribué à rendre ette expérien eenri hissante aussibien sur
leplanprofessionnel quepersonnel.
Enn, mondernier remer iement, maisnondesmoindres,àCaroline,pouravoirsu me
Introdu tion 1
Plandu mémoire . . . 5
I État de l'art 7 1 Introdu tion . . . 7
2 Rleet prin ipe defon tionnement . . . 7
2.1 Dénitions préliminaires . . . 7
2.2 Appli ations. . . 8
2.2-1 Cryptographie . . . 9
2.2-2 Méthodes deMonte-Carlo . . . 14
2.2-3 Communi ations numériques . . . 15
3 Générateursde nombres vraiment aléatoires . . . 16
3.1 TRNGbaséssur l'ampli ationd'un bruit physique . . . 17
3.1-1 TRNG proposépar Baginiet al. . . 17
3.1-2 TRNG proposépar Jun etal. . . 17
3.2 TRNGbaséssur l'é hantillonnage d'os illateurs . . . 18
3.2-1 TRNG proposépar Tsoi etal. . . 18
3.2-2 TRNG proposépar Fis her et al. . . 19
3.2-3 TRNG proposépar Bu i et al.. . . 23
3.2-6 TRNGproposépar Sunar et al. . . 28
3.2-7 Améliorationsproposées par S hellekens et al. . . 29
3.2-8 Améliorationsproposées par Yooet al.. . . 29
3.2-9 TRNGproposépar Bu i et al. . . 30
3.2-10 TRNGproposépar Goli¢. . . 30
3.2-11 TRNGproposépar Di htl et al. . . 32
3.3 TRNGbasés surlamétastabilité d'un signal. . . 33
3.3-1 TRNGproposépar Epstein et al.. . . 33
3.3-2 TRNGproposépar Danger et al. . . 34
3.3-3 TRNGproposépar Vasyltsovet al. . . 35
3.4 Extra teur d'aléas et dé orrélateur . . . 36
4 Evaluationde laqualité d'un générateurvraiment aléatoire . . . 39
4.1 Méthode d'évaluation d'un générateurpseudo-aléatoire . . . 39
4.2 Evaluationd'un générateur vraiment aléatoire . . . 40
5 Con lusions . . . 41
II Evaluation de la qualité de générateurs vraiment aléatoires 43 1 Générateurs vraiment aléatoires séle tionnés . . . 43
2 Evaluationdesgénérateurs au seind'un FPGA AlteraStratix II . . . 47
2.1 Obje tifde l'évaluation . . . 47
2.2 Des ription et implantation de labatterie FIPS140-2 . . . 49
2.2-1 Frequen y test . . . 49
2.2-2 Poker test . . . 49
2.2-3 Run test . . . 50
2.2-4 Long run test . . . 50
2.2-5 Résultats d'implantation pour te hnologies ASICet FPGA 51 2.2-6 Résultats de l'évaluation des TRNG par la batterie FIPS 140-2 . . . 51
2.2-7 Con lusions del'évaluationpar les testsFIPS140-2 . . . . 52
3.1-1 AnalysedelagigueduROutilisédansdes onditionsidéales
de fon tionnement . . . 56
3.1-2 AnalysedelagigueduROsoumisàunefortea tivitéparasite 57 3.1-3 Dis ussion . . . 58
4 Re her he dudébit optimaldes TRNGenfon tion du FPGA iblé . . . 59
4.1 Obje tif . . . 59
4.2 Méthodologie proposée . . . 59
4.3 Implantation matérielle de l'AIS 31 . . . 60
4.3-1 TestT0 :test de diéren e . . . 61
4.3-2 TestT1 :frequen y test . . . 63
4.3-3 TestT2 :poker test . . . 63
4.3-4 TestT3 :run test . . . 63
4.3-5 TestT4 :long run test . . . 63
4.3-6 TestT5 :test d'auto orrélation. . . 64
4.3-7 TestT6 :test d'uniformité . . . 64
4.3-8 Test T7 : Evaluation de la distribution des sous-séquen e binaire . . . 65
4.3-9 TestT8 :test d'entropie . . . 66
4.3-10 Performan e et oûtmatérieldestestsde l'AIS 31 . . . 75
4.4 Evaluationdesgénérateurs séle tionnés . . . 75
4.5 Con lusionsde l'évaluation . . . 77
5 Evaluation du oûtmatériel et delapuissan e onsommée desTRNGtestés 80 5.1 Coûtmatériel . . . 80
5.2 Puissan e onsommée . . . 80
6 Con lusions . . . 81
IIIVers des RNG uniformes et gaussiens à très haut débit 83 1 Implantation d'un RNG hybrideau sein d'un ir uitre ongurable . . . 84
1.1 Des riptiondu générateurhybride . . . 84
2 Laquête d'un RNG hybrideoptimal au seind'un ir uit VLSI. . . 85
2.1-2 Surfa eet onsommation du ir uit . . . 86
2.1-3 Routagedu ir uit sousl'outil Virtuoso . . . 87
2.1-4 Validation du ir uit ASIC . . . 87
2.1-5 Analysede lasour e de bruitdu générateur . . . 88
2.1-6 Véri ation du bon fon tionnement du TRNG . . . 90
2.1-7 Analysede laqualité duTRNG . . . 91
2.1-8 Con lusions et perspe tives . . . 92
2.2 On-CHip Randomness Evaluation version2 . . . 92
2.2-1 Ar hite ture du ir uit . . . 92
2.2-2 Performan es . . . 93
2.2-3 Dis ussionset perspe tives . . . 94
3 Versun RNGgaussien et deRayleighà très haut débit . . . 95
3.1 Te hniques de génération . . . 97
3.1-1 Variablesaléatoires gaussiennes. . . 97
3.1-2 Méthode par transformation . . . 98
3.1-3 Séle tiond'unalgorithmepermettantdegénérerdesnombres aléatoiresgaussiens à trèshaut débit . . . 104
3.1-4 Présentation duGRNGproposé parAlimohammad et al. . 105
3.2 Implantation de l'algorithme Box-Muller à partir d'une approxima-tion polynomiale minimax . . . 107
3.2-1 Implantation de lafon tion
f (u
0
)
. . . 1073.2-2 Implantation de lafon tion
g
0
(u
1
)
. . . 1153.2-3 Résultats d'implantation desfon tions
f (u
0
)
etg
0
(u
1
)
. . . 1173.2-4 Résultats d'implantation del'algorithme Box-Muller . . . . 117
3.2-5 Validation delaqualité de l'algorithmeBox-Muller implanté118 3.3 Con lusions . . . 120
4 Con lusion. . . 120
IVRe her hed'ungénérateurpseudo-aléatoireoptimiséselonun ompromis qualité/ oût matériel 123 1 Intérêtdes AutomatesCellulaires dansles ar hite tures FPGA . . . 123
2.2 Méthodologie . . . 128
2.2-1 Génération desrèglespossibles . . . 128
2.2-2 Cal ul de l'entropie del'automate ellulaire . . . 129
2.3 Ar hite ture dela re her he exhaustive. . . 131
2.4 Comparaison de la règle de l'automate ellulaire trouvée ave des générateurs souvent utilisésen VLSI . . . 131
2.4-1 Entropie . . . 132
2.4-2 Distribution desbitsaléatoires . . . 133
2.4-3 Con lusion . . . 136
3 Evaluationdu oûtmatérielengendréparl'implantationdetestsstatistiques trèsperformants . . . 137 3.1 Birthday test . . . 138 3.1-1 Présentation . . . 138 3.1-2 Implantation matérielle . . . 139 3.1-3 Cal ul du testdu
χ
2
. . . 140 3.2 Gorilla test . . . 141 3.2-1 Présentation . . . 1413.2-2 Overlapping 20-tuples bitstream test . . . 142
3.2-3 Implantation matérielle . . . 142 3.3 GCDtest . . . 142 3.3-1 Présentation . . . 142 3.3-2 Implantation matérielle . . . 143 4 Con lusions . . . 144 Con lusions et perspe tives 147 Bibliographie 153 Glossaire 181
Contexte
L'obje tif d'un générateur de nombres aléatoires (RNG, Random Number Generator)
est de produire une séquen e binaire aléatoire indépendante, imprédi tible et
uniformé-mentrépartie.LesRNGsontné essairesdanstoutessortesd'appli ations,parexemple,en
ryptographie, télé ommuni ations, simulations numériques, test de ir uits VLSI
(Very-Large-S ale Integration) ou en oredansdes algorithmesprobabilistes. Le nombre
d'appli- ationsembarquées né essitant des RNG matériels augmente onstamment, spé ialement
au sein des ir uits re ongurables, Field Programmable Gate Array (FPGA), systèmes
sur pu e (System On-Chip (SoC)) . L'augmentation de la fréquen e de es ir uits et la
baisse régulière de leur oûtouvrent de nouvelles voies dansle domaine de la on eption
degénérateurs de nombres aléatoiresau seindes ir uits VLSI.
En vue de la on eption matérielle d'un RNG, la solution est d'utiliser un
généra-teur hybride omposé d'un générateur vraiment aléatoire (TRNG,True Random Number
Generator)etd'ungénérateurpseudo-aléatoire(PRNG,PseudoRandomNumberGenerator).
Les PRNG étant basés sur des algorithmes déterministes. Ils sont périodiques et doivent
être initialisés par un TRNG. Le ve teur d'initialisation est appelé un germe ou semen e
(seed). Malgré leur périodi ité, les PRNG permettent d'atteindre des débits élevés. De
plus, en fon tion de laqualité du germe, un PRNG est apable de générer une séquen e
fortement aléatoire. Les TRNG sont quant à eux basés surune sour e de bruit physique
(e.g.bruitthermique,giguedephased'unos illateur) etdépendent fortementdelaqualité
de leur implantation. La séquen e produite par un TRNG estgénéralement biaisée, 'est
àdire que ertainesséquen es de nombresaléatoiressont plusfréquemment observées que
d'autres.Par onséquent,unpro essusdepost-traitementestsouventajoutéande
TRNGimplantésauseindes ir uits VLSIutilisentlagigueproduitepar unos illateurou
lamétastabilité d'un signal.
Prouver mathématiquement qu'un PRNG est aléatoire est généralement di ile voire
impossible. Les générateurs pseudo-aléatoires sont en pratique souvent évalués via
l'uti-lisation de tests statistiques. Plusieurs batteries de tests existent dans la littérature. Les
plus onnuessont Diehard[MZ93℄,NIST[RSNMS01℄ainsiquelestestsstatistiquesdé rits
par D. Knuth dans [Knu97℄. L'évaluation d'un TRNG est beau oup plus omplexe que
elle d'un PRNG. La qualité d'un TRNG est fon tion de la sour e de bruit utilisée, de
l'environnementextérieurau ir uitet delaqualitéd'implantation auseindu ir uit iblé.
La méthode la plus élégante lors de la validation d'un TRNG est de fournir un modèle
sto hastique de la sour e de bruit utiliséepar le générateur[S h03℄ [KS08 ℄. L'obje tif des
modèlessto hastiquesest de déterminer l'entropie de lasour e aléatoire ou aumoins une
borneminimalede elle- i.Cependant,la omplexitémathématique desmodèlesrend leur
utilisation souvent déli ate. Par onséquent, deux batteries de tests statistiques sont très
généralement utilisées,le FIPS140-2[Nat99b ℄et l'AIS31 [KS01 ℄.
Problématique et ontribution
L'obje tif de ette thèse est de proposer unRNG possédant un débit élevé, fa ilement
implantableauseind'un ir uitre ongurableettrèsrobuste.Larobustessedugénérateur
orrespond àlaqualité onstante duTRNGmalgrédesvariations del'environnement,des
attaques externes potentielles et duvieillissement des omposants.
Choisirun TRNGparmitous euxexistantsdanslalittérature peuts'avérerune tâ he
déli ate. Lors de la validation, il est très rare qu'un on epteur d'un TRNG ne ompare
les performan es du générateur proposé ave elles obtenues par des solutions déjà
exis-tantes. La dépendan e d'un générateur ave le ir uit iblé, l'implantation ee tuée par
les on epteurs et l'environnement extérieurdans lequel le ir uit a étévalidé rendent les
omparaisons di iles. A notre onnaissan e, au une étude parue dans la littérature ne
porte sur la omparaison de la qualité des générateurs existants. Il est par onséquent
di ile de séle tionner un TRNG. Deplus, dans un ontexte matériel (e.g. implantation
FPGA), lasurfa e et la onsommationdu ir uit sont des ritères importants né essitant
d'être évalués.
Une des problématiques de l'étude est onsa rée à l'évaluation de TRNG ré emment
parus danslalittérature. Les générateurs testéssont séle tionnés pour lapossibilité
d'im-planter eux- i au sein d'un maximums de ibles re ongurables. Une méthode
d'évalua-tion rapide et e a e basée sur l'utilisation de tests statistiques matériels est proposée.
LesTRNG,implantésauseindumême ir uitre ongurable(i.e.FPGA)sontanalysésen
temps réel dansles mêmes onditions réelles d'utilisation (environnement extérieur, bruit
plus, la méthode présentée permet d'optimiser les performan es des TRNG. À partir des
tests statistiques, les débits maximum des TRNGimplantés au sein du ir uit iblé sont
re her hés. Les débits trouvés, supérieurs à eux présentés par les on epteurs, montrent
l'intérêt d'utiliser les tests statistiques matériels pour pré- ara tériser le fon tionnement
d'un TRNGet optimiserleur débit.
À partir de l'étude pré édente, un TRNG est séle tionné pour ses propriétés
statis-tiques.Une ar hite ture de générateurhybridepermettant de produire desnombres
aléa-toires uniformes à très haut débit est ensuite proposée. Cependant, omme le montre le
hapitre II, malgré la qualité du générateur séle tionné, l'aléa en sortie du TRNG peut
varierau oursdutempsà aused'attaquesexternespossiblessurle ir uit,delavariation
des onditionsextérieures ouen oreduvieillissementdes omposants.La qualitéaléatoire
de laséquen ede germes produitepar un TRNGest primordiale pour assurer
l'imprédi -tibilité d'un PRNG.An d'améliorer la robustessed'un TRNG, des mé anismes de tests
statistiques en ligne doivent être mis en ÷uvre. Ainsi, une évaluation en temps réel du
omportement du générateurestréalisée et les séquen es défaillan esgénéréespar elui- i
sontévitées.Cetteétudeproposed'utiliseruneimplantatione a edelabatterieduFIPS
140-2. Lasurfa e négligeable du ir uit ausein desFPGAa tuels et lesperforman es
ob-tenuespar le omposant permettentde ontrlerlaqualitéduTRNGséle tionnéentemps
réel.
Après séle tion d'un TRNG pour desperforman es et de mé anismes de test en ligne,un
PRNGdetrèsbonnequalitéestséle tionné.Leprin ipe dugénérateurhybrideproduisant
des nombres aléatoires uniformes à très haut débit est présenté dans la gure 0-1. Une
implantationdugénérateurauseind'un ir uitre ongurableetauseind'un ir uitASIC
estréalisée.
Source de
bruit physique
Bruit
Post-traitement
Séquence
aléatoire
interne
FPGA
Filtrage
Mécanisme
de test en
ligne
Séquence
aléatoire
validée
PRNG
Séquence
pseudo-aléatoire
uniforme
DAS
Alarme externe
Loi normale
Loi Rayleigh
Variables
aléatoires normales
Variables aléatoires
de Rayleigh
Variables aléatoires
uniformes
TRNG
Figure0-1 Présentation dugénérateurproposé.Le ir uit, implantéau seind'unFPGA,
est omposéd'un TRNGet d'un PRNG.La séquen ealéatoire produitepar le TRNGest
analysée en temps réel, par des mé anismes de test en ligne. En as de défaillan es
im-portantesdugénérateur, unealarmeestlevéeet lesséquen es dé ientes sontsupprimées.
ave une entreprise spé ialiséeen ryptographieà travers leprojetple imageset réseaux
SPRING (Shelf Proof Random Integrated Number Generator). L'entreprise propose une
solution permettant d'assurer la ondentialité, l'intégrité et/ou la non inter eption des
données transmises à travers un anal de transmission. La solution est basée sur
l'algo-rithme des masques jetables. Le prin ipe de fon tionnement est de hirer haque texte
lairàpartird'une léaléatoiredontlalongueurestsupérieureouégaleà elledumessage.
Chaque lé n'est utiliséequ'une seule fois.Lenombre de lés requis,lalongueur de
elles- i et la transmission des lés à travers le anal de transmission engendrent une mise en
÷uvre très oûteuse. L'utilisation d'une lé unique par hirement impose un débit élevé
au générateurde nombres aléatoireset une qualité irrépro hable.
Dansle adreduprojetSPRING,notreobje tifaétédeproposer àl'entreprise de
rypto-graphieunRNGfa ilementimplantableauseind'unemultitudede ir uitsre ongurables
et des mé anismesde ontrle de qualité peu oûteux en termes desurfa e. Le ir uit
dé-veloppé est a tuellement utilisé au sein de la solution proposée par l'entreprise. De plus,
une lé usb générant des nombres aléatoires uniformes sera ommer ialisée sous peu par
l'entreprise à partir destravauxréalisés.
Le ir uitprésentédanslagure0-1permetdegénérerdesnombresaléatoiresuniformes
à haut débit. Dans ertaines appli ations, il est parfoisné essairede générer des nombres
aléatoires suivant une distribution de probabilité diérente. Par exemple, omme le
pré-sentelagure0-2,en ommuni ationsnumériques, ilestsouventné essairede onnaîtrele
taux d'erreur binaired'une haînede transmission. Le tauxd'erreur binaire orrespond à
unemesurerelative dunombre d'erreurbinairemesuréensortied'unetransmission
numé-rique.Leserreurssont généralement engendréespar le analdetransmission[Pro00 ℄etdes
modèlesde anauxde transmissionsont souvent utiliséspour simulerle omportement de
telsystème. Cependant,lestauxd'erreurs binairesa tuels(i.e.
10
−9
)entraînent la
réalisa-tion d'un grand nombre de simulations (i.e. supérieur à
10
14
).La omplexité desmodèles
de anaux de transmission engendre destemps de al ul très importants. Une alternative
pour améliorerlarapiditédes simulations estd'implanter lemodèlede analde
transmis-sion en matériel, au sein de ir uits re ongurables. En ommuni ations numériques, un
modèle de anal de transmission souvent utilisé est un anal ave bruit gaussien additif.
Celui- i né essite l'utilisation d'un générateur de bruit gaussien (GRNG). L'implantation
matérielle d'un GRNG est déli ate ardes fon tions omplexessont souvent utilisées par
les algorithmes. Deplus, lapré ision élevée requise peut engendrer une surfa e non
négli-geable. À partir del'utilisation du ir uit présenté dans lagure 0-1, l'implantation d'un
générateur de nombres aléatoires gaussiens à très haut débit est présenté. Par ailleurs, le
ir uit implanté permet de générer e a ement des nombres aléatoiressuivant une loi de
Source
Codeur
de
source
Codeur
de
canal
Décodeur
de canal
Décodeur
de source
Destinataire
Modèle de canal
Figure 0-2 Système de ommuni ations numériques ave pro essus de ompression des
donnéeset de prote tion ontreles erreursde transmission.
Plan du mémoire
Cetravail dere her he estprésenté autravers dequatre hapitres. Le premier hapitre
introduit le on ept de générateurs de nombres aléatoires. Le prin ipe de fon tionnement
etlesappli ationsdesgénérateurssontprésentés.Ce ipermetde omprendrel'importan e
degénéreruneséquen efortementaléatoire.Unétatdel'artdesgénérateursvraiment
aléa-toiresest réalisé. Cettepartie présente les limites desTRNG a tuels. Enn, les méthodes
d'évaluation desTRNGsont expli itées.
Le deuxième hapitre est onsa réàl'évaluationsur ible FPGAdeTRNGré emment
parusdanslalittérature. Ce hapitre étudielavariationde laqualitéaléatoire desTRNG
analysésenfon tiondela iblevisée,del'a tivitédu ir uitetdel'environnementextérieur.
De plus, la surfa e et la onsommation des TRNG sont évaluées. Ce hapitre permet la
séle tion d'un TRNGd'ex ellente qualité.
Le troisième hapitre présente l'implantation du générateur hybride proposé. Le RNG
est omposéd'unTRNGséle tionnépoursespropriétésstatistiques,demé anismesdetest
en ligne et d'un PRNG réputé. Après analyse des performan es obtenues par lesystème,
un simulateur matériel d'un anal à bruit gaussien additif et d'un anal de Rayleigh est
réalisé sur ible FPGAet ASIC.
Lequatrième hapitredé rit uneétudeannexeréalisée au oursdelathèse onsistantà
re her her un générateur pseudo-aléatoire optimisé selon un ompromis qualité/ oût
ma-tériel. L'obje tif est de trouver un générateur pseudo-aléatoire protant de la stru ture
systolique d'un FPGA. Les automates ellulaires possèdent une stru ture intéressante
pour atteindredesdébitsmaximum.Cependant,malgréleursimpli ité,prédire le
ompor-tement d'un CA en fon tion de larègle utilisée est très di ile. Ce hapitre propose une
solution permettant la re her he exhaustive de la règle optimale d'un automate ellulaire
à5 voisins.
Enn, le dernier hapitre on lut e do ument en résumant les apports des travaux
1
État de l'art
1 Introdu tion
Cettepartie introduitle on eptdegénérateurdenombresaléatoires.Dansunpremier
temps,aprèsavoirdénilanotionde séquen ealéatoire,quelquesappli ationsné essitant
l'utilisation d'un RNG sont présentées. Dans la se tion 3, un état de l'art des TRNG
implantés au sein des ir uits re ongurables (FPGA) est ee tué. Cette partie permet
de omprendre les limites desTRNG a tuels. Enn, la se tion 4 réalise une synthèse des
méthodes devalidation d'un TRNG.
2 Rle et prin ipe de fon tionnement
2.1 Définitions préliminaires
Séquen e binaire aléatoire
Une séquen e binaire
x
onstituée del
bits est dite aléatoire lorsque lesl
bits sontindépendants, imprédi tibles et équiprobables [Knu97℄.
Différen e entre une séquen e de nombres aléatoires et une séquen e de
bits aléatoires
Par abus de langage, un générateur de nombres aléatoires et un générateur de bits
aléatoiresdésignent souvent lamême notion. Leur obje tifest degénérer une séquen ede
motsaléatoires. Lesmotsappartiennentà unalphabet ni
A
.Dansle asd'un générateurdebits aléatoires, l'alphabet estde dimension2 et
A = {0, 1}
. An d'obtenirdesnombresaléatoires, il est possible de regrouper les bits su essifs en sortie du générateur de bits
aléatoires.
Un générateurde nombresaléatoires est un algorithmedéterministe ou indéterministe
permettant de générer une séquen e binaire
x
uniforme, imprédi tible et indépendante.Prouver mathématiquement qu'un générateurestaléatoire estsouvent di ile.Par
onsé-quent,desbatteriesdetestsstatistiquessont utiliséesandevérier silaséquen egénérée
est réellement aléatoire.
Deux grandes familles de générateurs existent : les générateurs vraiment aléatoires
(TRNG) et les générateurs pseudo-aléatoires (PRNG). Les TRNG sont basés sur des
sour esdebruitphysique nondéterministes.Lessour esdebruit généralement utiliséesen
éle troniquesontlebruitthermique,lagigueproduiteparunos illateuroulamétastabilité
d'une bas ule. La gigue orrespond à ladéviation d'un signalpar rapport à son
ompor-tement idéal. La séquen e générée par un TRNG est généralement biaisée. Un étage de
post-traitement estsouvent ajoutéan de réduire la orrélation. L'ajout de e omposant
engendre une diminution du débit du TRNG ainsi qu'une augmentation de la puissan e
onsommée.
LesPRNGsontdesalgorithmesdéterministesbaséssuruneéquation.Ungrandnombre
de PRNGexistent danslalittérature. Onnoteen parti ulierles générateurs ongruentiels
linéaires, le générateur Mersenne Twister, Fibona i, Blum Blum Shub et bien d'autres.
Un état de l'art desPRNG existantsest réalisé dans [Knu97℄.Les PRNG produisent une
séquen e périodique. Malgré leurpériodi ité, les PRNGsont souvent utilisésen VLSI ar
ils permettent d'atteindre desdébits trèsélevés. Cependant, lesPRNGsont initialisés par
lesTRNG.Le ve teurd'initialisationestappeléune semen eougerme (seed).Enfon tion
delaqualitéde elle- i,unPRNGest apabledeproduireuneséquen eayantuneentropie
élevée.
Lagure 1-1présente unRNGhybride omposéd'un TRNGet d'un PRNG.
seed
PRNG
True random
numbers
Pseudo-random
numbers
TRNG
Figure1-1 Générateur aléatoire hybride omposé d'un TRNGet d'un PRNG.
Par onvention, au sein de e do ument, les variables aléatoires sont notées en lettres
apitales et les réalisationsde elles- i,en lettresminus ules.
2.2 Appli ations
Dans ette se tion, trois domaines né essitant l'utilisation de générateurs de nombres
ommu-ni ationsnumériques.L'obje tifn'estpasd'expliquerlessubtilitésde esappli ationsmais
plutt deprésenterl'importan e desgénérateurs de nombresaléatoires.
2.2-1 Cryptographie
Généralités
La ryptographieestunedis iplinedela ryptologie.L'obje tifestdesé uriserla
trans-missiond'informations,sonsto kageouen oresonauthenti ation.La ondentialité,
l'in-tégrité des données, l'authenti ation d'une entité ou en ore la onnaissan e de l'origine
d'une donnée sont des tâ hes qu'un système ryptographique doit réaliser ave su ès.
Utiliséedepuis l'antiquité,la ryptographie onnaît un engouement trèsimportant depuis
les années 70. Ce i a été favorisé par les travaux de Shannon en 1949 [Sha49 ℄, qui ont
permis de poser lesbases théoriquesde la ryptographiemoderne.
Pour présenter les algorithmes de ryptographie, ette partie repose sur une
ommu-ni ation entre deux interlo uteurs Ali e et Bob. Le système ryptographique est dit sûr,
siau un ennemi (Os ar dansl'exemple)n'est apable d'a éderaux informationsse rètes
é hangées entre Ali e et Bob. Ali e souhaite émettre un message
x
à Bob.x
doit êtrehiréà partird'une lénotée
e
. Le hirementestrendu possiblegrâ eàune fon tiondehirement notée
E
e
. Le message hiréy
estobtenu pary = E
e
(x).
(1-1)A la ré eption du message
y
, Bob doit le dé hirer. Le dé hirement est réalisé par unefon tion dedé hirement,
D
d
. Le messagex
estobtenu parx = D
d
(y).
(1-2)Unsystème ryptographique estdénipar :
unensembleni
M
de blo sde textes lairs;unensembleni
C
de blo sde textes hirés;unensembleni
K
de lés;unensemblede fon tionsde hirement
E
e
:
M → C
telqueE
e
soit inje tive1 ;
unensemblede fon tionsdedé hirement
D
d
:
C → M
tel queE
e
◦ Dd = ID
, oùID
représente lafon tion identité.
Apartir del'expression del'entropie d'une variable aléatoire
X
H(X) =
−
n
X
i=1
p
i
log p
i
,
(1-3)Shannon dénitlanotionde sé urité in onditionnelle.La variablealéatoire
X
estdis rèteet peut prendre
n
valeurspossibles:x
1
, ..., x
n
ave une probabilité non nulle donnée parp
i
= P (X = x
i
).
(1-4)1. Uneappli ation
f
: E → F
estinje tivesi∀(x, y) ∈ E
2
L'entropie
H(X)
est une mesure de l'in ertitude. L'entropie est maximale lorsque la variablealéatoireX
estéquidistribuéesur{x
1
, ..., x
n
}
.Par opposition,H(X)
estminimalesi
X
estpresque sûrement onstante.Shannon onsidèreles messagesde textes lairspossibles
x
∈ M
omme étant lesréali-sations d'unevariablealéatoire
X
et lestextes hirésy
∈ C
omme les réalisationsd'unevariablealéatoire
Y
. Os ar estsus eptible de onnaître lesensemblesM, C, K
ainsiqueletexte hiré
y
. Par onséquent, lasé urité du systèmene peut pasreposer seulement surles fon tions de hirement et de dé hirement. Shannon démontre qu'un systèmeest dit
in onditionnellement sûr lorsque
H(X
|Y ) = H(X)
. La onnaissan e d'un message hirén'apporte au une information sur le message lair. De plus, si
K
représente la variablealéatoire pouvant prendre les diérentes valeursde la lé
k
∈ K
, il estpossible dedémon-ter que
H(X
|Y ) ≤ H(K|Y )
. Cetteexpression signieque l'in ertitude surX
onnaissantY
est inférieure ou égale à l'in ertitude surK
onnaissantY
. De plus, dans un systèmein onditionnellement sûr,
H(X
|Y ) = H(X)
donH(K)
≥ H(X)
. Ce résultat impliqueque lasé urité d'un système in onditionnellement sûrrepose surlaqualité aléatoire de la
lé. D'après[KIKS04 ℄,larésistan ed'un algorithme ryptographique fa eàunennemi est
fon tiondu hoixetdelapolitiquedegestiondes lésaléatoires.Ladénitiond'unsystème
in onditionnellement sûr peut aussi être vue de la manière suivante. Soit deux messages
quel onques appartenant à
M
:x
1
etx
2
,laprobabilité quey
∈ C
soit le hirement dex
1
doitêtreégaleàlaprobabilitéque
y
soitle hirementdex
2
.D'après[Cor06 ℄, ettesé uritén'est possible quesi lalongueur en nombre de bits du message
x
est inférieure ou égale àelledela léaléatoire.Ce iestdémontréàpartir del'inéquation
H(K)
≥ H(X)
. D'après[Cor06 ℄, etin onvénient onstitueune limitation importante. Ee tivement,l'idéal serait
de hirer un message à l'aide d'une lé de longueur faible.D'après [Cor06 ℄, ladénition
d'un système in onditionnellement sûrexpriméepar Shannon ne peut êtreutilisée. La
sé- urité d'un système doit être en relation ave les moyens informatiques dont dispose un
ennemi.
Deuxgrandesfamillesd'algorithmes ryptographiquesexistent:la ryptographie
symé-trique et la ryptographieasymétrique [KIKS04 ℄.
Cryptographie symétrique
Lesalgorithmesde ryptographiesymétriqueutilisentdes lésprivées.Soitunensemble
ni de fon tions de hirement
{E
e
: e
∈ K}
et un ensemble ni de fon tionsdedé hire-ment
{D
d
: d
∈ K}
.L'algorithme de hirementestditsymétriquesiàpartirde la lée
, ilest possible de déterminer fa ilement la lé
d
. Généralement, les algorithmes symétriquesutilisent les mêmes lés lors du hirement et du dé hirement, soit
e = d
. Dans unalgo-rithme à lé privée (ou symétrique),la sé urité repose sur la lé. Ali e et Bob possèdent
touslesdeuxlamême lépour hireretdé hirerunmessage.La lédoitresterin onnue
desennemis. Par onséquent,la lé
e
utiliséepar Ali edoitêtreenvoyée àBobgrâ e àundesession ou régulièrement durant une longue session.
Le hirage de l'information est généralement réalisé par des hirement par blo .Un
hirement par blo
E
est une fon tion prenant en paramètre une lée
et un texte lairx
d'une longueur nie.E
génère un texte hiré de longueur nie [Cor06 ℄ à partir d'unmessage en lair et d'une lé (ou hirement en blo ). Deux types de hirement par
blo existent, les hirements par substitution et les hirements par transposition. Un
hirement par substitution est un hirement par blo dans lequel les symboles sont
rempla és pard'autressymboles.Un hirementspar transposition estun hirement par
blo dans lequel est réalisée une permutation sur les symboles de haque blo à hirer.
[MVO96 ℄ explique en détail le fon tionnement des hirement par blo . Un autre moyen
de hirer une information dansun algorithme à lé privée est d'utiliser des hirements
par ot. Les hirements par ot sont des hirements par blo de longueur égale à un.
Si la probabilité d'erreur de transmission sur un anal est élevée, les hirements par
ot permettent de ne pas propager d'erreur de transmission. Lors de l'utilisation d'un
algorithmeà léprivée,il aétévuquele problèmeestde réaliserl'é hange de la léentre
Ali e et Bob. La né essité d'avoir un anal sé urisé est une ontrainte forte. Pour éviter
ela, ilest possible d'utiliser unproto olede Die-Hellman [MVO96 ℄.
LesalgorithmesDES(DataEn ryptionStandard)[Nat99a ℄,3DES(TripleDES)[Nat08℄
et AES (Advan ed En ryption Standard) [Nat01 ℄sontdesexemples desystèmes à
rypto-graphie symétrique.
Cryptographie asymétrique
Les algorithmesde ryptographie asymétriquedièrent entre autres danslagestionde
la lé. Soit un ensemble ni de fon tions de hirement
{E
e
: e
∈ K}
et de dé hirement{D
d
: d
∈ K}
. Late hnique reposesurl'hypothèse suivante.Quel quesoit lemessageémispar Ali e
y
∈ C
, pour toutes les paires de transformation(E
e
, D
d
)
, il est impossible (outrès di ile) de trouver le message lair
x
∈ M
tel queE
e
(x) = y
. Par onséquent, pourtout
e
, ilestimpossibledetrouverd
.Si Ali eet Bobdésirent ommuniquerensemble, Bobséle tionne une paire de lés
(e, d)
et envoiee
à Ali e par un anal non sé urisé. Ali e,aprèsavoirreçu
e
,envoieunmessagex
àBob.Ali e al uley = E
e
(x)
puislefaitparveniràBob.Alaré eption,Bob al ulelatransformationinverse
x = D
d
(y)
.Lasé urité reposesurlefait que,même onnaissant
e
, un attaquant n'est pas apable de al ulerd
.La ryptographie asymétrique (ou lé publique) né essite d'authentier les émetteurs
des messages. An de montrer la né essité d'introduire un proto ole d'authenti ation,
un exemple est donné. Un é hange d'information est réalisé entre Ali e et Bob. Os ar
va rempla er Ali e aux yeux de Bob. Os ar envoie à Ali e une lé notée
e
1
. Ali e envoieun message à Bob. Os ar inter epte le message émis puis le dé hire ave sa propre lé
d
1
.Étant donnéqu'Os ar ainter eptéla léde Bobe
, ilest apablede hirer lemessagevenantd'Ali e.Par onséquent,Os arenvoielemessageàBob.Ces énariomontrel'intérêt
messageàBob,elledoitêtresûrede hirersoninformationparla lédeBob.Lapro édure
d'authenti ation estdétaillée dans[MVO96 ℄.
Lesalgorithmes RSA(issudunomdesinventeurs Rivest,Shamir etAdleman)[RSA78℄
et ECC (Ellipti Curve Cryptosystems) [HMV03℄ sont des exemples de système à
ryp-tographie asymétrique. Un exemple d'implémentation d'un algorithmeà lef asymétrique
danslasé urisation desréseaux GSM,GPRS et UMTSestdonné dans[GMV03℄.
Attaques d'un système ryptographique
Lorsdel'implantationd'algorithmes ryptographiquesenmatérielouenlogi iellorsque
eux- isontexé utéssurunpro esseur,parexemple, eux- iprésententparfoisdesaléasde
fon tionnement[MCL06 ℄.Lessystèmessontpar onséquentvulnérablesauxattaques
d'en-nemis. Les deux grandes familles d'attaquessont les attaques invasives(invasive atta ks)
(IA)et les attaques noninvasives(non-invasive atta ks) (NIA).
LesIAréalisentdu reverse engineering et né essitentdu matérieldelaboratoire
onsé-quent. Les NIA protent des faiblesses de l'implantation matérielle, omme par exemple
les variations du temps d'exé ution, de la puissan e onsommée ou en ore des émissions
éle tromagnétiques[MCL06 ℄.Apartir du/desrelevésde esdiérentesinformationsissues
del'exé utiondel'algorithme,l'extra tiondeparamètresstatistiquespeutrévéler ertaines
in onnues du système. Deux méthodes sont re onnues dans la littérature : la dierential
power analysis (DPA)[KJJ99℄ et ladierential fault analysis (DFA). La DPA exploite la
puissan e onsommée et la DFA tente d'inje ter des fautes dans le systèmepour trouver
ses ara téristiques [BECH
+
06℄. Par exemple, les glit h atta ks tentent d'inuen er
l'ali-mentation, la masse ou l'horloge an de déstabiliser le système. Une autre inje tion de
fautes est réalisée par des attaques à lumières plus ou moins visibles qui entraînent des
perturbations au niveau des semi- ondu teurs. D'après [MCL06 ℄, ertaines solutions
per-mettent de lutter ontre les attaques par DPA en diminuant la puissan e onsommée ou
en modiant l'algorithme du ryptosystème an de dé orréler les états des entrées et la
puissan e onsommée.Par ontre,d'après[SPRQ06℄,lutter ontre esattaquesestdi ile.
Diminuer la puissan e n'ex lut pas totalement le risque d'une attaque par DPA ou bien
sûrpard'autres méthodes:lestiming atta ks, lesDFAouen oreles attaquesparlumière.
De plus, l'implantation des algorithmes ryptographiques, omme l'AES, le DES ou
en ore leRSAau seindes artesàpu es (smart- ards) représente une ible fa ilepour les
DFA.Ces ir uits sont optimisésan de rendreleur intégration élevée touten minimisant
leur onsommation. D'après[MCL06℄, es ir uits présentent par onséquent une faiblesse
à l'inje tion de fautes.Après avoir montré le prin ipe de fon tionnement d'une re her he
de lé dans le DES, [MCL06 ℄ présente une ar hite ture tentant de protéger l'algorithme
ontre les DFA. Un o-pro esseur est rajouté an de déte ter et de orriger les fautes de
transitions. Le o-pro esseur réplique lesparties vulnérables dusystème auxattaques par
fautes.[BECH
+
06℄présentelesméthodesutiliséespour réaliseruneinje tiondefautesan
en ore le proto ole d'é hange de lé dans le DES. Des solutions matérielles et logi ielles
permettant delutter ontrel'inje tion defautes sont présentées.
[SPRQ06℄ présente une autreappro he que laDPA permettant d'attaquer un système
à partir de sa puissan e onsommée. Le prin ipe de fon tionnement est d'ee tuer une
analyse statistique baséesur la réalisation de mesures de orrélation. La te hnique,
nom-mée orrelationpower analysis(CPA)permetunemeilleureutilisationdu ourantdefuite.
[SPRQ06 ℄ présente une analysedelaCPA d'unemanièrethéorique.Lapuissan e
onsom-méeenCMOSétant proportionnelleàlafréquen edestransitions,l'obje tifestdeprédire
lenombre de transitionsqu'engendre une lé. La orrélationentrelaprédi tionet la
puis-san e mesurée est al ulée. Si la orrélationest maximale, la lé est trouvée. Laméthode
possèdel'in onvénientderéaliserbeau oupde al ulsd'auto orrélation.[SPRQ06 ℄présente
quatreméthodes permettant de lutter ontrer les attaques utilisant la puissan e
onsom-mée.Deuxde elles- i né essitentungénérateurdenombresaléatoires. Par ontre, au une
méthodenepermetdeprouverlasé uritéthéoriquedusystème[SPRQ06 ℄.Laseulesolution
permettantd'atteindre unniveaudesé uritéa eptableestderéaliserune ombinaisonde
plusieurs te hniques.
Beau oup de méthodesd'attaque de systèmes ryptographiques existent dans la
litté-rature.L'obje tif i i estde prendre ons ien ede lavulnérabilité dessystèmes
ryptogra-phique fa eauxattaques.
Cettese tionaprésenté deste hniquesutiliséesen ryptographie.L'obje tifn'étaitpas
d'expliquerlesméthodesexistantesmaisplutt deprésenterlaproblématique de ette
dis- ipline.Ilaétévuqu'enpratique,lasé uritéin onditionnelled'unsystèmeestdi ilement
démontrable.Par onséquent,desméthodesd'attaquespermettent de asserles
ryptosys-tèmes.D'après[BMV06℄, haquemodule ryptographique auneduréedevielimitéeallant
de inq à dix ans. Deplus, ette partie a montré l'importan e des lés aléatoires dansles
algorithmes ryptographiques. Dans esappli ations, la faiblesse d'uneséquen e aléatoire
peut provoquer la défaillan e totale de la sé urité du système. Ce i impose d'utiliser des
générateurs denombres aléatoires dequalité.
L'implantation au sein des ir uits embarqués de modules ryptographiques est une
réelledemande.Malheureusement, l'implantationdeproto olesdesignaturenumériqueou
d'algorithmes de ryptographie est inadaptée à es ir uits ( onsommation d'énergie et
faible densitéd'intégration). Par onséquent, travailler surl'implantation desalgorithmes
de ryptographieestné essaireand'adapterlebesoinensé uritéde es ir uitsave leurs
possibilités [BMV06℄.
Un grand nombre d'appli ations ryptographiques reposent sur les propriétés
statis-tiques d'une lé (imprédi tibilité). En as de défaillan e de elle- i, le système peut être
totalementvulnérable.Ce imontrel'importan edelagénérationdes lésaléatoiresausein
2.2-2 Méthodes de Monte-Carlo
Il est parfois di ile d'analyser un pro essus physique ou un modèle mathématique.
Dans ertains as, l'utilisation de nombres aléatoires est né essairepour résoudreun
pro-blèmedi ile [Jam80℄.Laméthode deMonte-Carloestunete hniquedesimulation
numé-rique très utile et utilisée pour appro her l'intégrale d'une fon tion multi-dimensionnelle.
La méthodeest baséesurla théoriedesgrandsnombres. Pour appro her
1
b
− a
Z
b
a
f (u)du,
(1-5)ilestpossibledetirerauhasard
n
nombresaléatoiresx
i
∈ [a, b]
ensuivantuneloiuniforme.Pour
n
tendant vers l'inni, lerésultat de1
n
n
X
i=1
f (x
i
)
(1-6)onverge vers le résultat désiré et résoud l'intégrale (1-5). Les méthodes de Monte-Carlo
peuvent être vues omme un problème d'estimation. L'estimateur de Monte-Carlo de
(1-5) est don (1-6). L'obje tif est d'avoir un estimateur non biaisé minimisant la varian e.
La lenteur de la onvergen e de laméthode est l'in onvénient majeur. Par ontre, elle- i
est insensible à la dimension du problème (de lafon tion à intégrer) et à la régularité de
la fon tion. Pour réduire le temps de onvergen e, il est possible d'utiliser des te hniques
de diminution de la varian e (varian e-redu ing te hniques) [Jam80 ℄. L'in onvénient de
es te hniques est qu'elles né essitent des onnaissan es a priori sur les statistiques du
problème. Par onséquent une autrete hnique estutilisée : larédu tion de lavarian e de
manière adaptative (adaptative varian e-redu ing te hniques) [Jam80 ℄.
Les méthodes de Monte-Carlo né essitent don un générateur de nombres aléatoires
performantetdequalité.Danslepassé,lafaible onnaissan edelathéoriedesgénérateurs
denombres aléatoiresaétéunfreinauxsimulationsdeMonte-Carlo.Laqualité de eux- i
était relativement faible,leurs périodesétaient petites et la sortie desRNG était souvent
orrélée. Par onséquent, une extension de la méthode de Monte-Carlo a été onçue : les
méthodes de quasi Monte-Carlo (QMC). Ces méthodes relâ hent des ontraintes sur la
générationdesvariables aléatoires.L'obje tifdesgénérateurs estderemplirdes onditions
propresauxsimulationsdeQMC.Parexemple,la orrélationprésenteensortiedeRNGest
admise. Deplus, la variation de l'uniformité des variables aléatoires (v.a.) pour ertaines
distributions doit être inférieure à elle d'une v.a. générée par un générateur vraiment
aléatoire.
Dans ertainessimulations, lav.a.générée doitsuivreune autreloiquelaloiuniforme.
Parexemple,ilestsouventné essairequeladistributiondelav.a.suiveuneloi:gaussienne,
exponentielle,binomiale ou en ore dePoisson. [Jam80℄ et [ST91 ℄expliquent omment
2.2-3 Communi ations numériques
Utilisés lors de la simulation d'un anal de transmission (radio, laire, satellite), les
générateursdenombresaléatoirespermettentd'appro herlaréponsefréquentielledu anal
de transmission. Par ailleurs, les RNG sont né essaires lors de l'estimation d'un anal de
transmission. Pour obtenir la réponse impulsionnelle d'un anal, une méthode simple est
d'attaquer elui- i par un é helon. En pratique, une séquen e aléatoire est préférée à un
é helon ar elle- ipossèdeunepuissan emoyennesupérieureetpar onséquentunmeilleur
rapportsignalàbruit (SNR)pour lamême puissan etransmise[Skl01 ℄. [CLLL06℄montre
l'importan e d'utiliser une séquen e pseudo-aléatoire an de traquer la variation de la
réponseimpulsionnelle du anal de transmission.
LesRNGsont requis lorsd'un étalement despe tre (spread-spe trum te hniques)
utili-sant late hnique dire te [Skl01 ℄.La te hnique est requise par exemple dansles
ommuni- ationsmilitaires.Andedissimulerl'information transmise, elle- iest odéegrâ eàune
séquen epseudo-aléatoire (pseudonoise sequen e) [Skl01℄.
Lesgénérateursdenombresaléatoiressontaussiutiliséspourréaliserlasimulationd'un
analde ommuni ation(e.g. anauxMIMO[VY03℄). Généralement, laloi utiliséeestune
loi normale.Une loi normaleest obtenue àpartir d'une loiuniforme. Plusieurs te hniques
permettent de réaliser ette transformation. Celles- i reposent généralement sur
l'utilisa-tiond'une fon tionnon-linéaire. Le prin ipe de basede ette transformationrepose surle
théorème entrallimite.Lasommede
n
variablesaléatoiresuniformessuitune loinormalelorsque
n
estgrand.Lalenteurdelaméthodeestunfreinàsonutilisation.And'améliorerlarapidité, d'autres te hniques ont été étudiées. La méthode de Walla e[Wal96 ℄ possède
l'avantage de ne pas né essiter de fon tions non-linéaires. La méthode exprime la sortie
du générateurà l'étape
i
en fon tion dessorties pré édentes. Par onséquent, la séquen egénérée est orrélée [Lee06 ℄. La orrélation peut être diminuée à un niveau a eptable en
hoisissant les paramètres optimaux à ette méthode [Lee06 ℄. [LLV
+
05 ℄ et [LLVC04℄
pré-sentent une implantation matérielle de la méthode de Walla e. Une autre méthode est
l'a eptation-refus (reje tion-a eptan e method).L'in onvénient delaméthodeestqu'elle
utilise des bou les onditionnelles. Par onséquent, le débit en sortie n'est pas régulier.
La méthode de Box-Muller, ave ou sans utilisation du théorème entral limite, est une
alternative auxdeuxsolutionspré édentes.La méthode onsisteàréaliserdes
transforma-tions non-linéaires sur la séquen e uniforme de départ. Les fon tions né essaires sont le
logarithme, la ra ine arrée, le osinus et le sinus. [BDG03 ℄ et [LLVC04℄ ont implanté la
méthode de Box-Muller au seind'un FPGA.An de orriger les erreursde al uls lorsde
l'implantation en virgule xe, [BDG03℄ et [LLVC04℄ utilisent le théorème entral limite.
[ABS05℄ propose aussi une implantation matérielle de la méthode. Une extension de la
te hnique de Box-Muller existe,il s'agit de laméthode de Box-Muller modiée(aussi
ap-pelée polar method)[ST91 ℄. L'in onvénient de laméthode deBox-Muller modiéeest que
elle- ireposesuruneméthoded'a eptation-refus.Par onséquent,ledébitensortien'est
d'utiliser lafon tion derépartitioninversede laloinormale. Une table de orrespondan e
permetderéaliserdire tementlatransformation.Lasolutionestdi ilement réalisableen
raison du oût mémoire [LLV
+
05℄. Il est parfois né essaire de générer des variables
aléa-toires orrélées.[MC94 ℄présente uneméthodegénérantdeuxvariablesaléatoiresuniformes
dontla orrélationest ontrlée.Andetesterlaqualitédeladistributiondesloisnormales
obtenues, laséquen ebinaireestanalysée pardestestsd'adéquation (goodness-of-t test).
D'après [LLV
+
05℄ et [LLVC04℄, les tests du Chi-deux (ou Chi- arré
χ
2
) et
d'Anderson-Darling sont performants pour testerladistribution obtenue.
3 Générateurs de nombres vraiment aléatoires
Commeprésenté dans lagure1-2, unTRNG peut être dé omposéen troisparties, le
bruit physique, un é hantillonneur et un module de post-traitement [KS01 ℄. Les signaux
en sortie de l'é hantillonneur et du post-traitement sont souvent appelés bruit analogique
é hantillonné(noté DASpourDigitizedAnalog Signal) etnombres aléatoiresinternes.Les
réalisations des v.a. DAS et des nombres aléatoires internes sont notées respe tivement
r
1
, r
2
, . . .
ety
1
, y
2
, . . .
.Une unitéde post-traitement est souvent requise dansla onstru tion desTRNG. Son
rle est de orriger les imperfe tions présentes sur le signal DAS. Un grand nombre de
te hniquesexistentdanslalitérature,telquelesextra teursdeVonNeumann,lesfon tions
de ha hage ou lesextra teurs d'aléa.
Physical noise
source
Digitization
Noise
signal
Te
DAS
Post-processing
Internal
Random
numbers
Figure 1-2 Dé omposition d'un générateur vraiment aléatoire. Un TRNG peut être
dé- omposé en trois parties, le bruit physique, un é hantillonneur et un module de
post-traitement
La plupart desTRNG basés surdes te hniques éle troniqueset implantés sur ible VLSI
utiliselagiguedephase(oujitter)d'unouplusieursos illateurs.Lagiguedésignela
dévia-tion d'un signalpar rapportàson omportement idéal.La gigueest auséepar desbruits
déterministes (bruit d'alimentation, bruit de ouplages) et aléatoires (bruit de substrat,
variationdelatempérature). Par ailleurs,lagiguedépendfortement del'os illateur utilisé
au sein du TRNG (souvent une bou le à verrouillage de phase (PLL) ou un os illateur
à anneau) [Fah05 ℄. En pratique, la gigue peut être inuen ée par des bruits externes au
ir uit et par sona tivité. Cettefaiblesse rend ertaines attaques réalisables, par exemple
Par rapport aux nombreux PRNG existants, un nombre limité de TRNG implantés
sur ible matérielle FPGA et ASIC existent dans la littérature. Au sein des ir uits, la
te hniquelaplusutiliséeestbaséesurl'é hantillonnaged'os illateurs(Os illatorSampling)
(OS).Cependant,unTRNGbasésuruneampli ationdire ted'un bruitphysique ousur
l'utilisation d'un signalmétastableest parfoisren ontré.
3.1 TRNG basés sur l'amplifi ation d'un bruit physique
3.1-1 TRNG proposé par Bagini et al.
Bagini et al. [BB99℄ présentent un TRNG utilisant une sour e de bruit analogique
externeetuné hantillonneur numérique.Les hémadeprin ipedugénérateurestprésenté
danslagure1-3.[BB99℄fournitunmodèleanalytiquedugénérateurexprimantlarelation
entreledébitde elui- i et la orrélationdelasortie aléatoire.IlestmontréqueleTRNG
est résistant aux variations des onditions externes et des omposants. De plus, d'après
[BB99℄,iln'estpasné essairede ontrlerlegénérateurvial'utilisationdetestsstatistiques.
Cependant, au unrésultat d'implantation du TRNGn'est fourni.
Filtre
passe bas
Comparateur
à hystérésis
Clk
Source
de bruit
D Q
/N
/2
Bits
aléatoires
Figure 1-3 S héma de prin ipe du TRNG [BB99℄. Les prin ipaux blo s omposant le
TRNGsont une sour e de bruit physique externe, unétage de ltrage et un omparateur
àhystérésis.
3.1-2 TRNG proposé par Jun et al.
Un autre exempled'ampli ation dire ted'une sour e debruit physique aété proposé
parInteldans[JK99 ℄.Les hémadeprin ipedugénérateurestprésentédanslagure1-4.
Lebruitthermiquedugénérateurestobtenuensoustrayantlessignauxrelevésensortiede
deuxrésistan es. Ce iaméliore larobustessedu système ontre lesvariations de
l'alimen-tation et de l'environement extérieur. La diéren e des deuxsignaux impliquant un bruit
thermique est ensuite ampliée. Le signal obtenu est appliqué en entrée d'un os illateur
ontrlé en tension (VCO). La sortie du VCO est é hantillonnée par l'horloge
Clk
. Undé orrélateur de typeVon-Neumann est appliquésur lesignal DAS.Avant d'être utilisée,
lasortieduTRNGesttransforméeparunefon tiondeha hage,leSHA-1.D'après[JK99 ℄,
Ampli.
Source de
Bruit thermique
VCO
Clk
D Q
Bits
aléatoires
Extracteur de
Von-Neumann
Figure 1-4 S héma de prin ipe du TRNG [JK99 ℄. Le bruit thermique du générateur
est obtenu en soustrayant les signaux relevés en sortie de deux résistan es. La diéren e
des deux signaux impliquant un bruit thermique est ensuite ampliée. Le signal obtenu
est appliqué en entrée d'un os illateur ontlé en tension (VCO) puis é hantillonnée par
l'horloge
Clk
.Ces ir uits utilisant des sour esde bruits analogiques sont di ilement implantables
auseindes ir uitsre ongurables.Deplus,lefaibledébitde esTRNGlimite l'utilisation
d'une te hnique de type ampli ation dire te.
3.2 TRNG basés sur l'é hantillonnage d'os illateurs
Uné hantillonnaged'os illateurs(OS)estbasésurl'utilisationdubruitdegiguegénéré
par unos illateur.Commeleprésente lagure1-5,leprin ipe estderéaliser
l'é hantillon-nage d'une horloge haute fréquen e (
F
h
) par une horloge basse fréquen e (F
l
). La giguedépend de la te hnique d'os illateur utilisée. Plusieurs solutions sont possibles. L'horloge
tou hée par lagigue peut être produite àpartir d'une horloge externeou d'un os illateur
interne au ir uit (FPGA ou ASIC). Cette partie présente les OS implantés au sein des
ir uits VLSI et FPGA.
D
Q
l
F
h
F
F
r
h
F
l
F
r
F
Figure 1-5 Fon tionnement d'un OS selon [TLL03℄. Le prin ipe est de réaliser
l'é han-tillonnage d'une horloge hautefréquen e(
F
h
) par unehorloge basse fréquen e(F
l
).3.2-1 TRNG proposé par Tsoi et al.
Tsoi et al. [TLL03℄ présentent l'implantation d'un OS au sein d'un FPGA. Le signal
la gigue présente sur
F
l
. L'é hantillonnage est réalisé au sein du FPGA. Le s héma deprin ipedugénérateurestdonnédanslagure1-5.Comme lemontrelagure1-6,ande
diminuer lebiaisprésent surlasortie générée,une porte XORestutilisée (xorextra tor).
Le ir uit de dé orrélation engendre une forte diminution du débit du TRNG. D'après
[TLL03℄, ertainsparamètres peuvent dégrader grandement laqualité delaséquen eissue
duTRNG.Un hoixjudi ieux delafréquen edusignal(
F
l
)doitêtreréalisé.Deplus,unetropfortediminutionde lagigueprésentesur
F
l
engendreune forte orrélation. Ce ipeutentraînerlaprédi tibilitédugénérateur.Enn,lerapportentrelespériodesdessignaux
F
l
(
T
F
l
)etF
h
(T
F
l
)doitêtre hoisi orre tement (T
F
l
≥ 0.75T
F
h
).LeTRNGfon tionne àunefréquen e maximale de 266 MHz (les fréquen es respe tives de
F
l
etF
h
sont égalesà 266MHzetà400 MHz).LeTRNGpossède undébit de29kb/s.L'in onvénient dugénérateur
estlané essitéd'utiliserun ir uitexterneauFPGA,diminuantpar onséquentlasé urité
dusystème.
D
Q
D
Q
D
Q
D
Q
XOR
h
F
l
F
r
F
Figure1-6 Implantation de l'OSselon [TLL03℄.Dé orrélateur utilisé par legénérateur.
Au sein des ir uits ryptographiques, l'utilisation d'une horloge externe est à éviter.
L'obje tif est de minimiser les possibilités d'attaques sur le TRNG. Une des solutions
proposée an de orriger ette faiblesse est d'utiliser un os illateur interne au ir uit
re- ongurable.
3.2-2 TRNG proposé par Fis her et al.
Fis her et al. [FDvB04℄ présentent un OS utilisant la gigue réée par une bou le à
verrouillage de phase (PLL). Ce générateur, introduit dans [FD03 ℄ est un des premiers
TRNGà avoir étéimplanté dansune ible FPGA. Plusieurs implantationsde e typeont
ensuiteétérapportéesdanslalittérature (FPGA Altera,FPGAA tel).
Leprin ipedefon tionnement dugénérateurestdetraquerlagiguerelativeentredeux
signauxd'horloges. Aladiéren e de [TLL03℄, [FDvB04℄ n'utilisepasné essairement une
horloge bassefréquen e. Dans[FDvB04℄,lesdeuxsignauxd'horloges sont générésà partir
une variationdelafréquen edu signalgénéré. Un ir uit de ontrle asservitlafréquen e
du signal généré à lafréquen e désirée. Cette variation représente lagigue. Le s héma de
prin ipe du générateurestdonné danslagure 1-7.
Décimateur
( )
PLL
D
Q
q
(
nT
CLK
)
x
(
nT
CLK
)
CLJ
CLI
D
K
PLL
CLK
Figure 1-7 Implantation de l'OS à partir de deux PLL, selon [FDvB04℄. Le prin ipe de
fon tionnementdugénérateurestdetraquerlagiguerelativeentredeuxsignauxd'horloges.
Lesdeuxsignauxd'horloges sontgénérésàpartir deblo sPLL.Lavariationdebruitdans
unePLLengendreunevariationdelafréquen edusignalgénéré.Cettevariationreprésente
lagigue.
Lagiguesesitueautourdesfrontsmontantset des endantsdusignal
CLJ
.Lesfréquen esdessignaux
CLK
etCLJ
sont obtenues àpartir desrelationsF
CLK
=
M
CLK
D
CLK
F
CLI
(1-7)F
CLJ
=
M
CLJ
D
CLJ
F
CLI
=
M
CLJ
D
CLK
D
CLJ
M
CLK
F
CLK
=
K
M
K
D
F
CLK
.
(1-8)où
M
CLK
,D
CLK
,M
CLJ
etD
CLJ
désignent lesparamètres desPLL.Pendant une période du générateur
T
,K
D
fronts montants deCLK
et2K
M
frontsmontantset des endantsde
CLJ
surviennent.Ainsi,K
D
valeursdeCLJ
sonté hantillon-néeset aumoinsune de elles- idoitêtreae téeparlagigue. Si
T
CLK
désigne lapériodedel'horloge
CLK
etT
CLJ
elledel'horlogeCLJ
, lapériodedugénérateurestdonnée parT = K
D
T
CLK
= K
M
T
CLJ
.
(1-9)Deux onditionsdoiventêtrerempliespourassurerle ara tèrealéatoiredelaséquen e
générée. Les paramètres
K
M
etK
D
doivent être premiers entre eux pour assurer unerépartitionuniformedesbitsen sortiedugénérateur.Par onséquent,
pgcd(K
M
, K
D
) = 1
,où
pgcd
désigne le plus grand diviseur ommun. De plus, pendantT
, au moins un frontmontant de
CLK
doité hantillonner lesignalCLJ
pendant undeses fronts montantsoudes endants(moment présentant l'eet de gigue).D'après [FDvB04℄,danslepire des as,
ladurée minimaleentrele front montant de
CLK
et undesfrontsdeCLJ
estégale àmax(
△T
min
) =
T
CLK
4K
M
pgcd(2K
M
, K
D
) =
T
CLJ
4K
D
pgcd(2K
M
, K
D
).
(1-10)En hoisissant les paramètres
K
M
,K
D
etF
CLJ
à partir de (1-10), il est possible deborner lavaleurde
max(
△T
min
)
par l'é arttype de lagiguede l'os illateurσ
jit
σ
jit
> max(
△T
min
).
(1-11)Le rle de
max(
△T
min
)
est présenté à lagure1-8.jitter
0
min
=
∆
T
Critical samples
5
=
D
K
min
T
∆
4
=
M
K
CLK
CLJ
)
(
nT
CLK
q
Q
T
Figure1-8 Observation d'un é hantillonnage ritique dans[FDvB04℄.
Le bit de sortie du générateur
x(nT )
est déduit desK
D
valeursé hantillonnées deCLJ
.Anderéduirela orrélationprésenteensortieduTRNG,[FDvB04℄utiliseundé imateur
basésurl'utilisation d'une porte XOR
x(nT ) = q(nT )
⊕ q(nT − T
CLK
)
⊕ ... ⊕ q(nT − (K
D
− 1)T
CLK
),
(1-12)où
⊕
désigne l'opérateur XOR etq(nT )
désigne l'é hantillonnage du signalCLJ
par lesignal
CLK
.[FDvB04 ℄ étudie la variation des performan es de l'OS lorsque les deux horloges sont
générées à partir de diérentes PLL (Enhan ed PLL (EPLL) et Fast PLL (FPLL)). La
meilleure onguration estobtenue lorsque deuxEPLL sont utilisées.
De plus, [FDvB04℄ montre que si (1-11) n'est pas satisfaite, la qualité du TRNGpeut
être améliorée en ajoutant une ligne de retard. Ce i est présenté dans la gure 1-9. Le
orre teur basé sur l'opérateur XOR permet d'augmenter laprobabilité de re ouvrement
entrelefront montant de
CLK
et les frontsdeCLJ
.L'utilisation d'une ligne de propagation permet de rendre équivalente toutes les
ongu-rations. Par ailleurs,[FDvB04℄ montrequ'une pluslongue lignede propagationpermet de
Décimateur
( )
PLL
D
Q
)
(
CLK
XOR
nT
q
x
(
nT
Q
)
CLJ
CLK
D
K
D
Q
1
∆
2
∆
D
Q
n
∆
XOR
Figure1-9 Miseenpla e delaligne deretard dans[FDvB04 ℄. E hantillonnage dusignal
CLJ
retardé par plusieurs délais puis ombinaison dessorties par uneporteXOR.Àpartirde(1-11),[FDvB04℄montreladépendan eentreledébitduTRNGetlagigue
présente
F
CLI
max(
△T
min
) =
1
4M
CLK
M
CLJ
,
(1-13)où
F
CLI
désigne lafréquen edusignald'entrée.Pour lafréquen edeF
CLI
xée,minimisermax(
△T
min
)
revient à maximiserM
CLK
etM
CLJ
. Le débit del'OS estdéniparR =
F
CLI
D
CLK
D
CLJ
.
(1-14)Par onséquent, augmenter ledébit revient à minimiser
D
CLK
etD
CLJ
. [FDvB04℄ aim-planté legénérateurauseind'une artededéveloppement AlteraNIOSAPEX20K200.Les
paramètres du système sont
K
M
= 785
,K
D
= 1272
etmax(
△T
min
) =
T
CLK
4K
M
= 7.2
ps< σ
jit
. [FDvB04℄ a aussiimplanté legénérateur sur une arte AlteraStratix EP1S25. Undébit maximalde 1 Mb/sestobtenu.
[SFDF06 ℄proposeunmodèleprobabilistepermettantdeprédirelebiaisproduitensortie
du TRNG[FDvB04℄.Le modèleest basésurla onnaissan e dunombre debits aléatoires
dans les
K
D
bits ré oltés avant l'étage de post-traitement. Il repose sur l'indépendan eentreles
K
D
bits.Malheureusement, en fon tionde la onguration deshorlogesCLK
etCLJ
, lemodèle n'est pastoujoursvalide.Une alternative à l'utilisation de bou les à verrouillage de phase est d'utiliser un ou
plusieurs os illateursà anneaux.
L'avantage desOS utilisant une te hnologie à based'os illateurs à anneau (RO) estla
portabilitéde l'implantation dansles ir uits VLSIou FPGA.Unos illateur àanneau est
rebou le sur l'entrée du premier. Un signal d'horloge dont la période est proportionnelle
aunombre d'inverseurs ainsiqu'àleur temps detraversée estainsiobtenu. L'in onvénient
desROestleursensibilitéauxbruitsextérieurs(température,perturbations
éle tromagné-tiques,bruitsd'alimentation), à l'a tivitéavoisinante et autaux d'o upation du ir uit.
3.2-3 TRNG proposé par Bu i et al.
A partir de la on eption d'un os illateur full- ustom in luant une sour e de bruit, le
TRNG présenté par Bu i et al. [BGL
+
03 ℄ possède un débit de 10 Mb/s et satisfait les
testsstatistiques duFIPS 140-2.La gure 1-10présente lefon tionnement du TRNG.La
fréquen edel'os illateurrapide(
CLK
F AST
)estégaleà1GHz.L'horlogeCLK
J IT
possèdeunefréquen emoyenne de10 MHz.Lagigueprésente surlesignal
CLK
J IT
estégaleàundixièmedesapérioded'horloge.Lavarian edelagiguede
CLK
J IT
estsupposéeêtresupé-rieureà elledusignalhautefréquen e.L'hypothèsepermetdesupposerlanon orrélation
desé hantillonsgénéréspar leTRNG.Danslagure1-10,lefa teur
N
P RE
estutiliserande tester plusieurs débits. Par ailleurs, d'après [BGL
+
03℄, le fa teur pourraitêtre adapté
àpartir de l'évaluationde laqualité du générateurpar l'étagede post-traitement.
D Q
BIT
[i
]
Post traitement
RNG
CLK
Diviseur
( )
N
PRE
JIT
CLK
Oscillateur
basse fréquence
touché par la gigue
Oscillateur
haute fréquence
]
31
...
0
[
'
BIT
FAST
CLK
Figure 1-10 Prin ipe de fon tionnement de l'OS selon [BGL
+
03℄. L'os illateur rapide
(
CLK
F AST
)estimplantépar unRO omportant10inverseurs,safréquen eestde1GHz.L'horloge
CLK
J IT
possède unefréquen emoyennede10MHz.Lepost-traitementpermetde ontrler lefa teur
N
P RE
an d'adapter lafréquen e dusignalCLK
RN G
.An d'analyser le omportement statistique de la sour e de bruit, [BGL
+
03℄ pose quatre
hypothèses.Commeprésentédanslagure1-11,lapériodedusignal
CLK
RN G
(T
CLK
RN G
)estsupposéesuivreuneloinormale.Deplus,lagigueprésentesurl'horlogehautefréquen e
estnégligée. La relation
N =
E[T
CLK
RN G
]
T
CLK
F AST
∈ N,
(1-15)estsupposéevériée.Dans(1-15),