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í.