Provar uma versão teórica dessa complexidade do Teorema de Rice foi uma motivação para eu estudar a ofuscação do programa.
O teorema de Rice diz, em essência, que é difícil entender as funções que os programas computam, dado o programa. No entanto, a razão pela qual esses problemas são indecidíveis é que são infinitos. Mesmo em uma entrada, um programa pode nunca parar, e precisamos considerar o que o programa faz em infinitas entradas.
Uma versão financeira do teorema de Rice fixaria o tamanho da entrada e o tempo de execução de um programa, e diria que o programa é difícil de entender. Depois de corrigi-los, você poderá visualizar o programa como um circuito booleano. Quais propriedades da função calculada por um circuito booleano são difíceis de calcular? Um exemplo é `` nem sempre 0 '', que são os problemas de satisfação do NP-completo. Mas, diferentemente do Teorema de Rice, existem algumas propriedades que não são triviais, mas fáceis, mesmo sem entender o circuito. Sempre podemos saber que: a função calculada por um circuito tem uma complexidade de circuitos limitados (o tamanho do circuito). Além disso, sempre podemos avaliar o circuito nas entradas de nossa escolha.
Digamos que uma propriedade de seja fácil com o acesso à caixa preta, se puder ser computada, d em tempo polinomial probabilístico por um algoritmo que obtém como entrada n , um limite para | C | e acesso oráculo para f C . Por exemplo, a satisfação não é fácil com o acesso à caixa preta, porque poderíamos imaginar um circuito de tamanho n que só produz resposta 1 em uma entrada x escolhida aleatoriamente . Nenhum algoritmo de caixa preta poderia distinguir um circuito daquele que sempre retornava 0, pois a probabilidade de consultar o oráculo em x é exponencialmente pequena. Por outro lado, a propriedade f ( 0..0 )fCn|C|fCnxx é fácil na caixa preta. A questão é: existem propriedades de f C que são determináveis no tempo polinomial probabilístico que não são fáceis com o acesso à caixa preta?f(0..0)=1fC
Embora esta questão esteja aberta até onde eu saiba, nossa abordagem pretendida foi descartada. Esperávamos provar isso, mostrando que a ofuscação do programa criptograficamente segura era possível. No entanto, Boaz provou o contrário: que era impossível. Isso mostra implicitamente que o acesso da caixa preta aos circuitos é mais limitado do que o acesso completo à descrição do circuito, mas a prova não é construtiva; portanto, não posso nomear nenhuma propriedade como acima que seja fácil, dada a descrição do circuito, mas não com preto. acesso à caixa. É interessante (pelo menos para mim) se essa propriedade pode ser projetada de maneira reversa a partir de nosso artigo.
Aqui está a referência: Boaz Barak, Oded Goldreich, Russell Impagliazzo, Steven Rudich, Amit Sahai, Salil P. Vadhan, Ke Yang: Sobre a (im) possibilidade de programas ofuscantes. CRYPTO 2001: 1-18