Centro de informações

O que é a criptografia RSA e como ela se compara a outros métodos de criptografia?

O mundo funciona com comunicação. Todos precisam enviar e receber informações. Infelizmente, a digitalização e o fácil acesso à internet tornaram necessário o envio de comunicações privadas, uma vez que nem todos on-line são confiáveis.

A humanidade sempre encontrou maneiras de enviar mensagens ocultas que somente o destinatário pretendido poderia interpretar. Essa forma de comunicação é chamada de criptografia, referindo-se à capacidade de criptografar informações que exigem cifras específicas ou métodos para decodificar.

A criptografia é fundamental para uma sociedade digital funcional e segura. Ele impede o fácil acesso de informações pessoais e confidenciais por agentes mal-intencionados com conexão à internet. Também é uma preocupação significativa, dado que o custo total médio para violações de dados de 50 milhões a 60 milhões de registros atingiu US$ 387 milhões em 2022.

A criptografia RSA é um desses sistemas criptográficos para a descriptografia de mensagens privadas que utiliza um algoritmo de chave pública. Para entender melhor o que é, vamos responder à pergunta: "Qual é a criptografia de dados e o algoritmo de criptografia de chave pública?"

Criptografia de dados explicada

A criptografia de dados ou a decifração envolve disfarçar informações como texto cifrado. O texto cifrado não é inteligente para pessoas não autorizadas. Por outro lado, decifrar ou descriptografar envolve converter o texto cifrado de volta no formato original. A criptografia manual remonta ao Império Romano. No entanto, hoje em dia, a criptografia é um processo fundamental da criptologia e é sinônimo de ocultar informações por meio de métodos eletrônicos.

Os computadores aplicam um algoritmo para criptografar dados. Um algoritmo é um conjunto de instruções ou procedimentos para executar tarefas específicas em blocos de dados. Uma chave é um nome de criptografia pessoal que somente o usuário ou transmissor da mensagem e o receptor pretendido conhecem.

Atualmente, existem dois tipos principais de criptografia:

  • A criptografia simétrica usa a mesma chave para criptografar e descriptografar dados, como o padrão de criptografia avançada (AES, Advanced Encryption Standard)
  • A criptografia assimétrica que também é chamada de criptografia de chave pública, pois exige um par de chaves, uma pública para criptografia e outra privada para descriptografia. O algoritmo Rivest Shamir Adleman é um exemplo comum.

O RSA funciona porque chaves de criptografia selecionadas aleatoriamente com comprimento suficiente são praticamente intransponíveis.

Algoritmo de criptografia de chave pública

Também é chamado de algoritmo assimétrico, no qual o remetente e o destinatário usam chaves diferentes para criptografar e descriptografar dados. O algoritmo assimétrico atribui a cada remetente um par de chaves:

  • Uma chave pública para criptografia
  • Uma chave privada para descriptografar dados

Embora as duas chaves estejam vinculadas, é impossível derivar a chave privada da chave pública ou descriptografar dados usando uma chave pública. Como o nome sugere, a chave pública é bem conhecida, mas as chaves privadas são secretas e estão disponíveis apenas para os usuários que as possuem. Resumidamente, qualquer pessoa pode enviar mensagens ao usuário usando suas chaves públicas, mas somente o destinatário desejado pode decifrar as mensagens usando sua chave privada.

O que é criptografia RSA?

O RSA é o algoritmo de chave pública mais usado no mundo. As iniciais RSA significam Rivest Shamir Adleman, em homenagem ao matemático e dois cientistas da computação que descreveram publicamente o algoritmo em 1977.

Muitos protocolos, como Secure Shell (SSH), SSL-TLS, S/MIME e OpenPGP, contam com criptografia RSA e funções de assinatura digital seguras.

O sistema de criptografia RSA resolveu o que já foi um problema significativo na criptografia: como enviar uma mensagem codificada para alguém sem compartilhar previamente o código com eles.

Digamos que você queira dizer a alguém um segredo. Se eles estiverem bem perto de você, você pode sussurrar. No entanto, se eles estiverem a quilômetros de distância de você, você não poderá. Você precisaria usar o telefone ou anotá-lo e enviá-lo por e-mail. Infelizmente, esses canais de comunicação não são seguros, e qualquer pessoa com motivação suficiente pode interceptar ou bisbilhotar a mensagem.

Uma solução para evitar espionagem é criptografar a mensagem. Isso significa adicionar um código a ele que o transforma em uma bagunça. Se você usar um código suficientemente complexo, somente aqueles com acesso ao código poderão acessar a mensagem original. Caso contrário, ele permanecerá ilegível.

Se você compartilhou o código com seu amigo antecipadamente, você pode enviar mensagens criptografadas a qualquer momento, pois apenas vocês dois têm o código para ler o conteúdo original.

Mas e se você não compartilhou o código de antemão? Como você se comunica com segurança? Esse é um problema fundamental que a criptografia aborda usando esquemas de criptografia de chave pública ou criptografia assimétrica, como o RSA.

A criptografia de RSA permite que os usuários criptografem mensagens com um código chamado chave pública que podem ser compartilhadas abertamente. Devido às propriedades matemáticas específicas do algoritmo RSA, uma vez que um usuário criptografa uma mensagem com uma chave pública, somente uma chave privada pode descriptografá-la. Os usuários têm um par de chaves públicas e privadas e este último são mantidos em segredo.

Os sistemas de criptografia de chave pública diferem das criptografias de chave simétrica, que utilizam a mesma chave tanto para a criptografia quanto para a descriptografia. Portanto, o RSA é útil para se comunicar nos casos em que os usuários não tenham distribuído chaves com segurança antecipadamente.

O uso da criptografia RSA

A criptografia de RSA não é adequada para criptografar arquivos inteiros ou mensagens porque é mais forte em recursos e menos eficiente do que a criptografia de chave simétrica. Portanto, é prática comum usar a criptografia RSA em conjunto com outros sistemas de criptografia ou para criptografar assinaturas digitais, a fim de comprovar a integridade e autenticidade das mensagens.

As assinaturas digitais ajudam a autenticar e verificar arquivos e documentos. Eles evitam adulteração durante a transmissão de documentos oficiais e outros documentos confidenciais e evitam falsificação ou manipulação. No entanto, as assinaturas digitais usam chaves privadas para criptografia e chaves públicas para descriptografia para autenticar a origem da assinatura.

Geralmente, os usuários criptografam um arquivo com um algoritmo de chave assimétrica e utilizam a criptografia RSA para criptografar a chave simétrica. Assim, apenas uma chave privada RSA pode descriptografar a chave simétrica usada e sem ela, não é possível descriptografar a mensagem.

Atualmente, sistemas diferentes usam criptografia RSA, incluindo OpenSSL, criptlib, wolfCrypt e outras bibliotecas criptográficas. O RSA também é amplamente usado em navegadores da Web, chats por e-mail, VPNs e outros canais de comunicação.

Além disso, a RSA garante conexões seguras entre servidores e clientes VPN. Em protocolos como o OpenVPN, os usuários podem usar o algoritmo RSA para realizar as negociações TLS e trocar chaves, estabelecendo assim canais de comunicação seguros.

Como funciona a criptografia RSA

A matemática que oferece suporte à criptografia RSA é bastante complicada de explicar detalhadamente. Existem vários conceitos a serem discutidos antes de mergulhar no algoritmo RSA na criptografia. Por exemplo:

  • Funções de porta de armadilha
  • Gerando números primos
  • Função tociente de Carmichael
  • Gerando chaves públicas e privadas

Funções de porta de armadilha

As equações que são simples de calcular em uma direção e extremamente difíceis na direção inversa são chamadas de funções de porta de armadilha. A premissa subjacente da criptografia RSA é que o algoritmo é relativamente fácil de computar em uma direção e quase impossível de reverter. Por exemplo, se você recebeu 543.111 como um produto de dois números primos, poderia descobrir os dois primos?

Mesmo com uma calculadora, é difícil saber por onde começar, mas inverter as coisas torna as coisas muito mais fáceis porque:

  • 807*673 = 543.111

Ainda assim, dado 543.111 e um número primo, é fácil descobrir o outro da seguinte forma:

  • 543.111/807 = 673

A criptografia RSA usa números significativamente maiores. Por exemplo, no RSA de 2048 bits, as chaves teriam 617 dígitos.

As funções de porta de armadilha são a base para o funcionamento dos esquemas de criptografia de chave pública e privada. Suas propriedades permitem o compartilhamento de chaves públicas sem revelar a chave privada ou ameaçar a mensagem. 

Gerando números primos

