Upload
lora
View
113
Download
1
Embed Size (px)
DESCRIPTION
MATEMATİKSEL KRİPTOANALİZ. Ferhat Karakoç. İÇERİK. Kriptoanaliz Matematiksel Kriptoanaliz SP Network Lineer Kriptoanaliz. Kriptoanaliz. Kripto sisteminin sağlamlığının analizi Sağlamlık : Anahtarın elde edilememesi Analiz : Zaman Kaynak Donanim Yazilim İnsan Veri Sadece metin - PowerPoint PPT Presentation
Citation preview
MATEMATİKSEL KRİPTOANALİZ
Ferhat Karakoç
İÇERİK
Kriptoanaliz Matematiksel Kriptoanaliz SP Network Lineer Kriptoanaliz
Kriptoanaliz
Kripto sisteminin sağlamlığının analizi Sağlamlık : Anahtarın elde edilememesi Analiz :
Zaman Kaynak
Donanim Yazilim İnsan
Veri Sadece metin Metin şifreli metin çiftleri Sadece şifreli metin …
Kriptoanaliz
Kriptoanaliz Saldırı Kriptoanaliz : Sistemi analiz etmek
saldırılara karşı, iyi niyetli :) Saldırı : Sistemi kırmak
Kriptoanaliz
Matematiksel (Klasik, Teorik) Kriptoanaliz : Algoritmaya yönelik analiz
Yan Kanal Saldırıları : Algoritmanın uygulanmasına yönelik saldırı Güç Harcama Zaman
Matematiksel Kriptoanaliz
Algoritmaya yönelik analiz Tarihi :
Bilinen kayıtlı ilk kriptoanaliz açıklaması 9.yy da Matematikçi olan Ebu Yusuf Yakup tarafından “A Manuscript on Deciphering Cryptographic Messages. ” eserinde yer alıyor. Bu yöntem frekans analizine dayanıyor.
Sonraları şifreleme daha karmaşık hale gelince matematik daha baskın yer alıyor kriptoanalizde (2. Dünya Savaşı ve sonrası)
Yöntemler : Frekans Analizi Lineer Analiz Farksal Analiz İntegral Analiz İstatiksel Analiz …
Lineer Analiz
SPN (Substitution – Permutation Network, “İterated Chipher”, “Block Chipher”, …) kripto sistemlerine uygulanıyor
Metin ve şifreli metin çiftleri gerekiyor
SP Network
“Substitution – Permutation Network” Blok şifreleme Raundlardan oluşuyor Her raundda (son raund hariç)
“substitution” ve “permutation” işlemi ve raund anahtarı ile işlem yapılıyor
x
v1
u1
w1
u2
v2
w2
u3
v3
w3
u4
v4
y
Raund anahtarları K anahtarı kullanılarak bilinen bir algoritma ile üretiliyor.
Şifreleme
SP Network
Nr
NrNrNr
NrNrNr
wy
Kwgw
Kwgw
Kwgw
Kwgw
xw
),(
),(
),(
),(
1
121
212
101
0
x
v1
u1
w1
u2
v2
w2
u3
v3
w3
u4
v4
y
SP Network
Şifre Çözme
0
1110
2211
11
),(
),(
),(
wx
Kwgw
Kwgw
Kwgw
ywNrNrNr
Nr
g fonksiyonu bire-bir ve örten
x
v1
u1
w1
u2
v2
w2
u3
v3
w3
u4
v4
y
SP Network
Kripto sistemi
)),...,(,,,( 11 NrPS KKx
llS }1,0{}1,0{:
},...,1{},...,1{: lmlmP
lmCP }1,0{
1)}1,0({ NrlmK
x
v1
u1
w1
u2
v2
w2
u3
v3
w3
u4
v4
y
SP Network
Şifreleme Algoritması
)(output
)( do
to1for
),...,(
)( do
to1for do
1 to1for
1
)()(
1
)()1(
)()(
1
0
y
Kvy
uv
mi
Kwu
vvw
uv
mi
Kwu
Nrr
xw
NrNr
NriS
Nri
NrNrNr
rlm
rr
riS
ri
rrr
PP
Lineer Kriptoanaliz
Metnin bazı bitleri ile son raunddan önceki bazı bitler ile yüksek olasılıklı bir doğrusal ilişki kurma
Elde metin-şifreli metin çiftleri var Son raunddaki bütün olası anahtar
bitleri ile deneme yapılır ve ilişkiyi en fazla sağlayan anahtar bitleri büyük olasılıkla doğru bulunur
Lineer Kriptoanaliz
Öncül teorem X1, X2,… {0,1}
değerlerini alan rastlantı değişkenleri olsun
Xi, Xj bağımsız ise
,...2,1 , 1]1Pr[
,...2,1 , ]0Pr[
ipX
ipX
ii
ii
)1)(1(]1,1Pr[
)1(]0,1Pr[
)1(]1,0Pr[
]0,0Pr[
jiji
jiji
jiji
jiji
ppXX
ppXX
ppXX
ppXX
Lineer Kriptoanaliz
“bias”
21 ii p
ji XX
jijiji
jijiji
ppppXX
ppppXX
)1()1(]1Pr[
)1)(1(]0Pr[
. ]1Pr[
, ]0Pr[
,
21
21
21
21
ii
ii
i
X
X
Lineer Kriptoanaliz
kiii ,...,, 21
kii XX 1
. 21
1,...,, 21 jk i
k
j
kiii
Lineer Kriptoanaliz
“S-box”ların doğrusal denklemlerinin tahmini S-box : giriş : X=(x1,…,xm), çıkış : Y=(y1,…,yn) Aşağıdaki ifadeler yazılabilir;
nmS }1,0{}1,0{:
mnnmm
mSn
nnmm
mSn
yYyYxXxX
xxyy
yYyYxXxX
xxyy
2],...,,,...,Pr[
),...,(),...,(
0],...,,,...,Pr[
),...,(),...,(
1111
11
1111
11
Lineer Kriptoanaliz
“S-box”ların doğrusal denklemlerinin tahmini Şimdi
ifadesinin “bias”
değerini
hesaplayabiliriz
lk jjii YYXX 11
Lineer Kriptoanaliz
olma olasılığı : bu ifadeyi sağlayan satır sayısı / 16
“Bias” = 0 ifadesinin “bias” değeri = -3/8
0241 YXX
21
241 ]0Pr[ YXX
4143 YYXX
Lineer Kriptoanaliz
28=256 olası raslantı değişikeninin “bias” değeri hesaplanır. Bu raslantı değişkenlerini aşağıdaki şekilde ifade edebiliriz
NL(a,b)-8 : ifadeyi sağlayan satır sayısı
ii
iii
i
YbXa4
1
4
1
4,3,2,1},1,0{},1,0{ iba ii
Lineer Kriptoanaliz
NL(a,b)-8
Lineer Kriptoanaliz
S-box lar lineerleştirilerek tüm SPN lineerleştirilir son round hariç
Lineer Kriptoanaliz
x
v1
u1
w1
u2
v2
w2
u3
v3
w3
u4
v4
y
16
18
17
151 VUUUT
28
26
262 VVUT
38
36
363 VVUT
316
314
3144 VVUT
Bias : 1/4
Bias : -1/4
Bias : -1/4
Bias : -1/4
4321 TTTT Öncül teoremden Bias : 23(1/4)(-1/4)3=-1/32
Lineer Kriptoanaliz
316
314
314
28
316
314
3144
38
36
36
26
38
36
363
28
26
26
16
28
26
262
16
188
177
155
16
18
17
151
VVKVVVUT
VVKVVVUT
VVKVVVUT
VKXKXKXVUUUT
(3.1) 314
36
26
18
17
15
316
314
38
36875
KKKKKK
VVVVXXX
416
416
316
48
48
314
414
414
38
46
46
36
KUVKUV
KUVKUV
x
v1
u1
w1
u2
v2
w2
u3
v3
w3
u4
v4
y
(3.2) 416
414
48
46
314
36
26
18
17
15
416
414
48
46875
KKKKKKKKKK
UUUUXXX
Lineer Kriptoanaliz
(3.2) 416
414
48
46
314
36
26
18
17
15
416
414
48
46875
KKKKKKKKKK
UUUUXXX
416
414
48
46
314
36
26
18
17
15 KKKKKKKKKK
x
v1
u1
w1
u2
v2
w2
u3
v3
w3
u4
v4
y
• İfade sadece metin bitlerinden, u4 ve anahtar Bitlerinden oluşuyor.
• İfadesi sabit bir değer, 0 ya da 1.
(3.3) 416
414
48
46875 UUUUXXX
• ifadesinin “bias” değeri : -1/32 yada 1/32 anahtar bitlerine bağlı olarak
Lineer Kriptoanaliz
ifadesinin bias değeri ne kadar 0 dan uzak ise lineerleştirme o ölçüde başarlı demek oluyor
Elimizde T adet metin – şifreli metin çifti olsun aynı anahtar ile şifrelenmiş. Bu lineer saldırı ile
bitlerini elde edebiliyoruz
(3.3) 416
414
48
46875 UUUUXXX
516
515
514
513
58
57
56
55 ,,,,,,, KKKKKKKK
Lineer Kriptoanaliz
Olası 2^8 = 256 anahtar parçası için metin – şifreli metin çiftlerinden kaç tanesi için
ifadesinin 0 olduğu hesaplanır. Bunlardan T/2±T/32 tanesini doğru sağlayan
muhtemel anahtar parçasıdır.
(3.4) 416
414
48
46875 uuuuxxx
Lineer Kriptoanaliz
)(output
),(
],[ then
max],[ if
|2/],[|],[
do
),( to)0,0(),(for
1
1],[],[ then
0 if
)(
)(
do
),( to)0,0(),(for
do
),(each for
0],[ do
),( to)0,0(),(for
21
21
21
2121
21
2121
416
414
48
46875
4)4(
14)4(
4)2(
14)2(
)4(24
)4(
)2(14
)2(
21
21
21
maxkey
LLmaxkey
LLCountmax
LLCount
TLLCountLLCount
FFLL
max
LLCountLLCount
z
uuuuxxxz
vu
vu
yLv
yLv
FFLL
yx
LLCount
FFLL
S
S
Algorithm : LINEARATTACK( )1,,
ST
Kaynaklar
“Cryptography Theory and Practice” / Douglas R. Stinson
www.wikipeida.org
Teşekkürler