logo

Algoritmo de criptografia RSA

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:

    Chave pública Chave privada

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:

Algoritmo de criptografia RSA
  • 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).

Algoritmo de criptografia 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

Exemplo 2:

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

string em java

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

Exemplo 3:

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.

Exemplo 4:

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