Gerar as chaves é o primeiro passo para criptografar dados e o processo utiliza dois números primos (p e q) selecionados com um teste de primalidade. Estes são algoritmos que encontram eficientemente números primos para criptografia, como o teste de primalidade de Ranbin-Miller. Os números primos devem ser grandes e relativamente distantes para que seja mais difícil quebrar as chaves.

Gerando chaves públicas e privadas

As chaves públicas do RSA são números primos e módulo n. Módulo (mod) é uma operação de módulo que significa o restante deixado após dividir um lado ou número pelo outro, como:

  • 10 mod 3 = 1 (3 entra em 10 três vezes com um restante de 1)

A seguinte é a fórmula para gerar a chave pública:

  • C = me mod n

Depois de fazer toda a matemática e aplicar a chave pública (C=me mod n), os dados finais criptografados são o texto cifrado (c).

As chaves privadas são as únicas chaves que os usuários podem usar para decifrar textos cifrados com uma chave pública, e elas devem ser de um par de chaves semelhante. Chaves privadas são feitas de d e n e como já sabemos n, é fácil calcular d usando a fórmula:

  • d = 1/e mod λ (n)

O exemplo do algoritmo RSA acima demonstra que a matemática envolvida na criptografia é complexa e, quando feita corretamente, resulta em uma solução segura.

Benefícios da criptografia RSA

Existem muitas vantagens de usar criptografia RSA, incluindo:

  • Segurança: a criptografia RSA tem um algoritmo seguro que protege a transmissão de dados
  • Criptografia de chave pública: o RSA usa um algoritmo de criptografia de chave pública para segurança. Isso significa que usa duas chaves diferentes para criptografar e descriptografar dados.
  • Troca de chaves: como o algoritmo RSA utiliza duas chaves para criptografia e descriptografia, é possível trocar chaves secretas sem realmente enviar a chave privada pela rede.Ele permite a criptografia e transmissão segura de dados sem enviar chaves de descriptografia com antecedência.
  • Assinaturas digitais: o algoritmo RSA é ideal para assinaturas digitais, pois o remetente pode assinar um documento ou mensagem usando uma chave privada, enquanto o destinatário verifica a assinatura usando uma chave pública.

Desafios da criptografia RSA

O RSA enfrenta alguns desafios que limitam seu uso em alguns casos devido à capacidade dos invasores explorá-los. Por exemplo, ele implementa uma chave longa em seu algoritmo de criptografia. Algoritmos AES são incontestáveis, mas assimétricos como RSA dependem do tamanho de suas chaves para torná-los difíceis de quebrar.

Portanto, as chaves RSA mais longas são mais seguras e difíceis de quebrar do que as mais curtas. Por exemplo, pesquisadores usaram fator prime para quebrar uma chave de criptografia RSA de 768 bits em dois anos.

Isso exigiu recursos significativos, mas o fato de ser possível deve sempre ser considerado em conversas sobre a segurança do sistema criptográfico RSA. Embora os indivíduos possam não ter a capacidade de quebrar essas criptografias, os governos podem fazê-lo porque têm mais recursos à sua disposição.

O NIST recomenda um comprimento mínimo de chave de 2048 bits, mas organizações estão adotando comprimentos de chave de 4096 bits para uma segurança ampliada.

Outras desvantagens do RSA incluem:

  • Velocidade de processamento lenta: o algoritmo RSA tem uma velocidade de processamento lenta em comparação com outros algoritmos de criptografia ao lidar com grandes quantidades de dados. Não é sempre adequado para aplicações que exigem criptografia e descriptografia regulares de grandes volumes de dados.
  • Tamanho de chave grande: a criptografia RSA exige o uso de chaves de tamanho grande para garantir a segurança. Portanto, ele exige mais potência computacional, recursos e armazenamento.
  • Vulnerabilidade a ataques de canal lateral: o algoritmo é vulnerável quando um invasor usa informações vazadas através de canais laterais para extrair informações de chave privada. Esses canais incluem consumo de energia, análise de tempo e radiação eletromagnética. 
  • Geração fraca de chaves: por exemplo, se os dois números primos selecionados estiverem muito próximos ou se um dos números que compõem um dos pares de chaves for muito pequeno, o algoritmo se torna mais fácil de resolver.

Qual é a segurança da criptografia RSA?

Apesar das vulnerabilidades mencionadas, o RSA é atualmente relativamente seguro de ser usado, desde que os usuários o implementem corretamente e utilizem chaves longas e difíceis de serem quebradas. Implementações que não usam números primos de tamanho adequado ou que tenham outras vulnerabilidades não são seguras.

