E‑mail odporny na inwigilację – w przeglądarce, smartfonie i na desktopie

W poprzednich częściach naszego cyklu Ochrona prywatności danych i komunikacji zajmowaliśmy się już metodami namierzania i podsłuchiwania smartfonów oraz środkami zapobiegawczymi, dzięki którym smartfony można wykorzystać do bezpiecznych rozmów głosowych, wymiany wiadomości tekstowych, a nawet anonimowego przeglądania Sieci. Czas na przyjrzenie się e-mailom, wciąż odgrywającym pierwsze skrzypce w komunikacji, zarówno na urządzeniach mobilnych jak i komputerach osobistych.

E-mail odporny na inwigilację – w przeglądarce, smartfonie i na desktopie

09.02.2016 | aktual.: 13.02.2016 10:38

Sporą popularność w polskim Internecie zdobył ostatnio mem, naktórym jeden z ministrów rządu RP z troską deklaruje swoją pomocosobie, która zapomniała hasła do konta poczty elektronicznej.Nikogo to nie powinno dziwić. Tzw. „ustawa inwigilacyjna”doczekała się prezydenckiego podpisu, zapewniając wszelkiegorodzaju służbom pełną swobodę w gromadzeniu metadanychzwiązanych z komunikacją elektroniczną (i sporą swobodę wprowadzeniu kontroli operacyjnej samych treści tej komunikacji). Wtej sytuacji, jako że poczta elektroniczna pozostaje wciąż jednąz najważniejszych metod przesyłania sobie informacji, sami musimyzadbać o to, by tajemnica naszej korespondencji została zachowana.Na szczęście niezbędne do tego oprogramowanie rozwinęło się natyle, że korzystanie z niego nie wymaga doktoratu z matematyki.

Oczywiście wielcy dostawcy usług pocztowych, tacy jak Google iMicrosoft, zapewniają, że stosują szyfrowanie, chroniącużytkowników Gmaila i Outlooka przed przechwyceniem ich komunikacjiprzez osoby niepowołane. Stosowane w tym celu połączenia po HTTPS(dla webmaila) i SSL (dla połączeń IMAP w kliencie poczty)niewątpliwie to właśnie robią, powstrzymując ciekawskich przedpoznaniem treści korespondencji, gdy jest ona przesyłana zkomputera czy smartfonu na serwer, ale to wszystko. Dla samegooperatora usługi pocztowej treść naszych e-maili pozostaje jawna –i każdy, kto potrafi przekonać operatora, że musi ją poznać, bezproblemu ją odczyta. Nie należy sądzić, że ludzie podlegliwspomnianemu na początku ministrowi możliwości przekonaniawywodzących się z USA operatorów nie mają. Firmy te otwarciewyjaśniają, na jakich warunkach współpracują z instytucjamipaństwowymi spoza Stanów Zjednoczonych i jaka jest skala tejwspółpracy.

I tak Google w pierwszej połowie 2015 roku otrzymało z Polski629 nakazów udostępnienia danych dotyczących 839 kont, z których25% rozpatrzono pozytywnie. W roku 2014 nakazów było 1046,dotyczyły one 1351 kont, rozpatrzono z nich pozytywnie w pierwszejpołowie roku 28%, w drugiej 31%. Microsoft otrzymał w pierwszejpołowie 2015 roku 74 nakazy dotyczące 92 kont, z których 69%rozpatrzono pozytywnie. W 2014 roku do Redmond trafiło z Polski 47nakazów, dotyczących 62 kont, z czego rozpatrzono pozytywnie 89,4%.Czy to dużo? Zapewne zależy to od tego, kogo zapytamy, dla tych,których dane zostały ujawnione, jest to na pewno za dużo. Wwypadku Google'a warto jedynie zauważyć, że najwyraźniej do tejpory polskie służby nie za bardzo przykładały się do formalnejstrony takich operacji, gdyż wskaźnik pozytywnych rozpatrzeń dlaPolski jest znacznie niższy, niż dla światowej średniej. Jednojest tu pewne – w razie problemów nie ma co liczyć na to, żewielcy operatorzy zachowają dyskrecję. A co z tymi, którzy zdyskresji chcą uczynić swoją przewagę konkurencyjną?

