Criptografia homomórfica
Geral
Derivado deVárias suposições, incluindo aprender com erros, aprender em anel com erros ou mesmo RSA (multiplicativo) e outros
Relacionado comCriptografia funcional

A criptografia homomórfica é uma forma de criptografia que permite que os usuários executem cálculos em seus dados criptografados sem primeiro descriptografá-los. Esses cálculos resultantes são deixados de forma criptografada que, quando descriptografadas, resultam em uma saída idêntica à produzida se as operações foram realizadas nos dados não criptografados. A criptografia homomórfica pode ser usada para preservar a privacidade do armazenamento e da computação terceirizada. Isso permite que os dados sejam criptografados e desatados para ambientes comerciais em nuvem para processamento, tudo isso enquanto criptografados.

Para dados confidenciais, como informações sobre cuidados de saúde, a criptografia homomórfica pode ser usada para habilitar novos serviços, removendo barreiras de privacidade que inibem o compartilhamento de dados ou aumentam a segurança aos serviços existentes. Por exemplo, análises preditivas em cuidados de saúde podem ser difíceis de aplicar através de um provedor de serviços de terceiros devido a preocupações com privacidade de dados médicos, mas se o provedor de serviços de análise preditiva pode operar em dados criptografados, essas preocupações de privacidade são diminuídas. Além disso, mesmo que o sistema do prestador de serviços seja comprometido, os dados permaneceriam seguros.

Descrição[edição]

A criptografia homomórfica é uma forma de criptografia com um recurso de avaliação adicional para computação sobre dados criptografados sem acesso à chave secreta. O resultado de tal cálculo permanece criptografado. A criptografia homomórfica pode ser vista como uma extensão da criptografia de chave pública. Homomórfico refere-se ao homomorfismo em álgebra: as funções de criptografia e descriptografia podem ser consideradas como homomorfismos entre espaços de texto simples e cifras.

A criptografia homomórfica inclui vários tipos de esquemas de criptografia que podem executar diferentes classes de cálculos sobre dados criptografados. [1] Os cálculos são representados como circuitos booleanos ou aritméticos. Alguns tipos comuns de criptografia homomórfica são parcialmente homomórficos, um tanto homomórficos, nivelados totalmente homomórficos e criptografia totalmente homomórfica:

  • A criptografia parcialmente homomórfica abrange esquemas que suportam a avaliação de circuitos que consistem em apenas um tipo de portão, por exemplo, adição ou multiplicação.
  • Esquemas de criptografia um pouco homomórficos podem avaliar dois tipos de portões, mas apenas para um subconjunto de circuitos.
  • A criptografia totalmente homomórfica nivelada suporta a avaliação de circuitos arbitrários compostos por vários tipos de portões de profundidade limitada (pré-determinada).
  • A criptografia totalmente homomórfica (FHE) permite a avaliação de circuitos arbitrários compostos por múltiplos tipos de portões de profundidade ilimitada e é a noção mais forte de criptografia homomórfica.

Para a maioria dos esquemas de criptografia homomórfica, a profundidade multiplicativa dos circuitos é a principal limitação prática na realização de cálculos sobre dados criptografados. Esquemas de criptografia homomórfico são inerentemente maleáveis. Em termos de maleabilidade, esquemas de criptografia homomórfica têm propriedades de segurança mais fracas do que esquemas não homomórficos.

História[edição]

Esquemas de criptografia homomórfico foram desenvolvidos usando diferentes abordagens. Especificamente, esquemas de criptografia totalmente homomórficos são frequentemente agrupados em gerações correspondentes à abordagem subjacente. [2]

Pré-FHE[edit]

O problema da construção de um esquema de criptografia totalmente homomórfico foi proposto pela primeira vez em 1978, dentro de um ano de publicação do esquema RSA. [3] Por mais de 30 anos, não ficou claro se existia uma solução. Durante esse período, os resultados parciais incluíram os seguintes esquemas:

FHE de primeira geração[edição]

Craig Gentry, usando criptografia baseada em treliça, descreveu a primeira construção plausível para um esquema de criptografia totalmente homomórfico. [7] O esquema da Gentry suporta operações de adição e multiplicação em textos cifrados, dos quais é possível construir circuitos para a realização de computação arbitrária. A construção parte de um esquema de criptografia um tanto homomórfico, que se limita a avaliar polinômias de baixo grau sobre dados criptografados; é limitado porque cada texto cifrado é barulhento em algum sentido, e esse ruído cresce à medida que se adiciona e multiplica textos cifrados, até que, em última análise, o ruído torna indecifrável o texto cifrado resultante.

