KRİPTOLOJİ-2

30
1 KRİPTOLOJİ-2 Hakan KUTUCU

description

KRİPTOLOJİ-2. Hakan KUTUCU. AÇIK ANAHTARLI ŞİFRELEME (PUBLIC KEY ENCRYPTION). Açık Anahtarlı Sistemler. 1976 yılında Diffie ve Helman adlı iki araştırmacı önermiştir. Bu şifreleme yöntemi iki ayrı anahtar kullanan yöntemdir. - PowerPoint PPT Presentation

Transcript of KRİPTOLOJİ-2

Page 1: KRİPTOLOJİ-2

1

KRİPTOLOJİ-2

Hakan KUTUCU

Page 2: KRİPTOLOJİ-2

2

AÇIK ANAHTARLI

ŞİFRELEME(PUBLIC KEY ENCRYPTION)

Page 3: KRİPTOLOJİ-2

3

Açık Anahtarlı Sistemler

• 1976 yılında Diffie ve Helman adlı iki araştırmacı

önermiştir.• Bu şifreleme yöntemi iki ayrı anahtar kullanan

yöntemdir. • Bu kriptografi yapısında, açık(public) ve

özel(private) anahtar olarak adlandırılmış olan bir

anahtar çifti kullanılmaktadır. • Asimetrik algoritmalar da denilen açık anahtarlı

algoritmalarda şifreleme için kullanılan anahtar ile

şifre çözme için kullanılan anahtar birbirinden

farklıdır.

Page 4: KRİPTOLOJİ-2

4

Açık Anahtarlı Sistemler

• Anahtar çiftlerini üreten algoritmaların

matematiksel özelliklerinden dolayı açık-gizli

anahtar çiftleri her kişi için farklıdır, diğer bir deyişle

her kullanıcının açık-gizli anahtar çifti yalnızca o

kullanıcıya özeldir.

• Ayrıca şifre çözüm anahtarı(private) (en azından

makul bir zaman dilimi içerisinde) şifre

anahtarından(public) hesaplanamaz. Matematiksel

zor bir problemdir.

• Neden Asimetrik:Mesajı Şifreleyen mesajı

açamaz ya da mesajı imzalayan mesajı

tanımlayamaz.

Page 5: KRİPTOLOJİ-2

5

• Bu algoritmalara açık anahtarlı algoritmalar

denmesinin sebebi şifre anahtarı halka (genel

kullanıma) açılabilir.

• Bir yabancı bir iletiyi şifrelemek için şifreleme

anahtarını(public) kullanabilir, ancak sadece ilgili

şifre çözüm anahtarına(private) sahip bir kişi iletinin

şifresini çözebilir.

• Bu sistemde, şifre anahtarına genellikle açık

anahtar denir, şifre çözüm anahtarı da genellikle

özel anahtar olarak adlandırılır.

Açık Anahtarlı Sistemler

Page 6: KRİPTOLOJİ-2

6

Açık Anahtarlı Sistemlerde Şifreleme

Page 7: KRİPTOLOJİ-2

7

Açık Anahtarlı Sistemlerde Kimlik Doğrulama(Authentication)

Page 8: KRİPTOLOJİ-2

8

Neden Açık Anahtarlı Sistemler

İki anahtar kullanımının 3 sonucu vardır.

1. Güvenilirlilik: Gönderici Alıcının halka açık anahtarı

ile şifreler.

2. Anahtar dağıtımı: Güvenilir bir KDC olmadan nasıl

bir anahtar dağıtımı yapılır

3. Sayısal İmza&Doğrulama: Meajın kim tarafından

gönderildiğini belirlemek

Page 9: KRİPTOLOJİ-2

9

Açık Anahtarlı Sistem Karakteristikleri

• Anahtarları kullanarak(KRa, KUa) şifreleme ve şifre

çözme hesaplamaları kolay olmalı

• Açık anahtardan özel anahtarı bulmak zor hatta

imkansız olmalı.

• Bilinen Açık Metin Saldırısından özel anahtarı

bulmak zor olmalı.

Page 10: KRİPTOLOJİ-2