Dostawcy bezpiecznej poczty

Od czasu ujawnienia przez Edwarda Snowdena skali inwigilacji Sieciprzez amerykańskie służby, pojawiło się wiele gotowychbiznesowych produktów i usług, które obiecują kompleksowerozwiązania dla wszystkich tych, którzy troszczą się o swojąprywatność. Wszystkie obiecują stosowanie mocnej kryptografii,zachęcając użytkowników nazwami zastosowanych algorytmówszyfrujących skrzynki i integracją z popularnymi klientami poczty –tak, że korzystanie z nich jest niemal bezobsługowe. Nie oznacza tojednak, że korzystając z takich samych algorytmów szyfrowania,oferują one taki sam poziom bezpieczeństwa. Diabeł tkwi wszczegółach. Wybierając sobie dostawcę bezpiecznej pocztypowinniśmy wziąć pod uwagę takie kwestie jak lokalizacja serwerów(im bardziej neutralne państwo, tym lepiej), szyfrowanie nie tylkodanych ale i metadanych, oraz przede wszystkim, stosowanie w systemiepoczty dowodów z wiedzą zerową, za sprawą których serwer nigdynie ma dostępu do treści w jawnej postaci.

Naszym zdaniem obecnie można polecić trzy usługi pocztowe,które oferują zadowalający (choć nie idealny!) poziom ochronyprywatności korespondencji. Trzeba jednak pamiętać, żekorzystanie z nich wiąże się jednak z innym ryzykiem, o którymsami dostawcy nie chcą mówić. Nie ma otóż żadnej gwarancji, żedostawcy ci będą na rynku w przyszłości. Wystarczy przypomniećsobie losy usługi Lavabit, której operatorowi Ladarowi Levisonowiwładze USA nakazały wydanie prywatnych kluczy SSL. Zamiast pójśćna współpracę i narazić swoich użytkowników, Levison wolałzamknąć całą operację (inna sprawa, że wcześniej Lavabitwydawał w niektórych wypadkach organom ścigania dane swoichużytkowników).

SCRYPTmail

Za tą webmailową usługąpocztową stoi Sergei Krutov, Rosjanin z Estonii, którywyemigrował kilkanaście lat temu do USA i uważa, że prywatnośćjest naszym prawem. Jego poczta ukrywa przed użytkownikami wszystkietechniczne detale, zarazem udostępniając zainteresowanym cały swójkod źródłowy, tak byśmy nie obawiali się tylnych furtek.Zastosowanie szyfrowania end-to-end (czyli takiego, w którym frazaszyfrująca nigdy nie opuszcza komputera użytkownika),kryptosystemów AES-256 i RSA-2048 (w przyszłości dla wersjipłatnej także RSA-4096) oraz szyfrowania metadanych (czyli oprócztreści także listy odbiorców i załączników) dobrze świadczy oprojekcie.

Obraz

Zaletami SCRYPTmaila są także prosty i przejrzysty interfejs,dbałość o bezpieczeństwo połączeń SSL, hostowanie skryptówwyłącznie na własnych serwerach, przejście niezależnego audytubezpieczeństwa, łatwość integracji z oprogramowaniem OpenGPG, imożliwość wykorzystania aliasów pocztowych. Największe wady toumiejscowienie serwerów (Stany Zjednoczone), brak klienckichaplikacji mobilnych oraz obsługi IMAP (to czysto przeglądarkowaaplikacja), niektórym może też nie odpowiadać rozmiar skrzynkipocztowej (do tysiąca wiadomości), jak i to, że usługa pozostajewciąż w fazie beta. To jednak oznacza też, że jest dostępna zadarmo, jej twórcy przyjmują jednak datki w bitcoinach ilitecoinach.

Tutanota

