A.2. Criptografia de chave Pública
A criptografia de chave pública é uma forma de criptografia, empregada por muitos algorítimos criptográficos e criptosistemas, cujas características distintas são o uso de algorítimos de chave assimétricos ao invés de ou além de algorítimos de chaves simétricas. O uso das técnicas de criptografia pública de chave privada, muitos métodos de proteção de comunicação ou autenticação de mensagens antes desconhecidas se tornaram práticas. Elas não requerem uma troca inicial segura de uma ou mais chaves secretas como é requerido ao utilizar algoríticmos de chave simétricas. Ele pode também ser usado para criar assinaturas digitais. [20]
Criptografia de chave pública é fundamental e uma tecnologia amplamente utilizada mundialmente, e é a forma que contém tais padrões de Internet como Segurança de Camada de Transporte (TLS) (sucessor do SSL), PGP e GPG. [21]
A técnica distinta usada na criptografia de chave pública é o uso de algorítmos de chave assimétricos, onde a chave usada para criptografar uma mensagem não é a mesma que a chave usada para descriptografá-la. Cada usuário possui um par de chaves criptográficas, uma chave pública e uma chave privada. A chave privada é mantida em segredo, enquanto a chave pública pode ser distribuída amplamente. As mensagens são criptografadas com a chave pública do rementente e pode ser dscriptografada somente com a chave privada correpondente. As chaves são relacionadas matematicamente, mas a chave privada não pode ser derivada (ou seja, em prática atual ou projetada) de uma chave pública. Foi a descoberta de alguns algorítmos que revolucionaou a prática de criptografia iniciando-se nos meados de 1970. [22]
Oposto a isto, os algorítimos de chave simétrica, variações que foram usadas por alguns milhares de anos, usam uma chave secreta única compartilhada pelo transmissor e remetente (que deve também manter a chave privada, além de levar em conta a ambiguidade das terminologias comuns) para a criptografia e descriptografia. para usar um esquema de criptografia simétrica, o transmissor e remetente devem compartilhar a chave antes. [23]
Como os algorítimos de chave simétricas são quase muito menos intensivos na informática, é comum trocar uma chave usando o algorítimo de troca de chave e transmitir dados usando aquela chave e um algorítimos de chave simétrica. A família de esquemas do PGP e o SSL/TLS fazem isto, por exemplo, e são portanto chamados de critosistemas híbridos. [24]
A.2.1. Diffie-Hellman
A troca de chave Diffie–Hellman (D-H) é um protocolo criptográfico que permite que duas partes, que não se conhecem préviamente, estabeleçam juntas uma chave secreta compartilhada sob um canal de comunicações inseguro. Esta chave pode então ser usada para criptografar comunicações subsequentes usando uma cífra de chave simétrica. [25]
A.2.1.1. Histórico do Diffie-Hellman
O esquema foi publicado inicialmente pelo Whitfield Diffie e Martin Hellman em 1976, embora tenha emergido mais tarde que havia sido inventado separadamente alguns anos antes dentro do GCHQ, a agência de inteligência de sinais Britânicos, por Malcolm J. Williamson mas foi mantida em classificado. Em 2002, Hellman sugeriu que o algorítimo fosse chamado de chave de troca Diffie-Hellman-Merkle reconhecendo a contribuição de Ralph Merkle para a invensão da criptografia de chave pública (Hellman, 2002). [26]
Embora o acordo da Diffie-Hellman seja um protocolo de acordo de chave anônimo (não autenticado), ele fornece a base para uma variedade de protocolos autenticados, e é usado para fornecer segredo perfeito nos modos efêmeros da Segurança de Camada de Transporte, (referido como o EDH ou DHE dependendo da cífra que se adeque). [27]\n\n
A Patente 4,200,770 dos E.U.A, agora expirada, descreve o algorítimo e dá crédito ao Hellman, Diffie e Merkle como inventores. [28]
[20]
"Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography
[21]
"Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography
[22]
"Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography
[23]
"Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography
[24]
"Public-key Encryption." Wikipedia. 14 November 2009 http://en.wikipedia.org/wiki/Public-key_cryptography