0Pricing
Cryptology Academy · Aula

Além da Chave Pública: Criptografia Funcional

Compreenda a proposta da criptografia funcional: a descriptografia revela apenas o resultado de uma função, não o texto simples.

Além da Chave Pública: Criptografia Funcional é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Limitações da criptografia tradicional

A criptografia tradicional de chave pública segue um modelo simples: criptografar com uma chave pública e descriptografar com a chave privada correspondente. Quem descriptografa aprende toda a mensagem em texto claro. Esse modelo de tudo ou nada é muito limitado para muitas aplicações: um banco de dados médico pode querer permitir que um médico descubra apenas se um paciente tem uma condição específica, e não todo o registro médico. A criptografia funcional aborda essa limitação.

Criptografia baseada em identidade

A criptografia baseada em identidade (IBE), proposta por Shamir em 1984 e construída por Boneh e Franklin em 2001, permite usar uma cadeia de caracteres de identidade (endereço de e-mail, nome de domínio, ID do funcionário) como chave pública. Uma autoridade de chaves confiável gera chaves privadas para identidades específicas. A IBE elimina a necessidade de certificados de chave pública e possibilita uma distribuição simples de chaves. A IBE é a forma mais simples de criptografia funcional.

Definição de criptografia funcional

A criptografia funcional (FE), definida formalmente por Boneh, Sahai e Waters em 2011, generaliza a IBE. Em um esquema de FE, uma autoridade de chaves pode gerar uma chave de função sk_f para qualquer função f. Dada uma criptografia Enc(x) e uma chave de função sk_f, quem descriptografa pode calcular f(x), mas não aprende mais nada sobre x além do que f(x) revela. A função f pode ser qualquer função computável dentro da classe de funções compatível com o esquema.

FE para produto interno

A criptografia funcional para produto interno permite que quem descriptografa, tendo sk_y, calcule o produto interno a partir da criptografia do vetor x. Isso possibilita a inferência privada em aprendizado de máquina: criptografe o vetor de características x de um usuário, forneça ao proprietário do modelo sk_y para o vetor de pesos y e ele aprenderá apenas o produto escalar (a pontuação bruta da previsão), sem aprender as características do usuário. Existem vários esquemas práticos de FE para produto interno (ABDALLA et al. 2016).

FE para teste de igualdade

A FE para teste de igualdade permite que uma parte verifique se um valor criptografado corresponde a um valor específico v, aprendendo apenas se a igualdade é válida. Isso possibilita consultas a bancos de dados com preservação da privacidade: um servidor mantém registros criptografados e um usuário consulta registros que correspondam a valores específicos, sem que o servidor descubra o que o usuário está procurando nem aprenda os resultados além de uma correspondência sim/não. As construções práticas usam pareamentos bilineares.

FE para circuitos gerais

A forma mais poderosa de FE oferece suporte a circuitos booleanos ou aritméticos arbitrários como funções. Quem descriptografa, com sk_f para qualquer função f de tempo polinomial, pode calcular f(x) a partir de Enc(x). A FE para circuitos gerais foi construída teoricamente por Garg, Gentry, Halevi, Raykova, Sahai e Waters (2013) usando mapas multilineares, mas as construções existentes de FE geral são impraticáveis devido à sua dependência de hipóteses de mapas multilineares imperfeitos.

Ofuscação de indistinguibilidade

A ofuscação de indistinguibilidade (iO) é o mais poderoso primitivo criptográfico conhecido e está estreitamente relacionada à criptografia funcional. Um esquema de iO recebe um circuito C e produz uma versão ofuscada O(C) que calcula a mesma função, mas não revela nada sobre C além de seu comportamento de entrada e saída. iO implica a maioria dos primitivos criptográficos conhecidos, incluindo FE geral. Existem construções candidatas baseadas em problemas de reticulados, mas elas ainda estão muito longe de serem práticas.

Criptografia baseada em atributos como caso especial

A criptografia baseada em atributos (ABE) é uma forma viável na prática de criptografia funcional em que a função f se restringe à avaliação de uma política: f(x) = 1 se o conjunto de atributos x satisfaz uma política e 0 caso contrário. ABE permite um controle de acesso granular, no qual os direitos de decifragem dependem dos atributos do usuário. ABE é a forma de criptografia funcional mais utilizada na prática, com implementações em armazenamento em nuvem, saúde e Internet das Coisas.

Roteiro de construção

A história das construções de FE evolui do simples ao poderoso: IBE (Boneh-Franklin 2001) → FE para igualdade (várias, de 2005 a 2010) → FE para produto interno (ABDALLA 2016) → FE para circuitos de profundidade limitada (baseada em mapas multilineares, 2013) → FE geral (conjecturada a partir de iO). Cada etapa é mais poderosa, mas também mais complexa e menos eficiente. A implantação prática utiliza a forma mais simples que alcance a funcionalidade desejada.

Modelo de segurança da criptografia funcional

A segurança de FE é definida pela indistinguibilidade das criptografias de duas mensagens x0 e x1, mesmo quando são fornecidas chaves de função para funções arbitrárias f, desde que f(x0) = f(x1) para todas as funções consultadas. Isso garante que quem decifra aprenda exatamente f(x) e nada além disso. Existem dois níveis de segurança: segurança seletiva (o adversário se compromete com as mensagens de desafio antes de ver a chave pública) e segurança adaptativa (baseada em simulação completa).

Desafios da implantação prática

A FE geral continua impraticável, mas a FE de produto interno e a ABE podem ser implantadas atualmente. Os desafios incluem: a necessidade de uma autoridade confiável de chaves (um ponto único de falha), a complexidade da revogação de chaves, a sobrecarga de desempenho decorrente das operações de emparelhamento e a padronização limitada. As direções de pesquisa incluem FE com múltiplas autoridades (sem uma única autoridade confiável), geração descentralizada de chaves e FE para classes de funções maiores sem mapas multilineares.

Questionário sobre a definição da criptografia funcional

O que distingue a criptografia funcional da criptografia tradicional de chave pública?

Revisão da criptografia funcional

A criptografia funcional (Boneh-Sahai-Waters 2011) generaliza IBE ao permitir chaves de função sk_f que possibilitam calcular f(x) a partir de Enc(x) sem aprender x completamente. Existem construções práticas para FE de produto interno (inferência privada de aprendizado de máquina) e teste de igualdade. ABE é um caso especial implantado na prática para a avaliação de políticas de acesso. A FE para circuitos gerais exige mapas multilineares (impraticáveis). iO é o primitivo relacionado mais poderoso. O principal desafio é passar da teoria para uma prática eficiente.

Perguntas Frequentes

A aula “Além da Chave Pública: Criptografia Funcional” é grátis?

Sim — o texto completo de “Além da Chave Pública: Criptografia Funcional” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Além da Chave Pública: Criptografia Funcional”?

Compreenda a proposta da criptografia funcional: a descriptografia revela apenas o resultado de uma função, não o texto simples. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Além da Chave Pública: Criptografia Funcional”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Além da Chave Pública: Criptografia Funcional
  2. ABE com Política de Texto Cifrado (CP-ABE)
  3. ABE com Política de Chave (KP-ABE) e Comparação
  4. Aplicações Práticas de ABE
← Voltar para Cryptology Academy