Zlokalizowana w Niemczech usługapocztowa od marca zeszłego roku prowadzona jest przezprawdziwych bojowników wolności (jak się sami określają). Jeden zdeweloperów, Bernd, tak mówi o swoich przekonaniach: W Niemczechmówiono nam o wartości prywatności, myśląc na temat Gestapo iStasi. W naszych cyfrowych czasach wszechstronna inwigilacja stałasię bardzo łatwa. Ja napisałem kod, by zabezpieczyć nasze dane oddzisiejszych orwellowskich zagrożeń. Oprócz silnejideologicznej podbudowy, Tutanota oferuje też ciekawy, autorskisystem szyfrowania. Tak, wiemy że „autorski system szyfrowania”brzmi strasznie, ale autorzy zdecydowali się nie korzystać zestandardowego PGP, ponieważ chcieli, by szyfrowane były takżetematy wysyłanych wiadomości. Oczywiście nie wymyślali przy tymwłasnych algorytmów, stosowane są tu AES-128 i RSA-2048, cały kodzostał też otwarty i udostępniony społeczności, by przejść zpowodzeniem niezależny audyt.

Obraz

Oprócz lokalizacji (choć tu można się spierać, czy oficjalnieszanujące prywatność Niemcy są faktycznie dobrym miejscem naserwery prywatnej poczty), atutem Tutanoty jest także szyfrowaniezałączników i częściowe szyfrowanie metadanych, wielojęzyczność(w tym obsługa języka polskiego), oraz dostępność aplikacjimobilnych – na Androida oraz iOS-a, oraz wtyczki do desktopowegoOutlooka. Niestety nie podepniemy się jednak przez IMAP-a, niepokoiteż wykorzystanie tego samego hasła, które używamy do logowaniajako hasła szyfrującego zawartość skrzynek. Podstawowe konto opojemności 1 GB jest płatne, kosztuje 1 euro miesięcznie zaużytkownika i pozwala podpiąć własną domenę pocztową orazkorzystać z aliasów. Jeśli jednak chcemy korzystać Tutanoty tylkodo celów prywatnych, to można założyć konto za darmo, tracimyjednak możliwość podpięcia swojej domeny i korzystania z aliasów.

ProtonMail

Ten cieszący się sporym uznaniem społeczności szwajcarskidostawca lubi podkreślać znaczenie swojej lokalizacji,deklarując, że nasza poczta będzie tam bezpieczna tak, jakpieniądze w szwajcarskim banku. Co prawda szwajcarskie bankijuż dawno zapomniały, czym jest prawdziwa tajemnica bankowa, ale naużytkownikach robi wrażenie kolokacja serwerów, umiejscowionychpod granitowym płaszczem Alp w byłym bunkrze dowodzenia. Za tymimarketingowymi popisami stoi jednak też solidna implementacjakryptografii. Usługa wykorzystuje dwa hasła – pierwsze potrzebnejest do logowania, drugie do odszyfrowania prywatnego kluczaRSA-2048, wykorzystywanego do odszyfrowywania skrzynki. Wszystko todzieje się w przeglądarce – wykorzystano implementację OpenPGP wJavaScripcie.

ProtonMail szyfruje załączniki, częściowo szyfruje metadane,jest w pełni zgodny z OpenPGP, oferuje też usługę wygasaniae-maili po określonym czasie (efemeryczna komunikacja a la Snapchat)i obiecuje liczne atrakcje w przyszłości, na czele z mechanizmemwygodnego importu kluczy innych użytkowników z innych usługpocztowych. Na swoją pocztę do wykorzystania dostajemy 1 GB. Główną wadą tego systemu jest brak obsługi IMAP. Do niedawna niebyło też dostępnych aplikacji mobilnych, ale osoby, które prześląna konto projektu29 dolarów wsparcia, będą mogli pobrać wersje beta na Androida iiOS-a. Korzystanie z ProtonMaila jest darmowe, choć na założenie konta trzeba nieco poczekać. Usługa cieszy się sporym zainteresowaniem, dostawca wyraźnie nie nadąża z dostawianiem nowych serwerów.

Weź prywatność w swoje ręce

Bezpieczne skrzynki pocztowe są oczywiście bardzo fajne, ale wwiększości wypadków nie zastąpią nam „dużych” dostawcówpoczty, jak choćby wspomnianego już Gmaila czy Outlooka. Nie chodzitylko o pojemność skrzynek i dopracowanie webowych interfejsów,ale też o pewność, że usługi te będą działały jeszcze wielelat. Na szczęście w dużym stopniu zabezpieczyć można także ipocztę w tych usługach, choćby tylko po to, by Google nieskanowało jej pod kątem słów kluczowych, wykorzystywanychnastępnie do targetowania reklam.

Istnieją trzy podstawowe scenariusze korzystania z usług takichpopularnych dostawców poczty – przez klienta przeglądarkowego,przez klienta desktopowego korzystającego z IMAP, oraz przezaplikację mobilną. Omówimy je po kolei.

Mailvelope – dla żyjących w przeglądarce

Z desktopowych klientów poczty korzystają dziś podobno tylkostarej daty zaawansowani użytkownicy, dla większości dostęp dopoczty oznacza korzystanie z przeglądarki. Normalnie jednak nawebmaile nie mamy wielkiego wpływu, ich opcje konfiguracyjne, czymożliwość zintegrowania z zewnętrznym oprogramowaniem sąznikome. Tym większą rolę odgrywa rozszerzenie Mailvelope dlaGoogleChrome i Firefoksa,dzięki któremu możemy łatwo włączyć szyfrowanie OpenPGP dlatakich usług pocztowych jak Gmail, Outlook, Yahoo Mail i GMX – atakże dostosować je do innych usług, takich jak np. webmailepolskich dostawców poczty elektronicznej.

Obraz

Używanie Mailvelope nie jest trudne. Po zainstalowaniurozszerzenia, dodaje ono do paska przycisków przeglądarki ikonkę zkłódką, za pomocą której można włączyć szyfrowanie dladanego webmaila. Następnie będziemy musieli albo wygenerować nowąparę kluczy szyfrujących, albo zaimportować już używane. Służydo tego zakładka Key Management (rozszerzenie jest tylko częściowospolonizowane), w której możemy przeglądać listę kluczy,importować je i generować. Podczas generowania musimy podać pełnąnazwę właściciela klucza, adres e-mail, z którym będzie onpowiązany, wskazać wielkość klucza (od RSA-1024 do RSA-4096) iustalić datę jego wygaśnięcia (domyślnie nigdy). Tu teżustawiamy hasło zabezpieczające, które należy dobrze zapamiętać– bez niego swojej zaszyfrowanej poczty nie odczytamy.

Obraz

Zanim skorzystamy ze swojego webmaila, warto jeszcze sprawdzićOpcje. Tu możemy ustawić, jak długo będzie pamiętane hasło,przygotować bezpieczne tło (mające upewnić, że żaden obcyskrypt nie manipuluje naszym interfejsem użytkownika), a takżewybrać, jak wyświetlane mają być rozszyfrowane wiadomości igdzie edytowane nowe wiadomości – czy w Mailvelope, czy winterfejsie dostawcy webmaila.

  • Slider item
  • Slider item
[1/2]

Aby wysłać szyfrowany list, musimy dodać wcześniej doMailvelope klucz publicznym odbiorcy naszej korespondencji. Niestetynie ma tu opcji importowania kluczy z uznanych serwerów, pozostajeimportować je z pliku, albo wkleić bezpośrednio do formularza.Dodany w ten sposób klucz pojawi się w panelu zarządzania kluczami– i od tej pory możemy już wziąć się za pisanie. W widokunowej wiadomości webmaila powinna pojawić się ikonka notatnika,której kliknięcie otworzy nowe, bezpieczne okno. W nim możemytekst wiadomości napisać, podpisać swoim kluczem, zaszyfrowaćkluczem odbiorcy (wybranego z listy kluczy dostępnych w pęku) ikliknięciem przycisku Transfer zaszyfrowaną wiadomość przesłaćdo zwykłego okienka webmaila.

Obraz

