background image

1.  Jak efektywnie obliczyć wartość 12345

23456789

 mod 101? 

(a * b) mod m = [(a mod m) * (b mod m) ] mod m 

[najpierw możemy użyć a^x mod n = a^(x mod phi(n)) mod n -> 12345^(23456789 mod 
phi(101) mod 101 = 12345^(23456789 mod 100) mod 101, po czym do obliczeń używamy 
algorytmu potęgowania binarnego] 

[potęgowanie modularne] 
http://wazniak.mimuw.edu.pl/index.php?title=Matematyka_dyskretna_1/Wyk%C5
%82ad_11:_Teoria_liczb_II#Pot.C4.99gowanie_modularne 

 

2.  Mamy alfabet złożony z 26 znaków: 

a) Ile jest różnych haseł zakładając, że ich długość może być tylko =4, =6, =8 i nie rozróżniamy 
wielkości liter? 
26^4 + 26^6 + 26^8  
b) Ile jest różnych haseł zakładając, że ich długość może być tylko =4, =6, =8 i rozróżniamy 
wielkość liter? 
(2*26)^4 + (2*26)^6 + (2*26)^8  
 

3.  Liczba całkowita x є Z

N

 jest elementem odwrotnym do liczby całkowitej a є Z

N

 wtedy i tylko 

wtedy, gdy a*x mod n = 1. Jaki musi być spełniony warunek, aby dla a i n istniało rozwiązanie 
tego równania. Podaj przykłady potwierdzające słuszność Twojej tezy. 

(a * a^1) mod n = 1  
Element odwrotny dla a = 2 i n = 7  
2* x mod 7 = 1  
2 * 4 mod 7 =  1 
więc 4 jest elementem odwrotnym dla a = 2 i n= 7 i oznacza się to 2^-1 mod 7 = 4 

[a i n muszą być względnie pierwsze] 

 

4.  Podać trzy przykłady problemów trudnych obliczeniowo wykorzystywanych przy konstrukcji 

algorytmów kryptografii asymetrycznej. 

  Logarytm dyskretnych 

  faktoryzacja liczby  

 

wyznaczanie pierwiastków  modulo n  

  zagadnienia plecakowe 

 

5.  Strony A i B prowadzą ze sobą następujący dialog: 

1. A → B: {r

A

, A}

KB 

2. B → A: r

gdzie r

A

 – liczba losowa, KB – klucz publiczny podmiotu B, {r

A

, A}

KB

 – szyfrogram. Którą ze 

stron uwierzytelnia ten protokół? 
B, ponieważ tylko B może odszyfrować kryptogram swoim kluczem prywatnym 
 

6.  Dana jest sieć lokalna, w której każdy komputer posiada klucz tajny (symetryczny). Wszystkie te 

klucze przechowywane są także przez zaufany komputer S. Jeśli użytkownik A chce przesłać 
tajną wiadomość M do użytkownika B, to pomiędzy stronami realizowany jest następujący 
protokół: 
(a) A generuje liczbę losową R i wysyła do serwera S swój identyfikator A, identyfikator 
użytkownika B oraz {R}

KA

, gdzie KA – klucz tajny użytkownika A. 

(b) Serwer odpowiada, wysyłając {R}

KB

 do A (KB - klucz tajny użytkownika B). 

(c) Użytkownik A wysyła {M}

R

 wraz z {R}

KB

 do użytkownika B. 

(d) Użytkownik B zna KB, odszyfrowuje więc {R}

KB

, by otrzymać R, a następnie korzysta z R i 

odszyfrowuje {M}

R

 w celu otrzymania M. 

Czy powyższy protokół spełnia swoje zadanie? Odpowiedź proszę uzasadnić. 

Nie gdyz mozemy przechwycic wiadomosc wyslana w a). zmienic adresata B na swoj (np. C), czyli 
serwer  

background image

wysle nasz klucz tajny, A zakoduje wiadomosc naszym kluczem i wysle do B, po czym my znow ja  
przechwycimy i odkodujemy naszym kluczem.  

 

7.  Podmioty A i B upewniają się, że posiadają ten sam klucz K, korzystając z jednokierunkowej 

funkcji h(). 
1. A wysyła h(h(K)) do B. 
2. B weryfikuje, czy otrzymane dane są poprawne. 
3. B wysyła h(K) do A. 
4. A weryfikuje, czy otrzymana wiadomość jest prawidłowa. 
a) Dlaczego A nie może najpierw wysłać h(k) do B, dopiero później B wyśle h(h(K)) do A? 
b) Co zapobiega przejęciu przez Charliego przesyłki h(h(K)), pochodzącej od A i następnie 
przekazaniu h(K) z powrotem do A (zakładając, że Charlie nie zna K)? 
a) Gdyby A wyslal do B h(K) nic nie stalo by na przeszkodzie zeby Charlie ta wiadomosc 
przechwycil, odeslal  
A h(h(K)) (stworzy go bez znajomosci klucza K) przez co A myslalby ze Charlie ma klucz K, 
mimo ze go nie ma.  
b) Funkcja skrotu jest jednokierunkowa, wiec gdyby Charlie przechwycil h(h(K)) nie bylby w 
stanie odtworzyc  
ani K ani h(K), czyli taka informacja byla by mu niepotrzebna  
 
 

8.  Użytkownicy A i B wymieniają komunikaty M w systemie kluczy publicznych, korzystając z 

następującego protokołu: 
(a) Użytkownik A szyfruje wiadomość M stosując przekształcenie jawne użytkownika B, a 
następnie przesyła do niego zaszyfrowaną wiadomość razem z tekstem stwierdzającym 
tożsamość zarówno użytkownika A, jak i B. Wiadomość ma postać: A → B: B, A, {M}

KB

, gdzie 

KB – klucz publiczny użytkownika B. 
(b) Użytkownik B deszyfruje zaszyfrowaną wiadomość i odpowiada użytkownikowi A 
komunikatem B → A: B, A, {M}

KA

, gdzie KA – klucz publiczny użytkownika A. 

Wykaż, w jaki sposób prowadzący podsłuch może złamać metodę i poznać treść wiadomości M. 
Przechwytujemy wiadomosc na drodze od A do B, postac wiadomosci zmieniamy z B,A, {M}Kb 
na B,C, {M}Kb, dzieki czemu B odesle nam ta wiadomosc zaszyfrowana naszym kluczem 
publicznym. 
 
 

9.  Czy poniższy protokół dwustronnego uwierzytelniania jest poprawny? Oznaczenia KA

-1

 – klucz 

prywatny podmiotu A, KAB – klucz symetryczny, NA i NB – liczba losowa, A i B – podmioty 
uwierzytelniające się: 
A → B: {NA, KAB}

KA

-1 

B → A: {NB}

KAB 

 
A wykorzystując klucz prywatny do szyfrowania umożliwia każdemu posiadającemu klucz 
publiczny odszyfrowanie wiadomości, a Tym samym adwersarz wchodzi w posiadanie klucza 
symetrycznego, rozszyfrowując także komunikat z B do A 

10.  Dane są dwa protokoły, w których nadawca wykonuje następujące operacje: 

(a) Protokół A: y = e

k1

[x || H(k

2

 || x)], gdzie x jest wiadomością, H() - funkcją skrótu (np. SHA-1), 

