Aller au contenu

PRF : Pseudo-Random Function

Cryptographie

PRF : Pseudo-Random Function. « Fonction pseudo-aléatoire », par analogie avec un oracle qui répond toujours la même chose à la même question, mais dont les réponses semblent tirées aux dés pour qui ignore son secret.

La définition : Une famille de fonctions indexée par une clé est une PRF si, sans la clé, aucun adversaire efficace ne distingue ses sorties de celles d'une fonction réellement aléatoire. Le hasard parfait étant introuvable, on se contente d'un imposteur que personne ne démasque.

Exemples : HMAC est l'exemple courant. Un chiffrement par bloc comme AES est plutôt une permutation pseudo-aléatoire, utilisable comme PRF tant qu'on reste loin de la borne des anniversaires.

À quoi ça sert : Dérivation de clés (HKDF en est construit), authentification de messages, génération de jetons. Toute PRF fait un bon MAC ; la réciproque est fausse.

Une famille nombreuse : La variante aveugle, l'OPRF, laisse le client obtenir une sortie sans révéler son entrée au détenteur de la clé.

Ce qui arrive si on s'en passe

Construire un MAC, une dérivation de clés ou des jetons avec une fonction qui n'est pas une PRF, par exemple un simple hachage de la clé suivie du message, expose à des sorties prévisibles ou falsifiables : un attaquant qui ignore la clé parvient à distinguer, deviner ou fabriquer des valeurs acceptées. Employer AES comme PRF en s'approchant de la borne des anniversaires dégrade de même la garantie. Le hasard parfait étant introuvable, l'imposteur qui le remplace doit rester indémasquable ; un imposteur qu'on démasque, en cryptographie comme ailleurs, porte un autre nom, et les tribunaux le connaissent bien.

Explication de la marmotte

Imaginons une machine magique qui transforme chaque mot en un nombre. Elle est parfaitement régulière : le même mot donne toujours le même nombre. Mais pour quelqu'un qui ne connaît pas le réglage secret de la machine, les nombres ont l'air complètement tirés au hasard, sans aucun lien entre eux. Impossible de deviner le nombre du mot suivant, même après en avoir vu des milliers. Les ordinateurs s'en servent pour fabriquer de nouvelles clés secrètes à partir d'une seule, ou pour vérifier qu'un message n'a pas été modifié en route.

Où ce terme est utilisé

← Tout le glossaire