Jeśli zaś ktoś wyśle do nas zaszyfrowany list, Mailvelopewyświetli treść PGP pod ikonką koperty z zamkniętą kłódką.By ją otworzyć, wystarczy kliknąć wskaźnikiem myszy (gustowniezmieniającym wygląd na kluczyk) i w wyskakującym bezpiecznymokienku wpisać swoje hasło do klucza prywatnego. Jeśli zrobimy topoprawnie, wiadomość zostanie błyskawicznie odszyfrowana. Wszystkoto oczywiście dzieje się po stronie przeglądarki – Mailvelopeniczego nigdzie nie wysyła, jeśli nie mamy w systemie keyloggerów,nie musimy się niczego obawiać.

Wygodne w użyciu rozszerzenie ma szansę znaleźć miejsce wśródnajważniejszych narzędzi do walki z inwigilacją, trzeba jednakpamiętać, że nie chroni ono przesyłanych pocztą załączników,lecz tylko treść wiadomości. Jeśli chcemy przesłać naszemuodbiorcy pliki w sposób poufny, najlepiej zaszyfrować je za pomocąjakiegoś archiwizera z silnym hasłem, wgrać do bezpiecznej chmury,a następnie szyfrowanym mailem przesłać adres URL i hasłoszyfrujące. Dokładniej tę kwestię omówimy w następnym odcinkucyklu.

K-9 Mail i APG – dla ludzi mobilnych

Także i na smartfonie czy tablecie możemy całkiem wygodniekorzystać z szyfrowanej poczty, przechowywanej na serwerach„zwykłych” dostawców. W wypadku Androida najlepszymrozwiązaniem będzie wykorzystanie tandemu klienta poczty K-9 Mail(prawdopodobnie najlepszego klienta poczty na Androida), orazmenedżera kluczy APG (będącego androidową implementacjąoprogramowania OpenPGP).

Zacznijmy od zainstalowania APG (wersjana Androida), a następnie K-9 Mail (wersjana Androida) – dzięki temu podczas instalacji ten mobilnyklient poczty rozpozna APG jako dostawcę usługi zarządzaniakluczami i odpowiednio się skonfiguruje. Po instalacji należyprzejść do zarządzania kluczami: uruchamiamy APG, a następniealbo generujemy nową parę kluczy, albo importujemy swoje kluczewykorzystywane w innym kliencie (choćby wspomnianym Mailvelope).Tworzenie własnego klucza RSA-4096 potrwa kilka minut, importowaniejest zaś możliwe z serwera kluczy, pliku, schowka, a nawet przezkod QR czy wiadomość radiową NFC. Uwaga – przy przenoszeniuprywatnego klucza należy zachować ostrożność, smartfon powinienbyć zaszyfrowany.

  • Slider item
  • Slider item
[1/2]

Po stworzeniu lub zaimportowaniu swojej pary kluczy oraz pobraniukluczy publicznych naszych korespondentów, możemy wziąć się jużza korespondencję w K-9 Mail. Po skonfigurowaniu w nim konta przezprostego kreatora, (dostęp po IMAP, robimy to zgodnie z ustawieniamipodanymi przez dostawcę poczty), przechodzimy do menu Ustawienia >Ustawienia konta > Kryptografia. Jako dostawca OpenPGP powinienjuż być ustawiony APG, warto jeszcze zaznaczyć opcje Automatycznypodpis oraz Automatyczne szyfrowanie – dzięki nim wiadomości będąpodpisywane i szyfrowane dla wszystkich odbiorców, których kluczamipublicznymi w swoim pęku dysponujemy.

  • Slider item
  • Slider item
[1/2]

Aby teraz wysłać szyfrowanego e-maila, należy w głównympanelu dotknąć ikonki „plus”, i w polu adresata wpisaćodbiorcę, którego adres znajduje się w pęku kluczy APG. Pozakończeniu edycji treści wystarczy dotknąć ikonki wysłania.

Równie proste jest odszyfrowanie odebranej wiadomości w mobilnymkliencie poczty. Zaszyfrowane dla nas wiadomości zostanąwyświetlone z przyciskiem Deszyfruj. Dotknięcie wywoła oknodialogowe z pytaniem o nasze hasło do klucza, poprawne jego wpisaniewyświetli odszyfrowaną wiadomość.

Warto jeszcze wspomnieć, że samo APG może być wykorzystane doszyfrowania i odszyfrowania wiadomości tekstowych – pozwalają nato opcje Zaszyfruj i Deszyfruj w menu kontekstowym. Potraktowane wten sposób wiadomości mogą być skopiowane do schowka, lubudostępnione innym androidowym aplikacjom.

