Un programme Oracle est un programme informatique qui produit des sorties qui semblent aléatoires à tout observateur, même à ceux disposant du code source du programme. De tels programmes sont principalement utilisés comme source de nombres pseudo-aléatoires dans des applications où la séquence exacte des nombres doit être imprévisible.
Les programmes Oracle accomplissent leur tâche en utilisant une variable d'état interne qui est mise à jour en fonction de l'entrée fournie par l'utilisateur. La séquence de nombres pseudo-aléatoires est générée en effectuant des calculs déterministes sur cette variable d'état. Parce que le fonctionnement interne du programme Oracle n'est pas facile à comprendre, la sortie semble aléatoire.
Un programme Oracle est un exemple de système chaotique, un domaine d’intérêt en mathématiques et en physique. De tels systèmes sont très sensibles aux conditions initiales, ce qui signifie que même un changement mineur dans les entrées peut conduire à une séquence de sorties complètement différente.
L'utilisation de programmes Oracle dans des applications cryptographiques est courante, où ils servent de sources de données prétendument imprévisibles. Ils peuvent également être utilisés dans des domaines tels que les simulations de Monte Carlo et le développement de jeux, où le caractère aléatoire est essentiel.
|