15
Anahtar Bağımlı Bir Şifreleme Algoritması (IRON ) Bilg. Müh. Necati Demir <[email protected]> Yrd. Doç. Dr. Gökhan Dalkılıç <[email protected]>

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

  • Upload
    garth

  • View
    63

  • Download
    0

Embed Size (px)

DESCRIPTION

Anahtar Bağımlı Bir Şifreleme Algoritması (IRON). Bilg. Müh. Necati Demir Yrd. Doç. Dr. Gökhan Dalkılıç . Kısaca Kriptoloji. Kriptoloji nedir? Kriptografi nedir? Simetrik anahtarlı algoritmalar Kelime tabanlı Bit tabanlı - PowerPoint PPT Presentation

Citation preview

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

Anahtar Bağımlı Bir Şifreleme Algoritması (IRON )Bilg. Müh. Necati Demir <[email protected]>Yrd. Doç. Dr. Gökhan Dalkılıç<[email protected]>

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

Kısaca Kriptoloji

Kriptoloji nedir? Kriptografi nedir?

Simetrik anahtarlı algoritmalar Kelime tabanlı Bit tabanlı

Asimetrik anahtarlı algoritmalar

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

Simetrik Anahtarlı Algoritmalar Nasıl Çalışır?

•Alıcı ve gönderici aynı anahtarı kullanır

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

Geliştirilen Algoritmanın Kriptolojide Durduğu Yer

Kriptoloji

Kriptografi Kriptanaliz

Karakter Tabanlı Bit Tabanlı

Simetrik AnahtarlıAlgoritmalar

Asimetrik AnahtarlıAlgoritmalar

Sezar, Monoalfabetik, …DES, RC5, BLOWFISH,

CAST-128, IRON, …

RSA, …

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

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.

Geliştirilen AlgoritmanınGenel Yapısı

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

Geliştirilen Algoritma Anahtar BağımlıdırIRON, anahtar bağımlıdır çünkü; döngü sayısı, alt anahtarlar, gizli (ing. Substitution; değiştirim) kutularanahtar bağımlıdır.

Mevcut algoritmalardan farklı olan kısmı; döngü sayısının da anahtar bağımlı olmasıdır.

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

Geliştirilen Algoritmanın Yapısı (Feistel Yapısı) 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.

Feistel Yapısı

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

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.

Geliştirilen Algoritmanın Yapısı (Döngü sayısının bulunması)

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

Geliştirilen Algoritmanın Yapısı(Alt anahtarların bulunması)

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.

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

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ı:1. 128 bitlik anahtar 4 adet 32 bitlik bloklara ayrılır; k0, k1, k2, k32. İ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.3. sk0(ilk alt anahtar) alt anahtarının ilk 32 biti ile ikinci 32 biti çarpılır.4. Bir önceki çıkan gizli kutu elemanı ile p1 çarpılır.5. 3 nolu adımdan ve 4 nolu adımdan çıkan sonuçlar toplanır.6. 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.

Geliştirilen Algoritmanın Yapısı(Gizli kutuların bulunması - I)

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

İkinci gizli kutunun bulunması:1. Bir önceki gizli kutunun son elemanı ile k1 ve p0 XOR işlemine

sokulur. Çıkan sonuç ikinci gizli kutunun ilk elemanıdır.2. İ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.

Geliştirilen Algoritmanın Yapısı(Gizli kutuların bulunması - II)

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

Geliştirilen Algoritmanın Yapısı(F Fonksiyonu) 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ı)

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

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)

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

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

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

TeşekkürlerSorular ?