girino on Nostr: mas PGP "clássico" usando RSA é relativamente simples. (obs: a operação "mod" é ...
mas PGP "clássico" usando RSA é relativamente simples. (obs: a operação "mod" é a operação de "resto da divisão", que algumas linguagens implementam com o simbolo "%", e o simbolo "^" é o simbolo de "elevado à", porque não tem como escrever letrinha no alto aqui no nostr)
1- escolha dois numeros primos "p" e "q",
2- multiplica q*p e chama de "n" (n = p*q).
3- calcule ϕ(n) = (p-1)*(q-1).
4- procure um numero aleatório que não seja múltiplo nem de p-1, nem de q-1, e chama de "e".
5- Por ultimo vc acha um numéro "d" que se multiplicado por "d", o resto da divisão por ϕ(n) dê 1 -> [d*e == 1 (mod ϕ(n))].
agora sua chave pública é (e, n)
e sua chave privada é: (d, n) (na verdade vc guarda "p", "q" e "e", e recalcula "n" e "d" quando precisar)
pra criptografar vc "eleva" os bytes do seu texto por "e" e pega o resto da divisão por "n":
C = (T ^ e) (mod n)
pra decifrar vc eleva por d e pega o resto da divisão por n:
T = (C ^ d) (mod n)
1- escolha dois numeros primos "p" e "q",
2- multiplica q*p e chama de "n" (n = p*q).
3- calcule ϕ(n) = (p-1)*(q-1).
4- procure um numero aleatório que não seja múltiplo nem de p-1, nem de q-1, e chama de "e".
5- Por ultimo vc acha um numéro "d" que se multiplicado por "d", o resto da divisão por ϕ(n) dê 1 -> [d*e == 1 (mod ϕ(n))].
agora sua chave pública é (e, n)
e sua chave privada é: (d, n) (na verdade vc guarda "p", "q" e "e", e recalcula "n" e "d" quando precisar)
pra criptografar vc "eleva" os bytes do seu texto por "e" e pega o resto da divisão por "n":
C = (T ^ e) (mod n)
pra decifrar vc eleva por d e pega o resto da divisão por n:
T = (C ^ d) (mod n)