Minggu, 26 Agustus 2007

Caesar/Viginere - tktq.net lvl 20

"You don't have to distrust the government to want to use cryptography."

Phil Zimmermann

Pertama kali gw tau sama yang namanya cryptography, itu pas gw mainin game di tktq.net. Waktu itu ada level yang ngebutuhin pemecahan Vigenere Cipher! Waaaahhh langsung aja deh..

Caesar Cipher mungkin salah satu teknik enkripsi yang paling mudah dan dikenal. Gw sendiri dulu waktu kecil pernah iseng-iseng mikir soal pesan rahasia yang tekniknya sama persis kayak Caesar Cipher ini. Ahahaha... Dulu waktu Julius Caesar ingin memeberikan pesan rahasia, ia selalu mengganti huruf A dengan huruf D begitu seterusnya :). Tapi sebenernya kek gima seh Caesar Cipher itu?

Prinsip Caesar Cipher itu sangat sederhana yang perlu lo lakuin cuma sekedar mengganti alphabet awal yang ada. Misal lo ada kata "tetanggasebelah". Dan lo mau enkripsi dengan Caesar Cipher, maka yang pertama kali perlu lo lakuin adalah nentuin "perpindahan huruf". Sebagai contoh, perpindahan huruf yang lo pilih adalah 4 maka akan menjadi seperti ini

Perpindahan huruf = 4

Abjad = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Setelah terjadi perpindahan huruf 4

Abjad = E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

Nah kalo udah gitu seterusnya kita ganti tuh pesan rahasia kita yang "anakilang" menurut abjad yang telah melakukan perpindahan.

a = e | n = r | a = e | k = o | i = m | l = p | a = e | n = r | g = k

Lo bisa liat kalo pesan rahasia dari "anakilang" adalah "ereomperk". Hmm cukup menarik menurut gw, mengingat orang biasa yang ngebaca pasti akan mikir kalo kata itu ga berarti apa-apa :). Gampang kan?? Sekarang bagaimana kita memecahkan kode Caesar Cipher??

Misalkan ada sebuah pesan seperti ini

exxego ex srgi

Gimana cara kita memecahkannya?? Dan kita ga tau perpindahan hurufnya berapa T_T. Cara satu-satunya adalah dengan mencoba setiap kemungkinan pada salah satu kata, dan kalo kata tersebut membentuk sebuah kata yang dapat dimengerti, maka kita akan menggunakan kombinasi tersebut :).

Perpindahan Huruf  Kata
 1   dwwdfn
 2   cvvcem
 3   buubdl
 4   attack
 5   zsszbj
 6   yrryai

Disana lo bisa liat, kalo ternyata perpindahan hurufnya adalah 4! Kalo udah gini sisanya tinggal lo cocokin aja dengan abjad perpindahan hurufnya 4 juga! Dan hasilnya akan membentuk kalimat:

exxego ex srgi = attack at once

Hahaha.. kinda interesting is'nt it?? :)

"One naturally wonders if the problem of translation could conceivably be treated as a problem in cryptography. When I look at an article in Russian, I say: 'This is really written in English, but it has been coded in some strange symbols. I will now proceed to decode."

Warren Weaver

Sebenernya, Caesar Cipher tadi cuma sekedar "introduction". Sekarang kita bakalan lebih jauh lagi ke Cryptography, yaitu memasuki sebuah teknik Cryptography bernama Viginere Cipher. Teknik ini diciptakan oleh Blaise de Vigenère. Sejarahnya agak panjang, jadinya liat sendiri aja di wikipedia deh xD.

Tabel diatas bernama "Tabula Recta" yang akan kita gunain dalam Viginere Cipher ini. Oke, kita langsung ke prakteknya ada deeh :D... Pertama-tama yang lo butuhin adalah sebuah "kata kunci" dan pastinya sebuah "pesan rahasia". Anggep aja kita mau bikin pesan rahasia yaitu "aku cinta kamu" (ceilah), dengan kata kunci "love". Sekarang, bagaimana kita meng-enkripsi-nya? Yang pertama kita lakukan adalah mencocokkan kata kunci dengan kalimat kita :).

aku cinta kamu

lov elove love

Kita sebut aja barisan yang kiri itu Row dan yang atas itu Collum. Caranya gini, huruf pada "A" pada kata "AKU" kita enkripsikan di Row "L" maka huruf "A" akan menjadi "L", selanjutnya huruf "K" kita enkripsikan di kolom "O" maka huruf K akan menjadi "Y". Maka setelah di enkripsi, pesan rahasia akan berubah menjadi:

AKU CINTA KAMU = LYP GTBOE VOHY

Hehehe.. Gampang khan?? Cara mudah untuk memecahkan kode Viginere adalah dengan mengetahui kata kunci-nya. Sedangkan cara susahnya gw belom tau :p

1 komentar:

Acid mengatakan...

boleh juga om, postingannya...

saya juga tertarik sama masalah ini...hho...tukeran link yach... :D

http://m-rasyid-04.web.id/wp