Hill şifreleme algoritması, 1929 yılında Lester S. Hill tarafından geliştirilmiştir. Bu algoritma, lineer cebir ve matris işlemlerine dayanır. Hill şifrelemesi, metni bloklar halinde şifreler ve her bir blok üzerinde matris çarpımı işlemi uygular.
1. Hill Algoritmasının Temel İlkeleri
-
Anahtar Matrisi: Hill şifrelemesi, bir anahtar matrisi kullanır. Bu matris, kare bir matris olmalı ve tersi alınabilir (invertible) olmalıdır.
-
Blok Şifreleme: Metin, anahtar matrisinin boyutuna göre bloklara ayrılır. Örneğin, 2x2'lik bir anahtar matrisi kullanılıyorsa, metin 2'şer harflik bloklara ayrılır.
2. Şifreleme Adımları
-
Metnin Bloklara Ayrılması:
-
Metin, anahtar matrisinin boyutuna göre bloklara ayrılır. Eğer metin uzunluğu blok boyutuna tam bölünmüyorsa, dolgu harfleri eklenir.
-
-
Harflerin Sayısal Karşılıklarına Dönüştürülmesi:
-
Her harf, alfabedeki sırasına göre sayısal bir değere dönüştürülür (A=0, B=1, ..., Z=25).
-
-
Matris Çarpımı Uygulanması:
-
Her blok, anahtar matrisi ile çarpılır ve sonuç mod 26'ya göre hesaplanır.
-
-
Sayısal Değerlerin Harflere Dönüştürülmesi:
-
Elde edilen sayısal değerler, tekrar harflere dönüştürülür.
-
Örnek Şifreleme:
-
Metin: "HELP"
-
Anahtar Matrisi:
[ 6 24 ] [ 13 16 ]
Adım adım şifreleme:
-
Metni bloklara ayır: HE, LP.
-
Harfleri sayısal değerlere dönüştür:
-
H (7), E (4)
-
L (11), P (15)
-
-
Matris çarpımı uygula:
-
HE için:
[ 6 24 ] * [ 7 ] = [ (6*7 + 24*4) ] = [ 186 ] mod 26 = [ 186 % 26 ] = [ 4 ] [ 13 16 ] [ 4 ] [ (13*7 + 16*4) ] [ 155 ] [ 155 % 26 ] [ 25 ]
-
LP için:
[ 6 24 ] * [ 11 ] = [ (6*11 + 24*15) ] = [ 426 ] mod 26 = [ 426 % 26 ] = [ 10 ] [ 13 16 ] [ 15 ] [ (13*11 + 16*15) ] [ 383 ] [ 383 % 26 ] [ 19 ]
-
-
Sayısal değerleri harflere dönüştür:
-
4 → E, 25 → Z
-
10 → K, 19 → T
-
Şifrelenmiş metin: EZ KT
3. Deşifreleme Adımları
Deşifreleme, şifreleme ile aynı adımları takip eder. Ancak, bu sefer anahtar matrisinin tersi kullanılır.
-
Anahtar Matrisinin Tersinin Hesaplanması:
-
Anahtar matrisinin determinantı ve modüler tersi hesaplanır.
-
Ters matris, mod 26'ya göre bulunur.
-
-
Şifrelenmiş Metnin Bloklara Ayrılması:
-
Şifrelenmiş metin, anahtar matrisinin boyutuna göre bloklara ayrılır.
-
-
Matris Çarpımı Uygulanması:
-
Her blok, anahtar matrisinin tersi ile çarpılır ve sonuç mod 26'ya göre hesaplanır.
-
-
Sayısal Değerlerin Harflere Dönüştürülmesi:
-
Elde edilen sayısal değerler, tekrar harflere dönüştürülür.
-
Örnek Deşifreleme:
-
Şifrelenmiş Metin: "EZ KT"
-
Anahtar Matrisinin Tersi:
[ 8 5 ] [ 21 8 ]
Adım adım deşifreleme:
-
Şifrelenmiş metni bloklara ayır: EZ, KT.
-
Harfleri sayısal değerlere dönüştür:
-
E (4), Z (25)
-
K (10), T (19)
-
-
Matris çarpımı uygula:
-
EZ için:
[ 8 5 ] * [ 4 ] = [ (8*4 + 5*25) ] = [ 157 ] mod 26 = [ 157 % 26 ] = [ 7 ] [ 21 8 ] [ 25 ] [ (21*4 + 8*25) ] [ 284 ] [ 284 % 26 ] [ 4 ]
-
KT için:
[ 8 5 ] * [ 10 ] = [ (8*10 + 5*19) ] = [ 155 ] mod 26 = [ 155 % 26 ] = [ 11 ] [ 21 8 ] [ 19 ] [ (21*10 + 8*19) ] [ 382 ] [ 382 % 26 ] [ 15 ]
-
-
Sayısal değerleri harflere dönüştür:
-
7 → H, 4 → E
-
11 → L, 15 → P
-
Deşifrelenmiş metin: HELP
Sonuç
Hill şifreleme algoritması, lineer cebir kullanarak güçlü bir şifreleme yöntemi sunar. Ancak, anahtar matrisinin tersinin hesaplanması ve blok boyutunun sabit olması gibi sınırlamaları vardır. Bu nedenle, modern kriptografide daha esnek yöntemler tercih edilir.
Kaynakça
-
Hill, L. S. (1929). Cryptography in an Algebraic Alphabet. The American Mathematical Monthly.
-
Stallings, W. (2017). Cryptography and Network Security: Principles and Practice. Pearson.
-
Singh, S. (1999). The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography. Anchor Books.