quinta-feira, 28 de junho de 2007

RSA é um algoritmo para encriptação de dados, que deve o seu nome a três professores do Instituto MIT (fundadores da actual empresa RSA Data Security, Inc.), Ron Rivest, Adi Shamir e Len Adleman, que inventaram este algoritmo, a mais bem sucedida implementação de sistemas de chaves assimétricas, e fundamenta-se em Teorias Clássicas dos Números. Este algoritmo tem como princípio a construção de chaves públicas e privadas usando números primos.

Funcionamento do Algoritmo:
1) Dados dois números primos p e q, trabalha-se com a hipótese de que quanto maiores forem os números mais seguro será o algoritmo;
2) Obtém-se n, pela fórmula n = p * q;
3) Obtém-se z, pela fórmula z = (p - 1) * (q - 1)
4) Escolhe-se um número “e”, onde “e” e “z devem ser primos entre si;
5) Calcula-se “d” pela fórmula d = e^-1 mod z;

Encriptação
Para transformar uma mensagem m numa mensagem c encriptada usando a chave pública do destinatário n e e basta fazer uma potenciação modular:

c = m^e mod n

A mensagem então pode ser transmitida em canal inseguro para o receptor. Há um algoritmo para realizar esta potência rapidamente.

Decriptação
Para recuperar a mensagem m da mensagem encriptada c usando a respectiva chave privada do receptor n e d, basta fazer outra potenciação modular:

m = c^d mod n

Referências:
http://pt.wikipedia.org/wiki/RSA

Nenhum comentário: