HISTÓRICO
Em 1991 o americano Phillip Zimmermman previu o crescimento dos computadores , bem como o incremento no seu uso para troca de mensagens. Preocupado com possíveis violações aos direitos de privacidade desses usuários, Phill desenvolveu o PGP, um sistema de encriptação híbrido.
Logo o programa espalhou-se pela internet e como a exportação de softwares criptográficos sem autorização do governo é vetada pela lei americana, Zimmermman foi investigado durante 3 anos. Provou-se ao final do processo que uma terceira pessoa não identificada fora a responsável pela distribuição indevida do programa e Zimmermman foi inocentado.
O programa passou a ser legalmente distribuído através de livros publicados com as novas versões de seu código-fonte, já que a legislação americana não considera o código impresso como um programa. (Nesse caso, temos aí uma boa utilização das brechas da lei =P)
Zimmmermmann fundou a PGP Inc. e em 1996 passou a comercializar o programa. Posteriormente a companhia foi comprada pela McAfee que perdeu o interesse pelo software e o repassou a uma nova empresa.
Pode-se encontrar uma versão livre para implementação chamada GPG (GNU Privacy Guard), baseado no OpenPGP (RFC4880).
COMO FUNCIONA
Como um método híbrido de encriptação, o PGP combina desempenho e segurança na transmissão de dados.
O primeiro passo é a compressão de dados. Isso agiliza a transmissão e aumenta a segurança da cifra, já que dificulta a identificação de um padrão encontrado nas mensagens originais que pode facilitar a quebra da cifra.
No segundo passo do processo é criada o que chamamos de chave de sessão, que é gerada uma única vez. A session key corresponde à criptografia com chave privada e é composta por um número aleatório.
Temos então uma espécie de mensagem encriptada em 1ª versão. Essa versão inicial será agora encriptada com a chave pública do destinatário da mensagem, e levará em seu conteúdo a session key criada anteriormente.
No processo de desencriptação o destinatário da mensagem utiliza a sua chave privada para acessar os dados encriptados na geração da session key do remetente. A session key é então utilizada para recuperar a mensagem original.
A repetição de alguns termos pode parecer confusa mas uma leitura com mais calma facilita a visualização do processo.
Próximos assuntos: assinatura digital, certificação digital e hash
Abçs =)