As principais aplicações de sigilo e assinatura digital só foram possíveis com a descoberta da criptografia assimétrica.
Dos algoritmos publicados até hoje, o
mais usado, mundialmente, é o RSA. Aprenda como ele funciona:
Foram criados dois personagens Origem (pessoa que irá criptografar e enviar a
informação) e Destino (pessoa que irá receber e decriptografar a informação).
Destino escolhe dois números primos gigantes, p e q. Os primos devem ser
enormes, mas para simplicidade vamos dizer que Destino escolhe p=17 e q=11. Ele
deve manter esses números em segredo.
Destino multiplica os números um pelo outro para conseguir um terceiro número, N
(Módulo). Neste caso, N=187. Ele agora escolhe outro número e (expoente). Neste
exemplo, ela escolhe e=7.
Destino agora pode divulgar e (expoente) e N (Módulo) por qualquer canal de
publicação com garantia de integridade (como um certificado digital). Como esses
números são necessários para a cifragem, eles devem estar disponíveis para
consulta por parte de qualquer um que deseje cifrar uma mensagem para Destino.
Juntos, esses números são chamados de chave pública. (Além de ser parte da chave
pública de Destino, o e também pode ser parte da chave pública de todos.
Contudo, cada pessoa deve ter um valor diferente de N, que vai depender de sua
escolha de p e q.)
Para cifrar uma mensagem, ele primeiro precisa ser convertido em um numero, M.
Por exemplo, uma palavra é convertida em dígitos binários ASCII e os dígitos
binários podem ser considerados como um número decimal. M é então cifrado para
produzir o texto cifrado C, de acordo com a fórmula.
C=Me (mod N)
Imagine que Origem quer enviar apenas a letra X para Destino. No ASCII isto é
representado por 1011000, que equivale a 88 em decimais. Assim, M=88.
Para cifrar sua mensagem, Origem começa procurando a chave pública de Destino e
descobre que N=187 e e=7. Isto lhe dá a fórmula de cifragem necessária para
codificar as mensagens para Destino.
Com M=88, a fórmula dá C=887 (mod 187) = 40.867.559.636.992 (mod 187) = 11
Origem agora envia o texto cifrado, C=11, para Destino
Nós sabemos que exponenciais em aritmética modular são funções de mão única, de
modo que é muito difícil recuperar a mensagem original, M, a partir de C=11.
Alguém com acesso apenas a essas informações não pode decifrar a mensagem.
Entretanto, Destino pode decifrar a mensagem porque tem uma informação especial:
conhece os valore de p e q. Ele calcula um número especial, d, a chave de
decifragem, conhecida também como chave particular. O número d é calculado de
acordo com a seguinte fórmula:
e x d = 1 (mod (p-1) x (q-1))
7 x d = 1 (mod 16 x 10)
7 x d = 1 (mod 160)
d = 23
Para decifrar a mensagem, Destino simplesmente usa a seguinte fórmula:
M= Cd (mod187)
M = 1123 (mod187) = 88 = X in ASCII
OBS: Este texto pertence ao link
http://www.certsign.com.br/certinews/edicoes/certinews_05/saibamais.htm
Da CertiNews.
Um Abraço,
Carlos Magno Abreu
icemagno@hotmail.com
|