200 likes | 746 Views
DES (Data Encryption Standard) Şifreleme Algoritması. Başlamak için menülere tıklayın. Simetrik Kriptografi (Şifreleme). DES (Data Encryption Standard). DES Algoritması Nasıl Kırıldı…. S-DES Şifreleme Algoritması. 3 DES Algoritması. Hazırlayan:. Menü.
E N D
DES (Data Encryption Standard) Şifreleme Algoritması
Başlamak için menülere tıklayın... Simetrik Kriptografi (Şifreleme) DES (Data Encryption Standard) DES Algoritması Nasıl Kırıldı… S-DES Şifreleme Algoritması 3 DES Algoritması Hazırlayan:
Menü İlk önce simetrik şifreleme nedir buna bir değinelim… • Simetrik Kriptografi (Şifreleme) • Simetrik kriptografide, şifreleme ve şifre açma işlemi aynı anahtar ile yapılır. • Simetrik kriptografide bu anahtar gizli tutulmalıdır. • Bu nedenle, bu tip sistemlere gizli anahtarlı kriptografi sistemi adı da verilmektedir. • Bu sistemde haberleşen taraflar: • Aynı şifreleme algoritmasını kullanırlar • Birbirine uyumlu gerçeklemeler kullanırlar • Aynı anahtarı kullanırlar • Simetrik kriptografinin en önemli öğesi anahtar gizliliği olduğu için birden fazla kişinin haberleştiği bir ortamda anahtar yönetimi büyük dikkat gerektirmektedir.
Menü DES(Data Encryption Standard) Bu yazımızda askeri amaçlı olmayan çalışmalarının ilki ve şifreleme algoritmalarının yeni bir boyut kazanmaya başladığı nokta olarak kabul edilen DES (Data Encryption Standard)’ i inceleyeceğiz. 1970lerde Kriptoloji üzerine askeri olmayan çalışmalar yapan çok az akademisyen ve araştırmacı vardı. Oysa günümüzde kriptoloji ve kriptografi üzerine yapılan askeri olmayan çalışmalar yadsınamayacak boyutlara ulaşmıştır. Kriptolojinin ve kriptoanalizin askeri olmayan çalışmalarının başlangıcı olarak DES kabul edilmektedir. DES algoritması bir Block Cipher algoritmasıdır. Yani şifrelenecek metin bloklar halinde şifreleme işleminden geçirilir. Ayrıca DES algoritması simetrik şifreleme prensibine dayanmaktadır. Yani DES, veri bloklarını şifrelemek ve deşifrelemek için aynı anahtarları kullanmaktadır. DES 64 Bitlik düz metin blokları üzerinde işlem yapmaktadır. 64 bitlik veri blokları, 56 bitlik bir anahtarın kontrolünde şifrelenerek yine 64 bitlik şifrelenmiş metin bloklarına dönüştürülür. Deşifrelenirken de 64 bitlik şifrelenmiş veri blokları, 56 bitlik bir anahtarın kontrolünde deşifrelenerek yine 64 bitlik deşifrelenmiş metinlere(düz metne) dönüştürülür.
Menü DES’ de şifreleme ve deşifreleme için yer değiştirme, permütasyon gibi bir dizi işlem yürütülerek gerçeklenmektedir. Bu işlemlerin sırası şifreleme ve deşifreleme için birbirlerinin tam tersi şeklindedir. Şimdi DES algoritmasını basit olarak inceleyelim; IP(Initial Permutation) şifreleme işleminde kullanılacak ilk permütasyondur. Verilen bir düz metin(x) üzerine ilk permütasyon uygulanarak x0 elde edilir.x0= IP(x)=L0R 0 L0= x"in ilk 32 biti R0=x"in son 32 biti Ardından 16 defa tekrarlanan bir fonksiyonla yeni değerler hesaplanır. LiRi(1<=i<=16) aşağıdaki kurala göre hesaplanır:Li=Ri-1 Ri=Li-1 f(Ri-1,Ki) iki bit stringinin Exclusive-or işlemine tabi tutulacağını gösterir. En son olarak da R16L16"ya IP -1 uygulanarak şifreli metin elde edilir.
Menü Şimdi de f fonksiyonunu inceleyelim. f fonksiyonu iki parametre alır. Birincisi 32 bitlik bir bitstring(A), ikincisi de 48 bitlik bir bitstring(J). Sonuç olarak 32 bitlik bir bitstring oluşturulur. S1, ... S8 ile gösterilen kısma SBox denir. Bu kısımda 48 bitlik bir bitstringinden 32 bitlik bir bitstringi oluşturulur. DES"te 8 tane SBox vardır. SBoxlar 6 bitlik bir bitstringten 4 bitlik bitstringler elde ederler. Bunların detayına burada girmeyeceğiz. Ancak şunu da belirtmek de fayda var ki, SBoxlar DES"in en zayıf olduğu noktalardır. Zaten DES bu SBoxlardaki açıklar yüzünden kırılabilmektedir.
Menü Sonuç olarak, DES askeri amaçlı olmayan çalışmalarının ilki ve şifreleme algoritmalarının yeni bir boyut kazanmaya başladığı noktadır. DES"in kırılabilirliği ve algoritmasındaki eksiğinin SBoxlardan kaynaklandığını gördük. Ama bu demek değildir ki DES zayıf bir şifreleme algoritmasına sahiptir. DES"in algoritmasından kaynaklanan bu sorunlar "Triple DES" ya da "DES-3" olarak bilinen yeni bir algoritma ile düzeltilmiştir. SSH gibi günümüzde kullanılan çoğu uygulama 3DES"i kullanmaktadır. Bu konu hakkında daha detaylı bilgileri ilerleyen makalelerimizde bulabilirsiniz. DES yapısı itibari ile blok şifreleme örneğidir Yani basitçe şifrelenecek olan açık metni (plain text) parçalara bölerek (blok) her parçayı birbirinden bağımsız olarak şifreler ve şifrenmiş metni (cipher text) açmak içinden aynı işlemi bloklar üzerinde yapar. Bu blokların uzunluğu 64 bittir. DES aynı zamanda 64 bit uzunluğunda bir anahtar alır. Ancak bu anahtarın geçerli olan uzunluğu 56 bittir çünkü 8 bit partiy için harcanır.
Menü Yukarıdaki şekilde 64 bitten oluşan bir metnin öncelikle 2 parçaya ayrılması gerekir, soldaki ve sağdaki parça ayrı ayrı işlenmektedir. Bu işleme sağdaki 32 bitlik parçanın f fonksiyonuna anahtar ile birlikte girmesi ve parçaların yer değiştirmesi şeklinde yapılmaktadır.Yukarıdaki şekilde (+) işlemi yahut işlemidir (xor (exclusive or, özel veya)) Şekilde DES için yapılan bir geçiş çizilmiştir, DES şifrelemesinde bu işlem 16 defa tekrar edilmektedir.
Menü Yukarıdaki şekilde f fonksiyonu olarak verilen fonksiyonun detayı aşağıdaki şekilde verilmiştir: Yandaki şekilde bir DES geçişi (pass) içindeki f fonksiyonunun nasıl çalıştığı gösterilmiştir. Bu fonksiyon bir 32bit’lik parçayı alarak 48 bit’lik anahtar ile 32 bit’lik sonuç üretmektedir. Bu üretme işlemi sırasında en kritik işlem yukarıdaki şekilde E olarak görüntülenmiş expansion işlemidir. Bu işlem basitçe aynı bit için birden fazla sonuç üretilebilmesini ön görür. Aşağıda detaylıca anlatılacaktır ancak yukarıdaki resmin detaylarına devam edilecek olursa genişletilmiş (expanded) bili, anahtar ile xor işlemine tabî tutulur. Sonuçta 48 bitlik olarak üretilen metin 8 bloğa bölünür. Her blok 6 bitlik bir parçadan oluşmaktadır. Her 6 bitlik parça bu sefer expansion işleminin tersi olarak küçültülmekte ve 4 bit’e indirilmektedir. Sonuçta 4 bitlik 8 blok yani toplam 32 bitlik veri üretilmiştir.
Menü Önceki işlemde genişletme işlemi olarak adlandırılan işlem (expansion) basitçe aşağıdakine benzer bir tablo ile yapılmaktadır: Yukarıdaki tablodaki mantık basitçe bir sayının birden fazla pozisyonda bulunmasıdır. Bu durumda örneğin 1 sayısı için hem 2. hem de 4. konumda karşılık bulunmaktadır. DES ile ilgili diğer bir ayrıntı da anahtar üretilmesidir. Dikkat edilirse DES’in 64 bitlik bir anahtar ile çalıştığı ve 8 bitlik parity kontrolü çıkarılacak olursa bu anahtarın 56 bitlik olduğu yukarıda anlatılmıştı. Ancak f fonksiyonuna giren her geçişteki anahtar boyutu yukarıda 48 bit olarak verilmiştir. Dolayısıyla aslında her geçiş (pass) için farklı bir anahtar üretilmektedir. Bu anahtarlar 56 bitlik esas anahtardan üretilen anahtarlardır.
Aşağıda bu anahtarların nasıl üretildiği gösterilmiştir: Menü Yandaki şekilde 56 bitlik giriş anahtarından her geçiş için gereken anahtarların üretilmesi gösterilmiştir. Bu işlem 16 adımda yapılmaktadır ve her adımda o adım için üretilmiş olan tablo kullanılmaktadır. Her adım öncelikle 2 adet 28 bitlik parçaya bölünmüştür. Tablolara PC1′den PC16′ya kadar isimler verilmiştir. Ayrıca her tablo girişinden önce bir kaydırma işlemi kullanılarak üretilen anahtar değiştirilmektedir. Buna göre örneğin 10. adımda orjinal verinin her iki parçası da 10 bit kaydırılmış olacaktır. DES ile şifrelenmiş bir metni açmak için aynı algoritmaya şifreli metni (cipher text) aynı anahtar ile vermek yeterlidir. DES için zaman içinde bilgisayarların işlem hızının gelişmesi ile saldırılar kolay hale gelmiştir. DES’in daha zor saldırılır hale gelmesi için 128 bit anahtar uzunluğu kullanan üçlü DES uygulaması geliştirilmiştir.
Menü DES Algoritması Nasıl Kırıldı… 1997 de düzenlenen bir konferansda RSA Security firması dünyaya meydan okudu. Kısa ingilizce bir cümleyi DES algoritaması ile kriptolayarak web sitelerine koydular ve kıran ilk kişiye 10,000 dolar ödül vereceklerini duyurdular. 5 ay sonra, gönüllülerden oluşan bir takım olan DESCHALL şireyi kırdıklarını duyurdu. DESCHALL mesajı brute-force metodu ile kırdı. Olabilecek tüm DES anahtarları sıra ile denendi. Bu işlemi daha da kolaylaştırmak için DESCHALL çalışmayı internet çapında bir piyangoya çevirdi. Muhtemel anahtarların listesi küçük parçalara bölündü. Her parça anahtar test programı ile birlikte gönüllülere paylaştırıldı. Doğru anahtarı bulan kişi RSA’in ödül olarak sunduğu paranın %40’ını alacaktı. DESCHALL bir kaç yüz gönüllü ile işe başladı fakat yarışma duyuldukça bu sayı binleri geçti. Tahmin edildiği gibi birisi doğru anahtarı buldu. Kazanan şanslı kişi Houston Texas’dan 90Mhz lik masaüstü pentium makinesi ile Michael Sanders ‘dı.
Menü Bulduğu cümle: 'Strong cryptography makes the world a safer place' (Güçlü kriptografi dünyayı daha güvenli bir yer yapar) Her yerde ana haber olarak duyuruldu fakat yıllardır DES`in modern bilgisayarlar için uygun olmadığını savunan kriptografi uzmanlarına göre bu haber şaşırtıcı değildi. 56 bit uzunluğundaki anahtarlar güçlü bilgisayarların ortak düzenlediği bir brute-force saldırı karşısında ayakta duracak güçte değildi. Web kullanıcılarının bu haber karşısında endişelenmelerine gerek yoktu. Web bağlantılarını şifreleyen SSL protokolü DES’in bu zayıflığından çokda etkilenmiyordu. DES, SSL’in şifreleme seçeneklerinden biri olsada, mümkün olduğunda RC2, RC4 ve triple-DES gibi daha güçlü algoritmalar kullanıyor. Fakat SSL ihraç kanunlarına göre kısıtlandığında daha güçsüz olan 40-bit algoritma kullanıyor. Eğer kişisel yada firma bilgilerini uzun-vadeli depolama ve şifrelemede DES algoritması kullanıyorsanız bu gelişmeler karşısında önlem almalı ve daha uzun anahtarlar kullanan sistemleri kullanmalısınız.
Menü S-DES Şifreleme Algoritması S-DES Algoritmasında Key(Anahtar) 10 bit'den oluşur bunun yanısıra şifrelenecek temiz metin(Plain Text) 8 bit den oluşur ve şifreleme işlemi sonucu ortaya çıkan şifrelenmiş metin(Cipher Text) de 8 bit den oluşur. İlk önce S-DES Algoritmasının genel bir yapısını inceleyelim. Bunun için şema bize yardımcı olacaktır.Burda görüldüğü gibi 10 Bit Bir anahtar giriyor ve bu anahtardan 2 tane anahtar üretiliyor ve algoritmanın çeşitli adımlarında bu anahtarlar kullanılıyor.
Menü 3 DES Algoritması 3DES (Üçlü DES), 1978 yılında IBM tarafından geliştirilmiş olan bir şifreleme algoritmasıdır. Brute Force saldırılara karşı koymakta zorlanan DES (Data Encryption Standard-Veri Şifreleme Standardı) algoritmasının üzerine geliştirilmiştir. • Özellikleri: • Çift yönlü çalışır. Şifrelenmiş veri geri çözülebilir. • DES şifrelemesinin 3 kere art arda yapılması şeklinde çalışır. • DES şifreleme yöntemine göre 3 kat daha yavaş çalışır. • Şifreleme yapmak için uzunluğu 24 bayt olan bir anahtar kullanılır. Her bayt için 1 eşlik biti vardır. Dolayısıyla anahtarın uzunluğu 168 bittir. • Veri, 3DES anahtarının ilk 8 baytı ile şifrelenir. Sonra veri anahtarın ortadaki 8 baytı ile çözülür. Son olarak anahtarın son 8 baytı ile şifrelenerek 8 bayt bir blok elde edilir. • Algoritmanın akış diyagramı aşağıdaki gibidir.
Menü • Avantajları: • Çift yönlü çalıştığından şifreli bir şekilde veriler saklanabilir, istenildiği zaman geri çağrılarak şifresi çözülebilir. • Bilgisayarın donanımsal açıklarını kapatır. (örnek: VPN, veri haberleşme ağları) • Dezavantajları: • Güvenlik tamamen kullanılan anahtara dayanmaktadır. Anahtarın zayıflığı, şifrenin çözülmesini kolaylaştırır. • Daha gelişmiş bir algoritmaya sahip olan AES (Advanced Encryption Standard-Gelişmiş Şifreleme Standardı) şifreleme yöntemine göre 6 kat daha yavaş çalışır. • Kullanıldığı Yerler: • Bankacılık sistemi • Ciddi güvenlik programları • Elektronik ödeme sistemi (kredi kartıyla internetten alışveriş yapma) 3DES, yavaş yavaş ortadan kalkmaktadır. 3DES’in yerine AES (Gelişmiş Şifreleme Standardı) almaktadır.
Menü Örnek bir 3DES Şifreleme Algoritması
Menü Hazırlayan: Haydar ASLAN T12-D 2325 Bekleyin...