PGP - Pretty Good Privacy

Abril 2015

Introdução ao PGP

O PGP (Pretty Good Privacy) é um criptosistema (sistema de codificação) inventado por Philip Zimmermann, um analista informático. Philip Zimmermann trabalhou de 1984 s 1991 num programa que permite fazer funcionar o RSA em computadores pessoais (PGP).

Contudo, como este utilizava o RSA sem o acordo dos seus autores, isto valeu-lhe processos durante 3 anos, é então vendido por cerca de 150$ desde 1993.

É muito rápido e seguro, o que o torna quase impossível de criptoanalisar .

O princípio de PGP

O PGP é um sistema de criptografia híbrido, utilizando uma combinação das funcionalidades da criptografia com chave pública e a criptografia simétrica.

Quando um utilizador codifica um texto com PGP, os dados são primeiro comprimidos. Esta compressão dos dados permite reduzir o tempo de transmissão por qualquer meio de comunicação, economizar espaço no disco e, sobretudo, reforçar a segurança criptográfica.

A maior parte dos criptanalistas explora os modelos encontrados no texto normal para quebrar a codificação. A compressão reduz estes modelos no texto normal, melhorando por conseguinte consideravelmente a resistência à criptoanálise.

Seguidamente, a operação de codificação faz-se principalmente em duas etapas:

  • PGP cria uma chave secreta IDEA de maneira aleatória, e codifica os dados com esta chave
  • PGP cripta a chave secreta IDEA e transmite-a através da chave RSA pública do destinatário.

A operação de descodificação faz-se principalmente em duas etapas:
  • PGP decifra a chave secreta IDEA através da chave RSA privada.
  • PGP decifra os dados com a chave secreta IDEA previamente obtida.



Este método de codificação associa a facilidade de utilização da cifragem de chave pública à velocidade da cifragem convencional. A codificação convencional é cerca de 1000 vezes mais rápida que os algoritmos de codificação com chave pública. A codificação com chave pública resolve o problema da distribuição da chave. Utilizados conjuntamente, estes dois métodos melhoram o desempenho e a gestão das chaves, sem, no entanto, comprometer a segurança.

As funcionalidades de PGP

PGP oferece as funcionalidades seguintes:

  • Assinatura electrónica e verificação de integridade de mensagens : função baseada no emprego simultâneo de uma função hachage (MD5) e do sistema RSA. MD5 corta a mensagem e fornece um resultado de 128 bits que é codificado seguidamente, graças ao RSA, pela chave privada do remetente.
  • Codificação dos ficheiros locais : função utilizando IDEA.
  • Geração de chaves públicas e privadas : cada utilizador codifica as suas mensagens com a ajuda de chaves privadas IDEA. A transferência de chaves electrónicas IDEA utiliza o sistema RSA; PGP oferece por conseguinte mecanismos de geração de chaves adaptados a este sistema. A dimensão das chaves RSA é proposta de acordo com vários níveis de segurança: 512,768,1024 ou 1280 bits.
  • Gestão de chaves : função que assegura a distribuição da chave pública do utilizador aos correspondentes que desejam enviar-lhe mensagens codificadas.
  • Certificação de chaves : esta função permite acrescentar um selo numérico que garante a autenticidade das chaves públicas. Trata-se de uma originalidade de PGP, que baseia a sua confiança numa noção de proximidade social, mais do que na de autoridade central de certificação.
  • Revogação, desactivação, registo de chaves : função que permite produzir certificados de revogação.

O formato dos certificados PGP

Um certificado PGP compreende, designadamente, as informações seguintes :

  • O número de versão de PGP : identifica a versão de PGP utilizada para criar a chave associada ao certificado.
  • A chave pública do detentor do certificado : parte pública do seu par de chaves associada ao algoritmo da chave, quer seja RSA, DH (Diffie-Hellman) ou DSA (Algoritmo de assinatura numérica).
  • As informações do detentor do certificado : trata-se das informações sobre “a identidade” do utilizador, como o seu nome, o seu ID utilizador, a sua fotografia, etc.
  • A assinatura numérica do detentor do certificado : igualmente chamada autoassinatura, trata-se da assinatura efectuada com a chave privada que corresponde à chave pública associada ao certificado.
  • O período de validade do certificado : datas/horas de início e expiração do certificado. Indica a data de expiração do certificado.
  • O algoritmo de codificação simétrico preferido para a chave: indica o algoritmo de codificação que o detentor do certificado prefere aplicar à cifragem de informações. Os algoritmos assumidos são CAST, IDEA ou triplo



O facto de um só um certificado poder conter várias assinaturas é um dos aspectos únicos do formato do certificado PGP. Várias pessoas podem assinar o par de chaves/de identificação para atestar com toda a certeza da pertença da chave pública ao detentor especificado. Certos certificados PGP são compostos de uma chave pública com várias minutas, cada uma oferece um modo de identificação do detentor da chave diferente (por exemplo, o nome e a conta de serviço de mensagens de empresa do detentor, pseudónimo e a conta de serviço de mensagens pessoal do detentor, a sua fotografia, e isto tudo num só um certificado).
Num certificado, uma pessoa deve afirmar que uma chave pública e o nome do detentor da chave estão associados. Seja quem for pode validar os certificados PGP. Os certificados X. 509 devem sempre ser validados por uma autoridade de certificação ou uma pessoa designada pelo CA. Os certificados PGP tomam igualmente em carga uma estrutura hierárquica com a ajuda de um CA para a validação dos certificados.

Várias diferenças existem entre um certificado X. 509 e um certificado PGP. As mais importantes são indicadas abaixo :
Para criar o seu próprio certificado PGP, deve pedir a emissão de umcertificado X. 509 junto de uma autoridade de certificação e obtê-lo;

  • Os certificados X. 509 encarrega-se de um só um nome para o detentor da chave;
  • Os certificados X. 509 encarrega-se só de uma assinatura numérica para atestar da validade da chave;

Os modelos de fiabilidade de PGP

Geralmente, o CA (Certification authority - autoridade de certificação) inspira uma confiança total para estabelecer a validade dos certificados e efectuar todo o processo de validação manual. Mas é difícil estabelecer uma linha de confiança com as pessoas não consideradas explicitamente como fiáveis pelo seu CA
Num ambiente PGP, qualquer utilizador pode agir como autoridade de certificação. Pode por conseguinte validar o certificado de chave pública de um outro utilizador PGP. Contudo, tal certificado pode ser considerado como válido por um outro utilizador unicamente se um terceiro reconhecer o que validou este certificado como um correspondente fiável. Quer dizer, se respeitar por exemplo a minha opinião segundo a qual as chaves dos outro são correctas unicamente se eu for considerado como um correspondente fiável. No caso contrário, a minha opinião sobre a validade de outras chaves é controversa.

Suponhamos, por exemplo, que o seu pequeno porta-chaves contém a chave de Alice. Validou-a e, para o indicar, assina-a. Além disso, sabe que Alice é muito picuinhas no que diz respeito à validação das chaves de outros utilizadores. Por conseguinte, afecta uma fiabilidade completa à sua chave. Alice torna-se assim uma autoridade de certificação. Se assinar a chave de um outro utilizador, esta chave aparece como válida no seu porta-chaves.

A revogação de um certificado PGP

Apenas o detentor do certificado (o detentor da sua chave privada correspondente) ou outro utilizador, designado como autoridade de revogação pelo detentor do certificado, tem a possibilidade de revogar um certificado PGP. A designação de uma autoridade de revogação é útil, porque a revogação, por um utilizador PGP, do seu certificado frequentemente deve-se à perda da palavra-passe complexa da chave privada correspondente. Ora, este procedimento pode unicamente ser efectuado se for possível aceder à chave privada. Um certificado X. 509 pode unicamente ser revogado pelo seu emissor.


Quando um certificado é revogado, é importante avisar os seus utilizadores potenciais. Para informar da revogação dos certificados PGP, o método habitual consiste em colocar esta informação num servidor de certificados. Assim, os utilizadores que desejem comunicar consigo são avisados para não utilizar esta chave pública.

Artigo escrito por Sylvain Lorin
Fonte : http://www.pgpi.org/doc/pgpintro/, referência muito boa

Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
Pgp-pretty-good-privacy.pdf

A ver igualmente


PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
Este documento, intitulado « PGP - Pretty Good Privacy »a partir de Kioskea (pt.kioskea.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.