Simple Science

Ciência de ponta explicada de forma simples

# Informática# Criptografia e segurança# Inteligência Artificial# Computação distribuída, paralela e em cluster# Aprendizagem de máquinas

Avanços na Criptografia Homomórfica Total com GPUs

Novas técnicas melhoram a velocidade e a eficiência das computações criptografadas usando GPUs.

― 7 min ler


Aceleração FHE com GPUsAceleração FHE com GPUsseguros.criptografadas para aplicativosPotencializando computações
Índice

No mundo de hoje, privacidade e segurança são essenciais, especialmente quando lidamos com informações sensíveis. A Criptografia Totalmente Homomórfica (FHE) é um método que permite realizar cálculos em Dados Criptografados sem precisar descriptografá-los primeiro. Isso significa que informações privadas permanecem seguras, mesmo quando processadas por sistemas não confiáveis.

Nosso trabalho foca em melhorar a eficiência e velocidade da FHE, especialmente para aplicações de uso geral. Apresentamos novas técnicas que melhoram o Desempenho de cálculos criptografados em poderosas unidades de processamento gráfico (GPUs).

O que é Criptografia Totalmente Homomórfica (FHE)?

FHE é um tipo de criptografia que permite que os usuários trabalhem com seus dados sem abrir mão da privacidade. Os usuários podem criptografar seus dados e enviar para a nuvem, onde podem ser processados sem expor as informações originais. A nuvem realiza cálculos nos dados criptografados e envia os resultados de volta, que podem ser descriptografados pelo usuário.

Esse tipo de criptografia é vital para tarefas como aprendizado de máquina e reconhecimento facial, onde a privacidade é fundamental. No entanto, as versões iniciais da FHE eram lentas e exigiam muita memória, dificultando o uso eficaz.

A Necessidade de Velocidade

Um dos principais desafios com a FHE é que ela pode ser muito lenta. Por exemplo, realizar cálculos básicos em dados criptografados pode demorar um tempão, tornando o processo ineficiente para aplicações do mundo real. Para tornar a FHE prática, precisamos acelerá-la.

Melhorias recentes foram feitas em duas áreas chave: melhores esquemas de FHE e aceleração de hardware. Usando GPUs avançadas, podemos acelerar significativamente os cálculos criptografados.

Usando GPUs para Cálculo Criptografado

As GPUs são ferramentas poderosas para processar grandes quantidades de dados rapidamente. Elas podem realizar muitos cálculos ao mesmo tempo, o que as torna perfeitas para tarefas de FHE, onde muitas operações devem ser feitas em dados criptografados.

Nossa pesquisa mostra que usar GPUs pode levar a melhorias significativas de desempenho para várias aplicações, como redes neurais e tarefas de álgebra linear. Com nossa estrutura inovadora, os desenvolvedores não precisam ter um conhecimento profundo de bibliotecas de FHE; eles podem simplesmente escrever seu código na linguagem de programação C.

Contribuições Principais

  1. Algoritmo Personalizado: Desenvolvemos um algoritmo especializado que converte código de alto nível em programas FHE eficientes e amigáveis para GPUs. Esse processo não só acelera as coisas, mas também reduz o tamanho do circuito necessário para o cálculo.

  2. Metodologia de Agendamento Inovadora: Introduzimos uma nova maneira de agendar tarefas que permite melhor eficiência ao usar múltiplas GPUs. Isso ajuda a distribuir a carga de trabalho e alcançar resultados mais rápidos.

  3. Backend Otimizado: Nosso backend para o sistema criptográfico CGGI foi projetado para avaliação rápida de diferentes algoritmos. Ele supera implementações anteriores, tornando possíveis aplicações criptografadas em larga escala.

Como Funciona Nosso Sistema?

Nosso sistema consiste em três camadas projetadas para trabalhar juntas e tornar o cálculo criptografado mais rápido e eficiente.

  • Frontend: Esta camada converte programas de alto nível em um formato adequado para FHE. Ela simplifica o processo para os usuários, para que não precisem se preocupar com a complexidade subjacente.

  • Camada Intermediária: Esta parte gerencia a distribuição das tarefas entre várias GPUs. Ela divide a carga de trabalho para garantir que todos os dispositivos sejam usados de forma eficiente.

  • Backend: Esta camada se concentra em realizar os cálculos reais. Ela gerencia o pesado trabalho necessário para processar os dados criptografados.

Características do Circuito

Para a FHE ser eficaz, o design dos circuitos que realizam os cálculos é crucial. Otimizar esses circuitos ajuda a acelerar o processamento.

Descobrimos que circuitos com níveis largos e caminhos críticos curtos (a sequência mais longa de operações dependentes) têm um desempenho melhor. Por exemplo, tarefas como multiplicação de matrizes têm características que as tornam ideais para cálculos criptografados rápidos.

Geração Eficiente de Circuitos

Quando convertendo um programa em C para um formato para FHE, usamos duas etapas principais: síntese de alto nível e síntese lógica. Essas etapas ajudam a garantir que o circuito final seja otimizado tanto em velocidade quanto em tamanho.

Empregamos uma ferramenta chamada Google XLS, que gera código rapidamente e descreve de forma eficaz a funcionalidade do circuito. Em seguida, usamos outra ferramenta, o Yosys, para refinar isso ainda mais.