e – algorytm szyfrowy klucza symetrycznego z kluczem k1, || - operator konkatenacji bitów, zaś 
k1 i k2 są kluczami tajnymi (symetrycznymi), znanymi tylko nadawcy i odbiorcy. 
(b) Protokół B: y = e

k1

[x || sig

kpr

(H(k

2

 || x))], gdzie x jest wiadomością, sig

kpr –

 podpisem z 

użyciem klucza prywatnego kpr, e – algorytm szyfrowy klucza symetrycznego z kluczem k, || - 
operator konkatenacji bitów, zaś k – klucz tajny (symetryczny), znany tylko nadawcy i odbiorcy. 
Opisz krok po kroku, co i dlaczego robi odbiorca po otrzymaniu wiadomości y. 
A:Odbiorca po otrzymaniu wiadomości y rozkodowuje ją z użyciem klucza k1. Następnie 
oblicz skrót z x i k2 i porównuje go z otrzymanym skrótem. Pozwala to na stwierdzenie 
integralności oraz potwierdzenie, że A zna oba klucze symetryczne. 

background image

B:To samo tylko przed porównywaniem haszów rozszyfrowujesz podpis kluczem 
publicznym A. 

 

11.  Istnieją trzy podstawowe sposoby używania identyfikatorów jednorazowych w roli wyzwania 

(ang. challenge). Przyjmijmy, że N

A

 to identyfikator jednorazowy wygenerowany przez A, 

podmioty A i B mają wspólny klucz K, a f() jest funkcją typu np. zwiększenie o 1 . Trzy 
wspomniane sposoby są następujące: 

Sposób 1 

Sposób 2 

Sposób 3 

1. A → B: N

1. A → B: {N

A

}

1. A → B: {N

A

}

2. B → A: {N

A

}

2. B → A: N

2. B → A: {f(N

A

)}

Opisz sytuacje, w których każdy z tych sposobów jest odpowiedni. 
1.  Uwierzytelnia się B. 
Pytamy wszystkich, kto jest strona B wiedzac, ze odpowie nam tylko prawdziwy B, poniewaz 
tylko on posiada klucz k. 
2.  Uwierzytelnia się B. 
Zakladamy, ze nasz adresat to wlasnie B i ze posiadamy bezpieczne lacze, dlatego tez uzyskanie 
odpowiedzi droga jawna nie grozi jej przechwyceniem, a upewniamy sie, ze B to B (poniewaz 
potrafil B zdeszyfrowac nasza wiadomosc)  
3.  Uwierzytelnia się A i B. 
Lacze nie jest bezpieczne, wobec tego dodatkowym zabezpieczeniem jest jeszcze wymuszenie 
potwierdzenia przez B, ze nie tylko zna klucz k, ale takze funkcje uwierzytelniajaca 
 

12.  Przedstawiony jest następujący protokół uwierzytelniania typu challenge-response, gdzie PA to 

hasło użytkownika A, n – losowo wygenerowana liczba przez serwer, h() - ogólnie znana funkcja 
skrótu: 
a) S → A: E

PA

(n) 

b) A → S: E

PA

(h(n)) 

Udowodnić, że taki rodzaj protokołu jest podatny na atak ze zgadywaniem w trybie off-line. 
// wersja łabedziowa 
Jeżeli przechwisimy wiadomość S-> A i A->S to jesteśmy wstanie za pomocą ataku ze 
zgadywanie w trybie offline rozszyfrować obie wiadomości w celu uzyskania n i h(n) za 
każdym „strzałem” haszujemy uzyskane prawdopodobne n i sprawdzamy czy odpowiada 
rozszyfrowanemy prawdopodobnemu h(n) 
// 
Nie znając wcześniej n nie jesteśmy w stanie zrobić zbyt wiele jedynie znajomość n pozwala na 
przeprowadzenie ataku brutalnego gdyż wiemy kiedy trafiliśmy na dobry klucz. 

 

13.  W pewnym systemie informatycznym zarejestrowane są podmioty A, B i C. Załóżmy, że A 

przekazuje B (i C??) prawo czytaj do pliku DaneTajne. Podaj dwa rozwiązania (z użyciem 
modelu Bella-LaPaduli i TAM), w którym podmioty A i B w żaden sposób nie będą mogły 
udostępnić podmiotowi T (a nie C??) informacji zawartej w pliku DaneTajne. 
 

14.  Załóżmy, że w systemie informatycznym mamy dwa podmioty A i B o klauzulach 

bezpieczeństwa: LA=(POUFNE, {lista klientów, nr kont}), LB=(ŚCIŚLE TAJNE, {lista klientów, 
nr kont, stan konta}) oraz dwa obiekty C i D o etykietach: LC=(POUFNE, {lista klientów, stan 
kont, operacje na koncie}), LD=(TAJNE, {lista klientów, nr konta, stan kont}). Zakładając, że w 
systemie przestrzegane są aksjomaty modelu ochrony Bella-LaPaduli odpowiedz, do których 
obiektów może pisać podmiot A, a do których podmiot B, oraz które obiekty może czytać 
podmiot odpowiednio A i B. 

 

15.  Niech E(k, M) będzie szyfrem blokowym z 56-bitowym kluczem k (podobnie jak w przypadku 

DES). Załóżmy, że Alicja wysyła szyfrogram C1 = E(k1, M1) do Boba i szyfrogram C2 = E(k2, 
M2) do Charliego. Ewa przechwytuje oba szyfrogramy. Przyjmijmy także, że Rwa zna także X = 

background image

M1 xor M2. Ewa chce poznać zarówno k1 jak również k2. Przyjmij, że M1 i M2 są 
wystarczająco długie tak, aby – posiadając C1, C2 i X – możliwe było jednoznaczne określenie 
kluczy (k1, k2). Jeśli Ewa wypróbuje wszystkie możliwe pary kluczy (wszystkie spośród 2

112

), to 

