Professional Documents
Culture Documents
Kryptografia-Praca Inżynierska Niekompletna-!
Kryptografia-Praca Inżynierska Niekompletna-!
Spis Treści
Wstęp…………………………………………………………………………………………..3
Rozdział 3 Hasła…………………………………………………………………………...8
Wstęp
2
Podmiotem uwierzytelnianym, którego nazywać będziemy użytkownikiem
Podmiot weryfikującym, czyli weryfikatorem.
3
protokoły typu wyzwanie—odpowiedz (challenge-response):
- pytanie o losową informacje z dużego zbioru (małe prawdopodobieństwo
powtórzeń),
-hasła jednorazowe (brak powtórzeń),
protokoły z wiedzą zerową;
Identyfikacja systemu, osoby, czy bądź programu jest protokołem komunikacji między
dwoma stronami: udowadniającym (z ang. prover), oznaczanym przez użytkowników
najczęściej literką „P”, oraz istniejącym po drugiej stronie weryfikator, którego oznaczamy
literką „V”. Podstawowym zadaniem udowodniającego jest przedstawienie się
weryfikatorowi, tak by przekonać go, iż ma do czynienia właśnie z nim.
4
Działanie protokołu identyfikacyjnego może zakończyć się fiaskiem na dwojaki sposób:
1. podszywający się pod udowodniającego „P” intruz , może oszukać weryfikatora„V”,
który uwierzy, iż komunikuje się z „P”. Daną sytuację nazywamy fałszywą akceptacją
(ang. false acceptance).
2. weryfikator „V” może nie uwierzyć w autentyczność „P”. Sytuację nazywamy
fałszywym odrzuceniem (ang. false rejection). Wartości prawdopodobieństw
wystąpienia .
Wartości prawdopodobieństw wystąpienia tych sytuacji, oznaczane (odpowiednio) przez
……, jest charakterystyczne dla protokołu identyfikacyjnego.
Przypatrzmy się dwóm postacią protokołu identyfikacji. W pierwszej z nich np. Bolek
zapytuje drugą osobę o imię i po uzyskaniu odpowiedzi „Lolek”, zakłada jej
prawdziwość; prawdopodobieństwo fałszywej akceptacji jest tu stuprocentowe (
……zaś fałszywe odrzucenie jest niemożliwe (….).
W drugim przypadku, podejrzliwy Bolek zakłada stuprocentowe oszustwo interlokutora,
nie dając prawdziwemu Lolkowi żadnych szans na konwersację, zabezpieczając się w ten
oto sposób przed złymi intencjami intruza.
odrzucając jednak wszelkie próby nawiązania konwersacji (……)
A więc w przypadku idealnego protokołu identyfikacyjnego obydwie wartości …..—
powinno zmniejszyć ilość niepożądanych zdarzeń.
Identyfikacja podmiotu (z ang. entity) może być osoba, program, host, która może być
rozpatrywana jako weryfikacja tego podmiotu w następujących kategoriach:
• bycia,
• posiadania,
• wiedzy.
5
chroniona tajnym kodem dostępu. Przedmiot traktowany jest jako świadectwo autentyczności
osoby posiadającej
Trzecia kategoria oparta jest na bazie pewnych tajnych informacji, które znane są
jedynie
uprawnionemu podmiotowi. Przykładem takiej informacji są wszelkiego rodzaju hasła. Z
jednej strony ich tajność jest warunkiem sine qua non wiarygodności identyfikacji — hasło,
które utraciło swoją tajność, może posłużyć każdemu intruzowi do swych niecnych celów.
Jednakże drugiej strony uprawniony podmiot, który hasła zapomniał, nie może zaświadczyć o
swej autentyczności.
Obydwie kategorie, czyli posiadania i wiedzy, posiadają jedną wspólną cechę, którą
jest wykorzystywanie sekretnej informacji. Natomiast, jeżeli chodzi o sposób
przechowywania informacji znamiennie różnią się: w pierwszym przypadku informacja
zapisana jest wewnątrz pewnego gadżetu, czyli niejako na zewnątrz identyfikującego się
podmiotu; w drugim przypadku informacja (w postaci określonej wiedzy) tkwi organicznie
wewnątrz podmiotu np. w umyśle użytkownika czy w numerze seryjnym BIOS-u komputera.
6
zaakceptowaną jako niepodważalny dowód w postępowaniach sądowych. Natomiast w
systemie identyfikacji odcisk palca traktowany jest jako wzorzec wypukłości i wklęsłości, a
dokładniej jako skatalogowany szablon linii papilarnych ( ang.minutiae).
AFIM ( ang. automated fingerprint identification machines ) czyli automaty służące do
identyfikacji linii papilarnych, których podstawową cechą jest prawdopodobieństwo błędnej
akceptacji lub błędnego odrzucenia rzędu 10–3 lub mniejszym. Pojedynczy wzorzec odcisku
palca zajmuje około 1 kilobajta pamięci i trwa mniej niż10 sekund, którego proces
identyfikacji przeprowadzany jest w kilku sekund. Koszt zakupu takiej maszyny jest wciąż
nie opłacalny.
Następną metodą identyfikacji jest struktura siatkówki i tęczówki oka.
Specjalne urządzenia skanują i przetwarzają strukturę siatkówki (tęczówki) na pozycję
cyfrowych szablonów. Jeden szablon wymaga przynajmniej 40 bajtów pamięci samo zaś
skanowanie trwa 30 sek. Prawdopodobieństwo błędnego odrzucenia wynosi 10-6
Metoda identyfikacji głosu należy do najbardziej zawodnych metod ( przykładowo
głos danej osoby może zostać nagrany, a następnie odtworzony przez intruza za
pośrednictwem telefonu), jednak najprostsza w implementacji, przeprowadzana np. przez
wspomniany telefon.
Podpis odręczny stanowi najstarszą metodę, stanowiąca do uwierzytelniania
dokumentów papierowych. Pomimo ze dwa składane podpisy składane przez jedną osobę nie
będą nigdy takie same, cechy wspólne podpisów będą uwidocznione: styl pisania-charakter,
rodzaj pióra użytego, pochyłość liter.
W metodach identyfikacji opierających się na kodzie genetycznym DNA człowieka,
prawdopodobieństwo błędu wynosi zero ( wykluczając parę bliźniąt o podobnym kodzie) . W
praktyce stosowana jest w specjalistycznych laboratoriów, bowiem pochłania dużo czasu, a
ponadto wymaga dysponowania przykładowymi próbkami kodu genetycznego
identyfikowanej osoby. Aspekty zagadnienia wykluczają identyfikacje użytkownika w
systemie komputerowym.
Rozdział 3 Hasła
7
Zacznę ten rozdział od pytania, do czego służą hasła? Przede wszystkim, aby osoby
uprawnione miały jedyny dostęp do komputerów. Wyszczególniamy także inne powody,
wśród nich:
miejsce na dysku dostępne użytkownikowi jest limitowane, na ogół nie
chcemy aby ktoś inny korzystał z naszego limitu;
nie chcemy również by ktoś kasował nasze pliki, niezależnie od intencji innego
użytkownika;
zachowanie własnej prywatność adresowanych do nas listów - e-mail;
działalność innego użytkownika na „naszym” komputerze może czasami
naruszać regulamin pracowni lub tzw. ,,dobre obyczaje'' -- więc jeśli już musi,
to niech lepiej to robi na własny a nie cudzy rachunek (w 99% takich
przypadków da się ustalić z czyjego konta korzystano, trudniej jest ustalić jaka
to osoba fizycznie siedziała przy terminalu);
Hasło chroni nie tylko system komputerowy, ale również interes samego użytkownika. We
własnym interesie należy, więc unikać udostępniania hasła konta osobom postronnym, jak
również stosowania haseł, które łatwo odgadnąć (np. komuś kto wie jak się nazywa mój pies
czy jak ma na imię moja dziewczyna/żona/narzeczony itd.).
Jakie więc reguły należy stosować przy ustalaniu hasła, aby było ono ,,bezpieczne''?
Po pierwsze, długość hasła ograniczona jest do ośmiu znaków. Długie hasła są akceptowane
przez system bez sprzeciwu, ale dalszy ciąg jest ignorowany (tj. nie podlega sprawdzaniu). Po
drugie, nie ma metody efektywnego ,,odszyfrowania'' haseł. Istnieje jednak metoda ,,prób i
błędów'' za pomocą, której można próbować hasło ,,złamać'', czasami z powodzeniem.
Metoda ta jest dość skuteczna po pierwsze dzięki temu, że realizuje się ją oczywiście za
pomocą odpowiedniego programu komputerowego, a komputery to obecnie dość szybkie
bestie; a po drugie, dzięki naturalnej skłonności użytkowników do wybierania haseł ,,łatwych
do zapamiętania''. Nieco upraszczając i nie wnikając w szczegóły techniczne: nieodporne na
atak są hasła będące po prostu wyrazami występującymi w słownikach języka polskiego,
angielskiego czy innych w miarę pospolitych. Niebezpieczne jest hasło identyczne z nazwą
konta (loginem), czy będące np. tym samym loginem ale zapisanym wielkimi literami.
Prosta reguła mówi że hasło jest tym ,,lepsze'', im bardziej przypomina czysto losowy ciąg
znaków. W osiągnięciu tego efektu pomaga np. mieszanie małych i wielkich liter, cyfr, czy
wtrącenie znaków przestankowych.
8
Hasła n-znakowe, które wykorzystują 26 liter (małe i wielkie litery nie są rozróżniane)
prawdopodobieństwo odgadnięcia hasła wynosi 26־ⁿ. Gdy małe litery odróżniane są od swych
„wielkich” odpowiedników, prawdopodobieństwo odgadnięcia hasła gwałtownie spada do
wartości 52־ⁿ.
Bezpieczeństwo określonego hasła maleje systematycznie wraz z jego kolejnym
użyciem, w związku z czym często ogranicza się jego ważność do określonego przedziału
czasowego, typowo wahającego się między 3 tygodniami a 3 miesiącami. W przypadku
ekstremalnym ważność hasła ograniczona jest tylko do jednokrotnego użycia (ang. one-time
password). Implementacja systemu haseł jednokrotnych polega najczęściej na wygenerowaniu
(oddzielnie dla każdego użytkownika) listy haseł i określeniu kolejności, w jakiej
poszczególne pozycje tej listy muszą być używane przy kolejnych próbach logowania.
Rozwiązanie to jest jednak uciążliwe dla użytkownika, który zmuszony jest dokładnie
zapamiętać wiele haseł jednocześnie. Można tę uciążliwość zmniejszyć, wybierając zestaw
n+1 haseł powiązanych jednokierunkową funkcją f zgodnie z regułą pi = f (pii) dla i = 1, …, n
9
4.1 Hasła jednorazowe
Operowanie hasłami może stać się niebezpieczne, kiedy stają się jawne dla obcych
użytkowników. Poznać hasło można poprzez podłączenie się do połączenia między
przeprowadzającym dowód a weryfikującym. Dlatego stworzono system haseł
jednorazowych, których zastosowanie-żywot kończy się po jednorazowym użyciu. Przy
kolejnej identyfikacji używamy zupełnie innego hasła jednorazowego.
Hasła jednorazowe zaimplementować można w następujący sposób. Weryfikujący
posiada listę f (w1), f(w2),….. f(wⁿ) wartość haseł w1….., wⁿ. Przeprowadzający dowód
posiada wiedze na temat listy haseł i używa jej elementów do identyfikacji. Ponieważ
przeprowadzający dowód musi zapamiętać wcześniej wszystkie hasła, przeciwnik mógł
poznać niektóre z nich lub nawet wszystkie.
W przypadku, jeżeli dwie osoby posiadają tajną funkcję „f” i słowo początkowe „w”
podczas przeprowadzania dowodu i weryfikacji, wtedy hasła jednorazowe wyglądają
następująco wi=fi(w) dla i >=0.
Przykładem haseł jednorazowych mogą być obecnie stosowane Tokeny tzw. generator kodów
jednorazowych, urządzenie elektroniczne służące do uwierzytelniania transakcji
internetowych, najczęściej bankowych. Działanie opiera się na generowaniu ciągów cyfr za
pomocą funkcji jednokierunkowej stosującej dwa parametry - jeden stały dla konkretnego
egzemplarza urządzenia, drugi zmienny - wprowadzany za pomocą klawiatury, wczytywany z
ekranu monitora, lub generowany na podstawie czasu. Niektóre tokeny są zabezpieczone
przed użyciem za pomocą systemu haseł.
Ze względu na stosunkowo wysoką cenę tokena pojawia się tendencja do
zastępowania go kartą kodów jednorazowych lub hasłami SMS.
Termin token (ang.) znaczy dosłownie „znacznik”, „symbol”, przez dociekliwych
bywa tłumaczony jako żeton.
Oprócz generatora kodów jednorazowych słowo token ma kilka innych znaczeń. Przyjmuje
się, że zanim wynalezione zostało liczenie, poprzedzało je prymitywne odwzorowywanie
danych obiektów na kamyki trzymane w jakimś zasobniku (czyli: człowiek prymitywny nie
wiedział, że ma 21 kóz, ale wiedział, że ma tyle kóz, ile kamyków w dzbanie na półce). Te
kamyki zwane są właśnie tokenami (znacznikami).
Ciekawostką jest, że we wczesnej fazie rozwoju komputerów domowych słowem
token określano(zrozumiały dla człowieka) zapis instrukcji np. języka Basic, w odróżnieniu
10
od postaci binarnej, która zapisywana była na jednym bajcie. Przykład wyglądu
standardowego Token’a widoczny na rysunku 1.
Rys. Token
11
przechwycenia tego klucza drogą podsłuchu kanału komunikacyjnego. Cały proces pozwala
obu stronom na dynamiczne ustanawianie bezpiecznej komunikacji bez potrzeby
wcześniejszych kontaktów.
Klucze publiczne stosowane są w popularnych protokołach takich jak : SSL (Secure
Socket Layer), S/MIME (Secure MIME), SET (Secure Electronic Transaction), i w
podpisywaniu apletów Javy czy ActiveX, co wystawia jednocześnie na pierwszy plan
problem zarządzania tymi kluczami, zarówno i ich certyfikatami. Zarządzanie kluczami oraz
certyfikatami stanowiącymi niezbędnymi dla tych protokołów zapewnia PKI (Public Key
Infrastructure)-infrastruktura klucza publicznego.
12
Rys. przedst. szyfrowanie kluczem publicznym (zaczerpnięte ze strony
http://www.networld.pl/artykuly/9930.html )
13
W szyfrowaniu asymetrycznym uczestniczą 2 klucze takie jak: klucz publiczny, który
szyfruje, oraz klucz prywatny, który deszyfruje. Nie mając potrzeby rozpowszechniania
klucza prywatnego, istnieją znikome szanse, że wpadnie on w niepowołane ręce. Szyfry
asymetryczne opierają się na istnieniu trudnych do odwrócenia problemów, np: łatwiej jest
pomnożyć przez siebie 2 duże liczby, niż rozłożyć dużą liczbę na czynniki (opiera się na tym
system RSA). Typowe rozmiary kluczy są wielkości 1024-2048 bitów dla np. RSA lub ok
512 bitów dla kryptografii na krzywych eliptycznych. W przypadku RSA złamane zostały
klucze rozmiarów do ok. 500 bitów.
4.2.1.1 RSA
Jeśli użytkownik nie posiada adresu sieciowego, może umieścić numer telefonu lub inne
przydatne informacje o sobie, które dodatkowo zapewnią unikalność identyfikatora.
Następne pytanie PGP dotyczy hasła, które chroni klucz prywatny użytkownika w
przypadku, gdyby dostał się w niepowołane ręce. Hasło nie musi składać się z jednego słowa,
zawierać może całe zdanie z zawartością spacji, znaków przestankowych, cyfr itp. Nie ma
metody odzyskania hasła, więc staraj się go nie zapomnieć. Zobowiązująca powinna być
14
przestroga do nie używania krótkiego i prostego do zgadnięcia hasła, ani do zapisywania go w
miejscu, w którym mogłoby być przez kogoś znalezione. Jeśli użytkownik nie chce
zabezpieczać klucza hasłem, może wcisnąć ENTER (używanie bezpiecznego hasła jest
szczególnie ważne w systemach multipersonalnych, gdzie praktycznie każdy ma dostęp do
konta; bezpieczne, znaczy długie, różnorodne pod względem znakowym i z niczym się nie
kojarzące potencjalnemu hackerowi; z drugiej strony, nie bardzo ma chyba sens używania
hasła w domu -PK)
Para kluczy - publiczny i prywatny - jest generowana na podstawie losowych liczb.
Aby zapewnić maksymalną przypadkowość wyboru liczb, program poprosi o wprowadzenie
przypadkowego ciągu znaków, przypadkowego najlepiej zarówno pod względem
częstotliwości uderzeń, jak i zawartości. Losowość wynika tutaj w pewnym stopniu z
nieprzewidywalności wprowadzanych przez Ciebie znaków, więc nie przyciskaj w kółko tych
samych klawiszy.
Generowanie klucza RSA jest procesem skomplikowanym i wymagającym dużej
mocy obliczeniowej, więc analogicznie może trwać stosunkowo długo - od kilkunastu sekund
dla małego klucza na szybkim procesorze, do kilku minut dla dużego klucza na PC/XT. PGP
wyświetla postęp generowania.
Gotowa para kluczy jest umieszczana w bazach - odpowiednio publicznej i prywatnej.
Używając komendy -kx możesz później zrzucić swój klucz publiczny do pliku, na przykład w
celu rozesłania go znajomym. Klucza prywatnego oczywiście nie należy nikomu dawać.
Każdy klucz prywatny jest dodatkowo chroniony własnym hasłem (jeśli zostało założone).
Klucz prywatny powinien być zawsze umieszczony w miejscu do którego nikt poza
Tobą nie ma dostępu. Każdy użytkownik powinien mieć własny klucz prywatny, osobiście
wygenerowany.
15
użyciu szyfru symetrycznego jest dostęp do klucza szyfrującego jedynie przez osoby
bezpośrednio zainteresowane – występuje problem dystrybucji klucza, który nie może dostać
się do osób trzecich. Dzielimy je na: symetryczne szyfry blokowe i symetryczne szyfry
strumieniowe.
szyfry blokowe – procedury szyfrujące nieduże bloki danych, najczęściej 128 bitów
(AES), choć do niedawna przeważały 64-bitowe bloki (DES, 3DES, Blowfish, IDEA).
Rozmiar kluczy jest znacznie mniejszy (od 128 do 256 bitów), przy czym wartości
mniejsze od 80 (DES – 56) są uważane za niewystarczające. Szyfr blokowy zawiera
składnie kilkunastu prostych rund przekształcających blok. Operacje używane w
szyfrach są zazwyczaj proste, ale pochodzą z "różnych światów", np. używa się
dodawania-XOR, przesunięć cyklicznych, różnego typu S-BOXów, mnożenia modulo
liczb pierwszych itd.
DES (Data Encryption Standard) znany również jako DEA (Data Encryption Algorithm) jest
szyfrem blokowym, w którym dane szyfrowane są blokami o długości 64 bity - przy wejściu
algorytmu dajemy 64 bitowy ciąg jak i przy wyjściu otrzymujemy zaszyfrowany ciąg 64
bitowy.
Zarówno podczas szyfrowania jak i deszyfrowania używamy ten sam algorytm.
16
Kluczem w DES jest ciąg 64 bitów, gdzie co 8 bit traktuje się jako bit kontroli parzystości,
więc rzeczywista długość klucza wynosi 56 bitów-na nieznajomości klucza opiera się całe
bezpieczeństwo klucza.
Algorytm stosuje standardowe operacje logiczne i arytmetyczne na danych
długościach co najwyżej 64 bity, co daje bardzo łatwą możliwość realizacji na różnych
komputerach jak i maszynach. DES był zaprojektowany pod realizacje sprzętowe.
17
odwrotną do początkowej, tworząca wynikowy szyfrogram.
6. W każdym z 16 cykli wyznacza się nowy klucz do łączenia z danymi ten sposób, że bity
klucza są przesuwane w lewo i za pomocą pewnych permutacji wybierane jest 48 bitów z
56 ogólnie dostępnych.
7. Prawa połowa bloku danych szyfrowanych jest rozszerzana z 32 do 48 bitów za pomocą
permutacji z rozszerzeniem.
8. Rozszerzona prawa połowa danych jest łączona modulo 2 z 48 bitami przesuniętego i
spermutowanego klucza.
9. Dla tak otrzymanego rezultatu wykonuje się tzw. postawienie w S-Blokach (S-Box),
które skraca ciąg 48 bitów do długości 32 bitów. Tak otrzymany ciąg 32 bitowy poddaje
się permutacji w tzw. P-blokach.
18
Rozdział 5 Protokół SSL
Certyfikat jest to zbiór danych identyfikujących jednostki (na przykład osobę, lub
komputer) oraz pozwalający na identyfikacje, czy osoba, za którą się podaje jest rzeczywiście
nią.
Potwierdzony przez zaufaną organizację, zwaną w protokole SSL Certificate
Authority (CA), zawiera:
Nazwę certyfikowanego obiektu
Identyfikator obiektu
Klucz publiczny obiektu
Czas ważności
Nazwę wystawcy certyfikatu
Identyfikator wystawcy
19
Podpis wystawcy (To pole zawiera jednoznaczny skrót całego certyfikatu
zaszyfrowany przy pomocy klucza prywatnego wystawcy.)
20
Nie jest to niestety rozwiązanie idealne, gdyż generuje dodatkowy ruch w sieci i jest
dość "sztuczne", jak do tej pory nie wymyślono nic lepszego i nie stosuje się żadnych metod
unieważniania certyfikatów.
K -> S ClientHello
Klient wysyła do serwera zgłoszenie zawierające m.in. obsługiwaną wersję protokołu SSL,
dozwolone sposoby szyfrowania i kompresji danych oraz identyfikator sesji. Komunikat ten
zawiera liczbę losową, która posłuży przy generowaniu kluczy.
K <- S ServerHello
Serwer odpowiada klientowi, zwracając wybrane parametry połączenia: wersję protokołu
SSL, rodzaj szyfrowania i kompresji, oraz podobną liczbę losową.
K <- S Certificate
Serwer wysyła klientowi swój certyfikat umożliwiający sprawdzenie swojej tożsamości.
K <- S ServerKeyExchange
Serwer wysyła do klienta informację o swoim kluczu publicznym. Rodzaj i długość tego
klucza jest określony przez typ algorytmu przesłany w poprzednim komunikacie.
K <- S ServerHelloDone
Serwer informuje klienta o możliwości przejścia do następnej fazy zestawiania połączenia.
21
K -> S ClientKeyExchange
Klient na podstawie ustalonych w poprzednich komunikatach dwóch liczb losowych (swojej i
serwera) generuje klucz sesji używany do faktycznej wymiany danych. Następnie wysyła go
serwerowi używając jego klucza publicznego.
Uwaga: wygenerowany klucz jest kluczem algorytmu symetrycznego (typowo DES)! Jest on
jednak ustalony w sposób bezpieczny i znany jest tylko komunikującym się stronom.
K -> S ChangeCipherSpec
Klient informuje serwer o możliwości przełączenia się na komunikację szyfrowaną
K -> S Finished
... i że jest gotów do odbierania danych zakodowanych.
K <- S ChangeCipherSpec
Serwer powiadamia klienta, że polecenie zostało wykonane - od tej pory wysyłał będzie tylko
zaszyfrowane informacje
K <- S Finished
... i od razu wypróbowuje mechanizm (komunikat jest wysyłany bezpiecznym kanałem)
22
Rozdział 6 Dowody o wiedzy zerowej
W protokołach takich jak zapytanie-odpowiedź lub jak użyje się symetrycznego systemu
kryptograficznego, przeprowadzający dowód dowodzi, że zna pewną tajemnicę. Natomiast w
pojęciu „wiedzy zerowej” oznacza niemożliwość poznania sekretu skrywanego przez
udowadniającego. Podczas wykonywania protokołu weryfikujący nie wie nic, po za tym, że
dowodzący posiada tajemnice.
23
6.2 Protokół identyfikacyjny Fiata-Shamira (FS)
Obliczenia wstępne wykonywane przez TA: TA utrzymuje w sekrecie dwie liczby pierwsze p i
q, publikując jedynie ich iloczyn N = p*q.
Rejestracja: P wybiera w sekrecie losową wartość s eR Z*N, po czym rejestruje w TA wartość
σ = s2 (mod N) jako swą publiczną informację identyfikacyjną.
24
rund weryfikator V uznaje się za przekonanego — protokół zatrzymuje się w stanie
akceptacji.
Oszust Oskar może oszukać Wiktora (czyli weryfikator V), jeśli będzie w stanie zgadnąć wy-
braną przez V wartość b. Niech g eR {0,1} będzie domniemywaną przez Oskara wartością b;
Oskar wybiera losowo wartość r i wysyła Wiktorowi swe zobowiązanie
u ≡ r2σ-g mod N ,
otrzymując w odpowiedzi (od Wiktora) losową wartość binarną b. I teraz Oskar staje przed
problemem obliczenia wartości
v ≡ r * sb-g mod N,
v2 ≡ u*σb modN.
v2 = r 2σb-g ≡ u * σ b-g .
25
P — V : u = r2 = 6360246 (mod 46161041).
V odpowiada losowym wyzwaniem binarnym b = 1, w odpowiedzi na co P wysyła wartość
oraz
26
27