Thunderbird, GPG i Enigmail – dlatradycjonalistów

Desktopowy klient poczty, taki jak np. Thunderbird (wersjana Windowsa | wersjana Maka), jest wciąż dla wielu niezastąpionym narzędziempracy. Połączymy go z zestawem narzędzi GPG (GNU Privacy Guard),które w Linuksie są domyślnie dostępne w większościdystrybucji, na Windowsie oferowane jako pakiet Gpg4win (wersjana Windowsa), a na OS-ie X jako GPG Suite (wersjana Maka). Pomoże w tym rozszerzenie Enigmail, z którym wygodnieThunderbirda zaprzęgniemy do pracy z pocztą szyfrowaną.

  • Slider item
  • Slider item
[1/2]

Po skonfigurowaniu Thunderbirda jako klienta poczty (zgodnie zewskazówkami dostawcy usługi), zainstalowaniu odpowiedniej wersjinarzędzi GPG, pozostaje jeszcze pobrać dodatek Enigmail z kataloguMozili. Robimy to wybierając w menu kontekstowym (ikona hamburgera)opcję Dodatki, w polu wyszukiwania wpisując „Enigmail” iodpowiednio klikając. Po restarcie klienta poczty zobaczymy kreatorakonfiguracji rozszerzenia, pozwalającego na importowanie lubwygenerowanie swoich kluczy. Oczywiście klucz prywatny będziezabezpieczony hasłem, którego siła zostanie oceniona przezrozszerzenie. Generowanie kluczy możemy przyspieszyć aktywnościąw systemie – im więcej losowości w naszych działaniach, tymlepiej. Po utworzeniu kluczy pozostaje jeszcze wygenerowaniecertyfikatu odwoławczego, za pomocą którego możemy unieważnićswój klucz publiczny.

Obraz

Dostęp do konfiguracji Enigmail otrzymamy bezpośrednio przeznową pozycję w menu Thunderbirda. Tutaj poprzez moduł zarządzaniakluczami możemy importować klucze, czy to z pliku, czy wyszukująctożsamość odbiorcy naszych wiadomości na serwerze kluczy.Przydatna jest też funkcja wyszukania kluczy dla wszystkich swoichkontaktów, za sprawą której rozszerzenie zrobi to za nas.Oczywiście warto wyeksportować też swój klucz publiczny na serwer– dzięki temu osoby, które chciałyby się z nami bezpiecznieskontaktować, będą mogły łatwo to zrobić. Finalnie należyodwiedzić ustawienia konta pocztowego i w pozycji OpenPGP włączyćobsługę szyfrowania dla danej tożsamości, wybierając zarazem,czy chcemy domyślnego szyfrowania i podpisywania wiadomości.

Obraz

Teraz gdy tylko zaczniemy pisać e-maila do kogoś, kogo kluczpubliczny w naszym pęku mamy, Enigmail wymusi szyfrowaniewiadomości. Pozostaje tylko kliknąć Wyślij, by dostarczyćwiadomość odbiorcy. Automatycznie też rozszerzenie zadba oodszyfrowywanie wiadomości do nas wysłanych (o ile poprawnie podamyhasło zabezpieczające klucz prywatny).

Obraz

O co chodzi z tymi liczbami RSA?

Aby korzystać z szyfrowanej poczty nie musicie znać się nakryptografii, warto jednak znać podstawy, by nie pogubić się wtych wszystkich kluczach i szyfrach. Tak więc na sam koniec –nieco objaśnień.

W przedstawionych metodach szyfrowania poczty elektronicznejpodstawową rolę odgrywa asymetryczny szyfr RSA. Asymetryczny, czylitaki, w którym używa się zestawów dwu kluczy, z których jedenmoże być udostępniony publicznie bez obawy o bezpieczeństwo zabezpieczonych danych. Tak więc klucz publiczny używany jest dozaszyfrowania danych, zaś klucz prywatny do ich odszyfrowania. Tozaś oznacza, że wiadomość zaszyfrowaną kluczem publicznym możemyprzesłać adresatowi – i mieć pewność, że jeśli nie utraciłkontroli nad swoim kluczem prywatnym, to tylko on może ją odczytać.

