Hill Şifrelemesi (Hill Cipher)
Yazan : Şadi Evren ŞEKER
İlkel şifreleme algoritmalarından birisidir. Bu yöntemde blok şifreleme (block cipher) kullanılır. Yani şifrelenecek açık metin (plain text) bloklara bölünerek blok blok şifrelenir. Her blok için Affine Cipher benzeri bir yaklaşım izlenerek verilen anahtar ile metindeki karakter değeri çarpılır. Elde edilen sonuçlar toplanarak yeni karakter elde edilir.
Örneğin anahtar olarak aşağıdaki matrisin kullanıldığı bir Hill şifrelemesi (tepe şifrelemesi) olsun:

Bu matrisi kullanarak öncelikle şifreleme işlemini yapalım. Diyelim ki şifrelemek istediğimiz metik BE olsun. (dikkat edilirse 2 boyutunda bir blok aldık bunun sebebi anahtarın 2×2 matris olmasıdır)
BE = {1,4}
MAtris çarpımı yapılarak

Sonuuc elde edilir. Dolayısıyla şifrelenmiş metnimiz OY olarak bulunur.
Şifrenin açılması için matrisin tersinin bulunması gerekir:
|A| = 2×5 – 3×4 = 10-12 = -2 , olarak matrisin determinantı bulunur.
5 -3
-4 2
değerlerinin -1/2 ile çarpılmış halidir:
-2.5 1.5
2 -1
olarak bulunur.
Yukarıdaki bu tersi alınmış matris ile mesajımızı çarpalım
-2.5 1.5 14
2 -1 24
sonuç olarak:
1
4
matrisi geri bulunmuş olur.
« Matrisin tersinin alınması (Mantrix Inverse) | Bekleme Sırası (Ready Queue) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Hill Şifrelemesi (Hill Cipher)' isimli yazı 19 Nov 2008 tarihinde, saat: 06:59 'de �adi Evren �EKER tarafından gönderilmiş, toplam 2104 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
Bilinen Açık Mesaj Saldırısı (Known Plain Text Attack)
Hill Şifrelemesi (Hill Cipher)
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)
Tepe Tırmanma Algoritması (Hill Climbing Algorithm)
Permutasyon Şifrelemesi (Permutation Cipher)
Arama Algoritmaları (Search Algorithms)
Menezes-Qu-Vanstone Şifrelemesi (Cipher)
Akış Şifrelemesi (Stream Cipher)
Feistel Şifreleme (Feistel Cipher, Fesitel Ağı, Feistel Network)
Bağlantılar
BE = {1,4} burada matrisin {2,5} yerine bu şekilde olmasının nedeni nedir?
matrisin çarpımı sonucu {14,24} oy yerine neden nx değil?
ilk harfi göz ardı mı ettik biraz kafam karıştı…
bu örnekte ‘a’ harfi 0′dan başlatılmıştır. İlkel şifreleme yöntemlerinde harflere karşılık sayılar kullanılırken ASCII karakter tablosu veya buna benzer bir kabul yapılmalı. Şayet ‘a’ harfini 1 kabul ederseniz bu durumda modulo aritmetiği yaptığınız için 0 değerine karşılık bir sembol kullanmanız gerekir.