Gentry então mostra como modificar ligeiramente este esquema para torná-lo inicialtrappable, ou seja, capaz de avaliar seu próprio circuito de descriptografia e, em seguida, pelo menos mais uma operação. Finalmente, ele mostra que qualquer esquema de criptografia um tanto homomórfico pode ser convertido em uma criptografia totalmente homomórfica através de uma auto-incorporação recursiva. Para o esquema “barulhento” de Gentry, o procedimento de inicialização efetivamente “atualiza” o texto cifrado, aplicando-se a ele o procedimento de descriptografia homomorficamente, obtendo assim um novo texto cifrado que criptografa o mesmo valor de antes, mas tem menor ruído. Ao “refrescar” o texto cifrado periodicamente sempre que o ruído cresce muito grande, é possível calcular um número arbitrário de adições e multiplicações sem aumentar muito o ruído.

Gentry baseou a segurança de seu esquema na dureza assumida de dois problemas: certos problemas de pior caso sobre as treliças ideais, e o problema da soma do subconjunto esparso (ou de baixo peso). A tese de doutorado da Gentry[8] fornece detalhes adicionais. A implementação gentry-halevi do criptosystem original da Gentry relatou um tempo de cerca de 30 minutos por operação de bit básico. [9] O extenso trabalho de design e implementação nos anos subsequentes melhorou essas implementações iniciais por muitas ordens de desempenho de tempo de execução de magnitude.

Em 2010, Marten van Dijk, Craig Gentry, Shai Halevi e Vinod Vaikuntanathan apresentaram um segundo esquema de criptografia totalmente homomórfico,[10] que usa muitas das ferramentas da construção de Gentry, mas que não requer lattices ideais. Em vez disso, eles mostram que o componente um pouco homomórfico do esquema ideal baseado em treliça de Gentry pode ser substituído por um esquema um tanto homomórfico um pouco simples que usa inteiros. O esquema é, portanto, conceitualmente mais simples do que o esquema ideal de rede de Gentry, mas tem propriedades semelhantes no que diz respeito a operações homomórficas e eficiência. O componente um tanto homomórfico no trabalho de Van Dijk et al. é semelhante a um esquema de criptografia proposto por Levieil e Naccache em 2008,[11] e também a um que foi proposto por Bram Cohen em 1998. [12]

O método de Cohen não é nem mesmo aditivamente homomórfico, no entanto. O esquema Levieil-Naccache suporta apenas adições, mas pode ser modificado para também suportar um pequeno número de multiplicações. Muitos refinamentos e otimizações do esquema de Van Dijk et al. foram propostos em uma sequência de obras de Jean-Sébastien Coron, Tancrède Lepoint, Avradip Mandal, David Naccache e Mehdi Tibouchi. [13][14][15][16] Algumas dessas obras incluíram também implementações dos esquemas resultantes.

FHE de segunda geração[edição]

Os criptosistemas homomórficos desta geração são derivados de técnicas que foram desenvolvidas a partir de 2011-2012 por Zvika Brakerski, Craig Gentry, Vinod Vaikuntanathan, entre outros. Essas inovações levaram ao desenvolvimento de criptosistemas um pouco mais eficientes e totalmente homomórficos. Estes incluem:

  • O esquema Brakerski-Gentry-Vaikuntanathan (BGV, 2011), baseado em técnicas de Brakerski-Vaikuntanathan; [18]
  • O esquema baseado em NTRU por Lopez-Alt, Tromer e Vaikuntanathan (LTV, 2012); [19]
  • O esquema Brakerski/Fan-Vercauteren (BFV, 2012) é baseado no sistema criptovariante de escala da Brakerski; [21]
  • O esquema baseado em NTRU por Bos, Lauter, Loftus e Naehrig (BLLN, 2013),[22] baseado no criptoistema invariante de LTV e Brakerski; [21]

A segurança da maioria desses esquemas é baseada na dureza do problema (Ring) Learning With Errors (RLWE), exceto nos esquemas LTV e BLLN que dependem de uma variante excessiva[23] do problema computacional NTRU. Esta variante NTRU foi posteriormente mostrada vulnerável a ataques de rede subcampo,[24][23] e é por isso que esses dois esquemas não são mais usados na prática.

