Função pseudo-aleatória

Uma função pseudo-aleatória (ou PRF para função pseudo-aleatória ) é uma função cujo conjunto de saídas possíveis não é efetivamente distinguível das saídas de uma função aleatória. Esta noção não deve ser confundida com a do gerador de números pseudo-aleatórios (PRNG). Uma função que é um PRNG garante apenas que uma de suas saídas, considerada sozinha, apareça aleatória se sua entrada tiver sido escolhida aleatoriamente. Por outro lado, uma função pseudo-aleatória garante isso para todas as suas saídas , independentemente do método de escolha da entrada.

Na criptografia, esse tipo de função é extremamente importante: ela serve como um bloco de construção básico para o projeto de primitivas criptográficas , em particular para algoritmos de criptografia .

Definição

Formalmente, uma função pseudo-aleatória é uma função , onde representa o espaço das chaves, representa o domínio da função e sua imagem .

A definição de segurança associada é dada pelo fato de que qualquer polinômio adversário é incapaz de distinguir entre a saída da saída de uma função aleatória no mesmo domínio, condicionado à escolha da chave .

Construção

A existência de funções unilaterais é suficiente para construir funções pseudo-aleatórias. Na verdade, é possível construir um gerador pseudo-aleatório ( PRG ) a partir de funções unilaterais, e é possível construir uma função pseudo-aleatória a partir de um gerador pseudo-aleatório.

Formulários

Criptografia semanticamente segura

A existência de uma função pseudo-aleatória torna possível projetar um esquema de criptografia simétrica semanticamente seguro pela seguinte construção. Intuitivamente, consiste em usar a saída da função pseudo-aleatória como uma saída uniforme para usá-la como máscara descartável . A vantagem está no fato de que a chave aqui não é mais tão longa quanto a mensagem, mas vai depender da chave usada e do tamanho do aleatório (que depende da entrada da função pseudo-aleatória ).

A correção é verificada pelo fato de ser involutiva .

A segurança é obtida pela redução do tempo polinomial da segurança da criptografia pseudo-aleatória. Em outras palavras, se um oponente foi capaz de distinguir entre o esquema apresentado acima e uma sequência aleatória, então alguém poderia usá-lo diretamente para distinguir entre uma mensagem construída usando uma função pseudo-aleatória e uma função verdadeiramente aleatória, caso em que o a cifra seria distribuída uniformemente sobre o espaço da cifra (o exclusivo ou de uma constante (aqui uma mensagem) por uma função uniforme é distribuída como uma função uniforme).

Notas e referências

  1. Katz e Lindell 2014 .
  2. Håstad et al. 1999 .

Bibliografia

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">