• Bağış
  • DES (Veri Şifreleme Standardı, Data Encryption Standard)

    Yazan: Şadi Evren ŞEKER

    DES, veri şifrelemek (encryption) ve şifrelenmiş verileri açmak (decryption) için geliştirilmiş bir standarttır. Esas olarak kullanılan yönteme (veya algoritmaya) DEA yani Data Encryption Algorithm (Veri Şifreleme Algoritması) adı verilir. Bu algoritmanın standartlaştırılmış halinin ismi DES olarak geçmektedir.

    DES yapısı itibari ile blok şifreleme örneğidir (daha fazla bilgi için vigenere şifrelemesine bakabilirsiniz). 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.
    Aşağıda 64 bitlik bir veri girişinin bir geçiş boyunca yaptığı işlemler gösterilmiştir:

    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.

    DES’in çalışması aşağıdaki şekilde verilmiştir:

    DES bir geçiş

    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)) .
    Yukarıdaki şekilde DES için yapılan bir geçiş çizilmiştir, DES şifrelemesinde bu işlem 16 defa tekrar edilmektedir.
    Yukarıdaki şekilde f fonksiyonu olarak verilen fonksiyonun detayı aşağıdaki şekilde verilmiştir:
    DES fonksiyonunun çalışması

    Yukarıdaki ş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 olarka 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.

    Yukarıdaki 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:
    des_expansion_table.jpg
    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:
    des_anahtar.jpg
    Yukarıdaki ş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.

    Benzer Yazılar:

    Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'DES (Veri Şifreleme Standardı, Data Encryption Standard)' isimli yazı 13 Mar 2008 tarihinde, saat: 18:32 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 2893 defa okunmuştur.

    Benzer yazıları Bilgisayar Kavramları, Veri Güvenliği(Cryptography) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


    Category: Bilgisayar Kavramları, Veri Güvenliği(Cryptography)
    6 responses to “DES (Veri Şifreleme Standardı, Data Encryption Standard)”
    1. [...] içerisinde DES şifreleme yöntemine yapılan saldırıların zorlaştırılması için geliştirilmiş olan bir methoddur. Buna göre [...]

    2. [...] ağı kullanan bir blok şifreleme yöntemidir. 1993 yılında Bruce Schnider tarafından DES’e alternatif olarak geliştirilen yöntem simetrik, anahtarlamalı, bir blok şifreleme [...]

    3. [...] DES algoritması üzerinde anahtar beyazlatılması uygulanmış halidir. DES-X algoritmasında klasik DES algoritmasında kullanılan 56 bit’lik anahtardan farklı olarak iki farklı 64 bit uzunluğunda anahtar kullanılmaktadır. [...]

    4. [...] DES gibi bazı şifreleme algoritmalarında, sistemin içerisinde sabit olarak tutulmakta olduğu gibi [...]

    5. talip says:

      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.

      Burada 64 bit yerine 56,56 yerine 48 gelmesi lazım.

    6. Şadi Evren ŞEKER says:

      Evet haklısınız DES’in anahtar boyutu 64′tür ve 8 bit parity (kontrol) bitidir. Ancak yukarıdaki şekilde gösterilen anahtar her geçişteki (pass) anahtar boyutudur. DES her geçişte 64 bitlik anahtardan yeni anahtarlar üretir. Bu durumda her anahtar 8 bit kısalmaktadır.
      Sonuçta parity bit dahil halde anahtar uzunlukları 56 bit olmaktadır.
      Nitekim DES’in şifreleme sırasında kullandığı fonksiyona 32 bitlik mesaj girmekte ve 48 bit’e genişletilmektedir (expand), bu durumda 48 bitlik yeni genişletilmiş hal ile yahut (XOR) işlemine tabi tutulan anahtar da yine 48 bit uzunluğudadır.

    Leave a Reply