KRİPTOLOJİ-2
-
Upload
leo-gilmore -
Category
Documents
-
view
63 -
download
14
description
Transcript of KRİPTOLOJİ-2
1
KRİPTOLOJİ-2
Hakan KUTUCU
2
AÇIK ANAHTARLI
ŞİFRELEME(PUBLIC KEY ENCRYPTION)
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.
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.
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
6
Açık Anahtarlı Sistemlerde Şifreleme
7
Açık Anahtarlı Sistemlerde Kimlik Doğrulama(Authentication)
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
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ı.
10
Açık Anahtarlı Kripto Sistemler
11
Açık Anahtarlı Kripto Sistemler
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
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
14
RSA-Algoritması (Anahtar Üretimi)
)1)(1()( qpn
)(1;1)),(gcd( neen
)(mod1 ned
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
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)
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)
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)
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)
20
RSA (Örnek)
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.
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.
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}
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.
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)
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.
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.
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
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
30
Diffie-Hellman Anahtar Anlaşması
p ve global public elemanlardır.