Crytography-Introduction

Download Report

Transcript Crytography-Introduction

KRİPTOLOJİ-1
Hakan KUTUCU
1
Kriptoloji (Şifreleme)
Kriptoloji: Haberleşen iki veya daha fazla tarafın bilgi
alışverişini emniyetli olarak yapmasını sağlayan, temeli
matematiksel zor problemlere dayanan tekniklerin ve
uygulamaların bütünüdür.
Kriptografi: Bilginin şifrelenmesi ve şifrenin çözülmesi
için kullanılan yöntemlere verilen addır.
.
Kriptoanaliz: Kriptografi sistemleri tarafından ortaya
konan bir şifreleme sistemini inceleyerek zayıf ve
kuvvetli yönlerini ortaya koymayı amaçlayan bilim
dalıdır.
2
Şifrelemenin Temel Elemanları
Bir kriptosistemin 5 elemanı vardır.
1. P=Plaintext: Şifrelenecek olan düz metin
2. K=Key(Anahtar): Şifrelemede kullanıcak olan anahtar
3. E=Encryption: Şifreleme
4. C=Ciphertext: Düz metinin şifrelenmiş hali.
5. D=Decryption: Şifre çözümü.
NOT: Güvenlik anahtarın gizliliğine bağlıdır,
3
algoritmanın gizliliğine değil.
EK (P)  C
DK (C)  P
Geleneksel Şifrelemenin Basit Modeli
4
Geniş Kapsamlı Anahtar Arama İçin
Gereken Ortalama Zaman
Anahtar
Uzunluğu (bit)
Alternatif
Anahtar sayısı
106 Decryption/µs
Hızında gereken
zaman
32
232 = 4.3 x 109
2.15 mili saniye
56
256 = 7.2 x 1016
10 saat
128
2128 = 3.4 x 1038
5.4 x 1018 yıl
168
2168 = 3.7 x 1050
5.9 x 1030 yıl
5
Kriptoloji Ne Sağlar?
•Gizlilik(Confidentiality):Başkaları mesajı göremez
•MesajBütünlüğü(Integrity): Başkaları mesajı değiştiremez.
•Gönderici Kimliğini Doğrulama (Authentication): Gönderen
ve alıcı, birbirlerinin kimliklerini doğrulayabilirler.
•İnkâr Edememezlik(Non-repudiation):Bilgiyi oluşturan ya da
gönderen, daha sonra bilgiyi kendisinin oluşturduğunu veya
gönderdiğini inkar edememeli
6
Kriptoloji Algoritmaları
Şifreleme
algoritmaları
anahtar
kullanma
yöntemlerine göre genel olarak iki kategoriye
ayrılmaktadır. Bu yöntemler:
• Simetrik (Gizli Anahtarlı) Şifreleme Algoritmaları
(Geleneksel kriptolama sistemleri)
• Asimetrik (Açık Anahtarlı) Şifreleme Algoritmaları
(Açık anahtar kriptolama sistemleri)
7
Simetrik (Gizli Anahtarlı) Şifreleme
• Simetrik şifreleme algoritmaları, şifreleme ve açma
işlemleri için aynı anahtarı kullanır.
• Gizli veri alışverişi yapacak kişi veya uygulamalar
simetrik
anahtarı
kendi
aralarında,
emniyetli
birşekilde, değiştirmelidir.
• Simetrik şifreleme algoritmasıyla şifrelenmiş bir
verinin güvenliği, şifreleme işleminde kullanılmış olan
anahtarın gizliliği ile doğrudan ilişkilidir.
8
Simetrik (Gizli Anahtarlı) Şifreleme
9
10
Simetrik Şifrelemenin Artıları ve Eksileri
Artılar:
•Algoritmalar hızlıdır
•Algoritmaların donanımla gerçeklenmesi kolaydır.
•“Gizlilik” güvenlik hizmetini yerine getirir.
Eksiler:
•Ölçeklenebilir değil.
•Emniyetli anahtar dağıtımı zor.
•“Bütünlük” ve “Kimlik Doğrulama” güvenlik hizmetlerini
gerçeklemek zor
11
•Sayısal imza desteği yok.
Asimetrik (Açık Anahtarlı) Şifreleme
•Asimetrik şifrelemede, özel(private) ve açık(public)
olmak üzere bir anahtar çifti vardır. Kişi kendi özel
anahtarını gizli tutarken, açık anahtarını şifreli iletişim
kuracağı kişilere iletir.
•Bu anahtarlar birbirine matematiksel bir ilişkiyle
bağlanmıştır fakat; anahtarlardan birini kullanarak
diğerini elde etmek çok zor hatta imkansızdır.
•Anahtarlardan açık olanıyla şifrelenen bir veri ancak
bu açık anahtara karşılık gelen özel anahtarla
açılabilir.
12
Asimetrik (Açık Anahtarlı) Şifreleme
13
Asimetrik Şifrelemenin Artıları ve Eksileri
Artılar:
•Anahtar yönetimi ölçeklenebilir.
10,000 kullanıcı = 10,000 anahtar çifti
Kripto-analize karşı dirençli (Kırılması zor).
•Bütünlük, Kimlik Doğrulama ve İnkâr Edememezlik
güvenlik hizmetleri sağlanabilir.
•Sayısal imza desteği.
Eksiler:
•Algoritmalar genel olarak yavaş (Simetrik kriptografi
14
algoritmalarına göre ~1500 kat!)
Simetrik Şifreleme Algoritmaları
•Shift Cipher – Caesar Cipher
•Affine Cipher
•Vigenere Cipher
•Hill Cipher
•DES
•IDEA
•Blowfish
•RC5
•RC2
15
Caesar Cipher(Şifreleme)
•Caesar
cipher
en
eski
yerine
koyma
(substitution) şifreleme yöntemlerinden biridir.
Julius Caesar tarafından sunulmuştur.
•İşlemin Temel Prensibi:
Alfabedeki her harf sabit bir sayıda ötelenir.
•Ötelenen bu sayı şifreleme ve şifre çözmede
kullanılan anahtardır.
16
Caesar Cipher(Şifreleme)
K=3
Dış Taraf=plaintext
İç Taraf=ciphertext
17
Caesar Cipher(Şifreleme)
P=C=K=26
0 ≤K≤25 için
C=EK(x)=x+K (mod 26)
P=DK(y)=y-K
(mod 26)
(x,y Є  26)
18
Caesar Cipher(Şifreleme)
Örnek:
K=3 olsun
P(plaintext)=meet me after the toga party
A B C D E F G H I J K L M N O P....
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
12(m)+3 (mod 26)=15(P)
4(e)+3 (mod 26)=7(H)
C(ciphertext)=PHHW PH DIWHU WKH WRJD SDUWB
19
Substitution Cipher(Şifreleme)
Anahtar: Alfadeki karakterlerin rastgele permütasyonudur.
Mümkün olan toplam permütasyonların sayısı=26!=4x1026
Saniyede 3 milyar permütasyon deneyebilen 3 GHz hıza
sahip bir PC 4263 yılda şifreyi çözer.
Daha iyi bir kırma algoritması var mı?
20
Karakter Frekansı (İstatiksel Saldırı)
Bir çok dilde bazı harfler daha sık kullanılırlar.
İngilizcede e ve t harfleri daha fazla kullanılmaktadır.
Yandaki Tablo
İngiliz
alfabesindeki
harflerin bir
metinde bulunma
ihtimallerini
vermektedir.
letter
A
B
C
D
E
F
G
H
I
J
K
L
M
probability
.082
.015
.028
.043
.127
.022
.020
.061
.070
.002
.008
.040
.024
letter
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
probability
.067
.075
.019
.001
.060
.063
.091
.028
.010
.023
.001
.020
.001
21
Karakter Frekansı (İstatiksel Saldırı)
• Arka arkaya gelen 2 harfli diziye digram üç harfli
diziye trigram denir. Bunların da frekanslarına
bakmak gerekir.
• En genel digramlar (azalan sırada): TH, HE, IN, ER,
AN, RE, ED, ON, ES, ST, EN, AT, TO, NT, HA, ND,
OU, EA, NG, AS, OR, …
• En genel trigramlar (azalan sırada): THE, ING, AND,
HER, ERE, ENT, THA, NTH, WAS, …
22
Poly-Alphabetic Substitution Cipher
Caesar ve substitution şifrelemede önce bir anahtar
seçilir ve her karakter tek bir karaktere eşlenir.
Monoalphabetic
•Küçük anahtar uzayı (O(n) Caesar cipher)
•İstatiksel saldırıya karşı zayıf(Substitution cipher)
Alternatif: Polyalphabetic Substitution Cipher
Büyük anahtar uzayı ve istatiksel saldırıyca güçlü bir
yöntem istiyoruz.
Yaklaşım: Farklı yerlerde aynı harf başka bir harfle
yer değiştirmeli.
23
Vigenere Cipher
•Poly-alphabetic substitution şifrelemedir.
•Anahtar dizisi bittiğinde tekrar baştan şifrelemeye
başlanır.
•Anahtarın uzunluğu şifrelemenin periyodu olarak
adlandırılır.
P=C=K=26
0 ≤K≤25 ve K=(k1, k2, k3, ..., km) için
C=EK(x1,x2,...xm)=(x1+k1,x2+k2,..., xm+km ) (mod 26)
P=DK(y1,y2,...ym)=(y1- k1,y2- k2,..., ym- km ) (mod 26)
(x,y Є  26)
24
Vigenere Cipher (Örnek)
Anahtar(Keyword): CIPHER  (2, 8, 15, 7, 4, 17)
Düzmetin(Plaintext): thiscryptosystemisnotsecure
Ciphertext: VPXZGIAXIVWPUBTTMJPWIZITWZT
25
Transposition(Permutation) Cipher
Düzmetin(Plaintext) anahtar uzunluğunda yatay
olarak parçalanır. Şifrelimetin(Ciphertext) sütun
sütun okunur.
26
Kriptoanaliz Tipleri
Sadece Şifreli Metin Saldırısı(Ciphertext-only attack)
Kriptanalist aynı şifreleme algoritması ve aynı
anahtar kullanılarak şifrelenmiş birçok şifreli metine
sahiptir. Fakat düz metine sahip değildir.
Bilinen Açık Metin Saldırısı (Known-plaintext attack)
Kriptanalist sadece çeşitli düz metinlerin şifrelenmiş
haline değil, bu mesajların açık metinlerine de
erişebilmektedir. Yani aynı anahtarla şifrenlenmiş bir
kaç ciphertext/plaintext çiftlerine sahiptir.
27
Kriptoanaliz Tipleri
Seçilmiş Açık Metin Saldırısı (Chosen-plaintext attack)
Bu atak bilinen açık metin saldırısından daha güçlü
bir ataktır. Çünkü kriptanalist anahtar hakkında daha
fazla bilgi verecek düz metinin belirli bloklarını
seçebilmektedir ve şifrelenmiş haline bakabilmektedir.
28