Kamelya Şifrelemesi (Camellia Cipher)
Yazan: Şadi Evren ŞEKER
Kamelya şifrelemesi bir blok şifreleme yöntemidir. Şifreleme yönteminde 128 bit’lik veriler üzerinde 128, 192 veya 256 bit’lik anahtarlar ile şifreleme işlemi gerçekleştirilebilir. Yöntemin temelinde bulunan feistel ağı, 128 bit’lik şifreleme için 18 tur, 192 veya 256 bit’lik şifreleme için 24 tur çalışır. Şifreleme yönteminin içinde ayrıca S-kutuları ve anahtar beyazlatma yöntemlerinden de faydalanılır.
Camellia, simetrik bir şifreleme türüdür. 2000 yılında NTT ve Mitsubishi Electric Corporation tarafından ortak geliştirilmiştir.Bilinen tüm şifre çözme saldırılarına karşı koyabilmek için tasarlanmış ve dünya çapında şifre çözücüler tarafından incelenmiştir. Camellia Şifrelemesi donanım ve yazılım platformlarına uygulanabilirdir ve AES şifrelemesiyle karşılaştırılabilinecek kadar hızlı şifreleme yapabilmektedir.
Bu yöntemin detaylarına geçmeden önce yöntemde kullanılan terimleri tanıyalım:
| M(128) | Gönderilecek metin bloğu (açık metin, plain text) |
| C(128) | Şifrelenmiş metin bloğu (cipher text) |
| K | Uzunluğu 128,192 ve 256 bit arasında değişen gizli anahtar |
| Kwt(64),ku(64),klv(64) | Alt anahtarlar. Anahtar beyazlatma için kullanılan anahtarlar.(t=1,2,3,4) (u=1,2,….,18) (v=1,2,3,4) : 128 bitlik gizli anahtar için(t=1,2,3,4) (u=1,2,…..24) (v=1,2,….,6) : 192 ve 256 bitlik gizli anahtar için |
| Y(64) = F(X(64) , k(64)) | 64 bitlik X(64) girdisini 64 bitlik k(64)‘ü kullanarak 64 bitlik Y(64) çıktısına dönüştüren F fonksiyonu |
| Y(64) = FL(X(64) , k(64)) | 64 bitlik X(64) girdisini 64 bitlik k(64)‘ü kullanarak 64 bitlik Y(64) çıktısına dönüştüren FL fonksiyonu |
| Y(64) = FL-1(X(64) , k(64)) | 64 bitlik X(64) girdisini 64 bitlik k(64)‘ü kullanarak 64 bitlik Y(64) çıktısına dönüştüren FL-1 fonksiyonu (FL fonksiyonunun tersi) |
| Y(64)=S(X(64)) | 64 bitlik X(64) girdisini 64 bitlik k(64)’ü kullanarak 64 bitlik Y(64) çıktısına dönüştüren S fonksiyonu (Substitution , Yerine koyma,İkâme Fonksiyonu) |
| Y(64)=P(X(64)) | 64 bitlik X(64) girdisini 64 bitlik k(64)‘ü kullanarak 64 bitlik Y(64) çıktısına dönüştüren P fonksiyonu (Yerini değiştirme Permutation fonksiyonu) |
Yukarıdaki tanımlardan sonra sistemin çalışmasına bakabiliriz:
Yukarıda128 bitlik sistemin şifrelemesi gösterilmiştir.
128 bitlik sistemin açılması da yukarıdaki şekilde tasvir edilmiştir. Dikkat edilirse şifreleme yöntemi ile simetriktir.
Kamelya şifrelemesinin 192 ve 256 bit için olan tiplerinde ise yukarıdaki şifreleme ve aşağıdaki açma yöntemleri kullanılır:
Sistemin çalışma detaylarından sonra sistemde kullanılan fonksiyonların detaylarına geçilebilir:
F fonksiyonu için
FL fonksiyonu için
FL fonksiyonunun tersi için
P fonksiyonu için:
Yukarıdaki fonksiyon tanımları yapılabilir.
« S-Kutuları (S-Boxes) | Menezes-Qu-Vanstone Şifrelemesi (Cipher) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Kamelya Şifrelemesi (Camellia Cipher)' isimli yazı 07 Jun 2008 tarihinde, saat: 16:47 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 497 defa okunmuştur.
Benzer yazıları 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.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Sıralama işleminiz poligonu...
- Şadi Evren ŞEKER: bahsettiğiniz sıralama algoritması...
- Abdurrahman ulusoy: merhaba hocam. gelişigüzel...
- Oguz Okutan: Merhaba hocam.. Fonksiyonlarda degere göre...
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
Yakın Yazılar
Kamelya Şifrelemesi (Camellia Cipher)
Bilinen Açık Mesaj Saldırısı (Known Plain Text Attack)
Vigenere Şifreleme (Vigenere Cipher)
Scytale Cipher (Sarmal Şifrelemesi)
Sezar Şifrelemesi (Ceaser's Cipher, Shift Cipher, Kaydırma Şifrelemelesi)
Sezar Şifrelemesi (Ceaser's Cipher, Shift Cipher, Kaydırma Şifrelemelesi)
Sezar Şifrelemesi (Ceaser's Cipher, Shift Cipher, Kaydırma Şifrelemelesi)
Sezar Şifrelemesi (Ceaser's Cipher, Shift Cipher, Kaydırma Şifrelemelesi)
Sezar Şifrelemesi (Ceaser's Cipher, Shift Cipher, Kaydırma Şifrelemelesi)
Sezar Şifrelemesi (Ceaser's Cipher, Shift Cipher, Kaydırma Şifrelemelesi)
Sezar Şifrelemesi (Ceaser's Cipher, Shift Cipher, Kaydırma Şifrelemelesi)
Hill Şifrelemesi (Hill Cipher)
Permutasyon Şifrelemesi (Permutation Cipher)
Menezes-Qu-Vanstone Şifrelemesi (Cipher)
Akış Şifrelemesi (Stream Cipher)
Feistel Şifreleme (Feistel Cipher, Fesitel Ağı, Feistel Network)
Doğrusal Şifreleme (Affine Cipher)
Bağlantılar







