30
MATEMATİKSEL KRİPTOANALİZ Ferhat Karakoç

MATEMATİKSEL KRİPTOANALİZ

  • 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

Page 1: MATEMATİKSEL KRİPTOANALİZ

MATEMATİKSEL KRİPTOANALİZ

Ferhat Karakoç

Page 2: MATEMATİKSEL KRİPTOANALİZ

İÇERİK

Kriptoanaliz Matematiksel Kriptoanaliz SP Network Lineer Kriptoanaliz

Page 3: MATEMATİKSEL KRİPTOANALİZ

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 …

Page 4: MATEMATİKSEL KRİPTOANALİZ

Kriptoanaliz

Kriptoanaliz Saldırı Kriptoanaliz : Sistemi analiz etmek

saldırılara karşı, iyi niyetli :) Saldırı : Sistemi kırmak

Page 5: MATEMATİKSEL KRİPTOANALİZ

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

Page 6: MATEMATİKSEL KRİPTOANALİZ

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 …

Page 7: MATEMATİKSEL KRİPTOANALİZ

Lineer Analiz

SPN (Substitution – Permutation Network, “İterated Chipher”, “Block Chipher”, …) kripto sistemlerine uygulanıyor

Metin ve şifreli metin çiftleri gerekiyor

Page 8: MATEMATİKSEL KRİPTOANALİZ

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

Page 9: MATEMATİKSEL KRİPTOANALİZ

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

Page 10: MATEMATİKSEL KRİPTOANALİZ

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

Page 11: MATEMATİKSEL KRİPTOANALİZ

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

Page 12: MATEMATİKSEL KRİPTOANALİZ

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

Page 13: MATEMATİKSEL KRİPTOANALİZ

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

Page 14: MATEMATİKSEL KRİPTOANALİZ

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

Page 15: MATEMATİKSEL KRİPTOANALİZ

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

Page 16: MATEMATİKSEL KRİPTOANALİZ

Lineer Kriptoanaliz

kiii ,...,, 21

kii XX 1

. 21

1,...,, 21 jk i

k

j

kiii

Page 17: MATEMATİKSEL KRİPTOANALİZ

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

Page 18: MATEMATİKSEL KRİPTOANALİZ

Lineer Kriptoanaliz

“S-box”ların doğrusal denklemlerinin tahmini Şimdi

ifadesinin “bias”

değerini

hesaplayabiliriz

lk jjii YYXX 11

Page 19: MATEMATİKSEL KRİPTOANALİZ

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

Page 20: MATEMATİKSEL KRİPTOANALİZ

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

Page 21: MATEMATİKSEL KRİPTOANALİZ

Lineer Kriptoanaliz

NL(a,b)-8

Page 22: MATEMATİKSEL KRİPTOANALİZ

Lineer Kriptoanaliz

S-box lar lineerleştirilerek tüm SPN lineerleştirilir son round hariç

Page 23: MATEMATİKSEL KRİPTOANALİZ

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

Page 24: MATEMATİKSEL KRİPTOANALİZ

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

Page 25: MATEMATİKSEL KRİPTOANALİZ

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

Page 26: MATEMATİKSEL KRİPTOANALİZ

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

Page 27: MATEMATİKSEL KRİPTOANALİZ

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

Page 28: MATEMATİKSEL KRİPTOANALİZ

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

Page 29: MATEMATİKSEL KRİPTOANALİZ

Kaynaklar

“Cryptography Theory and Practice” / Douglas R. Stinson

www.wikipeida.org

Page 30: MATEMATİKSEL KRİPTOANALİZ

Teşekkürler