8
KRİPTOGRAFİ VE ŞİFRELEME SİSTEMLERİ Oğuzcan PAMUK Gebze Teknik Üniversitesi Bilgisayar Müh. Bölümü [email protected] Ö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.

Kriptografi ve Şifreleme Sistemleri

Embed Size (px)

Citation preview

Page 1: Kriptografi ve Şifreleme Sistemleri

KRİPTOGRAFİ VE ŞİFRELEME SİSTEMLERİ

Oğuzcan PAMUK

Gebze Teknik Üniversitesi

Bilgisayar Müh. Bölümü

[email protected]

Ö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.

Page 2: Kriptografi ve Şifreleme Sistemleri

Şİ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

Page 3: Kriptografi ve Şifreleme Sistemleri

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

Page 4: Kriptografi ve Şifreleme Sistemleri

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

Page 5: Kriptografi ve Şifreleme Sistemleri

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.

Page 6: Kriptografi ve Şifreleme Sistemleri

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

Page 7: Kriptografi ve Şifreleme Sistemleri

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.

Page 8: Kriptografi ve Şifreleme Sistemleri