O que é criptografia Rivest-Shamir-Adleman (RSA)?

20 de agosto de 2025

Rivest–Shamir–Adleman (RSA) é um dos primeiros e mais amplamente utilizados algoritmos criptográficos de chave pública.

o que é criptografia rsa

O que é criptografia Rivest-Shamir-Adleman (RSA)?

Rivest–Shamir–Adleman criptografia é uma criptografia assimétrica algoritmo que se baseia na dificuldade matemática de fatorar grandes números primos. Foi introduzido em 1977 por Ron Rivest, Adi Shamir e Leonard Adleman e é considerado um método fundamental para comunicação digital segura. Ao contrário da criptografia simétrica, que usa uma única chave para criptografia e descriptografia, a RSA emprega um par de chaves: uma chave pública que pode ser distribuída livremente e usada para criptografar dados e uma chave privada que é mantido em segredo e usado para descriptografia.

A segurança do RSA baseia-se na aritmética modular e na teoria dos números, especificamente no fato de que, embora seja computacionalmente simples multiplicar dois números primos grandes, é extremamente desafiador reverter o processo e fatorar o grande número resultante. Essa propriedade matemática unidirecional garante que as informações criptografadas não possam ser descriptografadas de forma viável sem a posse da chave privada. O RSA não é usado apenas para criptografar dados, mas também para criar assinaturas digitais, permitindo a verificação da autenticidade e integridade de mensagens ou documentos.

Apesar do desenvolvimento de novas abordagens criptográficas, o RSA continua amplamente utilizado na proteção de comunicações online, redes privadas virtuais, distribuição de software e certificados digitais devido à sua robustez e confiança de longa data em seu modelo de segurança.

Como funciona o Rivest Shamir Adleman?

Rivest–Shamir–Adleman aplica princípios da teoria dos números para gerar um par de chaves e utiliza aritmética modular para criptografia e descriptografia seguras. O processo começa com a seleção de dois números primos grandes, que são multiplicados para criar um módulo que se torna parte das chaves pública e privada. Um expoente público é então escolhido, normalmente um número pequeno como 65537, que é matematicamente compatível com o módulo. O expoente privado é calculado de forma que esteja matematicamente vinculado ao expoente público, mas só pode ser derivado se os números primos originais forem conhecidos.

Quando um remetente deseja criptografar uma mensagem, ele a converte em uma representação numérica e a eleva à potência do expoente público, reduzindo o resultado módulo o módulo compartilhado. Essa transformação produz um texto cifrado que pode ser transmitido com segurança. Para descriptografar a mensagem, o destinatário usa sua chave privada, aplicando o expoente privado à texto criptografado e novamente reduzindo o módulo para o mesmo módulo. Esta operação reverte o processo de criptografia e recupera o texto original.

O mesmo mecanismo pode ser invertido para produzir assinaturas digitais. Nesse caso, o remetente usa a chave privada para criar uma assinatura em uma mensagem, e qualquer pessoa com a chave pública pode verificá-la.

A segurança do RSA depende da inviabilidade computacional de fatorar o grande número composto usado como módulo, garantindo que somente o detentor da chave privada possa executar a operação de descriptografia ou assinatura.

Em que se baseia o algoritmo de Rivest Shamir Adleman?

O algoritmo Rivest-Shamir-Adleman baseia-se na dificuldade matemática de fatorar grandes números compostos em seus fatores primos. Sua segurança se baseia no princípio de que multiplicar dois números primos grandes é computacionalmente fácil, mas reverter o processo, determinando os primos originais a partir de seu produto, é extremamente difícil para valores suficientemente grandes. Esse problema, conhecido como fatoração de inteiros, constitui a base da força criptográfica do RSA.

O RSA também utiliza conceitos da aritmética modular e da função totiente de Euler. Selecionando cuidadosamente dois primos grandes e calculando o módulo e o totiente, o algoritmo cria um par de chaves: a chave pública para cifragem ou verificação e a chave privada para decifragem ou assinatura. Os expoentes público e privado são escolhidos de forma que sejam matematicamente relacionados, mas derivar a chave privada a partir da chave pública requer a resolução do problema de fatoração, que é computacionalmente inviável com os algoritmos e o poder de computação atuais quando o tamanho da chave é suficientemente grande.

Devido a essa dependência da teoria dos números e da dificuldade de fatoração, o RSA permanece seguro desde que o tamanho do módulo seja suficientemente grande, normalmente 2048 pedaços ou superior em implementações modernas.

Exemplo de criptografia RSA

exemplo de criptografia rsa

Aqui está um exemplo simplificado de como a criptografia RSA funciona, usando números pequenos para maior clareza. Na prática, os números usados têm centenas de dígitos para garantir a segurança.

Etapa 1: geração de chaves

  • Escolha dois números primos: p=61p = 61p=61, q=53q = 53q=53.
  • Calcule o módulo: n=p×q=61×53=3233n = p \vezes q = 61 \vezes 53 = 3233n=p×q=61×53=3233.
  • Calcule o tociente de Euler: φ(n)=(p−1)(q−1)=60×52=3120\varphi(n) = (p-1)(q-1) = 60 \times 52 = 3120φ(n)=(p−1)(q−1)=60×52=3120.
  • Escolha um expoente público e=17e = 17e=17 (deve ser coprimo com 3120).
  • Calcule o expoente privado ddd, o inverso modular de eee módulo φ(n)\varphi(n)φ(n).
    Aqui, d=2753d = 2753d=2753, porque (e×d)mod φ(n)=(17×2753)mod 3120=1(e \vezes d) \mod \varphi(n) = (17 \vezes 2753) \mod 3120 = 1(e×d)modφ(n)=(17×2753)mod3120=1.

Chave pública: (e,n)=(17,3233)(e,n) = (17)(e,n)=(3233)
Chave privada: (d,n)=(2753,3233)(d,n) = (2753)(d,n)=(3233)

Etapa 2: criptografia
Suponha que queremos enviar a mensagem "UMA", representado como o número m=65m = 65m=65.

O texto cifrado é calculado como:

c=memod n=6517mod 3233=2790c = m^e \mod n = 65^{17} \mod 3233 = 2790c=memodn=6517mod3233=2790

Então a mensagem criptografada é 2790.

Etapa 3: descriptografia
O receptor usa a chave privada para descriptografar:

m=cdmod n=27902753mod 3233=65m = c^d \mod n = 2790^{2753} \mod 3233 = 65m=cdmodn=27902753mod3233=65

O resultado decifrado é 65, que corresponde à mensagem original "UMA".

Este exemplo mostra o ciclo completo do RSA: geração de chaves, criptografia e descriptografia. No uso real, números primos muito maiores são usados (2048 bits ou mais) para impedir que invasores fatorem nnn.

Para que é usado o RSA?

O RSA é usado como um método criptográfico central para fornecer confidencialidade, integridade e autenticidade em comunicações digitais.

O RSA é usado principalmente para segurança transmissão de dados, onde informações sensíveis são criptografadas com uma chave pública e só podem ser descriptografadas com a chave privada correspondente. Também é amplamente utilizado em assinaturas digitais, permitindo que o remetente comprove sua identidade e garanta que a mensagem não foi alterada.

O RSA sustenta muitos protocolos de segurança, incluindo SSL / TLS para navegação segura na web, SSH para conexões remotas seguras e IPsec para VPNs. Também é essencial em certificados digitais e infraestruturas de chave pública (PKI), onde ajuda a estabelecer confiança entre as partes na Internet, verificando identidades por meio de autoridades de certificação.

Além disso, o RSA é usado em padrões de criptografia de e-mail, como PGP e S/MIME, na distribuição de software para verificar a autenticidade de atualizações e em trocas de chaves criptográficas para estabelecer com segurança chaves simétricas para métodos de criptografia mais rápidos.

Embora algoritmos mais recentes, como a criptografia de curva elíptica (ECC), sejam cada vez mais adotados para maior eficiência, o RSA continua sendo amplamente utilizado devido à sua confiabilidade, modelo de segurança comprovado e longo histórico de implantação.

