O que é criptografia homomórfica?
O conceito conhecido como criptografia homomórfica, na qual o texto cifrado pode ser manipulado e trabalhado sem ser descriptografado, foi apresentado pela primeira vez à comunidade científica em 1978 por Ronald Rivest, Leonard Adleman e Michael Dertouzos como homomorfismo da privacidade. Um esquema de criptografia homomórfica semanticamente segura foi desenvolvido e proposto por Shafi Goldwasser e Silvio Micali em 1982. Em 2009, Craig Gentry provou que é possível um esquema de criptografia completamente homomórfica.
Rivest, Aldeman e Dertouzos desenvolveram sua teoria em torno do fato de que os sistemas de segurança e criptografia existentes limitam severamente a capacidade de fazer qualquer coisa com os dados depois que eles são criptografados e transformados em texto cifrado. Sem o desenvolvimento de uma solução homomórfica, o envio e o recebimento de dados é essencialmente a única função que pode ser realizada com dados criptografados. As maiores preocupações eram o nível de computação necessário para processar a solicitação criptografada nos dados criptografados e se um esquema de criptografia dessa natureza poderia ser seguro o suficiente para uso prático.
Com o advento e a expansão contínua da computação em nuvem, é crucial criar um método de criptografia homomórfica viável. Caso contrário, o risco é alto demais para confiar dados a um provedor de computação em nuvem quando esses dados devem permanecer seguros. Se o provedor tiver acesso de alguma forma aos dados em sua forma descriptografada, os dados poderão facilmente ficar comprometidos. Gentry provou que é uma teoria viável, embora sejam preocupantes a quantidade de tempo que os cálculos levam e a facilidade potencial com que a criptografia pode ser quebrada.
O sistema da Gentry descreve como criar um esquema de criptografia que permitirá que os dados sejam armazenados com segurança em um ambiente de nuvem em que o proprietário dos dados possa utilizar o poder computacional do provedor de nuvem para executar funções nos dados criptografados persistentemente. Ele faz isso em um processo de três etapas. É construído um esquema de criptografia que pode ser "inicializável por inicialização" ou consiste em um esquema de criptografia um tanto homomórfico que pode funcionar com seu próprio circuito de descriptografia. Em seguida, um esquema de criptografia de chave pública quase auto-inicializável é criado usando as treliças ideais. Por fim, os esquemas são modificados para serem mais simplistas, permitindo que sejam inicializáveis enquanto mantêm sua profundidade.
Esse método cria um esquema de criptografia completamente homomórfico, mas permanece relativamente impraticável. A criptografia homomórfica evoluiu para ser protegida principalmente contra ataques de texto sem formatação, mas a proteção contra ataques de texto cifrado continua a ser um problema. Além do problema de segurança, os esquemas totalmente homomórficos são tão grandes e complexos que o fator tempo impediu seu uso na maioria dos aplicativos. Sistemas de criptografia homomórficos foram desenvolvidos para abordar pelo menos o fator tempo, usando apenas as partes mais eficientes de um esquema de criptografia completamente homomórfico.