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
Anahtar Bağımlı Bir Şifreleme Algoritması (IRON )Bilg. Müh. Necati Demir <[email protected]>Yrd. Doç. Dr. Gökhan Dalkılıç<[email protected]>
Kısaca Kriptoloji
Kriptoloji nedir? Kriptografi nedir?
Simetrik anahtarlı algoritmalar Kelime tabanlı Bit tabanlı
Asimetrik anahtarlı algoritmalar
Simetrik Anahtarlı Algoritmalar Nasıl Çalışır?
•Alıcı ve gönderici aynı anahtarı kullanır
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, …
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ı
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.
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ı
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ı)
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.
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)
İ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)
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ı)
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)
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
TeşekkürlerSorular ?