O algoritmo de criptografia RSA é um tipo de algoritmo de criptografia de chave pública. Para entender melhor o RSA, vamos primeiro entender o que é algoritmo de criptografia de chave pública.
Algoritmo de criptografia de chave pública:
O algoritmo de criptografia de chave pública também é chamado de algoritmo assimétrico. Algoritmos assimétricos são aqueles algoritmos nos quais o remetente e o destinatário usam chaves diferentes para criptografar e descriptografar. Cada remetente recebe um par de chaves:
O Chave pública é usado para criptografia e o Chave privada é usado para descriptografia. A descriptografia não pode ser feita usando uma chave pública. As duas chaves estão vinculadas, mas a chave privada não pode ser derivada da chave pública. A chave pública é bem conhecida, mas a chave privada é secreta e conhecida apenas pelo usuário que possui a chave. Isso significa que todos podem enviar uma mensagem ao usuário usando a chave pública do usuário. Mas somente o usuário pode descriptografar a mensagem usando sua chave privada.
O algoritmo de chave pública opera da seguinte maneira:
- Os dados a serem enviados são criptografados pelo remetente A usando a chave pública do destinatário pretendido
- B descriptografa o texto cifrado recebido usando sua chave privada, que é conhecida apenas por B. B responde a A criptografando sua mensagem usando a chave pública de A.
- A descriptografa o texto cifrado recebido usando sua chave privada, que só ele conhece.
Algoritmo de criptografia RSA:
RSA é o algoritmo de chave pública mais comum, em homenagem a seus inventores Rivest, Shamir e Adelman (RSA).
O algoritmo RSA usa o seguinte procedimento para gerar chaves públicas e privadas:
- Selecione dois números primos grandes, p e q .
- Multiplique esses números para encontrar n = p x q, onde n é chamado de módulo de criptografia e descriptografia.
- Escolha um número e menor que n , tal que n é relativamente primo para (p - 1) x (q -1). Significa que e e (p - 1) x (q - 1) não têm fator comum exceto 1. Escolha 'e' tal que 1
mdc (e,d(n)) =1 - Se n = p x q, então a chave pública é . Uma mensagem de texto simples eu é criptografado usando chave pública. Para encontrar o texto cifrado a partir do texto simples, a seguinte fórmula é usada para obter o texto cifrado C.
C=mecontra n
Aqui , eu deve ser menor que n . Uma mensagem maior (>n) é tratada como uma concatenação de mensagens, cada uma delas criptografada separadamente. - Para determinar a chave privada, usamos a seguinte fórmula para calcular d tal que:
Demod {(p - 1) x (q - 1)} = 1
Ou
Demod φ (n) = 1 - A chave privada é . Uma mensagem de texto cifrado c é descriptografado usando chave privada. Para calcular texto simples eu do texto cifrado c a seguinte fórmula é usada para obter o texto simples m.
m = cdcontra n
Vejamos alguns exemplos de algoritmo de criptografia RSA:
Exemplo 1:
Este exemplo mostra como podemos criptografar texto simples 9 usando o algoritmo de criptografia de chave pública RSA. Este exemplo usa os números primos 7 e 11 para gerar as chaves pública e privada.
Explicação:
Passo 1: Selecione dois números primos grandes, p, e q .
p = 7
q = 11
Passo 2: Multiplique esses números para encontrar n = p x q, onde n é chamado de módulo de criptografia e descriptografia.
Primeiro, calculamos
n = p x q
n = 7 x 11
n = 77
Etapa 3: Escolha um número e menos aquilo n , tal que n é relativamente primo para (p - 1) x (q -1). Significa que e e (p - 1) x (q - 1) não têm fator comum exceto 1. Escolha 'e' tal que 1 Em segundo lugar, calculamos φ (n) = (p - 1) x (q-1) φ (n) = (7 - 1) x (11 - 1) φ (n) = 6 x 10 φ (n) = 60 Vamos agora escolher o primo relativo e de 60 como 7. Assim, a chave pública é = (7, 77) Passo 4: Uma mensagem de texto simples eu é criptografado usando chave pública. Para encontrar o texto cifrado a partir do texto simples, a seguinte fórmula é usada para obter o texto cifrado C. Para encontrar o texto cifrado a partir do texto simples, a seguinte fórmula é usada para obter o texto cifrado C. C=mecontra n C = 97contra 77 C = 37 Etapa 5: A chave privada é . Para determinar a chave privada, usamos a seguinte fórmula d tal que: Demod {(p - 1) x (q - 1)} = 1 7d mod 60 = 1, o que dá d = 43 A chave privada é = (43, 77) Etapa 6: Uma mensagem de texto cifrado c é descriptografado usando chave privada. Para calcular texto simples eu do texto cifrado c a seguinte fórmula é usada para obter o texto simples m. m = cdcontra n m = 3743contra 77 m = 9 Neste exemplo, texto simples = 9 e texto cifrado = 37 Num criptossistema RSA, um determinado A utiliza dois números primos, 13 e 17, para gerar as chaves pública e privada. Se o público de A for 35. Então a chave privada de A é ……………?. Explicação: Passo 1: na primeira etapa, selecione dois números primos grandes, p e q . p = 13 q = 17 Passo 2: Multiplique esses números para encontrar n = p x q, onde n é chamado de módulo de criptografia e descriptografia. Primeiro, calculamos n = p x q n = 13 x 17 n = 221 Etapa 3: Escolha um número e menos aquilo n , tal que n é relativamente primo para (p - 1) x (q -1). Significa que e e (p - 1) x (q - 1) não têm fator comum exceto 1. Escolha 'e' tal que 1 Em segundo lugar, calculamos φ (n) = (p - 1) x (q-1) φ (n) = (13 - 1) x (17 - 1) φ (n) = 12 x 16 φ (n) = 192 mdc (35, 192) = 1 Etapa 3: Para determinar a chave privada, usamos a seguinte fórmula para calcular d tal que: Calcular d = demod φ (n) = 1 d = d x 35 módulo 192 = 1 d = (1 + k.φ (n))/e [seja k = 0, 1, 2, 3 ………………] Coloque k = 0 d = (1 + 0 x 192)/35 d = 1/35 Coloque k = 1 d = (1 + 1 x 192)/35 d = 193/35 Coloque k = 2 d = (1 + 2 x 192)/35 d = 385/35 d = 11 A chave privada é = (11, 221) Portanto, chave privada, ou seja, d = 11 Um criptossistema RSA usa dois números primos 3 e 13 para gerar a chave pública = 3 e a chave privada = 7. Qual é o valor do texto cifrado para um texto simples? Explicação: Passo 1: Na primeira etapa, selecione dois números primos grandes, p e q . p = 3 q = 13 Passo 2: Multiplique esses números para encontrar n = p x q, onde n é chamado de módulo de criptografia e descriptografia. Primeiro, calculamos n = p x q n = 3 x 13 n = 39 Etapa 3: Se n = p x q, então a chave pública é . Uma mensagem de texto simples eu é criptografado usando chave pública. Assim, a chave pública é = (3, 39). Para encontrar o texto cifrado a partir do texto simples, a seguinte fórmula é usada para obter o texto cifrado C. C=mecontra n C = 53rumo aos 39 C = 125 vs. C = 8 Portanto, o texto cifrado gerado a partir de texto simples, C = 8. Um sistema criptográfico RSA usa dois números primos, 3 e 11, para gerar a chave privada = 7. Qual é o valor do texto cifrado para um texto simples 5 usando o algoritmo de criptografia de chave pública RSA? Explicação: Passo 1: na primeira etapa, selecione dois números primos grandes, p e q . p = 3 q = 11 Passo 2: Multiplique esses números para encontrar n = p x q, onde n é chamado de módulo de criptografia e descriptografia. Primeiro, calculamos n = p x q n = 3 x 11 n = 33 Etapa 3: Escolha um número e menos aquilo n , tal que n é relativamente primo para (p - 1) x (q -1). Significa que e e (p - 1) x (q - 1) não têm fator comum exceto 1. Escolha 'e' tal que 1 Em segundo lugar, calculamos φ (n) = (p - 1) x (q-1) φ (n) = (3 - 1) x (11 - 1) φ (n) = 2 x 10 φ (n) = 20 Passo 4: Para determinar a chave pública, usamos a seguinte fórmula para calcular d tal que: Calcule e x d = 1 mod φ (n) e x 7 = 1 contra 20 e x 7 = 1 contra 20 e = (1 + k. φ (n))/ d [seja k = 0, 1, 2, 3 ………………] Coloque k = 0 e = (1 + 0 x 20) / 7 e = 1/7 Coloque k = 1 e = (1 + 1 x 20) / 7 e = 21/7 e = 3 A chave pública é = (3, 33) Portanto, chave pública, ou seja, e = 3 Exemplo 2:
string em java
Exemplo 3:
Exemplo 4: