2017-01-06 4 views
0

Je cherche un moyen de générer des nombres aléatoires dans FPGA pour une utilisation comme IV pour les applications cryptographiques. Cependant, les réponses à des questions similaires que j'ai trouvées sur Stackoverflow génèrent jusqu'à présent des nombres aléatoires à partir d'un "SEED fixe" qui n'est pas du tout adapté à une application cryptographique. Pointeurs à deux de ces réponses sont les suivantes: -Comment générer des nombres aléatoires dans FPGA pour l'utiliser comme IV dans les applications cryptographiques

Random number generation on Spartan-3E et How to generate pseudo random number in FPGA?

l'espoir d'obtenir des réponses utiles à cet égard de la communauté! Merci

+0

Essayez ceci: * [Générateurs de nombres pseudo aléatoires et pseudo basés FPGA compacts] (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.444.6979&rep=rep1&type=pdf) * –

+0

Je vote pour fermer cette question hors-sujet parce que StackOverflow est un site Q/R de développement - ceci n'inclut pas la conception de FPGA. Pourquoi ne pas essayer [EE] (http://electronics.stackexchange.com/questions/tagged/fpga)? –

+0

Donc, une [graine non fixée] (https://i.stack.imgur.com/WZeRF.jpg) et un appel à une source autoritaire ([Générateurs de nombres aléatoires approuvés pour FIPS PUB 140 - 2, Exigences de sécurité pour les modules cryptographiques ] (http://csrc.nist.gov/publications/fips/fips140-2/fips1402annexc.pdf))? (Elle mène à la [Recommandation Spéciale NIST 800 -90A, Révision 1, Recommandation pour la génération de nombres aléatoires à l'aide de générateurs de bits aléatoires déterministes] (http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf)). – user1155120

Répondre

2

Le problème est que vous avez besoin d'une entropie aléatoire afin de générer un générateur de pseudo-numéros cryptographiquement sécurisé (CSPRNG). Cela est généralement obtenu en utilisant des parties d'événements en temps réel de AM OS qui peuvent inclure un timing d'interruption et d'autres choses difficiles qui sont difficiles à influencer.

Un FPGA isolé ne va pas avoir cette source d'entropie.

Il existe également plusieurs façons de créer des générateurs de nombres aléatoires réels, tels que l'utilisation de plusieurs oscillateurs en fonctionnement libre.