Fraza przed: DYZIO Fraza do liczb: 68, 89, 90, 73, 79 klucz publiczny kolegi, n_2 = 1763, e_2 = 11 Fraza zakodowana kluczem publicznym kolegi: 167, 1621, 1632, 665, 178 5.1 1. p = 31, q = 37 2. Tak 3. n = p * q = 31 * 37 = 1147 4. Pollard rho: 1080: 2 * 540 1147: 31 * 37 5. phi(n) = 30 * 36 = 1080 6. e = 29 NWD(1080, 29) = 1 7. Odwrotność w grupie modulo n: Baza: 29 Moduł: 1080 d = 149 Klucz publiczny: e = 29, n = 1147 Klucz prywatny: d = 149, n = 1147 5.2 1. fraza - DYZIO, litera - C 2. 68, 89, 90, 73, 79, C -> 67 3. PTAKI LATAJA KLUCZEM 4. KPWEB FWPWCW EFQDVZG 5. e = ?, n = ? 6. Potęgowanie w grupie modulo n, Podstawa: (klucz sesyjny [i], wykładnik: e, moduł: n) e = 29, n = 1147 klucz sesyjny: 68, 89, 90, 73, 79, _67_ 956, 240, 1033, 110, 1034, _25_ Przed zakodowaniem: DYZIO, C Po zakodowaniu: 68, 89, 90, 73, 79 67 Po zaszyfrowaniu: 956,240, 1033, 110, 1034, _25_ Wiadomość przed: PTAKI LATAJA KLUCZEM Wiadomość po: KPWEB FWPWCW EFQDVZG 5.3 1. 956, 240, 1033, 110, 1034, _25_ d = 149, n = 1147 Potęgowanie w grupie modulo n: Podstawa = klucz sesyjny zaszyfrowany [i] Wykładnik = d Moduł = n 68, 89, 90, 73, 79, _67_ 2. Odkodować klucz sesyjny: (z tabelki): DYZIO, C 3. Odszyfrowana wiadomość: PTAKI LATAJA KLUCZEM 5.4 e = 29 phi(n) = 30 * 36 = 1080 1. n = 1147, p = 31, q = 37, phi(n) = 30 * 36 = 1080 m: 68, 89, 90, 73, 79, C -> 67 c: 956, 240, 1033, 110, 1034, _25_ 2. Logarytm dyskretny, Shanks a = c 956, 240, 1033, 110, 1034, _25_ y = m 68, 89, 90, 73, 79, C -> 67 n = n = 1147 ds = log_{956}68 (mod 1147) = 29 (bruteforce git) ds = log_{240}89 (mod 1147) = 113 (bruteforce bad) ds = log_{1033}90 (mod 1147) = 14 (bruteforce git) ds = log_{110}73 (mod 1147) = 29 (bruteforce git) ds = log_{1034}79 (mod 1147) = ??? (nie znaleziono algorytmu) ds = log_{25}67 (mod 1147) = 23 (bruteforce git) 3. e * ds = 1(mod phi(n)) 29 * 29(mod 1080) = 841 (29 * 113)(mod 1080) = 37 4. Dwie wartości -> Logarytm dyskretny, Log n (po prawej) Wyniki faktoryzacji liczby n: 1080: 2 * 540 1147: 31 * 37 Wyniki próby łamania: ds = log_{956}68 (mod 1147) = 29 (bruteforce git) ds = log_{240}89 (mod 1147) = 113 (bruteforce bad) ds = log_{1033}90 (mod 1147) = 14 (bruteforce git) ds = log_{110}73 (mod 1147) = 29 (bruteforce git) ds = log_{1034}79 (mod 1147) = ??? (nie znaleziono algorytmu) ds = log_{25}67 (mod 1147) = 23 (bruteforce git) Wyniki bruteforce: (screen) 6.2 wiadomość: ptaki lataja kluczem wartość crc: hex=0xD881EE4A dec=3632393802 36, 32, 39, 38, 02 klucz prywatny: d = 149, n = 1147 Zaszyfrować: Różne -> Potęgowanie w grupie modulo n Podstawa: Klucz prywatny [i] 36, 32, 39, 38, 02 Wykładnik: d = 149 Moduł: n = 1147 wyznaczony podpis cyfrowy: 92494624815698 924, 94, 624, 815, 698