GnuPG
The GNU Privacy Guard
GnuPG jest kompletną i bezpłatną implementacją standardu OpenPGP zdefinowanego przez RFC4880 (znanego również jako PGP). GnuPG pozwala szyfrować i podpisywać dane i korespondencję, posiada możliwości elastycznego zarządzania systemem kluczy oraz moduły dostępu do każdego typu katalogów kluczy publicznych. GnuPG znane również jako GPG jest narzędziem powłoki, które posiada zdolność łatwej integracji z innymi aplikacjami. Dostępnych jest wiele frontendów i aplikacji wykorzystujących biblioteki. GnuPG w wersji 2 dostarcza również wsparcia dla standardu S/MIME i Secure Shella (ssh).
GnuPG jest oprogramowaniem darmowym. Może być dowolnie używane, modyfikowane i dystrybuowane pod warunkami zawartymi w GNU General Public License.
Odzyskaj swoją prywatność
Nawet jeśli nie masz nic do ukrycia, używanie szyfrowania pomaga chronić prywatność ludzi, z którymy się komunikujesz i utrudnia działanie masowym systemom nadzoru, które mogą skanować wiadomości. Jeśli masz coś ważnego do ukrycia – jesteś w dobrym towarzystwie; GnuPG jest jednym z narzędzi, które Edward Snowden używał do demaskowania tajemnic o NSA.
Odwiedź stronę Email Self-Defense aby dowiedzieć się jak i dlaczego powinieneś używać GnuPG do komunikacji elektronicznej. Jeśli potrzebujesz drukowanej wersji, zobacz FSFE’s GnuPG leaflet.
Kilka podstawowych informacji (tłumaczenie z pliku README):
GnuPG jest narzędziem (na licencji GNU) służącym do bezpiecznej komunikacji i przechowywania danych.
Może być używane do szyfrowania danych oraz tworzenia podpisów cyfrowych.
Zawiera zaawansowane funkcje zarządzania kluczami i jest dostosowane do zaproponowanego Internetowego standardu OpenPGP, opisanego w RFC2440.
GnuPG pracuje najlepiej na systemach GNU/Linux lub *BSD. Wiele innych systemów Unices jest także wspieranych, lecz nie jest tak dobrze przetestowana jak na darmowych Unices.
Zobacz http://www.gnupg.org/download/supported_systems.html, aby uzyskać listę systemów, na których wiadomo, że działa GnuPG.
Zobacz plik COPYING aby uzyskać informację o prawach autorskich i gwarancji.
Dlatego, że GnuPG nie używa żadnych opatentowanych algorytmów, nie jest w pełni kompatybilne z PGP 2.x, które używa opatentowanego algorytmu IDEA. Zobacz http://www.gnupg.org/why-not-idea.html aby uzyskać więcej informacji na ten temat, włącznie z tym, co należy zrobić jeśli jesteś prawnie upoważniony do używania algorytmu IDEA.
Domyślnymi algorytmami są DSA i ElGamal, ale RSA jest także wspierany. ElGamal jest dostępny do podpisywania, ale ze względu na większy rozmiar samej sygnatury jest mocno przestarzały (proszę odnotować, że sama implementacja ElGamal w GnuPG *nie* jest niebezpieczna). Wspieranymi symetrycznymi algorytmami są: AES, 3DES, Blowfish, CAST5 i Twofish.
Dostępne algorytmy Digest to MD5, RIPEMD/160, SHA-1, SHA-256, SHA-384 i SHA-512. Dostępne algorytmy kompresji to ZIP oraz ZLIB.
Gwoli dopełnienia – jedno, zapewne nurtujące niektórych pytanie (i odpowiedź) z FAQ:
Czy GnuPG jest darmowe do zastosować prywatnych i komercyjnych ?
Tak. GnuPG jest częścią rodziny narzędzi i aplikacji GNU dostarczanych zgodnie z General Public License (GPL) przez Free Software Fundation (FSF). Co za tym idzie, oprogramowanie można bezpłatnie kopiować, modyfikować i rozpowszechniać z zachowaniem zgodności z tą licencją. Proszę przeczytać plik COPYING towarzyszący aplikacji, aby uzyskać więcej informacji.
Instalacja GnuPG:
Najnowszą wersję programu GnuPG można pobrać zawsze ze strony projektu http://www.gnupg.org
Instalacja w większości systemów linuxowych sprowadza się do instalacji pakietu, np. pod Debianem/Ubuntu będzie to:
sudo apt-get install gnupg
Instalacja ze źródeł (np. pod Solarisem) też nie jest uciążliwa (przynajmniej 1.4.x, bo 2.x wymaga dodatkowych bibliotek):
./configure --prefix=/usr/local \
--with-libiconv-prefix=/usr/local \
--with-libintl-prefix=/usr/local
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking for a BSD-compatible install... /usr/local/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/mkdir -p
checking for gawk... gawk
checking whether gmake sets $(MAKE)... yes
configure: autobuild project... gnupg
configure: autobuild revision... 1.4.12
...
config.status: creating po/POTFILES
config.status: creating po/Makefile
Version info: gnupg 1.4.12
Configured for: SunOS (sparc-sun-solaris2.10)
Extra cpu specific functions: udiv
Kompilacja:
gmake
gmake all-recursive
...
gmake[2]: Opuszczenie katalogu `/home/soft/gnupg/gnupg-1.4.12/checks'
gmake[2]: Wejście do katalogu `/home/soft/gnupg/gnupg-1.4.12'
gmake[2]: Opuszczenie katalogu `/home/soft/gnupg/gnupg-1.4.12'
gmake[1]: Opuszczenie katalogu `/home/soft/gnupg/gnupg-1.4.12'
Wykonanie załączonych testów:
gmake check
...
PASS: version.test
Hash algorithm SHA-224 is not installed (not an error)
Hash algorithm SHA-256 is not installed (not an error)
...
===================
All 27 tests passed
===================
Instalacja po przełączeniu na roota (lub sudo):
gmake install
To spowoduje instalację GnuPG w katalogu /usr/local
, który zwykle umieszczam w ścieżce (PATH) przed /usr/bin
Można sprawdzić czy działa. Najlepiej jest sprawdzić wersję GnuPG:
gpg --version
gpg (GnuPG) 1.4.12
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: .
Obsługiwane algorytmy:
Asymetryczne: RSA, RSA-E, RSA-S, ELG-E, DSA
Symetryczne: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128,
CAMELLIA192, CAMELLIA256
Skrótów: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Kompresji: Nieskompresowany, ZIP, ZLIB, BZIP2
Może też zdarzyć się tak, że w pierwszej linii dostaniemy taki komunikat:
Warning: using insecure memory! (Uwaga: używam niezabezpieczonej pamięci)
Aby pozbyć się tego komunikatu można zrobić dwie rzeczy: nadać suida programowi gpg
chmod u+s /usr/local/gnupg/bin/gpg
lub dopisać do konfigu opcję 'no-secmem-warning’:
echo "no-secmem-warning" >> ~/.gnupg/gpg.conf
Instalacja pod Windows sprowadza się do ściągnięcia binariów i rozpakowaniu ich w jakimś katalogu (domyślnie C:\GnuPG
), jeśli chcemy, aby GnuPG gadało z nami po polsku, to w tym katalogu należy utworzyć katalog (przepraszam folder) Locale
i skopiować tam plik pl.mo
zmieniając mu nazwę na gnupg.mo
. Czyli (w domyślnej instalacji) powinien powstać plik:
C:\GnuPG\Locale\gnupg.mo
Teraz wystarczy dodać odpowiednie wpisy do rejestru (załatwia to plik gnupg-w32.reg
) i gotowe.
Oczywiście jeśli ktoś zmieni miejsce instalacji, to musi odpowiednio zmodyfikować ścieżki w rejestrze. W razie czego przydatny może być opis zawarty w README.W32
Na temat generacji kluczy była kiedyś strona http://linio.terramail.pl/gnupg.html, z której zresztą sam korzystałem, ale jak widzę dziś już nie działa.