As vantagens e desvantagens da criptografia RSA

A criptografia RSA tem sido um pilar da criptografia moderna há décadas, oferecendo segurança robusta por meio de mecanismos de chave pública. No entanto, como qualquer tecnologia, ela apresenta pontos fortes e limitações que afetam sua eficiência. escalabilidadee uso prático. Compreender as vantagens e desvantagens do RSA ajuda a determinar quando e como ele deve ser aplicado em sistemas do mundo real.

Quais são as vantagens da criptografia RSA?

A criptografia RSA oferece diversos benefícios importantes que a tornaram um dos sistemas criptográficos de chave pública mais amplamente adotados. Seus pontos fortes residem na segurança, confiança e versatilidade, o que explica sua relevância contínua na proteção de comunicações e transações digitais. Abaixo, as principais vantagens:

  • Modelo de segurança forteO RSA baseia-se na dificuldade matemática de fatorar grandes números compostos. Com tamanhos de chave suficientemente grandes (2048 bits ou mais), ele fornece um alto nível de segurança resistente a ataques de força bruta com as capacidades de computação atuais.
  • Compatibilidade de infraestrutura de chave públicaO RSA funciona perfeitamente com sistemas PKI, permitindo autenticação segura e validação de certificados digitais. Isso o torna a espinha dorsal do SSL/TLS, assinaturas digitais e autoridades certificadoras que impulsionam a comunicação segura na internet.
  • Não há necessidade de compartilhar chaves secretasAo contrário da criptografia simétrica, a RSA não exige que ambas as partes troquem uma chave privada previamente. A chave pública pode ser compartilhada abertamente, reduzindo os riscos associados à distribuição de chaves secretas por canais inseguros.
  • Suporte para criptografia e assinaturas digitais. O RSA é versátil, pode criptografar mensagens para proteger a confidencialidade e gerar assinaturas digitais para garantir autenticidade e integridade, servindo funções criptográficas duplas em um único algoritmo.
  • Ampla adoção e confiabilidade comprovadaCom décadas de uso no mundo real, o RSA foi extensivamente analisado, testado e padronizado. Seu longo histórico inspira confiança e garante compatibilidade em uma ampla gama de plataformas. inscrições, e protocolos.

Quais são as desvantagens da criptografia RSA?

Embora o RSA seja um método de criptografia amplamente confiável e comprovado, ele também apresenta diversas desvantagens que limitam sua eficiência e escalabilidade em determinadas aplicações. Essas desvantagens decorrem principalmente de sua dependência de chaves de tamanho grande e da complexidade computacional de suas operações.

  • Desempenho lentoO RSA é significativamente mais lento do que algoritmos de criptografia simétrica como o AES. Criptografar e descriptografar grandes volumes de dados com RSA é computacionalmente caro, razão pela qual ele costuma ser usado apenas para troca de chaves, em vez de criptografar dados em massa.
  • Tamanhos de chave grandesPara manter a segurança contra o poder da computação moderna, o RSA requer chaves muito grandes (2048 bits ou mais). Chaves maiores aumentam o tempo de processamento e o consumo de recursos, tornando o RSA menos eficiente em comparação com algoritmos mais recentes, como a criptografia de curva elíptica (ECC).
  • Alto custo computacionalAs operações de exponenciação modular usadas no RSA são matematicamente intensivas. Isso resulta em alta CPU uso e velocidades de processamento mais lentas, o que pode ser problemático em ambientes com recursos de computação limitados.
  • Vulnerabilidade a Computação quânticaA segurança do RSA se baseia na dificuldade de fatorar números inteiros grandes, mas algoritmos quânticos como o de Shor poderiam quebrá-lo com eficiência em computadores quânticos suficientemente potentes. Isso torna o RSA menos à prova de futuro em comparação com métodos criptográficos pós-quânticos.
  • Gerenciamento de chave de logísticaGerar, distribuir e armazenar chaves RSA grandes com segurança é complexo. Se as chaves privadas forem comprometidas, todas as comunicações criptografadas e assinaturas digitais que dependem desse par de chaves estarão em risco.