10

Açık Anahtarlı Kripto Sistemler

Page 11: KRİPTOLOJİ-2

11

Açık Anahtarlı Kripto Sistemler

Page 12: KRİPTOLOJİ-2

12

Açık Anahtarlı Şifreleme Algoritmaları

1.RSA Açık Anahtarlı Şifreleme

2.Diffie-Hellman Açık Anahtarlı Şifreleme

3.ElGamal Açık Anahtarlı Şifreleme

Page 13: KRİPTOLOJİ-2

13

• MIT’de çalışan Ron Rives, Adi Shamir ve Len

Adleman tarafından 1977 yılında önerilmiştir.

• En yaygın bilinen ve sık kullanılan bir

algoritmadır.

• Büyük tam sayıları kullanır. (1024 bit)

• Sistemin güvenliği tamsayılarda çarpanlarına

ayırma probleminin kolaylıkla olmaması temeline

dayanır.

• Mesajları şifrelemek için kullanılabileceği gibi

dijital imzalarda da kullanılabilir.

RSA

Page 14: KRİPTOLOJİ-2

14

RSA-Algoritması (Anahtar Üretimi)

)1)(1()( qpn

)(1;1)),(gcd( neen

)(mod1 ned

Page 15: KRİPTOLOJİ-2

15

RSA-Algoritması Şifreleme

M açık mesajını şifrelemek için;

Gönderici alıcının public anahtarını KU={e,n}

elde etmelidir.

Ciphertext: C=Me mod n, 0≤M<n

C şifreli metinin şifresini çözmek için;

Alıcı kendi özel anahtarını kullanır KR={d,n}

Plaintext: M=Cd mod n

Page 16: KRİPTOLOJİ-2

16

RSA-Algoritması(İspat)

• Euler’in Küçük Fermat Teoremini kullanır.aø(n)mod n = 1 gcd(a,n)=1 iken

RSA Algoritmasında;• n=pq• ø(n)=(p-1)(q-1) • e & d değerleri mod ø(n)’e göre birbirlerinin

tersidir. • Bu yüzden ed=1+kø(n)

Sonuç olarak:Cd = (Me)d = M1+kø(N) = M1(Mø(N))k =

= M1(1)k = M1 = M (mod n)

Page 17: KRİPTOLOJİ-2

17

Anahtar Üretimi• Asal Sayılar Seçilir: p=17 & q=11

1. n = pq =17×11=187

2. ø(n)=(p–1)(q-1)=16×10=160

3. Bir e seçilir öyleki gcd(e,160)=1 olsun: e=7

4. d hesaplanır: de=1 (mod 160) ve d < 160 d=23 çünkü 23×7=161= 10×160+1

5. Açık anahtar KU={7,187}

6. Özel anahtar KR={23,187}

RSA (Örnek)

Page 18: KRİPTOLOJİ-2

18

Mesajın Şifrelenmesi

HELLO WORLD= 07 04 11 11 14 26 22 14 17 11 03.

Ali’nin açık anahtarı(KU={7,187}) kullanılarak üretilen

ciphertext:

077 mod 187 = 182

047 mod 187 = 115

117 mod 187 = 88

…..........................

037 mod 187 = 130

C=182 115 88 .......130

RSA (Örnek)

Page 19: KRİPTOLOJİ-2

19

Mesajın Şifre Çözümü

C=182 115 88 .......130

Ali kendi özel anahtarını (KP={23,187}) kullanarak

şifreyi çözer:

18223 mod 187 = 07

11523 mod 187 = 04

8823 mod 187 = 11

…..........................

13023 mod 187 = 03

P= 07 04 11 .... 03

RSA (Örnek)

Page 20: KRİPTOLOJİ-2

20

RSA (Örnek)

Page 21: KRİPTOLOJİ-2

21

RSA-Digital İmza

• RSA kriptosistemi digital imzalar için de kullanılabilir.

İmzalama

Ali, Nuray’a imzalı bir m mesajını göndermek isterse,

Ali kendi özel anahtarı KR={d,n} ile mesajı şifreler.

=md mod n

(m, ) imzalı mesajı Nuray’a gönderir.

Page 22: KRİPTOLOJİ-2

22

RSA-Digital İmza

İmzalayı Doğrulama

Nuray Ali’den aldığı mesajı doğrulamak için Ali’nin

açık anahtarı KU={e,n} ile mesajın şifresini çözer.

e mod n hesaplanır.

Sonuç m ise mesaj doğrulanmış yani Ali’den gelmiş

demektir.

Page 23: KRİPTOLOJİ-2

23

RSA-Digital İmza(Örnek)

Anahtar Üretimi• Ali Asal Sayıları Seçer: p=7927 & q=6997• n = pq =7927x6997=55465219

1. ø(n)=(p–1)(q-1)=7926×6996=55450296

2. Ali gcd(e, 55450296)=1 olacak şekilde e=5 sayısını seçer.

3. de=1 (mod 55450296) eşitliğinden d=44360237 bulur.

4. Açık anahtar KU={5,55465219}

5. Özel anahtar KR={44360237, 55465219}

Page 24: KRİPTOLOJİ-2

24

RSA-Digital İmza(Örnek)

İmzalama

Ali m=31229978 mesajını imzalamak için kendi

özel anahtarı KR={44360237, 55465219} ile

mesajı şifreler.

=md mod n

=3122997844360237 mod 55465219=30729435

Ali,Nuray’a (31229978,30729435) verisini gönderir.

Page 25: KRİPTOLOJİ-2

25

İmzayı Doğrulama

Nuray aldığı mesajın (31229978,30729435) Ali’den

geldiğini doğrulamak için Ali’nin açık anahtarı

KU={5,55465219} ile mesajın şifresini açar.

e mod n

=307294355 (mod 55465219)=31229978=m

Çıkan sayı aldığı mesajdaki sayı olduğu için mesajı

Ali göndermiştir.

RSA-Digital İmza(Örnek)

Page 26: KRİPTOLOJİ-2

26

Diffie-Hellman Anahtar Anlaşması

• Simetrik Anahtar Şifrelemedeki temel sorun iki

kullanıcı arasındaki anahtarın güvenli bir şekilde

dağıtımıdır.

• Güvenli olmayan bir kanalda özel anahtarın

dağıtımı asimetrik sistemler ile çözülür.

• Diffie-Hellman algoritması discrete logaritma

hesaplamasının zorluğu temeline dayalıdır.

Page 27: KRİPTOLOJİ-2

27

Discrete(Ayrık) Logaritma

p asal bir sayı olsun

Zp={0,1,…,p-1} is sonlu bir field.

Zp* : p ile aralarında asal olan tüm tamsayıların

kümesidir.

{a Zp | gcd(a, p)=1}={1,…,p-1}

Zp* ‘nin bir primitif kökü olsun,

Yani Zp* ={ 0 mod p, 1mod p, …, p-2 mod p}.

DLP problem

Verilen bir a için, b a (mod p) kolaydır.

Verilen bir b için, b a (mod p) a’yı bulmak zordur.

a = log b. Olarak gösterilir.

Page 28: KRİPTOLOJİ-2

28

p=17,

Zp* ={1,2,…,16}.

=3 primitif bir köktür yada üretecidir çünkü;

Zp*={30,31,32 ,33, 34, 35, 36, 37, 38,39,310,311,312,313, 314,315 }

= {1, 3, 9, 10, 13, 5, 15, 11,16,14, 8, 7, 4, 12, 2, 6 }

316 mod 17 =1.’dir yani çarpma işlemine göre

devirli(multiplicative cyclic) bir gruptur.

Discrete(Ayrık) Logaritma-Örnek

Page 29: KRİPTOLOJİ-2

29

a=10 için , b 310 mod 17 =8 kolay

b=10 için , 10 3a mod 17 a=9

Ama p çok büyük olduğunda bu problemi

çözmek zordur.

Discrete(Ayrık) Logaritma-Örnek

Page 30: KRİPTOLOJİ-2

30

Diffie-Hellman Anahtar Anlaşması

p ve global public elemanlardır.