Desde que os usuários estejam cientes das fraquezas e potenciais vulnerabilidades do algoritmo de criptografia RSA, eles podem usá-lo com segurança para compartilhamento de chaves e outras tarefas, como assinaturas digitais que exigem criptografia de chave pública.

A tecnologia futura, como a computação quântica, afetará o algoritmo RSA na criptografia?

A criptografia RSA on-line é segura no momento, mas o advento da computação quântica pode representar desafios no futuro. Os computadores quânticos podem resolver facilmente certos problemas que atualmente consideramos extremamente difíceis. Visto que essa dificuldade é o que torna os sistemas criptográficos seguros, é seguro afirmar que o tamanho atual das chaves RSA se tornará mais vulnerável.

Computadores quânticos resolverão facilmente o problema de fatoração de inteiros. No entanto, esse futuro ainda está longe porque os computadores quânticos ainda estão em desenvolvimento e são usados principalmente em ambientes de pesquisa. Os players do setor de segurança cibernética também estão constantemente procurando melhorar os algoritmos de chave pública para garantir sua segurança em um mundo pós tecnologia quântica.

O OAEP (Optimal Asymmetric Encryption Padding - preenchimento de criptografia assimétrica) agora é o principal preenchimento padrão para criptografia de chave pública RSA. O acréscimo permite a formatação de mensagens antes que sua criptografia atinja níveis mais altos de segurança, excluindo ataques básicos.

Conclusão

A Veritas Technologies é uma empresa de gerenciamento de dados internacional sediada nos EUA. Trabalhamos para resolver seus desafios de gerenciamento de dados e ajudar a proteger dados confidenciais de perigos como cyberattacks, erro humano ou catástrofes naturais.

A Veritas ajuda organizações de todos os portes a superar as complexidades de proteger e gerenciar seus dados críticos. Nosso portfólio de produtos integrados oferece uma experiência unificada de serviços e gerenciamento de dados e proporciona um desempenho e versatilidade incomparáveis da borda à nuvem.

Oferecemos outras soluções de última geração, como o Veritas Backup Exec para pequenas empresas e o Veritas InfoScale para armazenamento de dados e recuperação de desastres. Nossas soluções facilitam a adesão às principais leis de privacidade de dados, como HIPAA, GDPR e CCPA.


Entre os clientes da Veritas estão 95% das empresas da Fortune 100, e o NetBackup™ é a primeira opção para as empresas que desejam proteger grandes quantidades de dados.

Saiba como a Veritas mantém seus dados totalmente protegidos em cargas de trabalho virtuais, físicas, em nuvem e legadas com os serviços de proteção de dados para empresas.

 

Perguntas frequentes

A criptografia consiste em converter dados em texto cifrado, que é um formato aleatório e ilegível que exige uma chave de descriptografia para ser decifrado.

O algoritmo Rivest-Shamir-Adleman (RSA), nomeado em homenagem aos seus desenvolvedores, é uma técnica de criptografia assimétrica que utiliza duas chaves de criptografia diferentes, mas relacionadas (privada e pública). A criptografia de RSA usa chaves opostas para criptografar e descriptografar dados.

O RSA usa duas chaves: privado e público. Uma chave privada RSA gera assinaturas digitais enquanto a chave pública verifica as assinaturas digitais. Além disso, a chave pública RSA também criptografa as chaves de dados AES ou DES, enquanto a chave privada RSA é para recuperação.

A criptografia RSA tem vários usos, incluindo redes virtuais privadas (VPNs), navegadores da Web e serviços de email. Produtos e algoritmos bem conhecidos, como o algoritmo Pretty Good Privacy (PGP), também usam criptografia RSA.

O RSA protege informações confidenciais, como informações financeiras, e protege transações como cartões de crédito. As organizações também usam criptografia RSA para criptografar informações privadas em e-mails e navegadores da Web.

A Veritas Technologies oferece soluções de software para gerenciamento de dados empresariais, ajudando organizações a proteger seus dados críticos para a missão.Ele também oferece proteção de dados, prontidão de conformidade, otimização do armazenamento e serviços de gerenciamento de dados na nuvem.

Sim, eles podem porque a criptografia protege informações privadas e dados confidenciais. Ele também aumenta a segurança da comunicação e das transmissões entre servidores e clientes.