Kryptosystemy takie jak RSA pozwalają na szyfrowanie dlatego, żeuzyskanie klucza prywatnego na podstawie publicznego (i vice versa)jest obliczeniowo trudnym problemem, związanym z faktoryzacją(rozkładem na czynniki pierwsze) odpowiednio dużych liczbzłożonych. Odwracając ten proces, można wykorzystać je dopodpisu cyfrowego. Robi się to za pomocą klucza prywatnego nakryptograficznym skrócie wiadomości, dołączając taki podpis wrazz oryginalną wiadomością. Adresat mający klucz publiczny szyfrujewartość funkcji skrótu, porównując ją z wartością tej funkcjidla otrzymanej wiadomości. Jeśli obie wartości są takie, możnazałożyć, że to wszystko działa poprawnie.

Tyle ogólników, zainteresowani Czytelnicy mogą chciećprześledzić na prostym przykładzie ten proces powstawania kluczy iich użycia krok po kroku. Należy w tym celu wybrać dwie różneduże liczby pierwsze p i q, w naszym wypadku będą to jednaknie tak znowu duże 5 i 11 (niczego to nie zmienia co do zasady,jedynie uprości nam obliczenia).

Niech kluczem publicznym będzie para liczb (n, e), zaś kluczemprywatnym para (n, d). Wartość n jest iloczynem naszych liczbpierwszych, w tym wypadku 5×11=55.Teraz należy wyliczyć tocjent – funkcję Eulera φ(n), którakażdej liczbie naturalnej przypisuje liczność zbioru mniejszych odniej liczb względnie z nią pierwszych (czyli takich, które niemają poza jedynką innych wspólnych dzielników w rozkładzie naczynniki pierwsze). W tym wypadku φ(n) policzymy z wzoru(p-1)×(q-1), uzyskując 40.

Teraz jako e wybierzmy losowo liczbę z przedziału 1… φ(n),która będzie względnie pierwsza z φ(n). Szukamy więc takiejliczby, która będzie mniejsza od 40 i która spełni warunek, żenajwiększy wspólnik dzielnik z 40 i e będzie równy 1. Niechbędzie to np. 3. Finalnie pozostaje wyliczyć d, którejróżnica z odwrotnością liczby e jest podzielna przez φ(n),tj. 3-1=d(mod 40), czyli 3d=1mod(40). Posiłkując się WolframemAlpha (jesteśmy leniwi) wyliczyliśmy, że d=27.

W ten sposób uzyskaliśmyklucz publiczny – parę (55, 3) i klucz prywatny – parę (55,27). Te właśnie liczby zostaną wykorzystane dla funkcji RSA,zdefiniowanej dla wiadomości m i klucza k:

F(m, k) = mk mod n

Szyfrowanie (uzyskanie liczby c) w RSA polega na podniesieniuliczby kodującej wiadomość m (np. liczbę 13) do potęgi e iwykonaniu modulo n

F(m,e) = me mod n = c (w naszym wypadku 52)

Deszyfrowanie (uzyskanie liczby m) to F(c,d) = cd mod n = m. Jakłatwo się z pomocą Wolframa przekonać, uzyskamy w wyniku tejoperacji 13, czyli naszą wiadomość.

Siła tego algorytmu bierze się z trudności znalezieniaczynników, które przemnożone przez siebie dadzą ogromną liczbę.A są one naprawdę duże, wykorzystywane we współczesnymoprogramowaniu mają od 2048 do 4096 bitów długości, tymczasemnajwiększą jak do tej pory rozłożoną liczbą RSA była232-cyfrowa liczba RSA-768, której złamanie zajęło ponad dwalata. Można więc założyć, że jeszcze długo, do momentuzbudowania naprawdę potężnych komputerów kwantowych(wykorzystujących dziesiątki tysięcy kubitów), szyfr ten będziebezpieczny.

Programy

Zobacz więcej
Komentarze (87)