algoritmo RSA é algoritmo de criptografia assimétrica. Assimétrica significa que funciona com duas chaves diferentes, chave pública e chave privada. Como o nome descreve, a chave pública é dada a todos e a chave privada é mantida privada.

Um exemplo de criptografia assimétrica :

  1. Um cliente (por exemplo navegador) envia sua chave pública para o servidor e pedidos de alguns dados.
  2. o servidor criptografa os dados usando a chave pública do cliente e envia os dados criptografados.
  3. O cliente recebe estes dados e descriptografa-os.,

Uma vez que isto é assimétrico, mais ninguém, exceto o navegador, pode descriptografar os dados, mesmo que um terceiro tenha a chave pública do navegador.a ideia! A idéia de RSA é baseada no fato de que é difícil factorizar um grande número inteiro. A chave pública consiste em dois números onde um número é a multiplicação de dois grandes números primos. E a chave privada também é derivada dos mesmos dois números primos. Então, se alguém pode factorizar o número grande, a chave privada está comprometida., Portanto, a força de criptografia está totalmente no tamanho da chave e se dobramos ou triplicamos o tamanho da chave, a força da criptografia aumenta exponencialmente. As chaves RSA podem ter normalmente 1024 ou 2048 bits de comprimento, mas os especialistas acreditam que as chaves de 1024 bits podem ser quebradas num futuro próximo. Mas até agora parece ser uma tarefa impossível.

Vamos aprender o mecanismo por trás algoritmo RSA :

    >> Geração de Chave Pública :

  • Seleccione dois primeiros-não. Suponha que P = 53 e P = 59.,Agora primeira parte da chave pública: n = P * Q = 3127.
  • a Nossa Chave Pública é feita de n e e
  • >> Geração de Chave Privada :

    
    
  • precisamos calcular Φ(n) Tal que Φ(n) = (P-1)(Q-1) assim, Φ(n) = 3016
  • Agora calcular a Chave Privada d : d = (k*Φ(n) + 1) / e para algum inteiro kFor k = 2, o valor de d é de 2011.,
  • Agora estamos prontos com a nossa Chave Pública ( n = 3127 e e = 3) e a Chave Privada(d = 2011)

    Agora vamos criptografar “OI” :

    
    
  • Converter as letras em números : H = 8 e I = 9
  • Assim, os Dados Criptografados c = 89e mod n. Assim, nossos Dados Criptografados vem a ser 1394
  • Agora vamos descriptografar 1394 :

  • Dados Descriptografados = cd mod n. Assim, nossos Dados Criptografados vem a ser 89
  • 8 = H e I = 9 por exemplo, “OI”.,

    Abaixo é C implementação do algoritmo RSA para pequenos valores de:

    
    

    
    

    Saída :

    Message data = 12.000000Encrypted data = 3.000000Original Message Sent = 12.000000

    Este artigo é uma contribuição de Mohit Gupta_OMG 🙂. Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando contribute.geeksforgeeks.org ou e-mail o seu artigo para [email protected]. Ver seu artigo publicado no GeeksforGeeks página principal e ajudar outros Geeks.