Perguntas frequentes sobre criptografia RSA

perguntas frequentes sobre rsa

Aqui estão as respostas para as perguntas mais frequentes sobre criptografia RSA.

Quantos dados o RSA pode criptografar?

O RSA só pode criptografar uma quantidade limitada de dados diretamente, e esse limite é determinado pelo tamanho da chave e pelo esquema de preenchimento utilizado. Especificamente, o comprimento máximo da mensagem que pode ser criptografada com RSA é ligeiramente menor que o tamanho da chave em bytes.

Por exemplo:

  • Com uma conta na Chave de 1024 bits (128 bytes), o tamanho máximo do texto simples é de cerca de 117 bytes ao usar o preenchimento PKCS#1 v1.5.
  • Com uma conta na Chave de 2048 bits (256 bytes), o tamanho máximo do texto simples é de cerca de 245 bytes.
  • Com uma conta na Chave de 4096 bits (512 bytes), o tamanho máximo do texto simples é de cerca de 501 bytes.

A criptografia RSA é segura?

A criptografia RSA é considerada segura quando implementada corretamente com tamanhos de chave suficientemente grandes e esquemas de preenchimento seguros. Sua segurança se baseia na dificuldade matemática de fatorar grandes números compostos, um problema computacionalmente inviável em computadores clássicos quando o módulo é de pelo menos 2048 bits. Recomendações modernas sugerem o uso de Chaves de 2048 bits no mínimo e 3072-4096 bits para segurança a longo prazo.

No entanto, a segurança do RSA depende de vários fatores. O uso de chaves desatualizadas ou pequenas (como chaves de 512 ou 1024 bits) torna o sistema vulnerável a ataques de fatoração, visto que avanços no poder computacional e nos algoritmos tornaram possível a quebra de chaves menores. Esquemas de preenchimento inadequados, como RSA bruto sem PKCS#1 ou OAEP, também podem expor implementações a ataques de texto cifrado escolhido.

Na prática, vulnerabilidades muitas vezes não surgem do algoritmo RSA em si, mas de implementações fracas, geração de números aleatórios deficiente e falha em seguir as melhores gerenciamento de chaves práticas.

Qual é a diferença entre AES e RSA?

Aqui está uma comparação clara entre AES e RSA:

CaracterísticaAES (Padrão Avançado de Criptografia)RSA (Rivest-Shamir-Adleman)
FormatoCriptografia simétrica (mesma chave para criptografia e descriptografia).Criptografia assimétrica (par de chaves pública/privada).
Tamanhos de chave128, 192 ou 256 bits.Normalmente 1024, 2048 ou 4096 bits (muito maior).
VelocidadeMuito rápido, adequado para criptografar grandes quantidades de dados.Muito mais lento, adequado apenas para pequenos dados ou troca de chaves.
Base de segurançaRede de substituição-permutação, resistente à força bruta quando as chaves são grandes.Dificuldade matemática de fatorar grandes números primos.
Limite de tamanho de dadosPode criptografar dados de comprimento arbitrário com eficiência.Só é possível criptografar blocos pequenos (limitados ao tamanho da chave menos o preenchimento).
Os casos de usoCriptografia de dados em massa, VPNs, criptografia de disco, comunicações seguras.Troca segura de chaves, assinaturas digitais, certificados, autenticação.
Sobrecarga de desempenhoBaixo, eficiente em Hardwares e software.Alto, requer computação pesada (exponenciação modular).
Ameaças futurasResistente a ataques quânticos se o tamanho da chave for suficiente (o algoritmo de Grover reduz pela metade o comprimento efetivo da chave).Vulnerável a ataques quânticos (o algoritmo de Shor pode quebrar o RSA com eficiência).

Anastasia
Spasojevic
Anastazija é uma redatora de conteúdo experiente, com conhecimento e paixão por cloud computação, tecnologia da informação e segurança online. No phoenixNAP, ela se concentra em responder a questões candentes sobre como garantir a robustez e a segurança dos dados para todos os participantes do cenário digital.