Cryptography Pengenalan Enkripsi Kode Hill
Pendahuluan Pembahasan PT -> (15, 19)|11 8| 3K -> (3, 10)|11 8| Dengan demikian, hasil enkripsi G4PT3K menggunakan K |11 8| adalah AYOTLQ Plain Text : G4PT3K ——– Dekripsi ——– 11*a1 + 8*a3 , 11*a2 + 8*a4 = 1 0 dari perhitungan diatas, menghasilkan invers dari matriks Key: jadi untuk dekripsinya: OT => 14, 19 LQ => 11, 16 Sebagai tambahan, berikut source code untuk enkripsi kode hill dengan bahasa python: import string text = string.ascii_lowercase while cchar < num =" plaintext[cchar]"> while cmatrix < res1 =" listplain[cmatrix]" res2 =" listplain[cmatrix+1]" res3 =" listplain[cmatrix]" res4 =" listplain[cmatrix+1]"> Contoh output: format key = [a b] a = 11 Nah kembali lagi kan plain-textnya.. Credit n reference: By : vdilz
Kode Hill ditemukan oleh Lester S. Hill pada tahun 1929. Kode Hill termasuk salah satu system kripto polialfabetik, yang berarti setiap karakter alphabet bisa dipetakan ke lebih dari satu macam karakter.
Misalkan m adalah bilangan bulat positif, dan Plaintext = Chiper = (Z26)m. Ide dari kode Hill adalah dengan mengambil m kombinasi linear dari m karakter alphabet dalam satu elemen teks-asli sehingga dihasilkan m alphabet karakter dalam satu elemen teks-asli.
Misalkan m=2 maka dapat ditulis suatu elemen teks-asli sebagai x = (x1, x2) dan suatu elemen teks kode sebagai y = (y1, y2). Di sini y1, y2 adalah kombinasi linear dari x1 dan x2. Misalkan:
y1 = 11×1 + 3×2
y2 = 8×1 + 7×2
dapat ditulis dalam notasi matrix sbb:(y1,y2)=(x1,x2)
K:
|11 8|
|3 7|
Secara umum dengan menggunakan matriks K m x m sebagai kunci.
Mungkin agak kurang paham ya? Ok supaya lebih paham langsung kasih contoh enkripsinya.
Kita gunakan Key yang diatas yaitu:|11 8|
|3 7|
Dan dengan plain text g4pt3k, maka menjadi G=6, 4=4, P=15, T=19, 3=3, K=10. (A=0,B=1,… Z=25)
Maka lakukan operasi perkalian matriks, yaitu baris * kolom.
Dengan menggunakan matriks 2 x 2, maka:G4 -> (6, 4)|11 8|
• |3 7|
= ((6*11)+(4*3) , (6*8)+(4*7)) = (66+12 , 48+28)
= (78 , 76) mod 26 = (0 , 24) => AY
• |3 7|
= (165+57 , 120+133) = (222 , 253) mod 26 = (14 , 19) => OT
• |3 7|
= (33+30 , 24+70) = (63 , 94) mod 26 = (11 , 16) => LQ
• |3 7|
Chiper Text : AYOTLQ
Key : |11 8|
• |3 7|
Untuk dekripsinya, hanya bisa dilakukan jika matriks dari Key memiliki inversi, dengan catatan suatu matriks memiliki inversi hanya jika determinannya tidak nol. Contoh untuk mendapatkan inversnya, maka:
|11 8| |a1 a2| = |1 0|
|3 7| |a3 a4| = |0 1|
3*a1 + 7*a3 , 3*a2 + 7*a4 = 0 1
|7 18|
|23 11|
AY => 0, 24
(0, 24)|7 18|
• |23 11|
= (0*7 + 24*23 , 0*18 + 24*11) = (552 , 264) mod 26 = (6 , 4) => G4
(14, 19)|7 18|
• |23 11|
= (14*7 + 19*23 , 14*18 + 19*11) = (535, 461) mod 26 = (15 , 19) => PT
(11, 16)|7 18|
• |23 11|
= (11*7 + 16*23 , 11*18 + 16*11) = (445 , 374) mod 26 = (3 , 10) => 3K
#!/usr/bin/python
# hill c0de encryption algorithm
# by:5ynL0rd
# thanks to g4pt3k
numeric = string.digits
cchar = 0
cmatrix = 0
listplain = []
result = []
plaintext = raw_input(“plain text:”)
print ”’
format key = [a b]
[c d]
”’
key11 = input(“a = “)
key12 = input(“b = “)
key21 = input(“c = “)
key22 = input(“d = “)
plain text:g4pt3k
[c d]
b = 8
c = 3
d = 7
plain text : g4pt3k
cipher text : ayotlq
Sekian dulu, semoga bisa dipahami dan menambah curiosity to learn about cryptography..
Pengantar Ilmu Kriptografi by Dony Ariyus
5ynL0rd n all depredac0ders, all crews n members of AJS, manadocoding, devilzc0de, whitecyber community.
Copyright : indobacktrack.or.id
Posting Komentar