Co to jest format pliku PGP?
Zaszyfrowany plik Pretty Good Privacy (PGP) - plik .pgp to binarny plik danych OpenPGP, najczęściej zawierający zaszyfrowaną treść, choć to samo rozszerzenie pojawia się również w plikach podpisów i wyeksportowanych plikach kluczy. Narzędzia kryptograficzne PGP używają plików .pgp do odszyfrowywania informacji oraz podpisywania plików lub wiadomości. System PGP został pierwotnie opracowany w 1991 roku jako format własnościowy przez Phila Zimmermanna, ale później został zaimplementowany jako otwarty standard w formie OpenPGP (RFC 4880, zaktualizowany do RFC 9580 w 2024 roku) oraz implementacji GnuPG. Głównym celem PGP jest zapewnienie bezpieczeństwa i integralności wymiany informacji.
Pliki z rozszerzeniem .pgp mogą być używane do odszyfrowywania informacji zaszyfrowanych przy użyciu klucza publicznego powiązanego z kluczem prywatnym odbiorcy. Plików .pgp nie należy ręcznie otwierać ani edytować, ponieważ może to nieodwracalnie uszkodzić zaszyfrowane dane. W przeciwieństwie do wczesnych wersji PGP, które opierały się głównie na RSA, nowoczesne implementacje obsługują wiele algorytmów klucza publicznego - w tym RSA, ECDH, ECDSA i EdDSA - połączonych z symetrycznym kluczem sesyjnym (AES-256, CAST5 lub 3DES) do szyfrowania ładunku. Typowa zawartość szyfrowana i przechowywana jako pliki .pgp obejmuje:
- wiadomości e-mail,
- pliki tekstowe,
- foldery,
- archiwa plików, takie jak archiwa ZIP.
Rozszerzenia .pgp i .gpg są wymienne - oba przenoszą ten sam strumień pakietów OpenPGP; .pgp zazwyczaj pochodzi z oryginalnej komercyjnej linii PGP (obecnie Broadcom Encryption Desktop), podczas gdy .gpg zazwyczaj pochodzi z GnuPG. Tekstowy odpowiednik w formacie ASCII-armored używa rozszerzenia .asc i zaczyna się od -----BEGIN PGP MESSAGE-----. Istnieje wiele różnych implementacji standardu PGP używanych w różnych systemach operacyjnych - programy dostępne z linii poleceń lub z dedykowanym interfejsem GUI używają tego samego podstawowego standardu szyfrowania i deszyfrowania kryptograficznego.
Bezpieczeństwo
RYZYKO: LOWFormat .pgp jest narzędziem bezpieczeństwa, a nie zagrożeniem - plik to zaszyfrowane (i ewentualnie podpisane) dane OpenPGP i sam w sobie nie zawiera kodu wykonywalnego. Prawdziwe ostrzeżenia dotyczą kluczy i tajemnic: jeśli .pgp jest w rzeczywistości wyeksportowanym kluczem PRYWATNYM, nigdy go nie udostępniaj i chroń go silnym hasłem. Zawsze odszyfrowuj lokalnie za pomocą GnuPG/PGP - nigdy nie wklejaj hasła ani klucza prywatnego na stronach internetowych; „internetowe dekodery PGP”, które proszą o klucz, to oszustwa (i nie mogą odszyfrować niczego, do czego nie mają klucza). Pomyślne odszyfrowanie oznacza tylko tyle, że dane zostały odzyskane; odzyskany plik (np. dokument lub plik wykonywalny) nadal niesie ze sobą takie samo ryzyko, jakie normalnie wiąże się z danym typem pliku.
Szczegóły formatu
w pigułce- Plik klucza publicznego/prywatnego PGP - Wyeksportowany klucz OpenPGP jest czasem zapisywany jako .pgp (binarnie) zamiast .asc - jest on importowany, a nie odszyfrowywany.
- Plik podpisu PGP/OpenPGP - Odłączony podpis binarny może mieć rozszerzenie .pgp (tekstowy odpowiednik to .asc lub .sig).
Programy otwierające pliki PGP
Szczegóły techniczne
specyfikacja| Format kontenera | Strumień pakietów OpenPGP - pakiety tag-length-value (TLV) połączone w jeden plik binarny |
| Kodowanie | Binarne (surowe pakiety OpenPGP); tekstowe warianty tych samych danych w formacie ASCII-armored używają rozszerzenia .asc |
| Kolejność bajtów | Big-endian dla wielooktetowych pól długości i pól MPI (multi-precision integer) |
| Algorytmy klucza publicznego | RSA, DSA, ECDH (X25519/X448), ECDSA, EdDSA (Ed25519/Ed448) - algorytm deklarowany dla każdego pakietu |
| Szyfr symetryczny | AES-128, AES-192, AES-256, CAST5, 3DES - losowo wygenerowany klucz sesyjny jest szyfrowany kluczem publicznym odbiorcy lub pochodzi z hasła |
| Kompresja | Opcjonalna - tekst jawny może być skompresowany za pomocą ZIP, ZLIB lub BZIP2 przed szyfrowaniem (pakiet Compressed Data) |
| Ochrona integralności | Modified Detection Code (MDC) / SEIP lub tag uwierzytelniający AEAD (RFC 9580); deszyfrowanie kończy się niepowodzeniem lub ostrzeżeniem, jeśli szyfrogram został naruszony |
| Wersje formatu pakietów | v3 (przestarzała), v4 (RFC 4880, powszechnie używana), v6 (RFC 9580, 2024) - zestaw szyfrów i tryb AEAD deklarowane dla każdego pakietu |
| Typ MIME | application/pgp-encrypted (główny); także application/pgp i application/octet-stream |
| Typowy rozmiar pliku | Zależy od zaszyfrowanego ładunku - od kilku KB dla krótkich wiadomości do wielu GB dla dużych archiwów, plus niewielki narzut nagłówka na pakiet |
| Sygnatura pliku (Magic) | Brak jednej uniwersalnej sygnatury; pierwszy bajt to tag pakietu OpenPGP (zawsze ustawiony wysoki bit) - typowe wartości: 0x85, 0x84 (zaszyfrowane dane), 0x99 (klucz publiczny), 0x89 (podpis) |
| Wymienne rozszerzenie | .gpg przenosi identyczne dane OpenPGP; .pgp to konwencja komercyjnego PGP / Broadcom, .gpg to konwencja GnuPG |
| Obsługa platform | Wieloplatformowy - Windows, macOS, Linux i każdy system operacyjny obsługujący GnuPG lub kompatybilną implementację OpenPGP |
| Wymagania dotyczące deszyfrowania | Odbiorca musi posiadać klucz prywatny pasujący do klucza publicznego użytego podczas szyfrowania lub znać hasło w przypadku szyfrowania wyłącznie symetrycznego (opartego na haśle) |
| Wydano | PGP 1.0 in 1991 (Phil Zimmermann); OpenPGP standardized as RFC 2440 (1998) / RFC 4880 (2007) / RFC 9580 (2024) |
| Najnowsza wersja | OpenPGP RFC 9580 (2024); .pgp is also produced by legacy/commercial PGP and Symantec/Broadcom Encryption Desktop |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.rfc-editor.org |
Konwersje PGP
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki PGP.