1 / 15

Anahtar Bağımlı Bir Şifreleme Algoritması (IRON )

Anahtar Bağımlı Bir Şifreleme Algoritması (IRON ). Bilg. Müh. Necati Demir <ndemir@demir.web.tr> Yrd. Doç. Dr. Gökhan Dalkılıç <dalkilic@cs.deu.edu.tr>. Kısaca Kriptoloji. Kriptoloji nedir? Kriptografi nedir? Simetrik anahtarlı algoritmalar Kelime tabanlı Bit tabanlı

garth
Download Presentation

Anahtar Bağımlı Bir Şifreleme Algoritması (IRON )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Anahtar Bağımlı Bir Şifreleme Algoritması (IRON ) Bilg. Müh. Necati Demir <ndemir@demir.web.tr> Yrd. Doç. Dr. Gökhan Dalkılıç <dalkilic@cs.deu.edu.tr>

  2. Kısaca Kriptoloji • Kriptoloji nedir? • Kriptografi nedir? • Simetrik anahtarlı algoritmalar • Kelime tabanlı • Bit tabanlı • Asimetrik anahtarlı algoritmalar

  3. Simetrik Anahtarlı Algoritmalar Nasıl Çalışır? • Alıcı ve gönderici aynı anahtarı kullanır

  4. Geliştirilen Algoritmanın Kriptolojide Durduğu Yer

  5. Geliştirilen AlgoritmanınGenel Yapısı • Feistel Yapısı • 64 bitlik veri bloklarını şifreler. • 128 bitlik anahtar ile çalışır. • Döngü sayısı; 16<=r<=32. • r adet 64 bitlik alt anahtar • Anahtar bağımlıdır.

  6. Geliştirilen Algoritma Anahtar Bağımlıdır IRON, anahtar bağımlıdır çünkü; • döngü sayısı, • alt anahtarlar, • gizli (ing. Substitution; değiştirim) kutular anahtar bağımlıdır. • Mevcut algoritmalardan farklı olan kısmı; döngü sayısının da anahtar bağımlı olmasıdır.

  7. IRON, Feistel yapısı kullanılarak geliştirilmiştir. Bu sayede şifreleme ve de-şifreleme için aynı algoritmalar kullanılmaktadır, sadece oluşturulan alt anahtarlar de-şifreleme esnasında ters sıra ile kullanılır. DES, Blowfish gibi bir çok algoritma bu yapıyı kullanmaktadır. Bu algoritmaları birbirlerinde farklı kılan F fonksiyonu ve alt anahtarların bulunuş şeklidir. Geliştirilen Algoritmanın Yapısı (Feistel Yapısı) Feistel Yapısı

  8. Geliştirilen Algoritmanın Yapısı (Döngü sayısının bulunması) • 128 bitlik anahtar 32 adet 4 bitlik bloklara ayrılır. • Bloklar, birbirleriyle XOR işlemine sokulur. • Çıkan sonuç onluk sayı sistemine çevrilir. • Çift ise 16 ile, tek ise 17 ile toplanır.

  9. p0, p1, p2… değerleri Pi sayısın kesirli kısmının 32 bitlik kısımlarının 16lık sayı sisteminde gösterimleridir. Her bir basamaktan iki tane alt anahtar çıktığı için, r/2 adet basamaktan oluşur. Geliştirilen Algoritmanın Yapısı(Alt anahtarların bulunması)

  10. Geliştirilen Algoritmanın Yapısı(Gizli kutuların bulunması - I) • 4 adet 8x32 gizli kutu • Anahtar ve alt anahtar bağımlıdır • Gizli kutuların elemanları, kendinden bir önceki elemanın da kullanıldığı bir işlem ile bulunur. • İlk Gizli Kutunun Bulunması: • 128 bitlik anahtar 4 adet 32 bitlik bloklara ayrılır; k0, k1, k2, k3 • İlk gizli kutunun ilk elemanını oluşturmak için 32 bitlik anahtar blokları ve p0 toplanır. Böylece ilk gizli kutunun ilk elemanı bulunmuş olur. • sk0(ilk alt anahtar) alt anahtarının ilk 32 biti ile ikinci 32 biti çarpılır. • Bir önceki çıkan gizli kutu elemanı ile p1 çarpılır. • 3 nolu adımdan ve 4 nolu adımdan çıkan sonuçlar toplanır. • Bu şekilde 255 kere döngü devam eder, her eleman bir önceki elemanı kullanarak bulunur. Her döngüde p indisi bir artar. Son alt anahtar kullanıldığı zaman, alt anahtar tekrar sk0'dan itibaren kullanılmaya başlanır.

  11. Geliştirilen Algoritmanın Yapısı(Gizli kutuların bulunması - II) • İkinci gizli kutunun bulunması: • Bir önceki gizli kutunun son elemanı ile k1 ve p0 XOR işlemine sokulur. Çıkan sonuç ikinci gizli kutunun ilk elemanıdır. • İlk kutu oluşturulurken kullanılan 2. adımdan devam edilir. • Üçüncü ve dördündü gizli kutunun oluşturulması; • Üçüncü ve dördüncü gizli kutuların oluşturulmasında tek fark, ilk elemanlardır. Üçüncü gizli kutuda ilk eleman, ikinci kutunun son elemanı, k2 ve p0 XOR işlemine sokularak bulunur. Dördüncü gizli kutuda ilk eleman, üçüncü kutunun son elemanı, k3 ve p0 XOR işlemine sokularak bulunur.

  12. Fonksiyon girdi olarak; alt anahtar ve bir önceki döngüden gelen sağ bloku alır. Çıktı olarak 32 bitlik veri verir, bu veri fonksiyonun kullanıldığı döngüye giren sol blok ile XOR işlemine sokulur ve bir sonraki döngüye sağ blok olarak girer. (Bknz: Feistel Yapısı) Geliştirilen Algoritmanın Yapısı(F Fonksiyonu)

  13. Avantajları • Anahtar bağımlı olması (Döngü sayısı, alt anahtarlar, gizli kutular) • Yenilik: döngü sayısının da anahtara bağımlı olması. • Programlama esnasında bitlerle değil de hexadecimal değer kullanılması (Örneğin DES’te bitler ile işlem yapılır)

  14. Kısıtlamalar • Donanım için uygun olmayabilir • Döngü sayısının değişken olması iş yükünü arttırabilir • Değişken anahtar boyutları ile çalışamamaktadır

  15. TeşekkürlerSorular ?

More Related