Wat is het PGP-bestandsformaat?
Pretty Good Privacy (PGP) versleuteld bestand - een .pgp-bestand is een binair OpenPGP-databestand dat meestal versleutelde inhoud bevat, hoewel dezelfde extensie ook voorkomt bij handtekeningbestanden en geëxporteerde sleutelbestanden. PGP-cryptografische tools gebruiken .pgp-bestanden om informatie te ontcijferen en bestanden of berichten te ondertekenen. Het PGP-systeem werd oorspronkelijk in 1991 ontwikkeld als een eigen formaat door Phil Zimmermann, maar werd later geïmplementeerd als een open standaard in de vorm van OpenPGP (RFC 4880, bijgewerkt naar RFC 9580 in 2024) en de GnuPG-implementatie. Het hoofddoel van PGP is het waarborgen van de veiligheid en integriteit van informatie-uitwisseling.
Bestanden met een .pgp-extensie kunnen worden gebruikt om informatie te ontsleutelen die is versleuteld met de publieke sleutel die is gekoppeld aan de privésleutel van een ontvanger. .pgp-bestanden mogen niet handmatig worden geopend of bewerkt, omdat dit de versleutelde gegevens onherstelbaar kan beschadigen. In tegenstelling tot vroege PGP-versies die voornamelijk vertrouwden op RSA, ondersteunen moderne implementaties meerdere publieke-sleutelalgoritmen - waaronder RSA, ECDH, ECDSA en EdDSA - gecombineerd met een symmetrische sessiesleutel (AES-256, CAST5 of 3DES) om de payload te versleutelen. Typische inhoud die wordt versleuteld en opgeslagen als .pgp-bestanden omvat:
- e-mailberichten,
- tekstbestanden,
- mappen,
- bestandsarchieven zoals ZIP-archieven.
De extensies .pgp en .gpg zijn onderling uitwisselbaar - beide bevatten dezelfde OpenPGP-pakketstroom; .pgp is meestal afkomstig van de originele commerciële PGP-lijn (nu Broadcom Encryption Desktop), terwijl .gpg meestal afkomstig is van GnuPG. Het ASCII-gepantserde tekst-equivalent gebruikt de extensie .asc en begint met -----BEGIN PGP MESSAGE-----. Er zijn veel verschillende implementaties van de PGP-standaard die op verschillende besturingssystemen worden gebruikt - programma's die beschikbaar zijn via de opdrachtregel of met een speciale GUI gebruiken allemaal dezelfde onderliggende cryptografische standaard voor versleuteling en ontsleuteling.
Beveiliging & veiligheid
RISICO: LOWHet .pgp-formaat is een beveiligingstool, geen bedreiging - het bestand is versleutelde (en mogelijk ondertekende) OpenPGP-gegevens en bevat zelf geen uitvoerbare code. De echte waarschuwingen betreffen sleutels en geheimen: als een .pgp feitelijk een geëxporteerde PRIVÉsleutel is, deel deze dan nooit en bescherm deze met een sterke wachtwoordzin. Ontsleutel altijd lokaal met GnuPG/PGP - plak nooit een wachtwoordzin of privésleutel in een website; „online PGP-ontsleutelaars” die om uw sleutel vragen zijn oplichting (en kunnen niets ontsleutelen waarvoor ze de sleutel niet hebben). Een succesvolle ontsleuteling betekent alleen dat het ontsleuteld is; het herstelde bestand (bijv. een document of een uitvoerbaar bestand) brengt nog steeds de risico's met zich mee die dat bestandstype normaal gesproken zou hebben.
Formaatdetails
in een notendop- PGP publieke/privésleutelbestand - Een geëxporteerde OpenPGP-sleutel wordt soms opgeslagen als .pgp (binair) in plaats van .asc - deze wordt geïmporteerd, niet ontsleuteld.
- PGP/OpenPGP-handtekeningbestand - Een losstaande binaire handtekening kan de .pgp-extensie dragen (het tekst-gepantserde equivalent is .asc of .sig).
Programma's die PGP-bestanden openen
Technische details
diepe specificaties| Containerformaat | OpenPGP-pakketstroom - tag-length-value (TLV) pakketten aaneengeschakeld in een enkel binair bestand |
| Codering | Binair (ruwe OpenPGP-pakketten); ASCII-gepantserde tekstvarianten van dezelfde gegevens gebruiken de .asc-extensie |
| Byte-volgorde | Big-endian voor multi-octet lengtevelden en MPI (multi-precision integer) velden |
| Publieke-sleutelalgoritmen | RSA, DSA, ECDH (X25519/X448), ECDSA, EdDSA (Ed25519/Ed448) - algoritme gedeclareerd per pakket |
| Symmetrische versleuteling | AES-128, AES-192, AES-256, CAST5, 3DES - een willekeurig gegenereerde sessiesleutel wordt versleuteld voor de publieke sleutel(s) van de ontvanger of afgeleid van een wachtwoordzin |
| Compressie | Optioneel - platte tekst kan worden gecomprimeerd met ZIP, ZLIB of BZIP2 vóór versleuteling (Compressed Data pakket) |
| Integriteitsbescherming | Modified Detection Code (MDC) / SEIP of AEAD-authenticatietag (RFC 9580); ontsleuteling mislukt of waarschuwt als er met de cijfertekst is geknoeid |
| Pakketformaatversies | v3 (verouderd), v4 (RFC 4880, veelgebruikt), v6 (RFC 9580, 2024) - cipher suite en AEAD-modus gedeclareerd per pakket |
| MIME-type | application/pgp-encrypted (primair); ook application/pgp en application/octet-stream |
| Typische bestandsgrootte | Volgt de versleutelde payload - van enkele KB voor korte berichten tot vele GB voor grote archieven, plus een kleine header-overhead per pakket |
| Magic / bestandssignatuur | Geen enkele universele magic; eerste byte is een OpenPGP-pakkettag (hoogste bit altijd ingesteld) - veelvoorkomende waarden: 0x85, 0x84 (versleutelde gegevens), 0x99 (publieke sleutel), 0x89 (handtekening) |
| Uitwisselbare extensie | .gpg bevat identieke OpenPGP-gegevens; .pgp is de commerciële PGP / Broadcom-conventie, .gpg is de GnuPG-conventie |
| Platformondersteuning | Cross-platform - Windows, macOS, Linux en elk besturingssysteem waarop GnuPG of een compatibele OpenPGP-implementatie draait |
| Ontsleutelingsvereiste | Ontvanger moet in het bezit zijn van de privésleutel die hoort bij de publieke sleutel die tijdens de versleuteling is gebruikt, of de wachtwoordzin kennen voor alleen-symmetrische (op wachtwoordzin gebaseerde) versleuteling |
| Uitgebracht | PGP 1.0 in 1991 (Phil Zimmermann); OpenPGP standardized as RFC 2440 (1998) / RFC 4880 (2007) / RFC 9580 (2024) |
| Laatste versie | OpenPGP RFC 9580 (2024); .pgp is also produced by legacy/commercial PGP and Symantec/Broadcom Encryption Desktop |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.rfc-editor.org |
PGP conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PGP-bestanden.