Criptografia RSA

Criptografia RSA , em criptografia completa Rivest-Shamir-Adleman , tipo de criptografia de chave pública amplamente usada para criptografia de dados de e-mail e outras transações digitais pela Internet. RSA recebeu o nome de seus inventores, Ronald L. Rivest, Adi Shamir e Leonard M. Adleman, que o criaram enquanto fazia parte do corpo docente do Massachusetts Institute of Technology.

A tabela de Vigenère Na criptografia de texto simples, a letra da cifra é encontrada na interseção da coluna encabeçada pela letra do texto simples e a linha indexada pela letra da chave. Para descriptografar o texto cifrado, a letra do texto simples é encontrada no topo da coluna determinada pela intersecção da diagonal que contém a letra da cifra e a linha que contém a letra da chave.Leia mais sobre este tópico criptologia: criptografia RSA O esquema de chave pública mais conhecido é o criptoalgoritmo Rivest – Shamir – Adleman (RSA). Neste sistema, um usuário escolhe secretamente um par de primos ...

No sistema RSA um utilizador escolhe secretamente um par de números primos p e q de modo grande que factoring o produto n = p q é bem além das capacidades de computação projectados para o tempo de vida das cifras. A partir de 2000, os padrões de segurança do governo dos Estados Unidos exigem que o módulo tenha 1.024 bits de tamanho - ou seja, p e q cada um deve ter cerca de 155 dígitos decimais de tamanho, então né aproximadamente um número de 310 dígitos. Uma vez que os maiores números rígidos que podem ser fatorados atualmente têm apenas metade desse tamanho, e uma vez que a dificuldade de fatorar aproximadamente dobra para cada três dígitos adicionais no módulo, acredita-se que os módulos de 310 dígitos estejam protegidos da fatoração por várias décadas.

Tendo escolhido p e q , o usuário seleciona um inteiro arbitrário e menor que n e relativamente primo para p - 1 e q - 1, ou seja, de modo que 1 é o único fator em comum entre e e o produto ( p - 1) ( q - 1). Isso garante que haja outro número d para o qual o produto e d deixará um resto de 1 quando dividido pelo mínimo múltiplo comum de p - 1 e q - 1. Com o conhecimento de p e q , o número dpode ser facilmente calculado usando o algoritmo Euclidiano. Se a pessoa não sabe p e q , é igualmente difícil encontrar qualquer e ou d dada a outros como o factor n , que é a base para a cryptosecurity do algoritmo RSA.

Os rótulos d e e serão usados ​​para denotar a função à qual uma tecla é colocada, mas como as teclas são completamente intercambiáveis, isso é apenas uma conveniência para exposição. Para implementar um canal de sigilo usando a versão de duas chaves padrão do sistema de criptografia RSA, o usuário Um iria publicar e e n em um diretório público autenticado mas manter d segredo. Qualquer pessoa que deseje enviar uma mensagem privada para A irá codificá-la em números menores que ne, em seguida, criptografá-la usando uma fórmula especial baseada em e e n . Um pode descriptografar essa mensagem com base no conhecimento de d, mas a presunção - e evidência até agora - é que para quase todas as cifras ninguém mais pode decifrar a mensagem a menos que ele também possa fatorar n .

Da mesma forma, para implementar um canal de autenticação, A publicaria d e n e manteria e em segredo. No uso mais simples deste canal para verificação de identidade, B pode verificar se ele está em comunicação com um olhando no diretório para encontrar um ‘s chave de decodificação d e enviando-lhe uma mensagem a ser encriptada. Se ele receber de volta uma cifra que decifra para sua mensagem de desafio usando d para decifrá-la, ele saberá que foi provavelmente criada por alguém que conhece e e, portanto, que o outro comunicante é provavelmente A. A assinatura digital de uma mensagem é uma operação mais complexa e requer uma função de “hashing” de criptografia. Esta é uma função conhecida publicamente que mapeia qualquer mensagem em uma mensagem menor - chamada de resumo - em que cada bit do resumo é dependente de cada bit da mensagem de tal forma que a mudança mesmo de um bit na mensagem pode mudar , de forma cripto-segura, metade dos bits no resumo. Por criptoseguro significa que é computacionalmente inviável para qualquer pessoa encontrar uma mensagem que irá produzir um resumo pré-atribuído e igualmente difícil encontrar outra mensagem com o mesmo resumo que uma conhecida. Para assinar uma mensagem - que pode nem precisar ser mantida em segredo - A criptografa o resumo com o segredo e, que ele anexa à mensagem. Qualquer pessoa pode então descriptografar a mensagem usando a chave pública d para recuperar o resumo, que também pode computar independentemente da mensagem. Se os dois concordarem, ele deve concluir que A originou a cifra, uma vez que apenas A conhecia e e, portanto, poderia ter criptografado a mensagem.

Até agora, todos os criptossistemas de duas chaves propostos cobram um preço muito alto pela separação do canal de privacidade ou sigilo do canal de autenticação ou assinatura. O grande aumento da quantidade de computação envolvida no processo de criptografia / descriptografia assimétrica corta significativamente a capacidade do canal (bits por segundo de informação de mensagem comunicada). Por cerca de 20 anos, para sistemas comparativamente seguros, foi possível alcançar um rendimento de 1.000 a 10.000 vezes maior para algoritmos de chave única do que para algoritmos de duas chaves. Como resultado, a principal aplicação da criptografia de duas chaves é em sistemas híbridos. Em tal sistema, um algoritmo de duas chaves é usado para autenticação e assinaturas digitais ou para trocar uma chave de sessão gerada aleatoriamente para ser usada com um algoritmo de chave única em alta velocidade para a comunicação principal.No final da sessão, essa chave é descartada.