

Studiuj dzięki licznym zasobom udostępnionym na Docsity
Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium
Przygotuj się do egzaminów
Studiuj dzięki licznym zasobom udostępnionym na Docsity
Otrzymaj punkty, aby pobrać
Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium
Społeczność
Odkryj najlepsze uniwersytety w twoim kraju, według użytkowników Docsity
Bezpłatne poradniki
Pobierz bezpłatnie nasze przewodniki na temat technik studiowania, metod panowania nad stresem, wskazówki do przygotowania do prac magisterskich opracowane przez wykładowców Docsity
Opracowanie z zakresu tematu
Typologia: Streszczenia
1 / 2
Pobierz cały dokument
poprzez zakup abonamentu Premium
i zdobądź brakujące punkty w ciągu 48 godzin
LISTA 1: Kryptografia. Funkcje skr´otu. Podpis cyfrowy. Wymiana kluczy.
Kryptosystem RSA. Nadawca A przesy la wiadomo´s´c do Adresata B. Dla du˙zych liczb pierwszych p i q niech n = p · q. Niech e i d spe lniaj¸a r´owno´sci (e, φ(n)) = 1 i d · e = 1(modφ(n)), gdzie φ jest funkcj¸a Eulera 1 i e jest ”rz¸edu liczby” n. Para (n, e) tworzy klucz publiczny adresata B. Szyfrowanie wiadomo´sci x (podanej w postaci liczby ≤ min(p, q)) odbywa si¸e przez wyliczenie reszty s w xe/n. Wtedy B oblicza x jako reszt¸e x′^ u lamka sd/n. System bazuje na nast¸epuj¸acej r´owno´sci w pier´scieniu ilorazowym Z/nZ:
x′^ = sd^ = xd·e^ = xtφ(n)+1^ = x · (xφ(n))t^ = x,
gdzie r´owno´s´c xφ(n)^ = 1(modn) wynika z twierdzenia Eulera.
Zadanie 1.0. Niech r b¸edzie minimaln¸a liczb¸a naturaln¸a > 0 tak¸a, ˙ze sr^ = 1(modn). (a) Poda´c szybki algorytm znalezienia wiadomo´sci x, je´sli n, e, s i r s¸a znane. Zas- tosowa´c do przypadku n = 2047 = 23 · 89, e = 179 znajduj¸ac odpowiednie r i d. (b) Poda´c szybki probabilistyczny algorytm znalezienia rozk ladu n = pq, je´sli n, e, s i r s¸a znane i r jest parzysta.
Zadanie 1.0+. (a) Pokaza´c, jak mo˙zna roz lo˙zy´c n = pq na czynniki pierwsze, gdy s¸a znane x, y ∈ (Z/nZ)∗, kt´ore maj¸a ten sam kwadrat w Z/nZ. (b) “Metoda Fermata rozk ladu n = pq”. Szukamy pierwsz¸a liczb¸e t >
n, ˙zeby t^2 − n by la pe lnym kwadratem, np. v^2. Wtedy p = t − v, q = t + v. Dlaczego metoda ta jest efektywna dla p, q z ma l¸a r´o˙znic¸a q − p? Rozlo˙zy´c n = 23360947609.
Funkcja skr´otu H : (Z/lZ)γ^ → (Z/lZ)δ^ charakteryzuje si¸e praktyczn¸a niemo˙zliwo´sci¸a (i) znalezienia x 6 = x′^ takich, ˙ze H(x) = H(x′) i (ii) wyliczenia x w r´ownaniu H(x) = a dla losowo wybranego a. Po wys laniu wiadomo´sci x nadawca A wysy la kod warto´sci H(x) z tym, ˙zeby adresat B m´og l sprawdzi´c, czy otrzymana wiadomo´s´c x′^ spe lnia H(x) = H(x′) (czy jest autentyczna). Kodowanie warto´sci H = H(x) powinno odbywa´c sie przy pomocy innej funkcji 1-kierunkowej. Odpowiedni kryptogram nazywa si¸e podpisem cyfrowym nadawcy A. System podpisu cyfrowego na bazie RSA. Dla du˙zych liczb pierwszych pB i qB niech nB = pB qB. Niech eB i dB spe lniaj¸a r´owno´sci (eB , φ(nB )) = 1 i dB eB = 1(modφ(nB )), gdzie φ jest funkcj¸a Eulera i eB jest rz¸edu liczby nB. Para (nB , eB ) tworzy klucz publiczny adresata B. Szyfrowanie wiadomo´sci x (podanej w postaci
(^1) φ(n) := ”ilo´s´c liczb k wzgl¸ednie pierwszych z n i takich, ˙ze 1 ≤ k < n”
liczby ≤ min(pB , qB )) odbywa si¸e przez wyliczenie reszty s w xeB^ /nB. Wtedy B oblicza x jako reszt¸e x′^ u lamka sdB^ /nB. Nadawca A ustala du˙ze liczby pierwsze pA,qA. Niech nA = pAqA i niech eA i dA spe lniaj¸a r´owno´sci (eA, φ(nA)) = 1 i dAeA = 1(modφ(nA)), gdzie eA jest rz¸edu liczby nA. Para (nA, eA) tworzy klucz publiczny nadawcy A. Warto´s´c skr´otu H = H(x) nadawca najpierw koduje jako H′^ = HdA^ (modnA) i potem wysy la w postaci reszty: (H′)eB^ (modnB ). Adresat B deszyfruje H′^ jak wy˙zej. Obliczaj¸ac reszt¸e (H′)eA^ /nA otrzymuje H i sprawdza czy H = H(x). W taki spos´ob B jest pewien, ˙ze wiadomo´s´c x zosta la wys lana przez A i nie zosta la uszkodzona przy transmisji. Zadanie 1.1. (a) Niech pA = 5, qA = 7 i eA = 11. Obliczy´c dA i kod H′^ liczby 3, kt´ora jest warto´sci¸a skr´otu wiadomo´sci x. (b) Niech pB = 7, qB = 11 i eB = 13. Obliczy´c dB i szyfr liczby H′^ (patrz (a)) wzgl¸edem klucza (nB , eB ). Przeprowadzi´c odpowiednie deszyfrowanie (w razie potrzeby u˙zy´c komputera).
System DSA. Niech q < p b¸ed¸a du˙zymi liczbami pierwszymi i g b¸edzie elementem multyplikatywnej grupy cia la Fp rz¸edu q. Nadawca A wybiera klucz prywatny x < q i wylicza klucz publiczny y = gx(modp). Aby podpisa´c wiadomo´s´c m nadawca A wybiera losowo k < q i wylicza gk(modp). Niech r := gk(modp)modq 6 = 0 i s := k−^1 (H(m)+xr)modq, gdzie H(m) jest skr´otem wiadomo´sci (< q). W przypadku gdy s 6 = 0, podpisem wiadomo´sci m jest para (r, s). Zeby sprawdzi´˙ c podpis, odbiorca B wylicza H(m), w = s−^1 (modq), u 1 = H(m) · w(modq) i u 2 = r · w(modq). Zadanie 1.2. Pokaza´c, ˙ze podpis ma by´c zaakceptowany wtedy i tylko wtedy gdy (gu^1 yu^2 modp = r)(modq).
Wymiana kluczy (Diffie-Hellman). Niech G b¸edzie grup¸a abelow¸a (np. multy- plikatywna grupa F∗ p) i g ∈ G b¸edzie publicznie znanym elementem. Nadawca A i odbiorca B wybieraj¸a sekretne liczby kA i kB i wysy laj¸a do siebie nawzajem punkty gkA^ i gkB^. Wtedy ka˙zdy z nich posiada wsp´olny klucz g′^ = gkAkB^. Z drugiej strony wyznaczenie g′^ przez publicznie znane g, gkA^ i gkB^ wymaga rozwi¸azania pewnej postaci problemu logarytmu dyskretnego.