A segurança da RSA criptografia depende da dificuldade de fatorar grandes números. Aqui está um detalhamento de como sua operação e uso garantem a segurança:
1. Geração de chave: *
Dois grandes números primos (P e Q) são selecionados: Estes são mantidos em segredo.
*
módulo (n) é calculado: n =p * q. Este é o componente da chave pública e é tornada pública.
*
A função totient de Euler (φ (n)) é calculada: φ (n) =(P-1) (Q-1). Isso representa o número de números inteiros menos que N que são relativamente primos para n. É mantido em segredo.
*
expoente público (e) é escolhido: Este é um pequeno número relativamente primitivo para φ (n) (o que significa que seu maior divisor comum é 1). É tornado público como parte da chave pública.
*
expoente privado (d) é calculado: Este é o inverso multiplicativo do e Modulo φ (n). Em outras palavras, d * e ≡ 1 (mod φ (n)). Isso é mantido em segredo e forma a chave privada.
2. Criptografia: * O remetente usa a chave pública * (n, e) do destinatário para criptografar a mensagem (texto simples, m).
* O CipherText (C) é calculado como:c ≡ m
e
(mod n)
3. Decripção: * O destinatário usa sua * chave privada * (d) para descriptografar o texto cipher (c).
* A mensagem original (m) é recuperada como:m ≡ c
d
(mod n)
Por que isso é seguro? *
Dificuldade computacional de fatoração: A segurança depende do fato de ser computacionalmente inviável levar em consideração o grande módulo (n) em seus fatores primos (p e q) em um período razoável de tempo, mesmo com computadores poderosos. Se um invasor puder levar a N, ele poderá calcular φ (n) e subsequentemente derivar a chave privada (d). O tamanho de n (geralmente 2048 bits ou mais) torna a fatoração praticamente impossível.
*
Natureza assimétrica: A RSA usa um sistema de chave assimétrica. A chave pública pode ser amplamente distribuída sem comprometer a segurança da chave privada. Isso permite que qualquer pessoa criptografa mensagens para um destinatário, mas apenas o destinatário da chave privada pode descriptografá -las.
*
Propriedades matemáticas: As propriedades matemáticas da aritmética modular e do teorema de Euler garantem que o processo de descriptografia recuperará corretamente a mensagem original.
Garantir a segurança na prática: *
Gerenciamento de chave: A geração segura e o armazenamento de chaves privadas são fundamentais. As chaves privadas comprometidas negam completamente a segurança.
*
Comprimento da chave: O uso de tamanhos de chave suficientemente grandes (por exemplo, 2048 bits ou mais) é crucial para resistir a ataques de fatoração.
*
esquemas de preenchimento: As implementações modernas da RSA usam esquemas de preenchimento (como o OAEP) para mitigar vários ataques, incluindo ataques escolhidos por cifra. Esses esquemas adicionam aleatoriedade à mensagem antes da criptografia, dificultando a exploração de vulnerabilidades no algoritmo RSA básico.
*
Implementação do protocolo: A RSA é frequentemente usada em protocolos criptográficos maiores (como TLS/SSL para comunicação da Web segura) que abordam outros aspectos da segurança, como autenticação e integridade.
Em resumo, a segurança da RSA repousa sobre a dificuldade computacional de fatorar grandes números e o uso de chaves assimétricas. No entanto, o gerenciamento de chaves adequado, comprimentos de chave suficientes e o uso de esquemas de preenchimento seguro são essenciais para sua implementação eficaz e segura.