Basicamente o RSA trabalho com números primos para a escolha das chaves. Devem ser escolhidos 2 números primos aleatoriamente e com, no mínimo, 150 dígitos decimais cada um (maior do que 512 bits). Esses números primos são chamados de p e q.
O próximo passo é calcular n=pxq. Após isso é calculada uma função f(n)=(p-1)x(q-1) para então ser escolhido um número primo e em relação a função f. Ou seja, e e f(n) não podem ter nenhum divisor comum que não seja o número 1.
O próximo passo é o cálculo do número d. Esse número deve ser calculado tal que (exd)mod f(n)=1, ou seja, d=1/e mod f(n).
Feito isso já temos a chave todas os dados para a escolha das chaves. O par de números (n, e) é escolhido, por definição, como a Chave Privada, e o par (n, d) é escolhido como a Chave Pública.
É importante ressaltar que a escolha inicial de 2 números primos não é 100% garantida, na verdade a garantia de que os números escolhidos (p, q) são realmente primos é de 90%.
Bom, de posse das chaves pública e privada, deve-se então partir para a cifragem e decifragem, o que não poderia ser mais simples de explicar:
Cifragem: C=(M**e) mod n
Decifragem: D=(M**d) mod n onde C significa crypt, D significa decrypt e M significa a mensagem em claro
Dentro das técnicas de Criptografia de Chave Pública, o Kerberos é uma aplicação que permite a autenticação de 2 pessoas frente a um servidor de autenticação chamado de CE (Distributed Computing Environment). Vários fornecedores como IBM, NEC, HP e Sun, planejam tornar o Kerberos parte de seus Sistemas Operacionais UNIX