Ao focar no tamanho do circuito e na eficiência das portas, diminuímos o tempo necessário para criar esses circuitos. Por exemplo, conseguimos reduzir o tamanho do circuito para um cálculo de produto escalar em 40%, o que acelera todo o processo.

Processamento Paralelo com GPUs

Um dos nossos principais objetivos é usar ao máximo as capacidades das GPUs. Graças ao alto grau de paralelismo que as GPUs oferecem, podemos executar várias portas ao mesmo tempo.

Desenvolvemos um agendador que permite que nossas aplicações FHE rodem simultaneamente em várias GPUs. Esse agendador garante que as tarefas sejam divididas igualmente entre os dispositivos, maximizando o desempenho.

Gerenciamento de Memória

Uma parte essencial de trabalhar com GPUs é gerenciar a memória de forma eficaz. Usamos estratégias de memória especializadas para otimizar o acesso a dados e a velocidade de processamento. Armazenando certos tipos de dados em memória de acesso rápido, conseguimos reduzir gargalos e melhorar a eficiência geral.

Nossa abordagem inclui o uso de memória de host fixada para armazenar textos cifrados. Essa memória é mais rápida de acessar e nos permite manter as transferências de dados eficientes.

O Papel do Bootstrapping

Um aspecto crítico da FHE é o processo de bootstrapping, que ajuda a manter a integridade dos dados criptografados durante os cálculos. O bootstrapping é necessário para reduzir o ruído – uma parte inevitável ao realizar operações em dados criptografados.

Usando nosso sistema criptográfico CGGI, conseguimos implementar o bootstrapping de uma forma que minimiza seu impacto no desempenho. Isso é fundamental para garantir que os cálculos possam ser realizados sem interrupções ou erros.

Avaliação de Desempenho

Testamos nosso sistema usando vários benchmarks para medir seu desempenho em diferentes cenários.

  • Benchmarks de Álgebra Linear: Tarefas como produtos escalares e multiplicações de matrizes mostraram acelerações significativas ao usar nossa abordagem em GPUs.

  • Inferência de Aprendizado de Máquina: Avaliamos cenários como regressão logística e redes neurais. Nossos resultados indicaram que usar GPUs resultou em tempos de processamento muito mais rápidos em comparação com métodos tradicionais de CPU.

  • Recuperação de Informações Privadas: Exploramos a aplicação da FHE na busca em bancos de dados criptografados. Nosso sistema provou ser eficaz em lidar com consultas de forma precisa e rápida.

Aplicações do Mundo Real

Nossa estrutura tem uma ampla gama de possíveis aplicações. Aqui estão alguns exemplos:

  1. Aprendizado de Máquina que Preserva a Privacidade: Organizações podem usar nosso sistema para conduzir aprendizado de máquina em dados criptografados sem expor informações sensíveis.

  2. Gerenciamento de Dados de Saúde: Proteger registros de pacientes enquanto permite análises é crucial. Nossa abordagem permite operações seguras em informações de saúde sensíveis.

  3. Computação em Nuvem Segura: Ao permitir cálculos em dados criptografados na nuvem, empresas podem reduzir seus riscos enquanto ainda aproveitam os recursos da nuvem.

Conclusão

Nosso trabalho em acelerar a execução criptografada para aplicações de uso geral demonstra avanços significativos no campo da FHE. Ao aproveitar as GPUs e projetar uma estrutura eficiente, melhoramos a velocidade e a praticidade de trabalhar com dados criptografados.

Pesquisas futuras explorarão otimizações adicionais e podem estender nossa estrutura para suportar outros esquemas de criptografia. Com esses esforços contínuos, esperamos aprimorar a usabilidade e o desempenho de soluções de computação seguras.

Fonte original

Título: ArctyrEX : Accelerated Encrypted Execution of General-Purpose Applications

Resumo: Fully Homomorphic Encryption (FHE) is a cryptographic method that guarantees the privacy and security of user data during computation. FHE algorithms can perform unlimited arithmetic computations directly on encrypted data without decrypting it. Thus, even when processed by untrusted systems, confidential data is never exposed. In this work, we develop new techniques for accelerated encrypted execution and demonstrate the significant performance advantages of our approach. Our current focus is the Fully Homomorphic Encryption over the Torus (CGGI) scheme, which is a current state-of-the-art method for evaluating arbitrary functions in the encrypted domain. CGGI represents a computation as a graph of homomorphic logic gates and each individual bit of the plaintext is transformed into a polynomial in the encrypted domain. Arithmetic on such data becomes very expensive: operations on bits become operations on entire polynomials. Therefore, evaluating even relatively simple nonlinear functions, such as a sigmoid, can take thousands of seconds on a single CPU thread. Using our novel framework for end-to-end accelerated encrypted execution called ArctyrEX, developers with no knowledge of complex FHE libraries can simply describe their computation as a C program that is evaluated over $40\times$ faster on an NVIDIA DGX A100 and $6\times$ faster with a single A100 relative to a 256-threaded CPU baseline.

Autores: Charles Gouert, Vinu Joseph, Steven Dalton, Cedric Augonnet, Michael Garland, Nektarios Georgios Tsoutsos

Última atualização: 2023-06-19 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2306.11006

Fonte PDF: https://arxiv.org/pdf/2306.11006

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes