GPG – asymetryczne szyfrowanie
Szyfrowanie asymetryczne działa z wykorzystaniem klucza publicznego i prywatnego. Kluczem prywatnym możemy odszyfrować lub podpisać pliki, natomiast kluczem publicznym możemy zaszyfrować pliki dla odbiorcy lub zweryfikować sygnaturę podpisu. Dodatkowo na klucz prywatny może być nałożony passphrase, czyli hasło wymagane do jego użycia.
W tym artykule będziemy bazować na systemie operacyjnym Windows i opowiem, w jaki sposób można szyfrować, podpisywać i deszyfrować pliki. Opowiem też, w jaki sposób można weryfikować sygnaturę podpisu.

Zaznaczając opcję “$0” możemy bez opłat pobrać program. Pobieramy i uruchamiamy pobrany plik. Powinno nam się ukazać okno, jak poniżej.

Wybieramy język, w którym chcemy posiadać nasz interfejs użytkownika, a następnie klikamy OK.

Powinno nam się ukazać takie okno, jak powyżej. Klikamy Next >.

Następnie wybieramy komponenty, których potrzebujemy. GnuPG (szyfrowanie, deszyfrowanie, itp.), Kleopatra(graficzny interfejs użytkownika) oraz GpgEX(na przykład możliwość używania komend w wierszu poleceń Windowsa) w zupełności wystarczą nam w celach, jakie przewiduję ten poradnik. Po wybraniu pasujących nam opcji klikamy Next >.

Teraz musimy wybrać ścieżkę zapisu, a dokładnie gdzie program ma się zainstalować. Postanowiłem, że na potrzeby tego poradnika, zainstaluję Gpg4win na pulpicie w katalogu GPG. Jednak w wersjach produkcyjnych, czyli takich, które nie są do celów testowych, nie zalecam instalacji na pulpicie. Po wybraniu ścieżki instalacji lub pozostawieniu domyślnej klikamy Install.


Nie musimy zapoznawać się z plikiem README, jednak jest to zalecane. Tą decyzję pozostawiam Wam. Jeśli chcesz przeczytać plik README zaznacz checkboxa obok i naciśnij FINISH.
*Jeśli nie chcesz uruchamiać programu od razu, to odznacz “Run Kleopatra”.
Do pełnego wykorzystania programu musimy stworzyć jeszcze specjalną parę kluczy dla nas. Będzie to klucz prywatny i publiczny. Kluczem publicznym możemy dzielić się ze znajomymi, współpracownikami, i innymi osobami. Klucz prywatny jest przewidziany tylko dla nas.
Kluczem publicznym możemy szyfrować pliki dla osoby, która posiada klucz prywatny oraz możemy zweryfikować podpis, czyli potwierdzić czy dany plik faktycznie pochodził od tego wysyłającego. (Działa, jeśli do pliku/wiadomości zostanie dołączony podpis).
Kluczem prywatnym natomiast możemy podpisać plik i dzięki temu zapewnić odbiorcę, że plik, który pochodzi od nas, jest na pewno od nas i nie został zmieniony w trakcie wysyłki/dostarczania do odbiorcy. Kluczem prywatnym możemy też odszyfrować pliki, które zostały zaszyfrowane dla nas kluczem publicznym. Kluczem prywatnym nie powinniśmy się z nikim dzielić!
W celu stworzenia naszej pary kluczy (publicznego i prywatnego) przejdź kroki jak na zdjęciu poniżej.

Plik -> Nowa para kluczy…


Tutaj możemy podać nasze imię i nazwisko w miejscu na nazwę oraz adres e-mail również w dedykowanym miejscu. Dodatkowo na nasz klucz prywatny możemy dodać hasło, dzięki temu, jeśli nawet ktoś go przechwyci, będzie musiał znać hasło, by go użyć. Przed kliknięciem przycisku Utwórz przejdź do ustawień rozszerzonych.
Możemy tutaj ustawić długość naszego klucza w bitach, algorytm, możliwości naszego klucza oraz datę ważności klucza. Do celów tego poradnika nie będę zaznaczał uwierzytelnienia jako jednego z przeznaczeń mojego certyfikatu i przejdę dalej z ustawieniami, jakimi widać na zdjęciu powyżej. W celu zapisania wprowadzonych tu zmian klikamy OK i utwórz.
Jeśli zaznaczyliśmy checkboxa podczas konfigurowania naszej pary klucza publicznego i prywatnego to musimy podać hasło, które będzie służyło np. do odszyfrowania dokumentów. Hasło należy potwierdzić, wpisując je jeszcze raz w miejscu oznaczonym etykietą “Powtórzenie”.
Jeśli wszystko przebiegnie pomyślnie naszym oczom pojawi się o to takie okno, jak powyżej. Klikamy zakończ i w liście dostępnych kluczy widzimy już naszą parę kluczy.
Szyfrowanie
W celu zaszyfrowania plików musimy sobie przygotować jakiś plik. Ja do tego celu przygotowałem prosty dokument tekstowy.
Będziemy szyfrować plik razem z opcją podpisywania dzięki czemu odbiorca będzie mógł zweryfikować, czy plik pochodził od nas.
Teraz, gdy mamy już nasz plik klikamy prawym przyciskiem myszy > Podpisz i zaszyfruj.
W opcji Zaszyfruj dla innych moglibyśmy dodać jakieś inne osoby, a dokładnie oznaczyć ich klucze publiczne. Jednak w tym przykładzie adresatem będę ja sam, czyli osoba, która ten plik zaszyfrowała.
Po wybraniu adresatów klikamy Podpisz / zaszyfruj i podajemy hasło (jeśli takowe ustawiliśmy). Po wszystkim na pulpicie (lub w innej lokalizacji, jeśli ścieżka wynikowa była inna) powinniśmy mieć zaszyfrowany plik z rozszerzeniem .gpg.
Deszyfrowanie
Jeśli chcemy deszyfrować plik, musimy kliknąć na niego prawym przyciskiem myszy > Deszyfruj i zweryfikuj. Potem, jeśli podpis jest prawidłowy to możemy zachować plik naciskając zachowaj wszystko.
Klikamy zakończ i w miejscu, gdzie mieliśmy nasz plik (jeśli ścieżka z podpisem nie została zmieniona w trakcie tworzenia podpisu) mamy też nasz podpis z rozszerzeniem .sig.
Eksportowanie klucza publicznego jest konieczne, jeśli chcemy, by ktoś mógł szyfrować dla nas dane i weryfikować podpisy, które złożyliśmy.
Plik ten zapisujemy i możemy wysłać znajomemu.