32UDP - Utajování datových přenosů
Transkript
32UDP - Utajování datových přenosů
Útok na afinnost (Affine attack) 32UDP - Utajování datových přenosů Lukáš Skřivánek 2006/2007 Nejhorší předpoklady 1. Předpoklad: Kryptoanalytik zná dokonale šifrový systém. 2. Předpoklad: Kryptoanalytik získal a může získat značné množství šifrového textu. 3. Předpoklad: Kryptoanalytik má k dispozici otevřený text a malé množství odpovídajícího šifrového textu (např. jsou známé malé počty párů (Pi, Ci) pro i = 1,..,L.) Úkol kryptoanalytika Úkol kryptoanalytika spočívá v nalezení takového K, aby pro i = 1,..,L platil vztah Ci = E(Pi,K), kde Pi jsou znaky otevřeného textu, Ci jsou znaky šifrového textu, E je šifrovací funkce, K je klíč a L je počet známých párů (Pi, Ci). Afinní šifra Bloková šifra je afinní tehdy, když pro každý klíč K existuje čtvercová matice AK rozměru n a vektor BK, přičemž všechny páry (P,C) otevřeného a šifrového textu vyhovují vztahu C = AKP + BK. (P, C a BK zapisují jako sloupcové vektory, AK je matice) Jestliže je bloková šifra šifrou afinní, tak se považuje za velmi slabou, neboť takový systém je zranitelný jednoduchým útokem, ke kterému stačí mít k dispozici jenom n+1 párů (Pi, Ci). Útok na afinní šifru Předpoklad je C = AKP + BK. Známe n + 1 párů (Pj,Cj), j = 0, 1, ..., n. Úkolem kryptoanalytika je nalezení AK, BK. Toho lze docílit řešením soustavy maticových rovnic, rozložením maticových rovnic do lineárních a řešením soustavy lineárních rovnic. Nalezení Ak, BK řešením soustavy maticových rovnic Nechť P’í = Pi + P0 a C’í = Ci + C0, i = 1,…,n, pak C’í = AKP’í. Nechť H = [C’1, ..., C’n] a G = [P’1, ...,P’n], pak AK = HG-1, BK = C – AKP, G nesmí být singulární. rozložením maticových rovnic do lineárních a řešením soustavy lineárních rovnic ab pro n = 2: AK = c d , BK= (e f). Příklad Známe otevřený text „secret“ v obvyklé abecedě modulo 26: (18, 4, 2, 17, 4, 19) a šifrový text „fojwbi“ v abecedě modulo 26: (5, 14, 9, 22, 1, 8). Příklad - řešení „secret“ - (18, 4, 2, 17, 4, 19) (mod 26) „fojwbi“ - (5, 14, 9, 22, 1, 8) (mod 26) Při předpokladu n = 2: C = AKP + BK , B = (e f) C = + (e f) AK = ab cd ab cd P K ab (5 14) = c d *(18 4) + (e f) ab (9 22) = c d *(2 17) + (e f) (1 8) = a b *(4 19) + (e f) cd Příklad - řešení 5 = 18a + 4b + e 14 = 18c + 4d + f 9 = 2a +17b + e 22 = 2c + 17d + f 1 = 4a +19b + e 8 = 4c + 19d +f a = 16, b = 6, c = 19, d = 0, e = 5, f =10 AK = 16 6 19 0 , BK= (5 10) Závěr Má-li být šifra bezpečná, nesmí být afinní. Bloková šifra je kompozicí jednoduchých šifer. Chceme, aby některé z nich nebyly afinní. Transpozice je afinní. Substituce může a nemusí být afinní.