znajdzie k1 i k2 (Ewa może to zrobić w ten sposób, że utworzy dwie pętle, jedną zewnętrzną dla 
k1', drugą wewnętrzną dla k2' i wykonując je dla wszystkich dozwolonych wartości k1' i k2' do 
momentu aż nie zostanie spełniony warunek D(k1',C1) xor D(k2,c2) = x). 
Pokaż, że mając C1, c2, i x, ewa może znaleźć (k1, k2) wykonując jedynie 2

57

 operacji 

deszyfrowania (chodzi oczywiście o oszacowanie asymptotyczne O). Przyjmijmy że posiadasz 
nieograniczone zasoby pamięciowe. 
//wykład 3 s 16 
 Ewa nie robi tak jak oni sugeruja petli w petli  
 tylko bada oba szyfrogramy niezaleznie. Najpierw C1, pozniej C2.  
 Korzysta z faktu ze A xor B = C tym samym A xor C = B  
 wiec bada najpierw C1, robiac D(k1',C1) xor X = Z (Z - jakas zmienna)  
 i zapisuje dla jakiego D(k1',C1) wychodzi jakie Z, oraz zapisuje k1  
 analogicznie robi dla C2  
 nastepnie w wynikach jednego i drugiego szuka tych samych par D(k1,C1) i Z2 oraz Z i  
 dlatego deszyfruje nie 2^112 tylko 2 * 2^56  
 czyli 2^57 
 

16.  Schemat zobowiązania pozwala Alicji powierzyć wartość x Bobowi. Schemat jest bezpieczny 

wtedy, gdy przekazane zobowiązanie nie ujawnia Bobowi żadnych informacji o powierzonej 
wartości x. Po jakimś czasie Alicja może odkryć zobowiązanie i przekonać Boba, że powierzoną 
wartością jest x. Jeśli Alicja nie przekona Boba, że jakaś inna wartość x' ≠ x jest  wartością 
zobowiązania, to zobowiązanie jest  wiążące (prawdziwe). 
Rozważmy następujący schemat zobowiązania: 
Zobowiązanie: Alicja wybiera losową wartość r o takim samym rozmiarze w bitach  jak wartość x 
i oblicza y = x xor r. wartość y wysyła bobowi. 
Odkrywanie: Alicja przesyła r bobowi, a bob oblicza x = y xor r. 
(a) Pokaż, że zaproponowany schemat jest bezpieczny. 
(b) Pokaż, że zaproponowany schemat nie jest wiążący, tj. pokaż, w jaki sposób Alicja może 
przełamać protokół w celu ujawnienia sfałszowanej wartości zobowiązania. 
(c) Zaproponuj taką modyfikację schematu, która pozwoli Bobowi wykryć fałszerstwo. Pamiętaj, 
że aktualność informacji ma na celu zapewnienie, że schemat jest wiążący, tj. schemat daje 
gwarancję, że Alicja nie może z wyprzedzeniem (przed otwarciem zobowiązania) znaleźć 
wartości, które mogą otworzyć dwie różne drogi do odtworzenia zawartości zobowiązania. 
a) schemat jest bezpieczny w tym sensie, że Bob nie może w żaden sposób prędzej znaleźć 
wartości x (nie zna r)  
- natomiast ...  
b) ...nie jest wiążący ponieważ Alicja chcąc oszukać Boba może mu wysłać jakąś inną od r 
liczbę r' - Bob nie ma  
jak sprawdzić prawdziwości r  
c) tutaj najprościej według mnie byłoby zastosować znaną funkcję haszującą f na x i wysłać 
Bobowi taką  
wiadomość f(x)|y. Jak Bob dostanie r i obliczy x będzie mógł porównać wynik haszowania 
swojego x z  
wartością obliczoną przez Alicje  
 
 
 

17.  Załóżmy, że dwie strony A i B realizują pomiędzy sobą (na odległość) następujący protokół, który 

wg. ich opinii umożliwia potwierdzenie posiadania przez A i B tego samego klucza 
symetrycznego K. Strona A tworzy losowy ciąg bitów o długości równej długości klucza, oblicza 
różnicę symetryczną (operator xor) klucza i liczby losowej (W = K xor N) i wynik W przesyła 
stronie B. Strona B oblicza R = W xor K i wynik R wysyła z powrotem stronie A. Strona A 

background image

sprawdza otrzymany wynik  i jeśli R = N, to znaczy, że strona B posiada ten sam klucz 
symetryczny, co i strona A. Czy metoda ta jest poprawna i bezpieczna? Odpowiedź proszę 
uzasadnić. 
 
Dziura tej metodu polega na tym, ze Zly Charlie, przechwytuje najpierw wiadomosc od A do  
B, czyli K xor N (zapiszmy to jako X1). Pozniej przechwytuje wiadomosc B -> A, czyli R (czyli 
X2), ktore de facto jest rowne N. Robi operacje  
X1 xor X2 = K xor N xor N  
N xor N = 0  
X1 xor X2 = K xor 0 = K  
Czyli Charlie jest w tym momencie w posiadaniu klucza. 

18. 

Z czym się wiąże poniższy warunek, który muszą spełniać wszystkie dopuszczalne wiadomości 
jawne M, wszystkie dopuszczalne klucze K i para przekształceń (E, D) w systemach kryptografii 
symetrycznej: V M,K: D

K

(E

K

(M)) = M? 

 

 

19.  Załóżmy, że dana jest następująca początkowa macierz kontroli dostępu (r-read, w-write, a-

append, e-execute/empty, zaś prawa R, W, A i E odpowiadają prawom r, w, a i e, ale oznaczają 
„operacja w trakcie realizacji”. 

 

O

O

O

O

... 

... 

rw 

ra 

 

 

 

 

 

 

rw 

ra 

aw 

 

 

 

 

 

 

 

 

 

 

 

 

 

... 

... 

 

 

 

 

 

W systemie kontroli dostępu zaimplementowane są następujące funkcje (polecenia): 

command get_read(S

i

,O

i

If R in a [S

i

,O

i

then 

enter R from a[S

i

,O

i

command get_write(S

i

,O

i

If W in a[S

i

,O

i

then 

enter W from a[S

i

,O

i

command release_read(S

i

,O

i

if R in a S

i

,O

i

then 

delete R from a[S

i

,O

i

command release_write(S

i

,O

i

if W in a[S

i

,O

i

then 

delete W from a[S

i

,O

i

(a) Pokaż, jak będzie wyglądała zawartość pokazanej powyżej macierzy kontroli dostępu po 
wykonaniu następujących poleceń: 
get_read(B, O2); 
get_write(A, O3); 
(b) Zakładając, że w systemie kontroli dostępu wykonywane są tylko rozważane polecenia, podaj, 
czy w taki przypadku problem bezpieczeństwa (zdefiniowany na wykładzie) jest problemem 
rozstrzygalnym? Odpowiedź (zarówno twierdzącą, jak również przeczącą) proszę krótko 
uzasadnić. 

 

20.  Dla danych czterech poziomów bezpieczeństwa: ściśle tajne (TS), tajne (T), poufne (P), jawne 

(U) oraz trzech kategorii A, B i C, określ, który z typów dostępu (read, write, read/write lub 
żaden) jest dozwolony w każdej z przedstawionych sytuacji. Proszę założyć, ze dyskretna 

background image

kontrola dostępu umożliwia każdemu dostęp do zasobów, chyba, że zakaz wynika z mandatowej 
kontroli dostępu. 
(a) Paweł o klauzuli bezpieczeństwa (TS, {A, C}) żąda dostępu do dokumentu sklasyfikowanego 
na poziomie (S, {B, C}). 
(b) Anna o klauzuli bezpieczeństwa (P, {C}) żąda dostępu do dokumentu sklasyfikowanego na 
poziomie (P, {B}). 
(c) Joasia o klauzuli bezpieczeństwa (S, {C}) żąda dostępu do dokumentu sklasyfikowanego na 
poziomie (P, {C}). 
(d) Sławek o klauzuli bezpieczeństwa (TS, {A, C}) żąda dostępu do dokumentu 
sklasyfikowanego na poziomie (P, {A}). 
(e) Anna nie ma żadnej klauzuli bezpieczeństwa, tzn. może pracować jedynie na poziomie danych 
niesklasyfikowanych (jawnych), żąda dostępu do dokumentu sklasyfikowanego na poziomie (P, 
{B}). 

 

21.  Jaki jest związek między wiadomością jawną i kryptogramem w asymetrycznych szyfrach 

wykładniczych? Jak związane są ze sobą wykładniki prywatny i publiczny w takich systemach? 
//wykład 3 s 34  

d = e^-1 mod FI(n)  
c=m^e mod n 
m=c^d mod n 

 

22.  Czy poniższe zdanie jest prawdziwe i czego dotyczy? 

Jeśli podmiot A, biorący udział w protokole, zakończy jego działanie w sposób niejawny z 
podmiotem B i podmiot B zakończy wykonywanie protokołu w sposób niejawny z A, i obie 
strony są zgodne co do faktu kto zainicjował wykonywanie protokołu, oraz co do wszystkich 
danych przesłanych podczas protokołu, wówczas istnieje relacja jeden do wielu pomiędzy 
ruchami A i B. 

 

23.  Dlaczego algorytmy kryptograficzne nie powinny być utajnione? 
 

Jak powiedzial pewin madry czlowiek "Bezpieczenstwo szyfru musi zalezec calkowicie od 
bezpieczenstwa klucza kryptograficznego" co oznacza ze algorytmy szyfrujace powinny byc 
jawne, gdyz stwarza to mozliwosc zbadania jego sily (lub slabosci) takze przez innych 
specjalistow w tej dziedzinie wiedzy, niz tylko tworcy nie dostrzegajacy ulomnosci wlasnego 
dziela. 

 

24.  Jakie są różnice między kryptografią a kryptoanalizą? 

Wykład 2 s 8  

 

25.  Prawda / fałsz: 

(a) Uwierzytelnienie podmiotu oznacza potwierdzenie tożsamości podmiotu (np. osoby, …  
komputerowego).T 
(b) Uwierzytelnienie podmiotu potwierdza jego stopień do wykonania określonej czynności 
(usunięcia pliku, założenie katalogu). F 
(c) Uwierzytelnienie podmiotu to potwierdzenie tożsamości dla informacji. F 
(d) Autoryzacja to potwierdzenie nabytych praw do czynienia czegoś lub bycia kimś/czymś. T 
(e) Autoryzacja to potwierdzenie tożsamości podmiotu (np. terminala komputerowego). F 
(f) F 
(g) DK(EK(DK(y))) = EK(DK(EK(x))), dla x = y. F   
(h) DK(EK(DK(y))) = EK(DK(EK(z))), dla y = EK(x), z = DK(EK(x))  F 
(i) Iloczyn dwóch liczb względnie pierwszych jest liczbą pierwszą. F 
(j) Jeśli a ≡ r mod n, to dla pewnego q, a = n * q + r.  F 
r = q * n + a T 

 

26.  Ania i Tomek chcą podpisać elektronicznie kontrakt i wysłać go do Jacka. Elektroniczny kontrakt 

background image

musi posiadać własność integralności, poufności i niezaprzeczalności. Wymiana informacji 
pomiędzy Tomkiem, Anią i Jankiem odbywa się za pośrednictwem Internetu. Podaj scenariusz (w 
krokach) metody, którą muszą zastosować Tomek, Ania i Janek oraz opisz, w jaki sposób 
zaproponowana metoda spełnia wymagania nakładane na zabezpieczenia kontraktu. 
Proponowaną metodę należy przedstawić w postaci diagramu. 
 

27.  Podczas weryfikacji kodu nowego produktu znaleziono następujący fragment kodu (pseudo kod): 

#include <string.h> 
int main(int argc, char **argv) { 
char buf[256]; 
if (argc > 1) { 
strcpy(buf, argv[1]); 
printf(buf); 
printf(„\n”);} 

return 0; 

Wskaż, jaki problem bezpieczeństwa wykryto w tym fragmencie kodu? Krótko skomentuj. 

 

// może dojść do przepełnienie bufora  

28.  Niech dany będzie skończony zbiór elementów S = {1, 2, 3, 4, 5} oraz permutacja P określona 

następująco: 

p(x) 

Przekształcenie odwrotne  

p(x) 

 

Wykaż, że permutacja p(x) jest bijekcją oraz wyznacz przekształcenie odwrotne do permutacji 
p(x). Podaj na przykładzie, jak zastosować oba przekształcenia do szyfrowania i deszyfrowania. 

Orgianlny ciag: 772635 
P(772635)=778512 
P2(778512)=772635 
 

29.  Wiadomo, że Bob i Sally są małżeństwem i razem zarabiają miesięcznie 4700 USD. Podaj 

minimalną liczbę zapytań statystycznych do poniżej przedstawionej bazy takich, że pozwolą na 
wyznaczenie na podstawie uzyskanych odpowiedzi zarobki pozostałych osób. Zadawane mogą 
być jedynie pytania następujących typów” 
suma (gdzie płeć = male/female) 
suma (gdzie dział = sales/economy) 
średnia (gdzie płeć = male/female) 
średnia (gdzie dział = sales/economy) 

Name 

Sex 

Division 

Salary 

Bob 

Male 

Sales 

 

Sally 

Female 

Economy 

 

Jame 

Male 

Economy 

 

Ann 

Female 

Sales 

 

Karen 

Female 

Sales 

25000 

 3 pytamy o sume plci , sume działow mamy już jame Sally i Boba potem o sume kobiet i 
mamysz wszystko  
 

background image

68. W jaki sposob odbywa sie synchronizacja czasu w generatorach jednokrotnych danych  
uwierzytelniajacych z serwerem ? 
 
Serwer oblicza jakiś kod z aktualnej godziny i wysyła do użytkownika, jeśli odbiorca poda 
kod nie o tej godzinie (z powodu przesunięcia czasu) serwer go odrzuci, ale zacznie też 
obliczać kody na kilka minut wcześniej i kilka minut później. Jeśli w tych kodach natrafi na 
taki który podał użytkownik to ma czas dla którego ten kod został obliczony. Na podstawie 
różnicy tego czasu może stwierdzić późnienie się lub śpieszenie zegara tokenu. 
 
69.Rożnica pomiędzy kryptografia a kryptoanaliza 
 
Kryptografia - ogół wiedzy o metodach matematycznych związanych z takimi aspektami  
bezpieczeństwa informacji, jak:  
- poufność;  
- integralność danych;  
- uwierzytelnianie podmiotów;  
- uwierzytelnianie pochodzenia danych  
 
Kryptoanaliza - ogół wiedzy o metodach matematycznych przełamywania (osłabiania, 
pokonywania) usług związanych z bezpieczeństwem informacji realizowanych przy pomocy 
metod kryptograficznych. 
 
70. 2. Na czym polega atak na protokół uwierzytelniania z osoba pośrodku czy przedstawiony 
protokół poddaje się atakowi tego typu?  
wiad.1 A->B {Na, a}kb  
wiad.2 B->A {Na, Nb)ka  
wiad.3 A->B {Nb}kb 

 
  

background image

 
71. Wymień 3 kategorie informacji w oparciu o które realizowane jest uwierzytelnianie 
podmiotu w systemach informatycznych 
Realizowane na podstawie:  
- tego co użytkownik wie (ang. Something you know); Hasło, PIN, imię panieńskie matki  
- tego co użytkownik posiada (ang. Something you have); Fizyczny klucz, token, karta 
magnetyczna, identyfikacyjna karta elektroniczna (ang. smartcard)  
- tego kim użytkownik jest (ang. Something you are); Odcisk palca, głos, siatkówka, 
tęczówka  
- tego gdzie się aktualnie znajduje  
 
72.  Na czym polega atak "metoda podszycia sie" w systemach kryptografii asynchronicznej i 
jak mu się przeciwstawiać.  
maskarada, podszycie (impersonation attack): adwersarz „przybiera” tożsamość innej 
legalnej strony uczestniczącej w komunikacji; Sposobem na to jest uwierzytelnianie kluczy 
publicznych czyli uwierzytelnianie pochodzenia danych. 
 
1. (2 pkt.) Zaznacz te zdania, które są prawdziwe: 
(a) utrata jednego bitu w bloku szyfrogramu uzyskanym w wyniku zastosowania trybu 
szyfrowania CBC uniemożliwia odszyfrowanie tylko tego bloku szyfrogramu (pozostałe bloki 
można odszyfrować). F 
(b) suma dwóch liczb pierwszych jest liczbą pierwszą F 
(c) Dk(Ek(Dk(y))) = Ek(Dk(Ek(z))) dla y = Ek(x) i z = Dk(x). T 
(d) liczba całkowita xєZn jest elementem odwrotnym do liczby całkowitej aєZn wtedy i tylko 
wtedy, gdy nwd(n, a*x) = 1. ?  
 
2. (2 pkt.) Zaznacz, które z przedstawionych poniżej sformułowań jest prawdziwe: 
(a)    uwierzytelnienie   podmiotu   oznacza   potwierdzenie   tożsamości   podmiotu   (np.   
osoby,   terminala komputerowego) T  
(b)    uwierzytelnienie podmiotu oznacza potwierdzenie jego uprawnień do wykonania 
określonej czynności (np. usunięcia pliku, założenia katalogu) F  
(c)     uwierzytelnienie podmiotu to potwierdzenie tożsamości źródła informacji F  
(d)    autoryzacja to potwierdzanie nabytych praw do czynienia czegoś lub bycia kimś/czymś 

(e) autoryzacja to potwierdzenie tożsamości podmiotu (np. osoby, terminala komputerowego) 

 
4. (2 pkt.) Zaznacz, które z przedstawionych poniżej sformułowań jest prawdziwe: 
(a) poufność informacji nie można zapewnić za pomocą mechanizmów kontroli dostępu w 
systemach informatycznych. T 
(b) mechanizmy bezpieczeństwa wymuszają realizację polityk bezpieczeństwa. T 
(c) bezpieczeństwo informacji wymaga co najmniej zapewnienia poufności, integralności i 
dostępności T 
(d) podatność na zagrożenie to kontrolowany dostęp do aktywów (zasobów) F  
 
6. (2pkt.) Zaznacz, które z przedstawionych ponizej sformułowań jest prawdziwe: 
(a) Niech Ek będzie bezpiecznym odwzorowaniem szyfrującym szyfru blokowego. Wówczas 
odporny na atak z wybranym tekstem jest także nastepujący schemat szyfrowania: aby wysłać 
wiadomość m nadawca generuje liczbę losową r i wysyła dwa ciągi tekstowe r iEk(r)  m. 
(Uwaga. W ataku z wybranym tekstem zakłada się, że atakujący zna parę (tekst jawny, 

background image

szyfrogram z tego tekstu)). ??????????????? ????? ??? ? 
(b) Załóżmy, że Alicja generuje klucz publiczny i prywatny algorytmu RSA i publikuje (np. 
W formie certyfikatu) swój klucz publiczny. Wówczas Alicja nie potrzebuje niczego więcej, 
aby bezpiecznie wysłać zaszyfrowaną pocztę do Boba. F  
(c) Jeśli Bobowi udałoby się jutro odkryć efektywny algorytm obliczania najwiekszego 
wspólnego dzielnika dwóch bardzo sużych liczb całkowitych, to umożliwiłoby to przełamanie 
algorytmu RSA. F 
(d) Macierz kontroli dostepu może reprezentować wszystko to, co jest zapisane w listach 
kontroli dostępu. T 
 
7. (3pkt.) Rozwiąż następujące równania. 
(a) 1*x mod7 = 1   (b) 2*x mod8 = 1   (c) 3*x mod7 = 1    
(d) 4*x mod8 = 1   (e) 5*x mod8 = 1 
 
a – 8, b, d – nie da się, c i e = 5 
 
 
RSA 
 

30.  Dana jest para kluczy algorytmu RSA: klucz publiczny (e = 11, n = 35) oraz klucz prywatny (d = 

11, n = 35). Przedstaw obliczenia mające na celu najpierw zaszyfrowanie liczby 67, a następnie 
odszyfrowanie otrzymanego szyfrogramu. 

No wiec tak - primo 67 > 35, wiec nie mozemy jej szyfrowac w jednym kawalku. Rozbijmy na 
dwa osobne wyrazy 6 i 7.  
Szyfrujemy 6:  
C = 6^e mod n = 6^11 mod 35 = (6^5 mod 35)*(6^5 mod 35)*6 mod 35 = (6*6*6) mod 35 = 6, 
a wiec  
analogicznie M = 6^d mod n = 6^11 mod 35 = 6 - zgadza sie.  
Szyfrujemy 7:  
C = 7^e mod n = 7^11 mod 35 = 19977326743 mod 35 = 28  
Dzeszyfrujemy:  
M = 28^d mod n = 28^11 mod 35 = (7^11 mod 35)*(4^11 mod 35) mod 35 = <7^11 mod 35 juz 
znamy, bylo liczone przed chwila, 4^11 mod 35 = 9> 28*9 mod 35 = 7 - zgadza sie 

 

 

31.  Dane są następujące parametry kryptosystemu RSA: p = 101, q = 107, zaś klucz publiczny ma e = 

4497. Proszę znaleźć tekst jawny odpowiadający szyfrogramowi c = 7411. 
 

32.  Dla algorytmu szyfrowego RSA z parametrami p = 5, q = 11: 

(a) Określ klucz prywatny i klucz publiczny, którego wykładniki spełniają zależność ed ≡ 1 mod 
(φ(N)), gdzie N = pq. 
(b) Zaszyfruj (utajnij) wiadomość x = 5 i podaj wartość kryptogramu. 
(c) Dlaczego nie można bezpośrednio zaszyfrować (utajnić) wiadomości x = 99 w tym systemie? 
Czy możliwe jest zaszyfrowanie takiej wartości? Jeśli nie, to odpowiedź proszę uzasadnić, jeśli 
tak, to proszę pokazać jak to zrobić. 
 

33.  Rozpatrzmy system RSA. Pokaż, korzystając z indykcji matematycznej, że szyfrogramy 

odpowiadające wiadomościom o wartościach 0, 1 i (n-1) są równe tym wiadomościom. Uwaga! 
Proszę skorzystać z własności algorytmu RSA, z której wynika, że wykładnik klucza publicznego 
musi być nieparzysty (dowód tej własności będzie dodatkowo punktowany). 

 

34.  W algorytmie RSA przyjmij, że publicznie znany jest wykładnik e = 3. Przy tym założeniu 

wybierz dowolną poprawną wartość modułu n, taką że 61 < n < 91 i oblicz poprawny szyfrogram 

background image

dla wiadomości m = 5. 

 

p = 23  

 

q = 3  

 

n =69  

 

fi(n) = 44 

 

gcd(3,23) = 1  

 

gcd(44,3) = 1  

 

E(m) = 5^3 mod 69 = 15  

 

35.  Załóżmy, że podmiot A, korzystając z algorytmu RSA, chce przesłać wiadomość X do podmiotu 

B, przy czym ani A, ani też B nie muszą znak kluczy publicznych swojego partnera. Czy 
wiadomość jest bezpieczna? Jeśli odpowiedź jest negatywna, to podaj scenariusz ataku. 
(a) A wysyła do B wiadomość {X}

PKA

, gdzie PKA – klucz publiczny A. 

(b) Podmiot B szyfruje otrzymaną wiadomość swoim kluczem publicznym {{X}

PKA

}

PKB

 (PKB – 

klucz publiczny podmiotu B) i odsyła ją do A. 
(c) Podmiot A korzystając z własności przemienności algorytmu RSA (na czym to polega?) 
deszyfruje wiadomość otrzymaną od B i uzyskuje {X}

PKB

Nie jest bezpieczny 
Jeżeli podmiot C (adwersarz) będzie w stanie podszyć się pod B, i wykona wszystkie czynności 
wykonywane przez B w ostateczności otrzyma {X}

PKC, 

wynika to z braku uwierzytelnienia 

podmiotów 
 

36.  Dany jest schemat szyfrowania RSA, w którym Alicja ma parę kluczy (publiczny i prywatny). 

Pokaż, w jaki sposób adwersarz może przeprowadzić atak z osobą pośrodku (ang. man-in-the-
middle attack), w wyniku którego będzie mógł czytać i zmieniać wiadomości przesyłane do Alicji 
przez boba, bez możliwości wykrycia tego faktu przez Alicję. 
 
Adwersarz musi być w posiadaniu klucza publicznego Alicji, a Bob musi otrzymać podmieniony 
klucz (zakładamy przesyłanie klucza publicznego kanałem jawnym) publiczny będący w 
rzeczywistości kluczem publicznym adwersarza. Pozwoli to adwersarzowi na deszyfrowanie 
wiadomości od Boba do Alicji a następnie szyfrowanie podmienionej informacji kluczem 
publicznym Alicji. 
 

 
Protokół Diffiego-Hoffmana 
 

37.  Jak uzgadniany jest klucz sesyjny w „klasycznym” protokole Diffiego-Hellmana? Pokaż 

wymieniane informacje pomiędzy stronami oraz sposób obliczania klucza sesji. 

Uzgadniane sa 2 liczby g i n. Nastepnie A wymysla x i oblicza X = g^x mod n i wysyla do B, B 

wymysla y i oblicza Y = g^y mod n i wysyla do A. A oblicza k = Y^x mod n a B oblicza k' = X^y 
mod n. k = k'. Nikt z nasluchujacych nie zna x i y.  
 

38.  Naszkicuj (w postaci diagramu sekwencji działań) zasadę działania protokołu Diffiego-Hellmana 

i udowodnij jej słuszność. Opisz przesyłanie pomiędzy stronami wiadomości. Jak można 
zrealizować arak z osobą pośrodku oraz pokaż, w jaki sposób można zastosować usługi 
infrastruktury klucza publicznego (PKI) do ochrony protokołu przed tego typu atakiem. 

background image

 

 
 

39.  Dany jest protokół Diffiego-Hellmana z modułem p = 131 i elementem g = 70. 

a) Ile wynosi rząd elementu g w zbiorze Z* 131? 
b) Twoim kluczem prywatnym jest liczba 774. Oblicz klucz publiczny w efektywny sposób. 
 

Podział sekretów 
 

40.  Zaproponować sposób podziału klucza kryptograficznego w sytuacji, gdy jego odtworzenie 

wymaga koniecznie podmiotu A, podmiotu B i co najmniej 3-ch spośród 5-u podmiotów: C, D, E, 
F i G. 
A XOR B XOR C, gdzie C jest wielomianem 2 stopnia (podział sekretu 3 z 5) 
 

41.  Zaproponować sposób podziału klucza kryptograficznego w sytuacji, gdy do jego odtworzenia 

wymagana jest obecność podmiotu A, podmiotu B, podmiotu C i co najmniej 2-ch spośród 3-ch 
podmiotów: D, E i F. 
A XOR B XOR C, gdzie C jest wielomianem 1 stopnia (podział sekretu 2 z 3) 
 

42.  W pewnej firmie, zgodnie z wymaganiami polityki bezpieczeństwa wszystkie wiadomości 

przesyłane przy pomocy poczty elektronicznej pomiędzy pracownikami są szyfrowane. Szefowie 
firmy chcą jednak, aby w niektórych przypadkach, np. urlopu pracownika, istniała możliwość 
komisyjnego odczytania zaszyfrowanej poczty (przy udziale dowolnych trzech osób spośród 
pięcioosobowego zarządu firmy). Naszkicuj zasadę działania systemu, który pozwoli na 
spełnienie przedstawionych wymagań. Uwaga: System zbudować na bazie infrastruktury klucza 
publicznego. 
 
Klucz prywatny pracownika dzielony jest na cienie przez podział progowy (3,5). W ten 
sposób uzyskujemy powyższą sytuację. Pracownik szyfruje kluczem publicznym, deszyfruje 
kluczem prywatnym. 

 

Logika BAN 

background image

 

43.  Korzystając z logiki BAN sformułuj postać wyidealizowanego protokołu, warunki niezbędne do 

zastosowania reguł BAN, a następnie zastosuj reguły logiki BAN do zbadania Kom 1/2/3/4. 
Przedstaw wyniki analizy. 
Kom 1 

 

A → B: A, N

Kom 2 

 

B → S: B, {A, N

A

, N

B

}K

BS 

Kom 3 

 

S → A: {B, K

AB

, N

A

, N

B

}K

AS

, {A, K

AB

}K

BS 

Kom 4 

 

A → B: {A, K

AB

}K

BS

, {N

A

}K

AB 

 

44.  Dany jest następujący protokół realizowany pomiędzy dwoma stronami: 

(a) A wysyła do B komunikat {KAB, TS}

K

-1

B

, gdzie KAB – symetryczny klucz sesji, TS – 

znacznik czasu utworzenia wiadomości, K-1B – klucz prywatny podmiotu B. 
(b) B potwierdza odbiór wiadomości przez wysłanie do A {NB}

KAB

, gdzie NB - dowolna liczba 

losowa. 
Protokół ten ma ewidentną lukę (jaką?). Sprawdź, czy lukę tą można wykryć przy pomocy logiki 
uwierzytelniania BAN. 

 
Tokeny uwierzytelniające 
 

45.  Znane są dwa typy tokenów uwierzytelniających: (a) kalkulatory typu wezwanie/odpowiedź (ang. 

challenge-response tokens), oraz (b) generatory jednokrotnych danych uwierzytelniających (ang. 
time-based tokens). Wyjaśnij zasadę funkcjonowania obu typów tokenów, podając właściwe 
diagramy sekwencji działań. W przypadku (b) podaj zasadę synchronizacji tokena i serwera. 

Kalkulatory typu wezwanie odpowiedź: 
Server → wysyła do klienta random number 
Klient → wprowadza do tokena losową liczbę otrzymaną od serwera 
Klient → otrzymuje hash(Rn) o odpowiednim formacie 
Klient → wysyła otrzymaną wartość do serwera 
Server → oblicza to samo co Klient i porównuje wartości  

 

 
 

Generatory jednokrotnych danych uwierzytelniających: 

 

Serwer i klient obliczają hash z 64-bitowego ziarna, 64-bitowego czasu, 6-8 cyfrowego kodu 
karty 

 

Klient wysyła swój hash do serwera 

 

Serwer porównuje hashe. 

 
 

Serwer oblicza jakiś kod z aktualnej godziny i wysyła do użytkownika, jeśli odbiorca poda kod 
nie o tej godzinie (z powodu przesunięcia czasu) serwer go odrzuci, ale zacznie też obliczać 
kody na kilka minut wcześniej i kilka minut później. Jeśli w tych kodach natrafi na taki który 
podał użytkownik to ma czas dla którego ten kod został obliczony. Na podstawie różnicy tego 
czasu może stwierdzić późnienie się lub śpieszenie zegara tokenu. 

 
 
Model Bella-LaPaduli 
 

background image

  No Read Up 

  No Write Down 

 
DES 
 

46.  Co to jest potrójny DES? Dlaczego nie stosujemy podwójnego DES? 

Potrójny DES jest to trzykrotne zastosowanie algorytmu DES z roznymi kluczami. 

Wykorzystywany dlatego ze klucz w DES jest tylko 56bitowy (stanowczo za krotki).  

3DES K1,K2,K3(M) = EK3(DK2(EK1(M)))  
Atak na podwójny DES nie jest znacząco trudniejszy niż na DES. Szyfrujemy znaną wiadomość 

wszystkimi (2^56) kluczami dla DES, a kryptogram deszyfrujemy wszystkimi kluczami. 
Wystarczy teraz znaleźć kryptogram pośredni występujący w obu tablicach. Ta metoda ataku 
nosi nazwę meet in the middle. Złożoność tego ataku wynosi zaledwie 2^57 szyfrowań + 
przeszukiwanie dwóch dużych tablic, a nie 2^112.  

 
X.509 
 

47.  Potrójna procedura uwierzytelniania w X.509 zawiera błąd. Istota protokołu jest następująca: 

(a) A → B: (A, {tA, rA, B}

KUb

), gdzie A i B – identyfikatory odpowiednio podmiotu A i B, tA – 

znacznik czasu, rA – liczba losowa utworzona przez podmiot A, KUb – klucz publiczny strony B. 
(b) B → A: (B, {tB, rB, A, rA)

KUa

), gdzie KUa – klucz podstawowy strony A. 

(c) A → B: (A, {rB}

KUb

Według X.509 sprawdzenie znaczników czasu tA i tB jest opcjonalne. W związku tym przyjmij, 
że oba znaczniki czasu nie ą używane i ustawione na wartość 0. Pokaż scenariusz ataku na 
protokół, w wyniku którego jakiś podmiot C może udawać A wobec B. Zaproponuj prostą 
modyfikację protokołu, która usunie zauważony błąd. 

 
Model Take-Grant 
 

48.  Mamy dwa instytuty: matematyczny (Math) i informatyki (CS). Istnieje student S biorący udział 

w kursie podmiotu M (profesor z Wydziału Math) oraz C (profesor CS). Student wykonał 
 

zadanie A dla kursu CS prowadzonym przez C. Inny student T bierze udział w kursie Math, 

background image

prowadzonym przez profesora N. Na podstawie przedstawionego modelu kontroli dostępu Take-
Grant odpowiedz na następujące pytania. Podaj krótkie uzasadnienie swojej odpowiedzi,   np. 
wskazując odpowiednie twierdzenie i jak się stosuje do podanego przykładu lub pokaż jak 
wykonać opisane operacje korzystając z zasad take/grant/create modelu Take-Grant. 

 

1. Czy podmiot C może podejrzeć zadanie A wykonane przez S? 
2. Czy C jest w stanie udostępnić zadanie A innym podmiotom z instytutu CS? 
3. Czy zasady przyjęte w instytucie Math zapobiegają dostępowi do A przez pracowników tego 
instytutu? 
4. Czy jest zagwarantowane, że żaden pracownik instytutu CS nigdy nie zobaczy zadania B 
studenta T? 

 
Certyfikat 
 

49.  Co to jest ścieżka certyfikacji? Na przykładzie pokaż jak się ją buduje i weryfikuje. 

 

50.  Zdefiniuj czym jest certyfikat klucza publicznego i jaka jest rola certyfikatu? Co to jest ścieżka 

certyfikacji? Przyjmij że istnieje pięciu wystawców certyfikatów CA1, CA2, CA3, CA4, CA5 
takich, że CA1 wydał certyfikaty CA2 i CA3, CA2 wydał z kolei CA4, a CA3 – CA5, i w końcu 
CA4 wydał certyfikat podmiotowi A, a CA5 – podmiotowi B. Pokaż ścieżkę certyfikacji w 
przypadku, podmiot A chce sprawdzić ważność certyfikatu B, a jego punktem zaufania jest CA4. 
Czy w systemie muszą pojawić się jeszcze inne certyfikaty? Jeśli tak to jakie? Naszkicuj drzewo 
wystawców certyfikatów, i opisz jak przebiegać będzie wersyfikacja certyfikatów, prowadzona 
przez podmiot B. 

 

51.  Na czym polega dystrybucja kluczy kryptograficznych? Na przykładach wyjaśnij rolę organów 

wydających certyfikaty w dystrybucji kluczy publicznych. 

 
Podpis cyfrowy 
 

52.  Przedstawić sposób tworzenia podpisu cyfrowego z załącznikiem przy pomocy metod 

kryptografii asymetrycznej i funkcji skrótu, oraz sposób weryfikacji tak utworzonego podpisu. 

 
Funkcje skrótu 
 

53.  Co to jest funkcja skrótu bez klucza? Co oznacza pojęcie kolizji w przypadku dwóch takich 

samych funkcji skrótu? Jaki jest związek kolizji z paradoksem dnia urodzin? 

funkcja skrótu bez klucza - wartość funkcji jest zależna wyłącznie od argumentu funkcji skrótu h = 

f(x) (gdzie h to f. skrotu); Dwa różne ciągi x i y są w kolizji, jeśli h(x) = h(y), funkcje skrótu są 
funkcjami jednokierunkowymi 

 
 

m-bitowa wartość funkcji skrótu dla wiadomości x - „data urodzin” (jedna z możliwych 2^m) 

 

Wystarczy średnio 2^(m/2) wiadomości, by oczekiwana liczba wiadomości w kolizji wynosiła ok. 

background image

1. 

 

54.  Wyjaśnij w jaki sposób użyć kryptograficznej funkcji skrótu w każdym z wymienionych poniżej 

przypadków: 
a) Za każdym razem, gdy rejestruję się w systemie operacyjnym mojego komputera chcę, aby 
możliwa była weryfikacja, że mój system nie zmienił się od czasu mojej ostatniej rejestracji. 
b) Często otrzymuję duże pliki dołączone do poczty elektronicznej, które natychmiast usuwam 
bez oglądania ich zawartości. Chcę jednak móc sprawdzić za każdym razem, czy taki plik już 
kiedyś otrzymałem, bez przechowywania tego pliku w całości. 
c) 8 stycznia 2007 roku wpadłem na genialny pomysł, który mógłbym opatentować w niedalekiej 
przyszłości (po dopracowaniu szczegółów patentu, co najprawdopodobniej zabierze mi parę 
miesięcy). Do czasu opatentowania mojej idei nie chcę, by ktokolwiek ją poznał. Jednak na 
wszelki wypadek, po upływie tych paru miesięcy, chciałbym móc udowodnić, że ideę mojego 
wynalazku znałem już 8 stycznia 2007 roku. 
d) Często otrzymuję wiadomości sms od mojego przyjaciela. Chciałbym zawsze mieć pewność co 
do oryginalności otrzymywanych wiadomości. Podpisywanie certyfikatem zajmuje za dużo 
pamięci. 

 
 
Impersonation attack 
 

55.  Kiedy możliwy jest atak metodą podszycia się (ang. impersonation attack) na system kryptografii 

asymetrycznej i jak się przed nim uchronić? 

 
Koperta cyfrowa 
 

56.  Na czym polega koncepcja „koperty cyfrowej” umożliwiająca wykorzystanie zalet kryptografii 

symetrycznej i asymetrycznej do realizacji poufnej transmisji danych? 

Wiadomosc jest szyfrowana kluczem K1 ktory jest generowany przez A. K1 jest szyfrowany kluczem  
publicznym K2. Zaszyfrowane wiadomosc i klucz sa przesylane do B. K1 jest odszyfrowany kluczem  
prywatnym K2, wiadomosc jest deszyfrowana kluczem K1.  

 
CBC 
 

57.  W jaki sposób tworzy się kryptogram w trybie szyfrowania CBC (wiązania bloków kryptogramu) 

i co się uzyskuje w ten sposób w porównaniu z „klasycznym” trybem szyfrowania ECB? 
C

n

=E(m + C

n-1

Dyfuzja kryptogramu i ukrywanie cech statystycznych. CBC nadaje się do szyfrowania 
dłuższych wiadomości. Propagacja błędu na dwa bloki. Utrata bloku rozwala następny blok.  

 

58.  Dlaczego CBC zastąpił PCBC w Kerberosie? 

Nie uzywa sie go poniewaz w trybie PCBC zmiana dwoch blokow szyfrogramu powoduje blad w 
deszyfracji nie wykrywany przez test integralnosci danych.  

 
CFB 
 

59.  Jaka jest podstawowa zaleta trybu szyfrowania CFB (sprzężenie zwrotne od kryptogramu) w 

porównaniu z innymi trybami (ECB, CBC, OFB)? 

Potrafi się synchronizować 

 
 
DAC 
 

background image

60.  Co to jest dyskretna ochrona dostępu (DAC)? Omów podstawowy model ochrony stosowany 

przy jej realizacji. Uzasadnij, że ochrona DAC nie chroni przed koniem trojańskim. 

 
HRU 
 

61.  Co to jest propagacja uprawnień modelu HRU? Podaj przykład. Czy można temu zapobiec? 

Odpowiedź uzasadnij. 

 
Schemat Feistel’a 
 

62.  Czego dotyczy pojęcie „schemat Feistel'a” i w jaki sposób jego wykorzystanie „ułatwia życie” 

implementatorom sprzętowych i programowych wersji algorytmów kryptograficznych. 

 
Atak słownikowy 
 

63.  Z czym się wiąże atak słownikowy. Opisać atak słownikowy typu 1 i atak słownikowy typu 2. 

Szyfrowanie na łączu, szyfrowanie punkt-punkt 
 

64.  Na czym polega szyfrowanie na łączu (ang. link encryption) a na czym szyfrowanie punkt-punkt 

(ang. end-to-end encryption)? 

 
 

Link encryption - Polega ona na tym, iż każde wrażliwe połączenie komunikacyjne jest 
wyposażone na obu końcach w urządzenie szyfrujące. Dzięki temu cały ruch na wszystkich 
połączeniach jest zabezpieczony. w Link encryption  nie jest on do końca bezpieczny powiewaz 
jest on kilkakrotnie szyfrowany i rozszyfrowywany przy kazdy hopie (zeby wiadomobyło gdzie go 
dalej puścić trzeba rozszyfrowac i odczytać adres), dlatego te punkty musza być odporne na 
atak. 

 

 

 

End-to-end - zadaniem jest wykrycie każdej modyfikacji danych w czasie ich przesyłania. Jeśli 
segment zostanie nadesłany z niepoprawną sumą kontrolną, TCP odrzuca go i nie potwierdza 
odbioru (spodziewa się że wysyłający prześle go po raz kolejny, po odczekaniu założonego 
czasua ten drugi jest niebezpieczny o tyle ,ze mozna rozroznic czesc Do i Od oraz ile zajmuje 
wiadomosc) 
 

65.  Zaznacz, które z przedstawionych poniżej sformułowań jest nieprawdziwe. Szyfrowanie na łączu 

jest lepsze niż szyfrowanie punkt-punkt, ponieważ: 
* (a) nikt (poza nadawcą i odbiorcą) nie jest w stanie poznać zawartości przesyłanej wiadomości.  
* (b) można zapewnić, aby podsłuchujący nie był w stanie poznać zawartości przesyłanej 
wiadomości.  
* (c) wymaga mniejszej liczby kluczy szyfrujących.  
* (d) wymaga znacznie mniejszej liczby urządzeń szyfrujących i deszyfrujących.  
* (e) nie wymaga, aby przesyłana wiadomość była deszyfrowana za każdym razem, gdy trafia do 
przełącznika pakietów, ponieważ przełącznik nie musi odczytać adresu znajdującego się w 
nagłówku pakietu. 

 
Uwierzytelnianie challenge-response 
 

66.  Na czym polega metoda uwierzytelniania "challenge-response" wykorzystujaca kryptografie 

symetryczna?  

a) B wysyła do A liczbe losowa Rb i opcjonalnie identyfikator podmiotu A  
b) A wysyła do B TokenAB (i opcjonalnie identyfikator podmiotu B):  
TokenAB = eKab (Rb), eKab(Rb) - dane Rb zaczyfrowane kluczem Kab  
c) B porównuje wartos otrzymanego przekazu TokenAB z obliczona samodzielnie wartoscia 

eKab (Rb);  

background image

zgodnosc obu wartosci wiadczy o znajomosci przez podmiot A współdzielonego klucza Kab.  

 
10. (2pkt.) Na czym polega uwierzytelnianie oparte na metodzie chellenge – response? 
Zilustruj tą metodę na przykładzie działania systemu identyfikacji wróg – przyjaciel, 
stosowanego w lotnictwie wojskowym (w postaci odpowiedniego protokołu wymiany 
informacji). 
 
SYN flood 
 
5. (2pkt.) Co oznacza SYN flood? 
(a) Atak na system operacyjny Linux  
(b) Pewien rodzaj spamu pocztowego 
(c) Atak typu odmowa usługi na bufory TCP 
(d) Wirus infekujący system Windows XP 
 
Protokół WEP 
 
11. (3pkt.) Do czego służy protokół WEP? W jaki sposób można przełamać algorytm 
szyfrowania zastosowany w tym protokole? Podaj scenariusz ataku.