girinovey 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)
Published at
2024-11-13 17:42:13Event JSON
{
"id": "b6a59c3fc52307551840586a8092f44f0798005d4908c409a2a7c5f7b4dc43d1",
"pubkey": "3ffac3a6c859eaaa8cdddb2c7002a6e10b33efeb92d025b14ead6f8a2d656657",
"created_at": 1731519733,
"kind": 1,
"tags": [
[
"e",
"a232f748a94d655e32d58fced23c4d47cfbbf124cf924a234e7b338cd478b465",
"",
"root"
],
[
"e",
"4bfe6a10164f3427c5b819fd71362b48460d4147cff6c1f784deea7b7a53a699",
"",
"reply"
],
[
"p",
"f4fab6b656dc33511d23bf89024dcb17662db2056fb58a0e91a574e84c505510"
],
[
"p",
"9e4a52746bea8a034e017c201d60339836b77cf865bf99a7104293d9af8c4bc4"
],
[
"p",
"23b0e2f8d0f963f7ec1b6861701aa4e51fe303a7110e18fcec1d916cd8af76fc"
],
[
"p",
"8e567e90f3214bb221a726c53c0b901dd23bdc4281e4dfe425014e33f1dd217b"
]
],
"content": "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)\n\n1- escolha dois numeros primos \"p\" e \"q\", \n2- multiplica q*p e chama de \"n\" (n = p*q).\n3- calcule ϕ(n) = (p-1)*(q-1).\n4- procure um numero aleatório que não seja múltiplo nem de p-1, nem de q-1, e chama de \"e\".\n5- Por ultimo vc acha um numéro \"d\" que se multiplicado por \"d\", o resto da divisão por ϕ(n) dê 1 -\u003e [d*e == 1 (mod ϕ(n))].\n\nagora sua chave pública é (e, n) \ne sua chave privada é: (d, n) (na verdade vc guarda \"p\", \"q\" e \"e\", e recalcula \"n\" e \"d\" quando precisar)\n\npra criptografar vc \"eleva\" os bytes do seu texto por \"e\" e pega o resto da divisão por \"n\":\nC = (T ^ e) (mod n)\n\npra decifrar vc eleva por d e pega o resto da divisão por n:\nT = (C ^ d) (mod n)\n\n",
"sig": "5205cb0ccf1406118358f9e2a9bb63f3bdf7d575c7f54a677a9b84cf0b9a2fcb3eea30446a7420f6c3716fbfaf1f76f03febc3fca5ffb42afe93b9cee25494a7"
}