Todos os criptosistemas de segunda geração ainda seguem o projeto básico da construção original da Gentry, ou seja, primeiro constroem um criptosistema um tanto homomórfico e depois o convertem em um criptosistema totalmente homomórfico usando bootstrapping.

Uma característica distintiva dos criptosistemas de segunda geração é que todos eles apresentam um crescimento muito mais lento do ruído durante as computação homomórfica. Otimizações adicionais de Craig Gentry, Shai Halevi e Nigel Smart resultaram em criptosistemas com complexidade assintótica quase ótima: Performagem T operações em dados criptografados com parâmetro de segurança k tem complexidade de apenas {\displaystyle T\cdot \mathrm {polylog} (k)}. [25][26][27] Essas otimizações se baseiam nas técnicas Smart-Vercauteren que permitem embalar muitos valores de texto simples em um único texto cifrado e operar em todos esses valores de texto simples de forma SIMD. [28] Muitos dos avanços desses criptosistemas de segunda geração também foram portados para o criptoistema sobre os inteiros. [15][16]

Outra característica distintiva dos esquemas de segunda geração é que eles são eficientes o suficiente para muitas aplicações, mesmo sem invocar bootstrapping, em vez de operar no modo FHE nivelado.

FHE de terceira geração[edição]

Em 2013, Craig Gentry, Amit Sahai e Brent Waters (GSW) propuseram uma nova técnica para a construção de esquemas FHE que evita um passo caro de “relinearização” na multiplicação homomórfica. Zvika Brakerski e Vinod Vaikuntanathan observaram que, para certos tipos de circuitos, o criptosystem GSW apresenta uma taxa de crescimento ainda mais lenta de ruído e, portanto, melhor eficiência e segurança mais forte. [30] Jacob Alperin-Sheriff e Chris Peikert então descreveram uma técnica muito eficiente de bootstrapping baseada nesta observação. [31]

Essas técnicas foram aprimoradas ainda mais para desenvolver variantes de anel eficientes do criptosistema GSW: FHEW (2014)[32] e TFHE (2016). [33] O esquema FHEW foi o primeiro a mostrar que, ao atualizar os textos cifrados após cada operação, é possível reduzir o tempo de bootstrapping para uma fração de segundo. A FHEW introduziu um novo método para calcular portões Booleanos em dados criptografados que simplifica muito o bootstrapping e implementou uma variante do procedimento de bootstrapping. [31] A eficiência do FHEW foi ainda melhorada pelo esquema TFHE, que implementa uma variante de anel do procedimento de inicialização[34] usando um método semelhante ao da FHEW.

FHE de quarta geração[edição]

Em 2016, Cheon, Kim, Kim e Song (CKKS)[35] propuseram um esquema de criptografia homomórfico aproximado que suporta um tipo especial de aritmética de ponto fixo que é comumente referido como aritmética de ponto flutuante de bloco. O esquema CKKS inclui uma operação de redimensionamento eficiente que reduz uma mensagem criptografada após uma multiplicação. Para comparação, tal redimensionamento requer bootstrapping nos esquemas BGV e BFV. A operação de redimensionamento torna o esquema CKKS o método mais eficiente para avaliar aproximações polinomiais, e é a abordagem preferida para implementar aplicativos de aprendizagem de máquina que preservam a privacidade. O esquema introduz vários erros de aproximação, tanto não deterministas quanto deterministas, que requerem um tratamento especial na prática. [36]

Um artigo de 2020 de Baiyu Li e Daniele Micciancio discute ataques passivos contra ckks, sugerindo que a definição padrão ind-CPA pode não ser suficiente em cenários onde os resultados de descriptografia são compartilhados. [37] Os autores aplicam o ataque a quatro bibliotecas modernas de criptografia homomórfica (HEAAN, SEAL, HElib e PALISADE) e relatam que é possível recuperar a chave secreta da descriptografia resulta em várias configurações de parâmetros. Os autores também propõem estratégias de mitigação desses ataques, e incluem uma Divulgação Responsável no artigo sugerindo que as bibliotecas de criptografia homomórfica já implementavam mitigações para os ataques antes que o artigo se tornasse disponível publicamente. Também foram publicadas mais informações sobre as estratégias de mitigação implementadas nas bibliotecas de criptografia homomórfica. [38][39]

Criptoistemas parcialmente homomórficos[edit]

Nos exemplos a seguir, a notação \mathcal{E}(x) é usado para denotar a criptografia da mensagem x.

RSA não adicionado

