Algoritmo de geração de chaves na criptografia RSA
Geração da chave pública
-
Escolha de dois números primos: Escolha dois números primos distintos, geralmente denotados como
e . Por exemplo, e . Esses números devem ser mantidos em segredo. -
Cálculo do módulo
: Calcule o produto dos dois números primos: . No nosso exemplo, . O valor de é público e faz parte da chave pública. -
Cálculo da função totiente de Euller (
): Calcule a função totiente de , denotada como . A função totiente de um número é o número de inteiros positivos menores do que e coprimos com (ou seja, números que não têm fatores em comum com , exceto 1). Para números primos, . No exemplo,
. -
Escolha do expoente público (
): Escolha um número inteiro que satisfaça . É comum escolher um número pequeno e primo para , como 1091, pois isso acelera os cálculos e é seguro. Verifique se e são coprimos (ou seja, seu maior divisor comum é 1). No exemplo, escolhemos
, que é primo, e e são coprimos. -
Chave pública: A chave pública é composta pelo par
. Essa chave é publicamente conhecida e usada para criptografar mensagens. -
Codificação: Utilize a chave pública
para fazer a codificação de um bloco numérico . $$ W = T^E \text{ mod } n
W = T^E \text{ mod } n = 23^{1091} \text{ mod } 3233 = 3210
Agora, para criptografar uma mensagem, alguém usa a chave pública