Co to jest klucz PGP i po co Ci on?
PGP to standard, którym do dziś chronisz prywatne e-maile (ProtonMail), podpisujesz commity na GitHubie i weryfikujesz autentyczność oprogramowania (Linux kernel, Ubuntu, podpisy paczek). Generujesz parę kluczy: publiczny (rozdajesz wszystkim) i prywatny (trzymasz tylko Ty). Każdy może coś dla Ciebie zaszyfrować używając Twojego publicznego, ale odczytasz to tylko Ty.
Tu generujesz parę w przeglądarce. Wybierz Ed25519 (nowoczesna, szybka krzywa eliptyczna) albo klasyczne RSA-2048/4096 (kompatybilność z każdym starym narzędziem). Klucze są w formacie ASCII "armored", możesz wkleić wprost do Gmaila, na GitHub, do Keybase.
Wszystko liczone w Twojej przeglądarce. Klucz prywatny nigdy nie opuszcza urządzenia. To podstawowa zasada PGP, klucz prywatny zna tylko Ty.
Jak korzystać
- Wpisz imię i nazwisko oraz e-mail, te dane są wbudowane w klucz publiczny jako "User ID".
- Opcjonalnie wpisz komentarz (np. "GitHub", "praca", "osobisty") jeśli masz wiele kluczy dla różnych celów.
- Hasło do klucza prywatnego (passphrase): zalecane! Bez niego ktokolwiek z dostępem do pliku może podpisywać w Twoim imieniu.
- Wybierz krzywą: Ed25519 dla nowoczesnych zastosowań (GitHub, ProtonMail), RSA-2048 dla starszych systemów, RSA-4096 gdy chcesz maksymalnego zapasu (generacja trwa kilka sekund).
- Wybierz ważność klucza: 1, 2, 5 lat albo bez końca. Krótsza ważność = lepsza praktyka, klucz może zostać unieważniony.
- Klikasz Generuj. Po chwili masz public key, private key, fingerprint (krótki identyfikator klucza) i key ID.
Do czego się przydaje
Sześć typowych sytuacji, w których klucz PGP rozwiązuje problem:
- Szyfrowanie e-maili w ProtonMail/Tutanota/Thunderbird. Wymieniasz publiczny klucz ze znajomym, dalej każdy szyfruje dla drugiego.
- Podpisywanie commitów na GitHub. Dodajesz publiczny klucz do konta, commity dostają zieloną odznakę "Verified".
- Weryfikacja podpisu paczki linuksowej. Podpis PGP gwarantuje, że paczka pochodzi od oryginalnego autora (apt-get, pacman).
- Identyfikacja w Keybase, ProtonMail Public Key Server, GitHub. Twój klucz publiczny to Twoja kryptograficzna tożsamość.
- Backup hasła czy klucza API. Zaszyfruj plik swoim publicznym kluczem, możesz nawet wrzucić na publiczne repozytorium.
- Anonimowy whistleblowing. Dziennikarze i organizacje (np. Wikileaks, ProPublica) publikują swój klucz publiczny, by źródła mogły bezpiecznie przesłać dokumenty.
Aby zaszyfrować tekst bez kluczy (tylko hasłem), użyj szyfrowania AES. Do podpisywania JWT zobacz JWT signer/verifier.