Se a chave pública RSA tem módulo n e expoente de criptografia e, em seguida, a criptografia de uma mensagem m é dado por {\displaystyle {\mathcal {E}}(m)=m^{e}\; {\bmod {\;}} n}. A propriedade homomórfica é então

{\displaystyle {\begin{aligned}{\mathcal {E}}(m_{1})\cdot {\mathcal {E}}(m_{2})&=m_{1}^{e}m_{2}^{e}\;{\ n\[6pt]&=(m_{1}m_{2})^{e}\; {\bmod {\;}} n\[6pt]&={\mathcal {E}}(m_{1}\cdot m_{2})\end{alinhado}}}

ElGamal

No criptoistema ElGamal, em um grupo cíclico G de ordem q com gerador g, se a chave pública é (G, q, g, h)onde h = g^xe x é a chave secreta, então a criptografia de uma mensagem m É \mathcal{E}(m) = (g^r,m\cdot h^r), para alguns aleatórios {\displaystyle r\in {0,\ldots ,q-1}}. A propriedade homomórfica é então

![{\displaystyle {\begin{aligned}{\mathcal {E}}(m_{1})\cdot {\mathcal {E}}(m_{2})&=(g^{r_{1}},m_{1}\cdot h^{r_{1}})(g^{r_{2}},m_{2}\cdot h^r_{2}{})[6pt]&=(g^{r_{1}+r_{2}},(m_{1}\cdot m_{2})h^{r_{1}+r_{2}})\[6pt]&={\mathcal {E}}(m_{1}\cdot m_{2}).\end{alinhado}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d5acfc0dcbb284acddb7026142d95f1db401460b)

Goldwasser-Micali

No criptoistema Goldwasser-Micali, se a chave pública é o módulo n e não-resíduo quadrático x, então a criptografia de um pouco b É {\displaystyle {\mathcal {E}}(b)=x^{b}r^{2}\; {\bmod {\;}} n}, para alguns aleatórios {\displaystyle r\in {0,\ldots ,n-1}}. A propriedade homomórfica é então

{\displaystyle {\begin{aligned}{\mathcal {E}}(b_{1})\cdot {\mathcal {E}}(b_{2})&=x^{b_{1}}r_{1}^{2}x^{b_{2}}r_{2}^{2}\ n\[6pt]&=x^{b_{1}+b_{2}}(r_{1}r_{2})^{2}\; {\bmod {\;}} n\[6pt]&={\mathcal {E}}(b_{1}\oplus b_{2}).\end{alinhado}}}

onde \oplus denota adição modulo 2, (ou seja, exclusivo-ou).

Benaloh

No criptoistema Benaloh, se a chave pública é o módulo n e a base g com um blocksize de c, em seguida, a criptografia de uma mensagem m É {\displaystyle {\mathcal {E}}(m)=g^{m}r^{c}\; {\bmod {\;}} n}, para alguns aleatórios {\displaystyle r\in {0,\ldots ,n-1}}. A propriedade homomórfica é então

{\displaystyle {\begin{aligned}{\mathcal {E}}(m_{1})\cdot {\mathcal {E}}(m_{2})&=(g^{m_{1}}r_{1}^{c})(g^{m_{2}}r_{2}^{c}\ n\[6pt]&=g^{m_{1}+m_{2}}(r_{1}r_{2})^{c}\; {\bmod {\;}} n\[6pt]&={\mathcal {E}}(m_{1}+m_{2}\; c).\end{alinhado}}}

Paillier

No criptoistema Paillier, se a chave pública é o módulo n e a base g, em seguida, a criptografia de uma mensagem m É {\displaystyle {\mathcal {E}}(m)=g^{m}r^{n}\; {\bmod {\;}} n^{2}}, para alguns aleatórios {\displaystyle r\in {0,\ldots ,n-1}}. A propriedade homomórfica é então

{\displaystyle {\begin{aligned}{\mathcal {E}}(m_{1})\cdot {\mathcal {E}}(m_{2})&=(g^{m_{1}}r_{1}^{n})(g^{m_{2}}r_{2}^{n}\ n^{2}\[6pt]&=g^{m_{1}+m_{2}}(r_{1}r_{2})^{n}\; {\bmod {\;}} n^{2}\[6pt]&={\mathcal {E}}(m_{1}+m_{2}).\end{alinhado}}}

Outros criptosistemas parcialmente homomórficos

Criptografia totalmente homomórfica[editar]

Um criptosistema que suporta computação arbitrária em textos cifrados é conhecido como criptografia totalmente homomórfica (FHE). Tal esquema permite a construção de programas para qualquer funcionalidade desejável, que podem ser executadas em entradas criptografadas para produzir uma criptografia do resultado. Uma vez que tal programa nunca precisa descriptografar suas entradas, ele pode ser executado por uma parte não confiável sem revelar suas entradas e estado interno. Os criptosistemas totalmente homomórficos têm grandes implicações práticas na terceirização de computação privada, por exemplo, no contexto da computação em nuvem. [42]

Implementações[edit]

Uma lista de bibliotecas FHE de código aberto que implementam esquemas FHE de segunda geração (BGV/BFV), de terceira geração (FHEW/TFHE) e/ou esquemas FHE de quarta geração (CKKS) é fornecido abaixo.

Existem várias implementações de código aberto de esquemas de criptografia totalmente homomórficos. As implementações de esquemas FHE de segunda e quarta geração normalmente operam no modo FHE nivelado (embora o bootstrapping ainda esteja disponível em algumas bibliotecas) e suporte a embalagem eficiente de dados semelhantes ao SIMD; eles são normalmente usados para calcular em inteiros criptografados ou números reais/complexos. Implementações de esquema fhe de terceira geração muitas vezes bootstrap após cada operação, mas têm suporte limitado para embalagem; eles foram inicialmente usados para calcular circuitos booleanos sobre bits criptografados, mas foram estendidos para suportar aritmética integer e avaliação de função univariada. A escolha de usar um esquema de segunda geração vs. terceira geração versus quarta geração depende dos tipos de dados de entrada e da computação desejada.

Bibliotecas FHE
NomeReveladorBGV[17]CKKS[35]BFV[20]FHEW [32]CKKS Bootstrapping [43]TFHE[33]Descrição
HElib[44]IbmSimSimNãoNãoNãoNãoEsquema BGV com as otimizações ghs.
Microsoft SEAL[45]MicrosoftSimSimSimNãoNãoNão
PALISADE[46]Instituto de Tecnologia de Nova Jersey, Duality Technologies, Raytheon BBN Technologies, MIT, Universidade da Califórnia, San Diego e outros.SimSimSimSimNãoSimBiblioteca de criptografia de treliça de uso geral.
HEAAN[47]Universidade Nacional de SeulNãoSimNãoNãoSimNão
FHEW[32]Leo Ducas e Daniele MicciancioNãoNãoNãoSimNãoNão
TFHE[33]Ilaria Chillotti, Nicolas Gama, Mariya Georgieva e Malika IzabacheneNãoNãoNãoNãoNãoSim
FV-NFLlib[48]CriptoexperientesNãoNãoSimNãoNãoNão
NuFHE[49]NuCypherNãoNãoNãoNãoNãoSimFornece uma implementação de GPU de TFHE.
Lattigo[50]EPFL-LDSNãoSimSimNãoSim[51]NãoImplementação em Go junto com suas variantes distribuídas[52] permitindo a computação multipartidária Secure.
Concreto[53]ZamaNãoNãoNãoNãoNãoSim

Implementação de ferrugem de TFHE-extended, suporte a portões booleanos, operações de inteiros niveladas e avaliação de função univariada (via bootstrapping programável). [54] Um compilador NumPy também está disponível. [55]

Estruturas FHE
NomeReveladorFHEW [32]TFHEHelibFOCAPALIÇADA
E3[56]Laboratório MoMA na NYU Abu DhabiSimSimSimSimSim
OVELHAS[57]Instituto Alan TuringNãoSimSimSimSim

Padronização[edição]

Em 2017, pesquisadores da IBM, Microsoft, Intel, NIST e outros formaram um consórcio aberto, a Padronização de Criptografia Homomórfica, que mantém um padrão de segurança comunitária para criptografia homomórfica. [58][59][60]

Veja também[edit]

Referências[edição]

  1. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-ABG151-0 “Jump up”)** Armknecht, Frederik; Boyd, Colin; Gjøsteen, Kristian; Jäschke, Angela; Reuter, Christian; Strand, Martin (2015). “Um guia para criptografia totalmente homomórfica”. _Arquivo de criptografia ePrint.
  2. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-2 “Jump up”) Vinod Vaikuntanathan. “Referências de Criptografia Homomórfica”.
  3. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-3 “Jump up”) R. L. Rivest, L. Adleman e M. L. Dertouzos. Sobre bancos de dados e homomorfismos de privacidade. Em Foundations of Secure Computation, 1978.
  4. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-4 “Jump up”) Sander, Tomas; Young, Adam L.; Yung, Moti( 1999). “CryptoComputing não interativo para NC1”. Focs1991. pp. 554-566. doi:10.1109/SFFCS.1999.814630. ISBN 978-0-7695-0409-4. S2CID 1976588.
  5. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-5 “Jump up”) D. Boneh, E. Goh, e K. Nissim. Avaliando fórmulas 2-DNF em textos cifrados. Em Teoria da Conferência de Criptografia, 2005.
  6. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-6 “Jump up”) Ishai e A. Paskin. Avaliando programas de ramificação em dados criptografados. Em Teoria da Conferência de Criptografia, 2007.
  7. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-7 “Jump up”) Craig Gentry. Criptografia totalmente homomórfica usando lattices ideais. No 41º Simpósio ACM de Teoria da Computação (STOC), 2009.
  8. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-8 “Jump up”) Craig Gentry. “Um Esquema de Criptografia Totalmente Homomórfico (Tese de Doutorado)” (PDF).
  9. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-GH119-0 “Jump up”)** Gentry, Craig; Halevi, Shai (2010). “Implementando o esquema de criptografia totalmente homomórfica da Gentry”. _Eurocrypt 2011.
  10. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-10 “Jump up”) Van Dijk, Marten; Gentry, Craig; Halevi, Shai; Vinod, Vaikuntanathan (2009). “Criptografia Totalmente Homomórfica sobre os Inteiros”. Eurocrypt 2010.
  11. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-11 “Jump up”) Levieil, Eric; Naccache, David. “Correção de teste criptográfico” (PDF).
  12. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-12 “Jump up”) Cohen, Bram. “Simples Criptografia de Chaves Públicas”. Arquivado do original em 2011-10-07.
  13. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-CNT1213-0 “Jump up”)** Coron, Jean-Sébastien; Naccache, David; Tibouchi, Mehdi( 2011). “Compactação de chaves públicas e alternagem para criptografia totalmente homomórfica sobre os Inteiros”. _Eurocrypt 2012.
  14. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-CMNT11_14-0 “Jump up”) Coron, Jean-Sébastien; Mandal, Avradip; Naccache, David; Tibouchi, Mehdi( 2011). “Criptografia totalmente homomórfica sobre os Inteiros com chaves públicas mais curtas”. Em Rogaway, P. (ed.). Avanços em Criptografia – CRYPTO 2011. Notas de Palestra em Ciência da Computação. Vol. 6841. pp. 487-504. doi:10.1007/978-3-642-22792-9_28. ISBN 978-3-642-22791-2.
  15. ^ Jump up to: um b Coron, Jean-Sébastien; Lepoint, Tancrède; Tibouchi, Mehdi( 2013). “Lote totalmente homomórfico criptografia sobre os Inteiros”. Eurocrypt 2013.
  16. ^ Jump up to: um b Coron, Jean-Sébastien; Lepoint, Tancrède; Tibouchi, Mehdi(2014). “Criptografia totalmente homomórfica em escala sobre os Inteiros”. PKC 2014.
  17. ^ Jump up to: um b Z. Brakerski, C. Gentry, e V. Vaikuntanathan. Criptografia totalmente homomórfica sem bootstrapping, no ITCS 2012
  18. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-BV11b_18-0 “Jump up”) Z. Brakerski e V. Vaikuntanathan. Criptografia totalmente homomórfica eficiente do LWE (Padrão). Em FOCS 2011 (IEEE)
  19. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-LTV1219-0 “Jump up”)** A. Lopez-Alt, E. Tromer, e V. Vaikuntanathan. Computação multipartidária on-the-fly na nuvem através de criptografia totalmente homomórfica multikey. Em _STOC 2012 (ACM)
  20. ^ Jump up to: um b Fã, Junfeng; Vercauteren, Frederik (2012). “Criptografia totalmente homomórfica um pouco prática”. Arquivo de criptografia ePrint.
  21. ^ Jump up to: um b Z. Brakerski. Criptografia totalmente homomórfica sem modulus switching de Classic GapSVP, In CRYPTO 2012 (Springer)
  22. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-BLLN1322-0 “Jump up”)** J. Bos, K. Lauter, J. Loftus e M. Naehrig. Segurança aprimorada para um esquema de criptografia totalmente homomórfica baseado em anel. No _IMACC 2013 (Springer)
  23. ^ Jump up to: um b Albrecht, S. Bai e L. Ducas. Um ataque de rede subcampo em suposições ntrus sobrecarregadas, em CRYPTO 2016 (Springer)
  24. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-CJL1624-0 “Jump up”)** Cheon, J.H.; Jeong, J; Lee, C. (2016). “Um algoritmo para problemas de NTRU e criptoanálise do mapa multilíar GGH sem uma codificação de baixo nível de zero”. _LMS Journal of Computation and Mathematics. **19 (1): 255-266. doi:10.1112/S1461157016000371.
  25. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-GHS12a_25-0 “Jump up”) C. Gentry, S. Halevi e N. P. Smart. Criptografia totalmente homomórfica com sobrecarga de polílogo. Na EUROCRYPT 2012 (Springer)
  26. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-GHS12b_26-0 “Jump up”) C. Gentry, S. Halevi e N. P. Smart. Melhor bootstrapping em criptografia totalmente homomórfica. Em PKC 2012 (SpringeR)
  27. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-GHS12c_27-0 “Jump up”) C. Gentry, S. Halevi e N. P. Smart. Avaliação Homomórfica do Circuito AES. Em CRYPTO 2012 (Springer)
  28. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-SV1128-0 “Jump up”)** Inteligente, Nigel P.; Vercauteren, Frederik(2014). “Operações simd totalmente homomórficas”. _Desenhos, Códigos e Criptografia. **71 (1): 57-81. doi:10.1007/s10623-012-9720-4. S2CID 11202438.
  29. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-GSW1329-0 “Jump up”)** C. Gentry, A. Sahai e B. Waters. Criptografia homomórfica a partir do aprendizado com erros: conceitualmente mais simples, assintáticamente mais rápido, baseado em atributos. Em _CRYPTO 2013 (Springer)
  30. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-30 “Jump up”) Z. Brakerski e V. Vaikuntanathan. FHE baseado em treliça tão seguro quanto PKE. No ITCS 2014
  31. ^ Jump up to: um b Alperin-Xerife e C. Peikert. Bootstrapping mais rápido com erro polinomial. Em CRYPTO 2014 (Springer)
  32. ^ Jump up to: um b c d Leo Ducas; Daniele Micciancio. “FHEW: Uma biblioteca de criptografia totalmente homomórfica”. O GitHub. Recuperado em 31 de dezembro de 2014.
  33. ^ Jump up to: um b c Ilaria Chillotti; Nicolas Gama; Mariya Georgieva; Malika Izabachene, 83. “Criptografia totalmente homomórfica mais rápida: bootstrapping em menos de 0,1 segundos”. Recuperado em 31 de dezembro de 2016.
  34. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-GINX1634-0 “Jump up”)** N. Gama, M. Izabachène, P.Q. Nguyen e X. Xie Structural Rettice Reduction: Generalized Worst-Case to Average-Case Reductions and Homomorphic Cryptosystems. Na _EUROCRYPT 2016 (Springer)
  35. ^ Jump up to: um b Cheon, Jung Hee; Kim, Andrey; Kim, Miran; Song, Yongsoo (2017). “Criptografia homomórfica para aritmética de números aproximados”. Takagi T., Peyrin T. (eds) Avanços em Criptografia – ASIACRYPT 2017. ASIACRYPT 2017. Notas de Palestra em Ciência da Computação. Vol. 10624. Springer, Cham. pp. 409-437. doi:10.1007/978-3-319-70694-8_15. ISBN 978-3-319-70693-1.
  36. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-HPS_36-0 “Jump up”) Kim A., Papadimitriou A., Polyakov Y. Criptografia Homomórfica aproximada com erro de aproximação reduzido, em CT-RSA 2022 (Springer)
  37. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-37 “Jump up”) Li, Baily; Micciancio, Daniele (2020). “Na Segurança da Criptografia Homomórfica em Números Aproximados” (PDF). IACR ePrint Archive 2020/1533.
  38. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-38 “Jump up”) Cheon, Jung Hee; Hong, Seungwan; Kim, Duhyeong (2020). “Observação sobre a segurança do esquema CKKS na prática” (PDF). IACR ePrint Archive 2020/1581.
  39. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-CKKSsec_39-0 “Jump up”) “Segurança do CKKS”. Recuperado em 10 de março de 2021.
  40. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-BHJL1740-0 “Jump up”)** Benhamouda, Fabrice; Herranz, Javier; Joye, Marc; Libert, Benoît (2017). “Sistemas criptoistemas eficientes a partir de símbolos de resíduo de energia_de 2 k-th_” (PDF). _Journal of Cryptology. **30 (2): 519-549. doi:10.1007/s00145-016-9229-5. hdl:2117/103661. S2CID 62063.
  41. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-41 “Jump up”) Guilhem Castagnos e Fabien Laguillaumie (2015). “Criptografia linearmente homomórfica do DDH” (PDF).
  42. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-42 “Jump up”) Daniele Micciancio (2010-03-01). “Um primeiro vislumbre do Santo Graal da Criptografia”. Associação de Máquinas de Computação. p. 96. Recuperado 2010-03-17.
  43. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-CHK+1843-0 “Jump up”)** Jung Hee Cheon, Kyoohyung Han, Andrey Kim, Miran Kim e Yongsoo Song. Bootstrapping para criptografia homomórfica aproximada. Na _EUROCRYPT 2018 (Springer).
  44. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-HElib_44-0 “Jump up”) Shai Halevi; Victor Shoup. “HElib: Uma implementação da criptografia homomórfica”. O GitHub. Recuperado em 31 de dezembro de 2014.
  45. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-SEAL_45-0 “Jump up”) Microsoft Research. “Microsoft SEAL”. A Microsoft. Recuperado em 20 de fevereiro de 2019.
  46. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-PALISADE_46-0 “Jump up”) “Biblioteca de Criptografia de Treliça PALISADE”. Recuperado em 1º de janeiro de 2019.
  47. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-HEAAN_47-0 “Jump up”) Jung Hee Cheon; Kyoohyung Han; Andrey Kim; Miran Kim; Yongsoo Song. “Criptografia Homomórfica para Aritmética de Números Aproximados”. O GitHub. Recuperado em 15 de maio de 2016.
  48. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-FVNFLlib_48-0 “Jump up”) Especialistas em Criptomoedas. “FV-NFLlib”. O GitHub. Recuperado em 1 de novembro de 2019.
  49. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-NuFHE_49-0 “Jump up”) O NuCypher. “Uma implementação de GPU de criptografia totalmente homomórfica no toro”. O GitHub. Recuperado em 1 de novembro de 2019.
  50. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-Lattigo_50-0 “Jump up”) EPFL-LDS. “Lattigo v2.1.1”. O GitHub. Recuperado em 15 de março de 2021.
  51. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-BOSSUAT+2151-0 “Jump up”)** Jean-Philippe Bossuat, Christian Mouchet, Juan Troncoso-Pastoriza e Jean-Pierre Hubaux. Inicialização eficiente para criptografia homomórfica aproximada com chaves não esparsas. Na _EUROCRYPT 2021 (Springer).
  52. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-MOUCHET+20_52-0 “Jump up”) Christian Mouchet, Juan Troncoso-Pastoriza, Jean-Philippe Bossuat e Jean-Pierre Hubaux. Criptografia homomórfica multipartidária a partir de ring-learning-with-errors.
  53. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-Concrete_53-0 “Jump up”) Zama (20 de maio de 2022). “Concreto”. O GitHub. Recuperado em 20 de maio de 2022.
  54. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-54 “Jump up”) https://eprint.iacr.org/2021/091.pdf[PDF de URL nua]
  55. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-55 “Jump up”) “Links”. O GitHub. 7 de maio de 2022.
  56. **[^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-E356-0 “Jump up”)** MoMA Lab, New York University Abu Dhabi (2019-07-24). “Encrypt-Everything-Everywhere (E3)”. _O GitHub. Recuperado em 27 de julho de 2019.
  57. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-SHEEP_57-0 “Jump up”) Instituto Alan Turing, Londres, Reino Unido (2019-11-01). “SHEEP, uma plataforma de avaliação de criptografia homomórfica”. O GitHub. Recuperado em 1 de novembro de 2019.``: CS1 maint: multiple names: authors list (link)
  58. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-58 “Jump up”) “Oficina de Padronização de Criptografia Homomórfica”. A Microsoft. 2017-07-13. Recuperado 2022-05-12.
  59. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-59 “Jump up”) “Intel, Microsoft Research e Duality Technologies convenem a comunidade de IA para padrões de privacidade”. Redação Intel. 2019-08-16. Recuperado 2022-05-12.
  60. [^](https://en.wikipedia.org/wiki/Homomorphic_encryption#cite_ref-60 “Jump up”) “Intel, Microsoft se juntam ao esforço da DARPA para acelerar a criptografia totalmente homomórfica”. 8 de março de 2021.