GAZİOSMANPAŞA ÜNİVERSİTESİ PAZAR MESLEK YÜKSEKOKULU BİLİGİSAYAR PROGRAMCILIĞI PROGRAMI SİSTEM ANALİZİ VE TASARIMI SİMETRİK VE ASİMETRİK ALGORİTMALAR Hatice GÜVENÇ TOKAT 2013
ALGORİTMA Algoritma, matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir. Yani belli bir problemi çözmek veya belirli bir amaca ulaşmak için çizilen yola algoritma denir.
Günümüzde, bilginin korunması ve bu bilginin bir noktadan bir noktaya iletilmesi çok büyük önem kazanmıştır. Verilerin güvenli bir biçimde aktarımı ve elde edilmesi için, kriptografi bilimi aracılığı ile çeşitli şifreleme, anahtarlama ve çözümleme algoritmaları oluşturulmaktadır.
KRİPTOGRAFİ Gizlilik, Kimlik denetimi, Bütünlük gibi bilgi güvenliği kavramlarını sağlamak için çalışan matematiksel yöntemler bütünüdür. Bir başka deyişle kriptografi, okunabilir durumdaki bir bilginin istenmeyen taraflarca okunamayacak bir hale dönüştürülmesinde kullanılan tekniklerin tümü olarak da gösterilir. Düz metin Şifreli metin Şifreleme Şifre çözme Özgün düz metin
ŞİFRELEME ALGORİTMALARI Kriptografi bilimi anahtar kullanım özelliklerine bağlı olarak iki farklı algoritma sistemi ortaya koymuştur. Simetrik Şifreleme Algoritmaları Asimetrik Şifreleme Algoritmaları
Simetrik Şifreleme Algoritmaları Simetrik şifreleme algoritmaları şifreleme ve deşifreleme işlemleri için tek bir gizli anahtar kullanmaktadır. Şifreleme işlemlerini gerçekleştirdikten sonra şifreli metni alıcıya gönderirken şifreli metinle birlikte gizli anahtarı da alıcıya güvenli bir şekilde göndermesi gerekmektedir.
Bu tür algoritmalar da haberleşen taraflar; • Aynı şifreleme algoritmaları kullanır. • Algoritmalar birbirine uyumludur. • Anahtarlar birdir.
Simetrik Şifreleme Algoritmaları Kuvvetli Yönleri • Algoritmalar olabildiğince hızlıdır. • Donanımla birlikte kullanılır. • Güvenlidir. Zayıf Yönleri • Güvenli anahtar dağıtımı zordur. • Kapasite sorunu vardır. • Kimlik doğrulama ve bütünlük ilkeleri hizmetlerini güvenli bir şekilde gerçekleştirmek zordur. Simetrik Algoritmalar Blok şifreleme Dizi şifreleme algoritmaları olarak ikiye ayrılmaktadır.
Blok Şifreleme Bu tür algoritmalar veriyi bloklar halinde işlemektedir. Bazen bağımsız bazen birbirine bağlı olarak şifrelemektedir. AES: Advanced Encryption Standard (Gelişmiş Şifreleme Standardı) Blowfish DES: Data Encryption Standart (Veri Şifreleme Standardı ) 3DES Feistel Cipher IDEA: International Data Encryption Algorithm (Uluslar Arası Veri Şifreleme Algoritması) Playfair Cipher SkipJack
AES : Advanced Encryption Standard (Gelişmiş Şifreleme Standardı) Uluslararası olarak kullanılan bir blok şifreleme algoritmasıdır. Vincent Rijmen ve Joan Daemen tarafından geliştirilmiş olup DES şifreleme algoritmasının zayıf noktalarına karşı oluşturulmuştur. Öncülü DES ise Feistel yapıda tasarlanmış bir algoritmadır. AES'in hem yazılım hem de donanım performansı yüksektir. 128-bit girdi bloğu, 128,192 ve 256 bit anahtar uzunluğuna sahiptir. AES, durum(state) denilen 4x4 sütun-öncelikli bayt matrisi üzerinde çalışır.
AES Algoritması Genel Görünümü
DES : Data Encryption Standart (Veri Şifreleme Standardı ) DES, gizli anahtarlı bir şifreleme türüdür, büyük boyutlu verilerin şifrelenmesinde kullanılır. Bu yöntem, şifreli metin ile düz metin arasındaki ilişkiyi gizlemeyi amaçlar. Açık mesaj, belirli uzunluktaki bloklara bölünür ve ayrı ayrı şifrelenen bloklar ile şifreli metin elde edilir. Her bir blok, 8 bit parity biti olmak suretiyle, 64 bit uzunluğundadır. DES şifrelemenin en büyük dezavantajı yavaş olmasıdır. Bu yöntemde bilinmezlik fazladır; her bir bloğun her biti, diğer bitler ve anahtar ile bağımlıdır. Brute Force ataklarına karşı güvensizdir. Bu noktada DES’in güvenilirliğini artırmak için 3DES yöntemi geliştirilmiştir.
DES’in çalışması f fonksiyonu
Dizi Şifreleme Dizi şifreleme algoritmları veriyi bir bit dizisi olarak almaktadır. RC4: Ronald Rivest, RSA tarafından 1987 yılında bulunmuştur.1994 yılında meçhul kişilerce kaynak kodu internette yayınlanmıştır. Kullanımı lisans gerektirmektedir. A5/1: İletişimde gizlilik için GSM ler için kullanılmıştır. Güvensizdir. A5/2: A5/1 in güvensizliğinden dolayı hazırlanmıştır. Panama: Joan Daemen, Craig Clapp tarafından hazırlanmıştır. SOBER – 128: 2003 yılında tasarlanmıştır. Amaç MAC’ta işlevsellik sağlamaktır.
Asimetrik Şifreleme Algoritmaları Asimetrik Kripto sistemlerin en karakteristik özelliği; açık olan halk anahtarının ve ilişik kriptogranın, herkese açık ve dolayısıyla güvensiz bir kanaldan iletilebilmesidir. Şifreleme Şifre çözme Şifreli metin Özgün düz metin Düz metin
Asimetrik Şifreleme Algoritmaları Asimetrik şifreleme algoritmalarında anahtar ile şifre çözme anahtarı birbirinden farklıdır. Şifreleme yapan anahtara açık anahtar, şifreyi çözen anahtar ise özel anahtardır. Asimetrik algoritmaların güvenliğini sağlayabilmek için çok büyük asal sayılar kullanılmaktadır. Fakat asimetrik şifreleme algoritmalarının çok büyük sayılar kullanmasından dolayı donanımsal yapılara uyum sağlaması çok zor olmaktadır.
Asimetrik Şifreleme Algoritmaları Kuvvetli Yönleri Kriptografinin ana ilkeleri olarak sayılan; bütünlük, kimlik doğrulama ve gizlilik hizmeti güvenli bir şekilde sağlanabilir. Anahtarı kullanıcı belirleyebilir. Zayıf Yönleri Şifrelerin uzunluğundan kaynaklanan algoritmaların yavaş çalışması. Anahtar uzunlukları bazen sorun çıkarabiliyor olması.
Asimetrik Şifreleme Algoritmalarının Uygulama Alanları Güvenli bir iletişim kanalına sahip olmayan iki tarafın kullanacakları bir anahtarı güvenli olarak belirlenmesi (Diffie- Hellman, El Gamal) ya da var olan bir simetrik anahtarın güvenli olarak değiş tokuş edilmesi Sayısal imzalar (RSA, DSA) aracılığıyla kimlik doğrulama (authentication) ve bilgi bütünlüğünün korunması (integrity) Bilginin şifrelenmesi
Anahtar Dağıtım 1000 KULLANICILI BİR ORTAMDA 499,500 ANAHTAR GEREKLİDİR. 1000 KULLANICILI BİR ORTAMDA 1001 ANAHTAR GEREKLİDİR.
Şifreleme Algoritmalarının Performans Kriterleri Kırılabilme süresinin uzunluğu. Şifreleme ve çözme işlemlerine harcanan zaman (Zaman Karmaşıklığı ). Şifreleme ve çözme işleminde ihtiyaç duyulan bellek miktarı (Bellek Karmaşıklığı). Bu algoritmaya dayalı şifreleme uygulamalarının esnekliği. Bu uygulamaların dağıtımındaki kolaylık yada algoritmaların standart hale getirilebilmesi. Algoritmanın kurulacak sisteme uygunluğu.
Şifreleme Algoritmalarında Hız ve Anahtar Dağıtım Sorunları Açık anahtar tabanlı şifreleme algoritmaları ile yapılan işlemler (şifreleme, deşifreleme, sayısal imzalama ve imza doğrulama işlemleri) yavaş işlemlerdir. Ancak her ne şart altında olursa olsun, tek anahtarlı simetrik algoritmalar (DES, AES gibi) onlarca, hatta bazı durumlarda yüzlerce, kat daha hızlıdır. Buna rağmen gerek sunduğu kripto analiz direnci, gerekse de anahtar dağıtım kolaylıkları açısından açık anahtar tabanlı algoritmalar tercih edilmektedir.
Diffie-Hellman Anahtar Değişim Sistemi Algoritmanın amacı, iki kullanıcının bir anahtarı güvenli şekilde birbirlerine iletmeleri ve daha sonrasında da bu anahtar yardımı ile şifreli mesajları birbirlerine gönderebilmelerini sağlamaktı. Diffie-Hellman ortak gizli anahtar oluşturma sistemi ayrık logaritma problemini üzerine kurulmuş ve güvenirliği çok büyük asal sayıları seçmeye dayanmaktadır.
Diffie-Hellman Anahtar Değişim Sistemi A ve B kişileri aşağıdaki yolu izleyerek ortak bir anahtar yaratabilirler: A, 0 ≤ a ≤ p-2 eşitsizliğini sağlayan ve tesadüfi olan bir a sayısı seçer. c = ga (mod p)'yı hesaplar ve bunu B'ye gönderir. B, 0 ≤ b ≤ p-2 eşitsizliğini sağlayan ve tesadüfi olan bir b sayısı seçer. d = gb (mod p)'yı hesaplar ve bunu A'ya gönderir. A, ortak anahtar k' yı şu şekilde hesaplar: k = da = (gb )a B, ortak anahtar k' yı şu şekilde hesaplar: k = cb = (ga )b
Diffie-Hellman Anahtar Değişim Sistemi
RSA Anahtar Oluşturma Algoritması Her A kişisi anahtarını şu şekilde oluşturur: İki tane farklı, rasgele ve yaklaşık aynı uzunlukta olan p ve q asal sayıları seçer. n = pq ve Ø = (p -1)(q -1) değerlerini hesaplar. 1 < e < Ø ve gcd (e; Ø) = 1 olacak şekilde rastgele bir e sayısı seçer. Öklid algoritmasını kullanarak, 1 < d < Ø ve ed = 1 ( mod Ø) koşulunu sağlayan d sayısını hesaplar. A'nın açık anahtarı (n; e) ve A'nın gizli anahtarı ise d olur.
RSA Anahtar Oluşturma Algoritması
Anahtarsız Algoritmalar Simetrik ve asimetrik şifrelemelerin haricinde girdi olarak anahtar kullanmayan algoritmalar da bulunmaktadır. Bu algoritmalar genel olarak bir sistemde yalnız olarak kullanılmazlar. Sistemde bulunan simetrik ve asimetrik diğer algoritmalara yardımcı olmak için yapılmışlardır. Özet fonksiyonu (Hash Functions) adı verilen algoritma en çok tercih edilendir. Bütünlük denetiminde ve güvenli şifre saklama işlemlerinde oldukça kullanılır. Bununla birlikte sayısal imza uygulamalarında asimetirik şifreleme kullanmak uygulamanın oldukça yavaş çalışmasına neden olmaktadır. Bu yüzden bu tür uygulamalarda özet fonkisyonları da kullanmak hız problemini azaltmaktadır.
Simetrik ve Asimetrik Algoritmalar Arasındaki Farklar Asimetrik algoritmalar, simetrik algoritmalara göre kırılması zor algoritmalardır. Asimetrik şifrelemeyle karşılaştırıldığında hız konusunda simetrik algoritmalar çok daha başarılıdır. Bununla birlikte simetrik algoritmayı içerdiği basit işlemlerden dolayı elektronik cihazlarda uygulamak çok daha kolaydır. Ayrıca simetrik algoritmalarda kullanılan anahtarın boyu ve dolayısıyla bit sayısı çok daha küçüktür. Bu yüzden asimetrik şifreleme güvenlik açısından simetriğe göre çok daha başarılıdır. Az sayıda anahtar kullanarak simetrik şifreleme yapan çok kullanıcılı uygulamalarda ortaya çıkabilecek anahtar fazlalığı durumunu engeller.
KAYNAKÇA http://tr.wikipedia.org/wiki/Kriptografik_algoritmalar http://tr.wikipedia.org/wiki/Simetrik_anahtar_algoritmalar% C4%B1 http://tr.wikipedia.org/wiki/A%C3%A7%C4%B1k_anahtarl%C4% B1_%C5%9Fifreleme http://kriptoloji.net/simetrik-kriptografi http://www.bidb.itu.edu.tr/?d=1002 http://www.bilgisayarkavramlari.com/2009/06/16/simetrik- sifreleme-symmetric-encryption/ http://www.belgeci.com/simetrik-anahtar-algoritmalari.html http://share.pdfonline.com/0eb34e0d56904a128b0f171ec4dc c40b/tr.htm
BENİ DİNLEDİĞİNİZ İÇİN …TEŞEKKÜRLER…