Upload
oguzcan-pamuk
View
503
Download
5
Embed Size (px)
Citation preview
KRİPTOGRAFİ VE ŞİFRELEME SİSTEMLERİ
Oğuzcan PAMUK
Gebze Teknik Üniversitesi
Bilgisayar Müh. Bölümü
ÖZET
Bu çalışmada, Kriptografi bilim dalına neden
ihtiyaç duyulduğu anlatılmış ve şifreleme
algoritmaları incelenmiştir. Öncelikli olarak
Kriptografi ve şifrelemeyle ilgili temel bilgiler
verilmiştir. Şifreleme algoritmaları sınıflandırılmış
ve açıklanmıştır. Bahsedilen yöntemler
karşılaştırılmış ve hangi durumlarda hangi
algoritmaların kullanılması gerektiğiyle ilgili
çıkarımlarda bulunulmuştur.
ABSTRACT
In this work, reasons of why cryptography
science is needed explained and encryption
algorithms were examined. Primarily basic
knowledges about cryptography and encryption
are given then encryption algorithms are
classified and explained.Mentioned methods are
compared and aspects about which algorithm
should fits on which cases are inferenced.
Anahtar Kelimeler:
Kriptografi, Şifreleme Algoritmaları,
Simetrik Şifreleme, Asimetrik Şifreleme
GİRİŞ
Yazının icadından günümüze gelen süreçte
insanlar haberleşmelerinin gizliliğine
önem vermişlerdir. Bu durum teknolojinin
ilerlemesiyle daha büyük önem arz etmeye
başlamıştır. Teknolojideki gelişmeler
hızlandıkça haberleşmenin gizliliğine olan
ihtiyaçta aynı hızla artmaya devam
etmektedir. Kriptografi bilimi bu ihtiyaca
çeşitli şifreleme ve anahtarlama
algoritmalarıyla cevap vermektedir.
Kriptografiyi tanımlayacak olursak; bilgi
güvenliğini ve haberleşmenin gizliliğini
korumak adına çalışmalar yürüten bilim
dalıdır. Birçok uygulama alanı
bulunmaktadır. Bunlardan bazıları ise;
Kablolu ve kablosuz ağlarda ses veya
veri aktarımının istenmeyen üçüncü
kişiler tarafından dinlenmesinin
önlenmesi,
Elektronik sistemlerde bulunan verilere
yetkisi olmayan kişilerin erişiminin
engellenmesi,
Günümüzde en çok kullanılan sistemler
arasına giren e-ticaret işlemlerinin
güvenli bir şekilde yürütülmesinin
sağlanması,
kriptografi bilim dalının uygulama alanları
dahilindedir.
Bilgilerin güvenli bir şekilde
iletilebileceğinden veya gelen bir bilginin
güvenli olabileceğinden söz edilebilmesi
için kriptografi biliminin ilkeleri olarak da
adlandırabileceğimiz güvenlik kavramları
bulunmaktadır. Bu güvenlik kavramlarını
listelersek;
Bilginin gizliliğinin sağlanması,
Gönderilen mesajın göndericisinin
gerçekten o kişinin olduğunun garantisi,
Mesajın üzerinde herhangi bir
değişiklik yapılmadığının garantisi,
Göndericinin gönderdiği mesajı inkar
edememesi,
Erişim kontrolünün sağlanmasıdır.
ŞİFRELEME ALGORİTMALARI
Verilerin güvenli bir şekilde
ulaştırılabilmesi için çeşitli şifreleme,
anahtarlama ve şifre çözme teknikleri
oluşturulmuştur. Bu tekniklerin çeşitli
ihtiyaç ve yöntemlere göre
sınıflandırılması yapılmıştır. Bu
çalışmada, şifrelemede kullanılacak olan
anahtarın çeşidine göre sınıflandırma
yapılmıştır ve bu yapılar alt başlıklarda
detaylı olarak incelenmiştir.
Simetrik Şifreleme Algoritmaları
Simetrik şifreleme algoritmaları,
şifreleme ve şifreleri çözmek için tek bir
anahtar kullanan algoritmalardır. Bu
anahtarlar haberleşme dışındakilerden
gizlidir. Sadece veriyi şifreleyen ve
şifreyi çözmesi gereken kişi tarafından
bilinmelidir. Gönderilecek gizli metin ile
birlikte, gönderici ve alıcının üzerinde
mutabık olduğu anahtar da alıcıya
gönderilir. Gönderilen bu anahtarla şifre
çözme işlemi gerçekleştirilir. Şifreleme
ve şifre çözme işlemi matematiksel
olarak ikinin katları olarak yapılmaktadır.
Simetrik Şifreleme Algoritmaları
şifreleme şekilleri esas alındığında blok
ve dizi şifreleyici olarak ikiye
ayrılmaktadır.
Blok Şifreleme Sistemleri
Bu algoritmalar verileri eşit uzunluklu
bloklar halinde şifrelemektedirler.
Algoritmaların bazıları bağımsız bloklar
oluştururken, bazıları da blokları
birbirlerine bağımlı olarak
şifrelemektedirler. Bütünlük kontrolü
gerektiren sistemlerde bahsi geçen
algoritmalar tercih edilmektedir.
Dizi Şifreleme Sistemleri
Dizi şifreleme sistemleri, blok
şifreleyicilerden farklı olarak veriyi bit
dizisi olarak düşünüp ele almaktadır.
Üreteç adı verilen bir vektör aracılığıyla ve
gizli olarak belirlenen anahtarın
kullanılmasıyla gerekli uzunluğa sahip
kayan anahtar adı verilen bir dizi meydana
getirilir.
Algoritmalar
Simetrik şifreleme algoritmalarının
yapılarından bahsettik. Bu başlıkta
ise özel olarak önemli algoritmaları
inceleyeceğiz.
Şekil 1 Blok Şifreleme Örneği
Şekil 2 Dizi Şifreleme Örneği
DES :
Blok şifreleme örneğidir.
Şifrelenmesi istenilen metni
eşit uzunluktaki bloklara
böler. Her bloğu birbirinden
bağımsız olarak
şifrelemektedir. Feistel ağını
kullanarak şifreleme ve şifre
çözme işlemlerinin aynı
olması sağlanmıştır. 64 bitlik
verileri 56 bitlik anahtar
kullanarak şifreler. En büyük
dezavantajı olarak bu durum
gösterilmektedir. Kaba
kuvvet olarak adlandırılan
Brute Force saldırılarına
karşı yetersiz kalmaktadır.
Triple DES
DES algoritmasında olduğu
gibi bu algoritmayı da IBM
geliştirmiştir.
DES algoritmasının değişik
anahtar boyutlarıyla ard arda
çalıştırılması şeklindedir.
Günümüzde hala bankacılık
sistemlerinde faaliyet gösterir
AES
En popüler simetrik
şifreleme algoritmaları
arasında yer alır. 128 bitlik
sabit blok uzunluğuna
dayanır. Güvenliği üst
düzeydir. Kırılması çok zor
hatta imkansızdır denilebilir.
Asimetrik Şifreleme Algoritmaları
Simetrik şifreleme algoritmalarının en
büyük dezavantajı anahtar dağıtımı ve
güvenliğidir. Çok kullanıcılı bir
haberleşmede gizli anahtarın dağıtımı
güvenli olmayabilir. Bu ortamda bulunan
herkese farklı şifre vermekte fazlasıyla
masraflı olacaktır. Asimetrik şifreleme
algoritmaları bahsetmiş olduğumuz bu
problemlere çözüm getirmek amacıyla
oluşturulmuş algoritmalar olarak karşımıza
çıkmaktadırlar. Asimetrik şifreleme
algoritmalarında simetrik şifreleme
algoritmalarına göre önemli bir fark
bulunmaktadır. Burada şifreleme ve şifre
çözme işlemleri aynı anahtar ile yapılmaz.
Şifreleme açık anahtar ile yaparken şifre
çözme işlemleri gizli anahtar kullanılarak
yapılmaktadır. Açık anahtar haberleşmede
bulunan kişilere dağıtılabilir. Şifreyi
çözecek olan gizli anahtar ise sadece
alıcıda bulunur. Gönderici ve alıcı
asimetrik algoritmanın yapısına göre de
şekillenebilecek olan ortak parametreler
belirlerler. Bu parametrelerden yola çıkarak
anahtarlar üretilir ve göndericinin bu
parametreleri kullanarak şifrelediği mesajı,
alıcı kendisine ait olan anahtarıyla
açabilme şansına sahip olmuştur.
Şekil 3 Asimetrik Şifreleme
Algoritmalar
Asimetrik şifreleme algoritmalarının en
popüler olanları alt başlıklarda
incelenmiştir.
RSA
Asimetrik algoritmalar arasında en
yaygın olarak kullanılan algoritmadır.
Bir çok programlama diline desteği
mevcuttur. İmplementasyonu
kolaydır. Güvenliği büyük sayıların
modüler aritmetiğine dayanır. RSA
kullanıcısı iki büyük asal sayının
çarpımını üretir ve seçtiği bir diğer
değerle birlikte açık anahtar olarak
yayınlar. Fermat’ın Küçük Teoremi
ile yapılan işlemler ispatlanabilir.
Şekil 4 RSA
DH (Diffie – Helman)
Şifrelenen mesajı gönderen ve alan
arasında güvenli bir şekilde anahtar
dağıtımını sağlayan algoritmadır.
Sadece gizli anahtarı belirlemede
kullanılan bu algoritma ile birlikte
simetrik şifrelemenin en büyük problemi
olan güvenli anahtar dağıtımı çözüme
kavuşmuştur.
Şekil 5 Diffie - Helman Anahtar Dağıtımı
ELGAMAL
Diffie Helman anahtar dağıtımını kullanan
bu algoritma; anahtar üretici, şifreleme ve
şifre çözme olmak üzere üç modülden
meydana gelmektedir. Kesikli logaritmanın
zorluğuna dayanmaktadır.
Şekil 6 ELGAMAL
Sayısal İmzalar
Sanal dünya olarak tabir ettiğimiz
internet ortamında kullanılan
kimliklerdir. Güvenlik seviyesini
artırmak amacıyla kullanılırlar.
Kimlik doğrulama ve kriptolojinin
ilkelerinden olan inkar edememeyi
sağlamak en önemli amaçlarıdır.
Şifrelenip gönderilmiş olan
mesajların içeriğinin değişip
değişmediğini kontrol etmede de
yardımcı olur. Kriptografik
yöntemlerle şifreli mesaj göndermek
isteyen gönderici, gizli anahtarını ve
hash fonksiyonları yardımıyla
sayısal imzasını oluşturur. Sayısal
imzanın özet(hash) fonksiyonu ve
gizli anahtarı kendisine özel olduğu
için değiştirilmesi mümkün değildir.
Buradan hareketle mesajı alan alıcı,
daha önceden alıcı ve gönderici
arasında belirlenmiş çeşitli
parametrelerle hash değerini
oluşturur. Sayısal imzadaki hash
değeri ile bu parametrelerle oluşan
özet değeri farklıysa mesaj içeriğinin
değiştirilmiş olma ihtimali ele alınır.
Eğer bu iki hash değerleri aynı ise
mesajın değiştirilmediği yani
mesajın doğrulandığı kabul edilir.
Yöntemlerin Karşılaştırılması
Bu çalışmada incelemiş olduğumuz
simetrik ve asimetrik şifreleme
yöntemlerinin karşılaştırılması
aşağıdaki maddelerde ele alınmıştır.
Simetrik şifreleme algoritmaları
matematiksel olarak ikinin
üstlerini hesaplamaya dayanır.
Bunun yanı sıra asimetrik
şifreleme algoritmaları ise
modüler işlemlerle hesaplanır.
Buradan yola çıkarsak simetrik
şifreleme algoritmaları asimetrik
şifreleme algoritmalarına göre daha
hızlıdır diyebiliriz.
Gizli anahtarlı şifreleme yapan simetrik
şifreleme algoritmalarında anahtar
dağıtımının güvenli gerçekleşmesi
problemi mevcuttur. Bu problem asimetrik
şifreleme algoritmalarıyla çözüme
kavuşmuştur.
Asimetrik şifreleme algoritmalarında
genel olarak iki anahtar mevcuttur. Bu
anahtarlardan biri simetrik şifreleme
algoritmalarında olduğu gibi gizli
anahtardır. Bu anahtarlı şifreyi çözecek
olan kişi dışında kimse bilmez. Bir diğer
anahtar ise açık anahtardır. Açık anahtar
haberleşmede bulunan kişilerce bilinebilir.
Açık anahtarlı sistemlerde sayısal imza
oluşturmak mümkündür. Bu sayede
mesajın içeriğinin değişip değişmediği
kontrolü yapılabilir.
Açık anahtarlı sistemlerde her kullanıcının
sadece kendi gizli anahtarını tutması
yeterlidir. Fakat gizli anahtarlı
şifrelemelerdeki kullanıcılar, toplam
kullanıcı sayısının bir eksiği kadar
anahtarı tutmakla mükelleftirler. Bu
durum sistem için aşırı yük
oluşturmaktadır.
Simetrik şifreleme yöntemlerinde bir bilgi
bir defa şifrelenip tüm alıcılara
gönderilebilmektedir. Bunun sebebi bu
mesajın sadece tek bir gizli anahtarla
açılabilmesidir. Fakat asimetrik şifreleme
yöntemlerinde aynı anda birden fazla
kullanıcıya aynı mesaj şifrelenip
yollanılacaksa her kullanıcı için farklı bir
şifreleme yapılması gerekecektir.
Birebir ve örten fonksiyonlar olarak
bilinen hash fonksiyonları, kendisinin
hesaplanması kolay ama tersinin
hesaplanması imkansız olarak
tanımlanan fonksiyonlardır. Asimetrik
şifreleme algoritmalarının güvenlik
temeli hash fonksiyonlarına
dayanmaktadır.
Kriptosistemlere Saldırılar
Şifrelenmiş sistemleri çözebilmek için
gerekli olan uygun anahtar bilinmeden
haberleşmenin çözülmesi için yapılan
işlemlere kriptanaliz denir. Bu
yöntemlerden en önemlileri aşağıdaki
maddelerde incelenmiştir.
Sadece Şifreli Metin Saldırısı
Şifreyi çözmek isteyen kişi mesaj içeriği
hakkında herhangi bir bilgi
bilmemektedir. Sadece şifrelenmiş metini
kullanarak analiz gerçekleştirir. Genel
olarak frekans analizi kullanarak
gerçekleştirilen çalışmalardır.
Bilinen Düz Metin Saldırısı
Şifreli metnin bazı kısımlarından
yararlanarak asıl metin tahmin edilir.
Genel olarak blok şifreleme
yöntemleriyle şifrelenmiş metinler bu
saldırıya dayanıksızdır. Lineer kriptanaliz
saldırısı olarak uygulanır.
Ortadaki Adam Saldırısı
Haberleşme içinde olan iki kullanıcı
anahtarlarını değiş tokuş işlemi
gerçekleştirirken üçüncü bir kişi iletişim
hattına yerleşir. İletişim hattına yerleşen
üçüncü kişi kullanıcılara kendisinin
bildiği anahtarları gönderir ve
kullanıcılar bu anahtarla işlemini
gerçekleştirir. Saldırgan olarak tabir
ettiğimiz üçüncü kişi uygun anahtarı
kullanarak şifrelenmiş metinleri
çözebilecektir. Bu saldırıyı engellemek
adına sayısal imza desteği sunan asimetrik
şifreleme yöntemleri kullanılabilir.
Saldırgan bahsi geçen sayısal imzaları
değiştirmeye çalışacaktır fakat başarılı
olamayacaktır. Bu sayede mesajın
doğruluğu kanıtlanabilir.
Brute Force Saldırıları
Bu yöntemde şifreyi kırabilmek adına olası
tüm kombinasyonlar denenir ve bu sayede
şifreyi bulmak amaçlanır. İşlem süresi
şifrenin uzunluğu ve karmaşıklığı ile doğru
orantılıdır.
SONUÇ
Bu çalışmada şifreleme algoritmaları olan
simetrik ve asimetrik şifreleme
algoritmaları incelendi. Bu algoritmalar
hakkında temel bilgiler verildi. Simetrik ve
asimetrik şifreleme algoritmaları
karşılaştırıldı. Bahsi geçen algoritmalara
karşı üretilen kriptanaliz yöntemlerinden
bahsedildi. Çalışmayı inceleyen bir kişinin
kriptoloji hakkında temel bilgilere sahip
olması bu çalışmanın en önemli amacıdır.
Haberleşmenin güvenli bir şekilde
yapılabilmesi adına kriptoloji biliminden
faydalanılır. Kriptoloji bilimini oluşturan
şifreleme algoritmaları anahtarın çeşidine
göre sınıflandırıldığında simetrik ve
asimetrik şifreleme olarak ikiye ayrılır.
Simetrik şifreleme algoritmaları şifreleme
ve şifre çözme işlemlerini tek bir anahtarla
gerçekleştirir. Bu anahtar gizli anahtar
olarak isimlendirilir. Şifreleme işlemini
gerçekleştiren kişi, bu işlemde kullandığı
gizli anahtarı metin ile birlikte alıcıya
göndermelidir. Alıcı bu anahtarı kullanarak
metni çözebilir. Bu algoritmalar
matematiksel olarak ikinin katları
kullanılarak oluşturulur ve hızlıdırlar. Fakat
anahtarları paylaşmak simetrik şifreleme
algoritmalarının en büyük problemidir.
Asimetrik şifreleme algoritmaları
şifreleme ve şifre çözme işlemini farklı
anahtarlarla gerçekleştirir. Şifreleme
işlemi açık anahtar ile yapılır. Şifre
çözme işlemi alıcının kendisinde bulunan
gizli anahtarla gerçekleştirilir. Simetrik
şifreleme algoritmalarında bulunan şifre
dağıtma sorununa böylece çözüm
getirilmiş olur. Matematiği modüler
işleme dayanır. Bundan dolayıdır ki
simetrik şifreleme algoritmalarına göre
işlemler yavaştır. Sayısal imza ve kimlik
doğrulama desteği vermektedir. Bu
sayede kriptoloji ilkelerinden olan inkar
edememe gerçekleşmiş olur.
Sonuç olarak, asimetrik şifreleme
algoritmaları simetrik şifreleme
algoritmalarında bulunan sorunlara
büyük ölçüde çözüm getirmiştir. Fakat
bazı üstünlükleri ağır bastığından dolayı
simetrik şifreleme algoritmaları hala
önemini kaybetmemiştir.
KAYNAKÇA
[1]Taher ElGamal (1985). "A Public-Key
Cryptosystem and a Signature Scheme
Based on Discrete Logarithms". IEEE
Transactions on Information Theory
[2]http://anibal.gyte.edu.tr/hebe/w/?/view
/104/470/59669005/downloads
[3]http://acikders.ankara.edu.tr/course/vi
ew.php?id=26
[4] Ellison C., ve B. Schneier, “Ten Risks
of PKI: What You're Not Being Told
About Public Key Infrastructure,
”Computer Security Journal, vol. 16, no.
1, pp. 1-7, 2000.