• Nie Znaleziono Wyników

Podstawy kryptografii w (łatwo strawnej) pigułce:

PODPIS ELEKTRONICZNY A TECHNOLOGIE MOBILNE Tadeusz ROGOWSKI

1. Podstawy kryptografii w (łatwo strawnej) pigułce:

Możliwość składania podpisu elektronicznego została udostępniona przez kryptografię klucza publicznego. Systemy kryptograficzne są przedmiotem studiów dwóch działów nauki: kryptografii i krypto analizy, które wspólnie nazywane są kryptologią. Tematyka krypto analizy, czyli nauki o metodach łamania szyfrów, - która wnosi bardzo istotny wkład do kryptologii gdyż weryfikuje poprawność i siłę mechanizmów stworzonych przez kryptografię - nie zostanie poruszona w niniejszej publikacji.

O " 55TaU l zaaryhowany

| W

Takat i

KO)

i~Szyfrow an i« Deszyfrowani« Tałcat

Decryi*

• k(D) m usi b yć utrzym yw any w tajem nicy

Procesy szyfrowania i

Słowo kryptografia pochodzi z greckiego „Ukryta wiadomość (słowo)” Kryptografia to nauka, która udostępnia różnego rodzaju metody/systemy szyfrowania, które przez wiele wieków właściwie dawały możliwość uzyskania jedynie poufności, czyli zapobiegały możliwości zapoznania się z treścią wiadomości przez osobę, dla której wiadomość ta nie została przeznaczona.

Już Cezar - doceniając poufność informacji - pisał do Cicero i jego przyjaciół w Rzymie ponad 2000 lat temu, używając szyfru, w którym każda litera wiadomości - jawnego tekstu -była zastępowana przez trzecią literę (to był sposób szyfrowania, czyli=ALGORYTM) alfabetu łacińskiego (alfabet to ciąg liter o znanym uporządkowaniu, = czyli KLUCZ używany do przetworzenia tekstu), słowo CAESAR było w ten sposób zastępowane przez FDHYDU. Problemem w tym przypadku był fakt, że każdy

142

z przyjaciół Cezara znał zarówno algorytm jak i klucz a więc jeśli któryś z nich uzyskał dostąp do informacji dla niego nie adresowanej mógł j ą odczytać. Aby temu zapobiec Cezar powinien wymienić się z każdym z przyjaciół innym kluczem a więc innym uporządkowaniem wszystkich liter.

Gdyby tak postępował być może nie zostałby zasztyletowany i inaczej potoczyłaby się historia. A więc bezpieczeństwo tego typu systemu kryptograficznego polega na tym, aby każda para respondentów wymieniła się innym kluczem, który będą z sobą współdzielić i starannie go chronić przed innymi. Te systemy kryptograficzne nazywa się systemami sym etrycznym i gdyż zarówno do szyfrowania jak i deszyfrowania używa się tego samego klucza, czyli takiego samego wyrazu/zdania (ciągu znaków).

Obecnie najpowszechniej używanym algorytmem jest system DES, który w 1977 r. został przyjęty przez Narodowe Biuro Standardów USA (ang. National, Bureau of Standards - NBS obecnie National Institute of Standards and Technology - NIST. Jako amerykańska norma szyfrowania danych, opublikowana w dokumencie FIPS 46. Algorytm DES jest przeznaczony do szyfrowania i odszyfrowywania 64-bitowych bloków danych. Blok wyjściowy (zaszyfrowany) ma taką sam ą długość jak blok wejściowy (poddawany szyfrowaniu). Stał się obiektem wielu badań dotyczących jeg o bezpieczeństwa. W trakcie tych badań nie znaleziono żadnych cech świadczących o jego ewentualnych słabościach, z uwagi jednak na zbyt m ałą jak na obecne możliwości obliczeniowe przestrzeń kluczy, zaleca się zaniechanie stosowania tego algorytmu w jego podstawowej postaci. W jego miejsce proponuje się najczęściej użycie tzw.

potrójnego DES-a, polegającego na trzykrotnym zaszyfrowaniu wiadomości za pom ocą trzech różnych kluczy. W najbliższym czasie do praktyki wejdzie nowa generacja algorytmów symetrycznych o nazwie AES (ang.

Advanced Encryption Standard), Algorytmom tym postawiono wymagania, by szyfrowały 128-bitowe bloki danych za pom ocą 128-bitowych, 192- bitowych i 256-bitowych kluczy. Algorytmy te zostały wyłonione w drodze konkursu NIST.

M imo swojej skuteczności oraz ogromnego zapotrzebowania na ochroną informacji, zasiąg kryptosystemów symetrycznych pozostał przez tysiąclecia m ocno ograniczony do dosyć hermetycznych kręgów, ponieważ głównym problem em związanym z ich użyciem jest konieczność wcześniejszego (poprzedzającego transmisję wiadomości) uzgodnienia klucza pomiędzy każdą parą potencjalnych korespondentów. Ze względu na to, że klucz m a być znany tylko danej parze nadawca-odbiorca, więc jego uzgodnienie musi odbywać się przy użyciu specjalnego, bezpiecznego kanału łączności (np. przy użyciu kuriera). Stwarza to ogromne problemy,

zwłaszcza w dużych sieciach, gdyż liczba koniecznych do uzgodnienia kluczy rośnie proporcjonalnie do kwadratu liczby użytkowników sieci (dokładna zależność to:N (N -l)/2 gdzie N oznacza liczbę użytkowników.

Przy 100 użytkownikach liczba koniecznych do wymiany kluczy wynosi 4500). Dodatkowo sprawę komplikuje fakt, że ze względów bezpieczeństwa klucze te powinny być możliwie często zmieniane. Problemem też jest zapewnienie właściwej ochrony tym sekretnym kluczom.

Te zasadnicze niedogodności usunęła kryptografia klucza publicznego, która zupełnie zmieniła podejście do szyfrowania, ponieważ używa dwu kluczy stanowiących wzajemnie zależną parę a ich szczególna cecha to to, że jeśli wiadomość zostanie zaszyfrowana przy użyciu jednego z tych kluczy to rozszyfrowanie może nastąpić tylko przy pomocy tego drugiego klucza. To tak jakby kłódka była wyposażona w dwa zamki i dwa odpowiednie klucze, jednym się tą kłódkę zamyka, ale otworzyć można tylko tym drugim. Jeden z tych kluczy nazwano kluczem publicznym, gdyż udostępnia się go osobom, z którymi chce się wymieniać informacje a drugi to klucz prywatny gdyż pod żadnym pozorem nie można go udostępniać i trzeba zapewnić mu ochronę na miarę wartości/ważności transakcji, do jakich chcemy go stosować. Jednakże i w tym przypadku jest zasadnicza różnica pomiędzy dwoma systemami kryptograficznymi, gdyż za ochronę klucza prywatnego bierze jednoznaczną odpowiedzialność tylko jedna strona. W przypadku, bowiem kryptografii symetrycznej naruszenie ochrony sekretnego klucza może nastąpić przez obie strony a wykrycie, kto był za to odpowiedzialny może nastręczać trudności.

Analogia do kłódki

•Klucz p jjilc in y adres*« nie Jest lin y m y e a n y w tajemnicy, lecz pod leją certyikaęji

Proces szyfrowania i deszyfrowania w systemie asymetrycznym

144

Najbardziej znanym i rozpowszechnionym algorytmem kryptosystemu asymetrycznego jest RSA (od nazwisk twórców: Rivest, Shamir i Adelman). Kryptosystem RSA jest systemem opublikowanym w 1978 roku. Jako jeden z nielicznych kryptosystemów asymetrycznych oparł się próbom ataku i stał się de facto standardem, używanym powszechnie m.in. do tworzenia podpisów cyfrowych.

W algorytmie RSA ciąg bitów podawanych na wejście przekształcenia szyfrującego jest traktowany jako duża (rzędu kilkuset cyfr dziesiętnych) liczba całkowita. Rolę klucza prywatnego pełni trójka dużych liczb całkowitych SK=(d,p,q), rolę klucza publicznego para liczb PK=(e,N).

Liczby p i q są dużymi liczbami pierwszymi.

Liczba N jest iloczynem liczb p i q, N=pxq.

Liczby e i d związane są zależnością: exd= l mod ((p-l)(q -l)).

Algorytm jest przeznaczony do szyfrowania i odszyfrowywania n- bitowych bloków danych (gdzie n oznacza długość liczby N). Blok wyjściowy (zaszyfrowany) ma taką sam ą długość jak blok wejściowy (poddawany szyfrowaniu), tzn. n bitów. Przyjęta obecnie za bezpieczną i powszechnie używana wartość parametru n wynosi 1024 bity.

Przekształcenie szyfrujące wyznaczone przez klucz publiczny jest proste obliczeniowo i polega na podniesieniu liczby reprezentującej wiadomość M do potęgi e określonej przez klucz publiczny, modulo liczba N stanowiąca drugi elem ent klucza publicznego.

W ykonanie przekształcenia odwrotnego, tzn. odtworzenie wiadomości M na podstawie znajomości szyfrogramu C i klucza publicznego PK=(e,N), a bez znajomości klucza prywatnego SK=(d,p,q), jest obliczeniowo niemożliwe przy aktualnym stanie techniki obliczeniowej.

Znajomość klucza prywatnego pozwala na „zamknięcie zapadki” i wykonanie przekształcenia odwrotnego (odszyfrowującego) w czasie porównywalnym do czasu potrzebnego na wykonanie przekształcenia prostego (szyfrującego).