RoundKey Üretimi

Yukarıda analtılan kısımda 16 adet RoundKey ‘ in nasıl üretildiğinden bahsetmedik. Şimdi bu keyler nasıl üretilir onu açıklayalım. Key üretiminin işleyişi aşağıdaki resimde gösterilmiştir :Burada 64-bitlik değer  56-bite haritalanır.Parity drop tablosunu kullanarak bu işlemi gerçekleştiriyoruz.Bu tablo aşağıda verilmiştir:


Bu 56-bitlik cipher key ikiye bölünerek 28 bitlik keyler elde edilir. Bu değerler shift left(sola kaydırma) yapılarak çıkışlar CompressionPBox’a verilir. 1,2,9 ve 16 roundlarında 1 bit diğerlerinde 2 bit kaydırma yapılır.

Kaydırma circular left (kendi üzerinden dönme) şeklinde yapılır.Kaydırma yaparken kaçıncı round olduğunu if yapısı ile kontrol edersek, zaman kaybı olur. Bunun da tablosu var,referanslıyor.

Kaydırma işlemi nden sonra CompressionPbox’a gelen çıkışlar 48-bit olarak çıkar.Bu 48-bitlik değer o anki roundun anahtar değeri olur. CompressionPboxTable ve dizisi aşağıda verilmiştir:

Deşifreleme İşlemi

Des algoritmasında mesajı şifreledikten sonra şifreli mesaj aynı şekilde deşifrelenir. Tek fark şifrelenirken her adımda verilen anahtar burada tersten verilir. Yani deşifrelenirken ilk adımda anahtar 16.anahtar ikinci adımda 15.anahtar şeklindedir.

Bu sıra 1.anahtara doğru bir şekilde yukarıdan aşağıya doğru gitmektedir. Aşağıda verilen şekilde şifreleme ve deşifreleme işlemi gösterilmiştir. Bu şekilden de görüldüğü gibi şifreleme ile deşifreleme arasındaki tek fark tersi yönde kullandıkları anahtarlardır.

 

Mehmet Salih Deveci

Bilgisayar Mühendisi

 

 

 

 

 

Reklamlar
yorum
  1. layah dedi ki:

    Merhaba c# da önce des şifreleme algoritmasını ve bir sonraki yazınızda anlattığınız gibi des için client server yazmam gerekiyor. Des algoritmasının mantığı anladım fakat c# ile yazamadım yani işin içinden çıkamadım bir türlü acaba elinizde kaynak kod var mı? Ayrıca birde client/sever da şifrelenmiş metnin nasıl gönderileceğini açıklayabilir misiniz

    • BİLGİSAYAR MÜHENDİSİ dedi ki:

      Merhaba,

      Kaynak kodlar elimde var ancak bunu sana yollamam senin kötülüğüne olur. Kendin yapmadığın müddetçe bir şeyler üretmeyi öğrenemezsin. Sen bunu yapmayı dene google la haşir neşir ol anlamadığın yerleri bana sor elimden geldiği kadar yardımcı olayım. En son tamamladığın zaman benimkinide göndereyim 2 si arasında bir kıyas yaparsın. Hatalarını veya hatalarımı görürsün. Bu senin iyiliğine olur aksi takdirde bir şeyler öğrenemez sadece anı kurtarırsın.
      Saygılar.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s