Desain dan Analisis Keamanan Jaringan “Sistem kriptografi klasik berbasis substitusi”
Oleh DESI NILAWATI 1102636
PROGRAM STUDI PENDIDIKAN TEKNIK INFORMATIKA JURUSAN ELEKTRONIKA FAKULTAS TEKNIK
UNIVERSITAS NEGERI PADANG 2014
Sistem kriptografi klasik berbasis substitusi sebagai berikut : 1. Sandi Caesar chipper 2. Sandi substitusi 3. Sandi transposisi 4. Sandi vigenere 5. Sandi affine 6. Sandi hill 7. Sandi one time pad 8. Sandirotor Penjelasannya sebagai berikut :
1. Sandi Caesar Chiper
Sandi Caesar mengganti setiap huruf di teks terang (plaintext) dengan huruf yang berselisih angka tertentu dalam alfabet. Contoh ini menggunakan geseran tiga, sehingga huruf B di plaintext menjadi E di teks tersandi (ciphertext). Dalam kriptografi, sandi Caesar, atau sandi geser, kode Caesar atau Geseran Caesar adalah salah satu teknik enkripsi paling sederhana dan paling terkenal. Sandi ini termasuk sandi substitusi dimana setiap huruf pada teks terang (plaintext) digantikan oleh huruf lain yang memiliki selisih posisi tertentu dalam alfabet. Misalnya, jika menggunakan geseran 3, W akan menjadi Z, I menjadi L, dan K menjadi N sehingga teks terang "wiki" akan menjadi "ZLNL" pada teks tersandi. Nama Caesar diambil dari Julius Caesar, jenderal, konsul, dan diktator Romawi yang menggunakan sandi ini untuk berkomunikasi dengan para panglimanya.
Langkah enkripsi oleh sandi Caesar sering dijadikan bagian dari penyandian yang lebih rumit, seperti sandi Vigenère, dan masih memiliki aplikasi modern pada sistem ROT13. Pada saat ini, seperti halnya sandi substitusi alfabet tunggal lainnya, sandi Caesar dapat dengan mudah dipecahkan dan praktis tidak memberikan kerahasiaan bagi pemakainya.
Contoh Cara kerja sandi ini dapat diilustrasikan dengan membariskan dua set alfabet; alfabet sandi disusun dengan cara menggeser alfabet biasa ke kanan atau ke kiri dengan angka tertentu (angka ini disebut kunci). Misalnya sandi Caesar dengan kunci 3, adalah sebagai berikut: Alfabet Biasa: Alfabet Sandi:
ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIJKLMNOPQRSTUVWXYZABC
Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut. teks terang: kirim pasukan ke sayap kiri teks tersandi: NLULP SDVXNDQ NH VDBDS NLUL
Proses penyandian (enkripsi) dapat secara matematis menggunakan operasi modulus dengan mengubah huruf-huruf menjadi angka, A = 0, B = 1,..., Z = 25. Sandi ( ) dari "huruf" dengan geseran n secara matematis dituliskan dengan,
Sedangkan pada proses pemecahan kode (dekripsi), hasil dekripsi (
) adalah
Setiap huruf yang sama digantikan oleh huruf yang sama di sepanjang pesan, sehingga sandi Caesar digolongkan kepada, substitusi monoalfabetik, yang berlawanan dengan substitusi polialfabetik.
Sejarah dan Penggunaan Julius Caesar menggunakan sandi ini dengan geseran tiga ke kiri.
Nama Sandi Caesar diambil dari Julius Caesar, yang menurut buku Suetonius Kehidupan Duabelas Caesar, menggunakan sandi ini dengan geseran tiga, untuk mengirim pesan yang mengandung rahasia atau taktik militer. Jika ia memiliki suatu rahasia yang akan disampaikan, ia menuliskannya dalam sandi, dengan mengganti urutan abjad, sehingga tak satu kata pun dapat dimengerti. Jika ada yang ingin membaca pesan-pesan ini, ia harus mengganti huruf keempat dalam alfabet, yaitu D, untuk A, dan seterusnya untuk huruf-huruf lain. - Suetonius, Kehidupan Julius Caesar 56[1] Keponakan Caesar, Augustus juga menggunakan skema sandi Caesar, namun dengan geseran satu ke kanan, dengan sedikit perbedaan. Jika ia hendak menulis sandi, ia menuliskan B untuk A, C untuk B, dan seterusnya, serta AA untuk Z. — Suetonius, Kehidupan Augustus 88.[2] Juga terdapat bukti bahwa Julius Caesar juga menggunakan sistem yang lebih rumit. Penulis Aulus Gellius, merujuk pada sebuah risalah (yang sekarang hilang) dalam sandisandinya. Bahkan terdapat suatu risalah yang ditulis secara cerdas oleh ahli tatabahasa Probus mengenai arti rahasia dari huruf-huruf yang menyusun surat-surat Caesar — Aulus Gellius, 17.9.1–5. Masih belum diketahui seberapa efektif sandi Caesar pada waktu itu, namun kemungkinan besar sandi tersebut cukup aman, karena amat sedikit dari musuh Caesar yang dapat membaca, apalagi yang dapat memecahkan sandi. Tidak ada catatan mengenai ditemukannya solusi untuk memecahkan sandi Caesar pada zaman itu. Catatan tertua mengenai pemecahan sandi substitusi monoalfabetik seperti sandi Caesar adalah pada abad ke-9, oleh kebudayaan Arab Muslim yang menemukan analisis frekuensi. Juga diketahui bahwa sejenis sandi Caesar juga pernah digunakan sebelum masa Caesar. Sandi Caesar dengan geseran satu diklaim telah ditemukan di belakang Hezuzah. [3] Pada abad ke-19, iklan pribadi di surat-surat kabar kadang-kadang dituliskan dengan sandi Caesar. David Kahn (1967) menuliskan beberapa pasangan kekasih berkomunikasi secara rahasia dengan sandi Caesar melalui iklan di The Times. Bahkan pada Perang Dunia I, Tentara Kekaisaran Rusia menggunakan sandi Caesar, karena banyak tentara yang tidak mampu menggunakan metode sandi yang lebih maju; akibatnya para kriptoanalis Jerman dan Austria dapat memecahkan sandi-sandi tentara Rusia dengan mudah.
Sekarang sandi Caesar tidak dapat digunakan untuk hal-hal yang penting, namun dapat digunakan untuk kepentingan sederhana seperti diari, surat cinta, menyembunyikan penghinaan, spoiler dan lain-lain yang tidak melibatkan para ahli. Sandi Caesar dengan geseran 13 disebut algoritma ROT13, digunakan pada forum-forum internet agar suatu tulisan (mis. spoiler) tidak langsung terbaca. Pada akhir abad ke-16 ditemukan sandi Vigenère yang merupakan pengembangan lebih lanjut daripada sandi Caesar. Sandi Vigenère menggunakan sandi Caesar dengan bilangan geseran yang berbeda tiap hurufnya, sesuai dengan sebuah kata kunci. Berbeda dengan sandi Caesar yang dapat dipecahkan melalui analisis frekuensi sederhana, Sandi Vigenère pada saat itu terlihat sulit sekali dipecahkan. Sandi Vigenère dijuluki le chiffre indéchiffrable (sandi yang tak terpecahkan) hingga akhirnya dipecahkan pada abad ke-19 dengan cara analisis frekuensi lanjutan. Pada April 2006, seorang bos mafia buronan Bernardo Provenzano tertangkap di pulau Sisilia. Keberhasilan ini tak lepas dari keberhasilan pihak berwenang memecahkan sandi yang digunakan sang buronan. Provenzano menggunakan suatu variasi dari sandi Caesar. [4]
Memecahkan sandi Caesar mengetahui nilai geserannya, ataupun bahwa sandi Caesar telah digunakan.
Proses membaca teks tersandi menjadi teks terang disebut dekripsi. Sandi Caesar dapat dipecahkan bahkan jika seseorang hanya memiliki teks tersandi tanpa
Jika pihak pemecah sandi hanya mengetahui bahwa digunakan substitusi monoalfabetik dalam suatu sandi, sandi tersebut dipecahkan dengan cara analisis frekuensi. Setiap bahasa memiliki huruf yang sering digunakan atau jarang digunakan. Misalnya huruf a sering sekali digunakan dalam bahasa Indonesia, dan q atau x jarang sekali muncul. Setiap bahasa memiliki pola frekuensi tertentu, yang menunjukkan frekuensi relatif dari digunakannya huruf-huruf dalam bahasa tersebut. Pola frekuensi huruf dalam bahasa Inggris ditunjukkan dalam gambar.
Pola frekuensi huruf-huruf dalam bahasa Inggris. Pola ini memiliki sifat tertentu, misalnya "lonjakan" pada e, atau tiga bar tinggi pada r-s diikuti 6 batang rendah pada u-z. Jika pemecah kode menghitung frekuensi huruf pada teks tersandi, karakteristik khusus pada grafik disamping tentu masih ada pada teks tersandi, hanya saja posisinya telah digeser. Misalkan sang pemecah kode menemukan lonjakan di C, serta tiga batang tinggi berturut-turut diikuti enam batang rendah berturut-turut dimulai dari O, maka bisa ditebak bahwa sandi tersebut menggunakan geseran 5 ke kiri, dan dari kesimpulan ini kita dapat mendekripsi teks tersandi dengan menggeser setiap huruf sandi 2 posisi ke kanan. Cara kedua yang lebih mudah, dapat dilakukan jika sang pemecah sandi mengetahui bahwa pengirim sandi menggunakan sandi Caesar. Sandi tersebut akan dipecahkan dengan menggunakan brute force attack, yaitu mencoba ke-26 kemungkinan geseran yang digunakan. Biasanya hanya satu dari ke-26 kemungkinan ini yang dapat dibaca. Misalkan suatu teks tersandi "EXXEGOEXSRGI". Pada tabel disamping ditunjukkan hasil percobaan yang dilakukan, dan hanya satu hasil yang dapat dibaca, yaitu attackatonce. Hal ini berarti pesan yang disandikan adalah pesan berbahasa Inggris "attack at once", yang berarti "serang sekarang juga". Dengan kemajuan komputer dan teknologi informasi, kedua cara diatas dapat dijalankan dengan mudah dan cepat, sehingga saat ini sandi Caesar sama sekali tidak berguna untuk menyembunyikan atau menyandikan dokumen-dokumen atau perintah-perintah penting dan rahasia.
2. Sandi Substitusi Dalam kriptografi, sandi substitusi adalah jenis metode enkripsi dimana setiap satuan pada teks terang digantikan oleh teks tersandi dengan sistem yang teratur; suatu "satuan" dapat berarti satu huruf (paling umum), pasangan huruf, suku kata, kata, dan sebagainya. Sang penerima pesan baru dapat membaca pesan tersebut setelah melakukan substitusi balik terlebih dahulu. Pada sandi substitusi, satuan-satuan pada teks terang diubah namun susunannya tetap. Kebalikannya adalah sandi transposisi, dimana satuan-satuan teks terang susunannya diacak sedemikian rupa sehingga tidak dapat terbaca, namun tidak mengubah/menyubstitusi huruf-huruf tersebut. Sandi substitusi juga dikelompokkan menjadi berbagai jenis. Jika sandi tersebut menyubstitusi huruf demi huruf, maka ia disebut sandi substitusi sederhana; jika menyubstitusi dengan urutan yang lebih besar disebut sandi substitusi poligraf. Sebuah sandi substitusi monoalfabetik menggunakan pola substitusi yang tetap di seluruh pesan (misal: sandi Caesar), sedangkan sandi substitusi polialfabetik menggunakan substitusi yang berbeda-beda sepanjang pesan (misal: sandi Vigenère).
Substitusi sederhana Substitusi satu huruf secara terpisah (substitusi sederhana) dapat dilakukan dengan menuliskan seluruh alfabet pada urutan tertentu untuk menggambarkan penggantian / substitusi. Alfabet sandi dapat digeser (sandi Caesar) atau dibalik (sandi Atbash), maupun diacak dengan lebih rumit.
Metode penyandian substitusi telah dipakai dari jaman dulu (kriptografi klasik) hingga kini (kriptografi modern). Kriptografi klasik terbagi menjadi dua kategori utama, yaitu metode penyandian substitusi dan metode penyandian transposisi. Bentuk penyandian kriptografi klasik berupa teks (huruf/karakter) dengan menggunakan alat tulis berupa kertas dan pensil. Namun bila menggunakan mesin sandi, biasanya mesin tersebut masih sangat sederhana. Sesuai dengan namanya, pada awalnya, metode penyandian substitusi adalah penyandian dengan cara mengganti huruf/karakter teks aslinya ke huruf/karakter lain sebagai teks sandinya, baik setiap satu huruf/karakter atau setiap kelompok huruf/karakter atau bisa juga kombinasi dari itu.
Kemudian dalam perkembangannya, dalam metode penyandian substitusi modern, digunakan sebuah program aplikasi tertentu dimana teks asli yang berbentuk kumpulan karakter dalam sebuah file digital diganti dengan kumpulan karakter lain secara digital pula sehingga menghasilkan file sandi yang siap dikomunikasikan. Untuk membaca teks aslinya kembali dari teks sandi, cukup dengan membalik prosesnya. Terdapat berbagai macam metode penyandian substitusi, diantaranya adalah : 1. 2. 3. 4. 5.
Metode Penyandian Substitusi Sederhana Metode Penyandian Caesar Metode Penyandian Vigenére Metode Penyandian Hill Metode Penyandian OTP
Metode Penyandian Substitusi Sederhana Metode penyandian substitusi sederhana ini termasuk dalam kriptografi klasik. Metode ini dilakukan dengan mengganti setiap huruf dari teks asli dengan huruf lain sebagai huruf sandi yang telah didefinisikan sebelumnya oleh algoritma kunci. Dalam metode penyandian substitusi sederhana, deretan alfabetiknya bisa berupa deretan dari A sampai Z yang disebut deret langsung, ataupun kebalikannya dari Z ke A yang disebut deret inversi (kebalikan), namun dapat pula berupa deretan acak berkunci ataupun tidak berkunci. Untuk memudahkan dalam mengoperasikan penyandiannya, deretan huruf tersebut dapat dibuatkan kedalam sebuah tabel, ataupun dengan matematika aljabar modulus 26, tergantung algoritma kunci yang ditentukan. 1. Huruf asli : 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 Huruf sebagai kunci sandi : 2. Deret langsung : M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 3. Deret inversi : F E D C B A Z Y X W V U T S R Q P O N M L K J I H G 4. Deret acak tidak berkunci : Q P A L Z M O W K S N X I E J D B C V F H R U Y T G
5. Deret acak berkunci (BATIK TULIS) : B A T I K U L S C D E F G H J M N O P Q R V WXYZ 6. Deret acak berkunci inversi (WAYANG GOLEK) : Z X V U T S R Q P M J I H F D C B KELOGNYAW Untuk mempermudah pemahaman dapat diperhatikan contoh berikut : Teks asli : SEMUA HAL BESAR DIAWALI DARI SEBUAH IMPIAN Algoritma : Deret inversi dengan kunci A = F Hasil teks sandi : NBTLF YFUEB NFOCX FJFUX CFOXN BELFY XTQXF SXXXX Algoritma : Deret acak berkunci (BATIK TULIS) Hasil teks sandi : PKGRB SBFAK PBOIC BWBFC IBOCP KARBS CGMCB HXXXX Teks sandi umumnya ditulis dalam bentuk grup-grup kata sandi yang masing-masing grup terdiri dari 4 atau 5 huruf. Teknik penulisan seperti ini dilakukan dengan pertimbangan : - Pada saat itu, digunakan untuk menekan biaya transmisi telegram; - Memudahkan dalam mengecek kesalahan saat ditransmisikan; - Menghilangkan karakteristik kata-kata dari teks aslinya. Bila teks sandinya berakhir tidak genap 4 atau 5 huruf, maka digunakan huruf-huruf sebagai pelengkapnya. Dalam contoh, teks sandi digenapi dengan huruf XXXX. Namun dalam prakteknya penggenapan huruf ini bisa dengan huruf apa saja, terutama huruf yang jarang dipakai. http://hadiwibowo.wordpress.com/2007/04/18/metode-penyandian-substitusi/
3. Sandi Transposisi Kriptografi klasik adalah kriptografi yang dipakai pada jaman dulu. Bentuk penyandiannya berupa teks (huruf) dengan menggunakan alat tulis berupa kertas dan pensil, namun bila menggunakan mesin sandi, biasanya mesin tersebut masih sangat sederhana. Kriptografi klasik terbagi menjadi dua kategori utama, yaitu metode penyandian transposisi dan metode penyandian substitusi. Metode penyandian transposisi adalah metode penyandian dengan cara mengubah letak dari teks pesan yang akan disandikan. Dan untuk membaca pesan aslinya kembali, cukup dengan mengembalikan letak dari pesan tersebut berdasarkan kunci dan algoritma pergeseran huruf yang telah disepakati. Terdapat beberapa algoritma dalam metode penyandian transposisi yaitu : 1. 2. 3. 4. 5.
Penyandian transposisi rail fence Penyandian transposisi route Penyandian transposisi kolom Penyandian transposisi ganda Penyandian transposisi Myszkowski
Penyandian Transposisi Rail Fence Rail Fence atau bisa juga disebut alur pagar adalah bentuk penyandian transposisi dengan cara menuliskan huruf-huruf teks asli secara turun naik dalam sebuah pagar imajiner. Teks sandinya dibaca secara baris per baris. Lebih mudahnya dapat dilihat dari contoh berikut : Teks pesan asli : TENTUKAN PRIORITAS SEMUANYA X.
ANDA
SEBAB
KITA
TIDAK
DAPAT
MENGERJAKAN
Algoritma : 5 baris Proses : T – - – - – - – P – - – - – - – S – - – - – - – A – - – -
- E – - – - – N – R – - – - – A – A – - – - – B – B – - - – N – - – A – - – I – - – T – - – N – - – E – - – K – - – - T – K – - – - – O – I – - – - – D – S – - – - – I - – - – U – - – - – - – R – - – - – - – A – - – - – - – T – DST
Hasil penyandian (teks sandi) : TPSAD MKNEN RAABB IATEA AAYNA ITNEK TKANJ NUATK OIDSI ADPGR SMXUR ATAEE
Penyandian Transposisi Route Penyandian transposisi dengan metode route hampir sama dengan metode Rail Fence. Penyandian Transposisi Route dilakukan dengan cara menuliskan teks asli secara kolom dari atas kebawah dalam sebuah kisi-kisi imajiner dengan ukuran yang telah disepakati. Teks sandinya dibaca dengan arah (route) sesuai perjanjian, misalnya dibaca secara (1) spiral dengan arah jarum jam, mulai dari kiri atas atau (2) secara ular tangga, mulai dari kanan bawah dan lain-lain cara pembacaannya. Penyandian route memiliki banyak sekali variasi algoritma pembacaan teks-nya. Namun tidak semua algoritma tersebut memberikan hasil teks sandi yang memenuhi standar ―aman‖. Beberapa algoritma tidak mengacak teks asli dengan sempurna, sehingga akan memberikan celah yang dapat dengan mudah dipecahkan oleh seorang kriptoanalisa. Penyandian transposisi route yang terkenal adalah Union Route yang digunakan oleh tentara Amerika selama perang sipil. Contoh penyandian transposisi route : Teks pesan asli : TENTUKAN PRIORITAS SEMUANYA X.
ANDA
SEBAB
KITA
TIDAK
Algoritma : 5 baris, spiral arah jarum jam mulai dari kanan bawah. Proses :
DAPAT
MENGERJAKAN
T K I A A B T D M R N A E A O S S K I A E J S N N N R A E I D P N A E Y T P I N B T A A G K M A U R T D A A K T E A U X
Hasil penyandian (teks sandi) : XUAET KAADT RUTNE TKIAA BTDMR NANYA MKGAA TBNIP NAOSS KIAEJ SEANP DIEAR
Penyandian Transposisi Kolom Penyandian Transposisi Kolom dituliskan secara baris (biasa) dengan panjang yang telah ditentukan sebagai kunci-nya. Teks sandi-nya dibaca secara kolom demi kolom dengan pengacakan melalui permutasian angka kuncinya. Panjang baris dan permutasian kolomnya disebut sebagai ―kata kunci‖. Dalam prosesnya, kata kunci tersebut didefinisikan dahulu dengan angka sesuai urutan abjad. Sedangkan proses untuk mengembalikan ke teks sandi ke teks aslinya dilakukan langkah kebalikan darinya. Lebih mudahnya dapat dilihat dalam contoh berikut : Teks pesan asli : TENTUKAN PRIORITAS SEMUANYA X.
ANDA
SEBAB
KITA
TIDAK
DAPAT
Kata kunci : PELIKAN yang berarti 7 kolom Proses : PELIKAN didefinisikan sesuai urutan abjad menjadi 7 2 5 3 4 1 6 7 2 5 3 4 1 6 T E N T U K A
MENGERJAKAN
N P R I O R I T A S A N D A S E B A B K I T A T I D A K D A P A T M E N G E R J A K A N S E M U A N Y A X
Hasil penyandian (teks sandi) : KRDKA MAUEP AEAAG NYTIA AIARE XUONB DTJMN RSBTP ESAAI AIKEK ATNTS TDNAN
Penyandian Transposisi Ganda Penyandian transposisi ganda adalah metode penyandian transposisi kolom yang dilakukan dua kali. Dua kali proses penyandian ini dilakukan untuk mempersulit upaya pemecahan teks sandi transposisi kolom yang biasanya dapat dengan mudah dilakukan dengan metode anagram. Proses penyandian yang kedua ini bisa menggunakan kunci yang sama atau dua kunci yang berbeda. Sebagai contoh ditetapkan kunci kedua yang berbeda yaitu GERHANA; terhadap teks sandi pertama : KRDKA MAUEP AEAAG NYTIA AIARE XUONB DTJMN RSBTP ESAAI AIKEK ATNTS TDNAN Proses :
GERHANA didefinisikan sesuai urutan abjad menjadi 4 3 7 5 1 6 2 4 3 7 5 1 6 2 K R D K A M A
U E P A E A A G N Y T I A A I A R E X U O N B D T J M N R S B T P E S A A I A I K E K A T N T S T D N A N
Hasil penyandian (teks sandi) : AEIXJ PITAA AONSE TRENA BSAAN KUGIN RAKDK ATETT ANNMA AUMEK SDPYR DBITA
Selama perang dunia I dan II, metode penyandian transposisi ganda ini digunakan oleh beberapa negara sebagai metode penyandian terhadap pesan-pesan rahasia yang dikomunikasikan. Penyandian Transposisi Myszkowski Émile Victor Théodore Myszkowski di tahun 1902 memperkenalkan variasi dari metode penyandian transposisi kolom, yang dibedakan dalam pendefinisian dan permutasian kata kunci-nya. Dalam metode penyandian transposisi kolom, kata kunci misalnya BOROBUDUR di definisikan menjadi 1 4 6 5 2 8 3 9 7; sedangkan dalam metode Myszkowski menjadi 1 3 4 3 1 5 2 5 4 Teks sandinya dibaca secara urutan nomor kolom, bila nomor urut kolomnya sama dibaca secara bersamaan dimulai dari sebelah kiri. Lebih mudahnya dapat dilihat dalam contoh berikut : Teks pesan asli :
TENTUKAN PRIORITAS SEMUANYA X.
ANDA
SEBAB
KITA
TIDAK
DAPAT
MENGERJAKAN
Kata kunci : BOROBUDUR yang berarti 9 kolom Proses : BOROBUDUR didefinisikan sesuai urutan abjad menjadi 1 3 4 3 1 5 2 5 4 1 3 4 3 1 5 2 5 4 T E N T U K A N P R I O R I T A S A N D A S E B A B K I T A T I D A K D A P A T M E N G E R J A K A N S E M U A N Y A X
Hasil penyandian (teks sandi) : TURIN EIIAM RAUAA AAANS ETIRD STTPT JKNYN POAAK ADAEA MNKNT SBBDK EGNEX
Untuk mempersulit pemecahan sandi oleh para kriptoanalisa, maka biasanya metode penyandian transposisi dikombinasikan dengan metode penyandian substitusi. http://hadiwibowo.wordpress.com/2007/03/28/metode-penyandian-transposisi/
4. Sandi Vigenère Sandi Vigenère dinamai untuk menghormati Blaise de Vigenère (gambar), sekalipun Giovan Batista Belaso menemukannya sebelum Vigenère. Sandi Vigenère adalah metode menyandikan teks alfabet dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci. Sandi Vigenère merupakan bentuk sederhana dari sandi substitusi polialfabetik. Kelebihan sandi ini dibanding sandi Caesar dan sandi monoalfabetik lainnya adalah sandi ini tidak begitu rentan terhadap metode pemecahan sandi yang disebut analisis frekuensi. Giovan Batista Belaso menjelaskan metode ini dalam buku La cifra del. Sig. Giovan Batista Belaso (1553); dan disempurnakan oleh diplomat Perancis Blaise de Vigenère, pada 1586. Pada abat ke-19, banyak orang yang mengira Vigenère adalah penemu sandi ini, sehingga, sandi ini dikenal luas sebagai "sandi Vigenère". Sandi ini dikenal luas karena cara kerjanya mudah dimengerti dan dijalankan, dan bagi para pemula sulit dipecahkan. Pada saat kejayaannya, sandi ini dijuluki le chiffre indéchiffrable (bahasa Prancis: 'sandi yang tak terpecahkan'). Metode pemecahan sandi ini baru ditemukan pada abad ke-19. Pada tahun 1854, Charles Babbage menemukan cara untuk memecahkan sandi Vigenère. Metode ini dinamakan tes Kasiski karena Friedrich Kasiski-lah yang pertama mempublikasikannya. Cara kerja
Tabel Vigenère, atau tabula recta, dapat digunakan untuk enkripsi maupun dekripsi sandi Vigenère.
Sandi Vigenère sebenarnya merupakan pengembangan dari sandi Caesar. Pada sandi Caesar, setiap huruf teks terang digantikan dengan huruf lain yang memiliki perbedaan tertentu pada urutan alfabet. Misalnya pada sandi Caesar dengan geseran 3, A menjadi D, B menjadi E and dan seterusnya. Sandi Vigenère terdiri dari beberapa sandi Caesar dengan nilai geseran yang berbeda. Untuk menyandikan suatu pesan, digunakan sebuah tabel alfabet yang disebut tabel Vigenère (gambar). Tabel Vigenère berisi alfabet yang dituliskan dalam 26 baris, masingmasing baris digeser satu urutan ke kiri dari baris sebelumnya, membentuk ke-26 kemungkinan sandi Caesar. Setiap huruf disandikan dengan menggunakan baris yang berbeda-beda, sesuai kata kunci yang diulang Misalnya, teks terang yang hendak disandikan adalah perintah "Serbu Berlin": serbuberlin
Sedangkan kata kunci antara pengirim dan tujuan adalah "Pizza" "PIZZA" diulang sehingga jumlah hurufnya sama banyak dengan teks terang: PIZZAPIZZAP
Huruf pertama pada teks terang, S, disandikan dengan menggunakan baris berjudul P, huruf pertama pada kata kunci. Pada baris P dan kolom S di tabel Vigenère, terdapat huruf H. Demikian pula untuk huruf kedua, digunakan huruf yang terletak pada baris I (huruf kedua kata kunci) dan kolom E (huruf kedua teks terang), yaitu huruf M. Proses ini dijalankan terus sehingga Teks terang:
serbuberlin
Kata kunci:
PIZZAPIZZAP
Teks bersandi: HMQAUQMQKIC Proses sebalinya (disebut dekripsi), dilakukan dengan mencari huruf teks bersandi pada baris berjudul huruf dari kata kunci. Misalnya, pada contoh di atas, untuk huruf pertama, kita mencari huruf H (huruf pertama teks tersandi) pada baris P (huruf pertama pada kata kunci), yang terdapat pada kolom S, sehingga huruf pertama adalah S. Lalu M terdapat pada baris I di kolom E, sehingga diketahui huruf kedua teks terang adalah E, dan seterusnya hingga didapat perintah "serbuberlin".
Enkripsi (penyandian) dengan sandi Vigenère juga dapat dituliskan secara matematis, dengan menggunakan penjumlahan dan operasi modulus, yaitu:
atau C = P + K kalau jumlah dibawah 26 & - 26 kalau hasil jumlah di atas 26 dan dekripsi,
atau P = C - K kalau hasilnya positif & + 26 kalau hasil pengurangan minus Keterangan: adalah huruf ke-i pada teks tersandi, adalah huruf ke-i pada teks terang, adalah huruf ke-i pada kata kunci, dan adalah operasi modulus (sisa pembagian).
Pehitungan Sandi Vigenere Rumus enkripsi vigenere cipher :
atau Ci = ( Pi + Ki ) – 26 kalau hasil penjumlahan Pi dan Ki lebih dari 26
Rumus dekripsi vigenere cipher :
atau Pi = ( Ci – Ki ) + 26 kalau hasil pengurangan Ci dengan Ki minus
Dimana: Ci = nilai desimal karakter ciphertext ke-i Pi = nilai desimal karakter plaintext ke-i
Ki = nilai desimal karakter kunci ke-i Nilai desimal karakter: A=0 B=1 C=2 ... Z=25
Sebagai contoh, jika plaintext adalah STIKOMBALI dan kunci adalah KAMPUS maka proses enkripsi yang terjadi adalah sebagai berikut: Plaintext: STIKOMBALI Key:
KAMPUSKAMP
Ciphertext: CTUZIELAXX Pada contoh diatas kata kunci KAMPUS diulang sedemikian rupa hingga panjang kunci sama dengan panjang plainteksnya. Jika dihitung dengan rumus enkripsi vigenere plainteks huruf pertama S (yang memiliki nilai Pi=18) akan dilakukan pergeseran dengan huruf K (yang memiliki Ki=10) maka prosesnya sebagai berikut: Ci = = = =
( Pi + Ki ) mod 26 (18 + 10) mod 26 28 mod 26 2
Ci=2 maka huruf ciphertext dengan nilai 2 adalah C . Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua plainteks telah terenkripsi menjadi ciphertext. Setelah semua huruf terenkripsi maka proses dekripsinya dapat dihitung sebagai berikut: Pi = = = =
( Ci – Ki ) + 26 ( 2 – 10 ) + 26 –8 + 26 18
Pi=18 maka huruf plainteks dengan nilai 18 adalah S. Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua ciphertext telah terdekripsi menjadi plainteks.
5. Sandi Afine Dalam kriptografi terdapat dua konsep utama yakni enkripsi dan dekripsi. Enkripsi adalah proses dimana informasi/data yang hendak dikirim diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal. Ada beberapa contoh macam-macam metode kriptografi untuk membuat pesan rahasia antara lain: Caesar, Affine, Monoalphabetic, Polyalphabetic, Vigenere, Beaufort, Playfair, Transposisi, MD5, DES, RSA, DSA, ElGamal, dan SHA. Metode pertama kriptografi adalah Caesar, yang mana metode mengikuti pola pesan rahasia yang dikirim oleh raja Caesar pada jaman romawi, kini banyak model untuk dapat diterapkan dalam kriptografi, diantaranya adalah affine. Affine sudah cukup baik untuk mengirim pesan rahasia berupa pesan teks rahasia. Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks (plaintext) atau teks jelas (cleartext). Maka diperlukan membuat aplikasi pesan rahasia berupa teks menggunakan metode Affine yang merupakan perluasan dari caesar yang mengalihkan plainteks dengan sebuah nilai dan menambahkannya dengan sebuah pergeseran. Di dalam kriptografi sering ditemukan berbagai istilah atau terminologi, beberapa istilah yang penting untuk diketahui diantaranya adalah (Munir, 2006):
Pesan (message) adalah data atau informasi yang dapat dibaca atau dimengerti maknanya. Nama lainnya untuk pesan adalah plainteks (plaintext) atau teks jelas (clear text). Pengirim (sender) adalah entitas yang melakukan pengiriman pesan kepada entitas lainnya. Kunci (cipher) adalah aturan atau fungsi matematika yang digunakan untuk melakukan proses enkripsi dan dekripsi pada plaintext dan ciphertext. Enkripsi adalah mekanisme yang dilakukan untuk merubah plaintext menjadi ciphertext. Dekripsi adalah mekanisme yang dilakukan untuk merubah ciphertext menjadi plaintext. Penerima (recipient) adalah entitas yang menerima pesan dari pengirim/entitas yang berhak atas pesan yang dikirim.
Pengubahan plainteks ke cipherteks agar suatu pesan rahasia tidak mudah dibaca.
Gambar 1. Proses Enskripsi Teks
Gambar 1. memperlihatkan contoh dua buah plainteks serta cipherteks berkoresponden. Yang mana suatu proses pesan yang dikembalikan, cipherteks dapat ditransformasikan kembali ke plainteks semula, (Munir, 2006). Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan proses dekripsi. Seperti yang telah dijelaskan di atas, proses enkripsi mengubah plaintext menjadi ciphertext (dengan menggunakan kunci tertentu) sehingga isi informasi pada pesan tersebut sukar dimengerti. Adapun gambar diagram proses plainteks ke enkripsi dan cipterteks ke deskipsi dapat dilihat pada gambar 2.
Gambar 2. Diagram prosesenkripsi dan dekripsi Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi (disamping pula algoritma yang digunakan) sehingga kerahasiaannya sangatlah penting, apabila kerahasiaannya terbongkar, maka isi dari pesan dapat diketahui. Secara matematis, proses enkripsi merupakan pengoperasian fungsi E (enkripsi) menggunakan e (kunci enkripsi) pada M (plaintext) sehingga dihasilkan C (ciphertext), notasinya : Ee(M) – C (1) Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D (desciption) menggunakan d (kunci dekripsi) pada C (ciphertext) sehingga dihasilkan M (plaintext), notasinya : Dd(C) = M(2) Sehingga dari dua hubungan diatas berlaku : Dd(Ee(M)) = M(3)
Affine Cipher Affine cipher pada metode affine adalah perluasan dari metode Caesar Cipher, yang mengalihkan plainteks dengan sebuah nilai dan menambahkannya dengan sebuah pergeseran P menghasilkan cipherteks C dinyatakan dengan fungsi kongruen: C ≡ m P + b (mod n)(4) Yang mana n adalah ukuran alphabet, m adalah bilangan bulat yang harus relatif prima dengan n (jika tidak relatif prima, maka dekripsi tidak bisa dilakukan) dan b adalah jumlah pergeseran (Caesar cipher adalah khusus dari affine cipher dengan m=1). Untuk melakukan deskripsi, persamaan (4) herus dipecahkan untuk memperoleh P. Solusi kekongruenan tersebut hanya ada jika inver m (mod n), dinyatakan dengan m -1. Jikam -1 ada maka dekripsi dilakukan dengan persamaan sebagai berikut: P ≡ m -1(C – b ) (mod n)(5) Gambaran Umum Sistem Hasil penelitian yang didapatkan adalah dapat diterapkan ilmu kriptografi dengan metode Affineuntuk menghasilkan pesan teks rahasia. Teks asli dapat di ubah menjadi teks yang disamarkan dengan suatu metode Affine, dan teks yang telah di enksripsi dapat dikembalikan kembali menjadi teks asli (plainteks). Tabel 1. Penginisialan Alfabet Huruf A-Z menjadi Angka 0 – 26 Huruf A B C … … X Y Z Angka 0 1 2 … … 23 24 25 Pengujian Plainteks Pengujian data plainteks digunakan agar teks asli dapat di enskripsi menjadi cipherteks. Contoh data plainteks untuk pengujian pertama dibutuhkan adalah sebagai berikut: Tabel 2. Teks Inputan Plainteks D A N I D I T A 3 0 13 8 3 8 19 0 Plainteks:
DANIDITA Ekivalen: 3 0 13 8 3 8 19 0 N = 26 K = Relatif Prima (1,3,5,7,9,11,15,17,19,21,23,25) Kunci pertama = 5 Kunci kedua= 7
Gambar 3. Proses Enskripsi affine cipher dengan mengambil m = 5 (karena 5 relatif prima dengan 26) dan b= 7. Karena alphabet yang digunakan 26 huruf, maka n = 26. Enkripsi plainteks dihitung dengan kekongruenan: C≡5P + 7 (mod 26)(6) Perhitungannya adalah sebagai berikut: P1= 3 –> c1 ≡ 5.3 + 7≡ 22 (mod 26) ≡ 22 = W P2= 0–> c2 ≡ 5.0 + 7≡ 7(mod 26) ≡ 7= H P3= 13 –> c3 ≡ 5.13 + 7 ≡ 72 (mod 26) ≡ 20 = U P4= 8–> c4 ≡ 5.8 + 7≡ 47 (mod 26) ≡ 21 = V
P5= 3–> c5 ≡ 5.3 + 7≡ 22 (mod 26) ≡ 22 = W P6= 8–> c6 ≡ 5.8 + 7≡ 47 (mod 26) ≡ 21 = V P7= 19 –> c7 ≡ 5.19 + 7 ≡ 102 (mod 26) ≡ 24 = Y P8= 0–> c8 ≡ 5.0 + 7≡ 7(mod 26) ≡ 7= H Maka menghasilkan Cipherteks sebagai berikut : W H U V W V Y H Pengujian Cipherteks Pengujian data cipherteks digunakan teks yang telah di enskripsi dapat dideskripsikan kembali menjadi plainteks. Contoh datacipherteks yang telah di enskripsi untuk pengujiansebelumnya adalah, sebagai berikut: Tabel 2. Teks Inputan Plainteks W H U V W V Y H 22 7 20 21 22 21 24 7
Cipherteks: WHUVWVYH Ekivalen: 22 7 20 21 22 21 24 7 N = 26 K = RelatifPrima (1,3,5,7,9,11,15,17,19,21,23,25) Kunci pertama = 5 Kunci kedua= 7
Gambar 4. Proses Deskripsi Untuk mengembalikan teks yang telah dienskripsi menjadi pesan rahasia dapat dilakukan pendekripsian, pertama-tama dapat dihitung 5-1 (mod 26), yang dapat dihitung dengan memecahkan kekongruenan lanjar. 5x ≡ 1 (mod 26)(7) Untuk deskripsi dengan hasil 1 maka solusinya adalah x =21(mod 26) dikarenakan 5.21 = 105 mod 26 menghasilkan = 1. P ≡ 21 (C – 7) (mod 26)(8) P1=22–> c1 ≡ 21.(22 – 7) ≡ 315(mod 26) ≡ 3 = D P2= 7 –> c2 ≡ 21.(7 – 7)≡ 0 (mod 26) ≡ 0 = A P3=20 –> c3 ≡ 21.(20 – 7) ≡ 273(mod 26)≡ 13 = N P4=21–> c4 ≡ 21.(21 – 7)≡ 294(mod 26) ≡ 8 = I P5=22–> c5 ≡ 21.(22 – 7) ≡ 315(mod 26)≡ 3 = D P6=21–> c6 ≡ 21.(21 – 7) ≡ 294 (mod 26) ≡ 8 = I P7=24–> c7 ≡ 21.(24 – 7) ≡357(mod 26) ≡ 19 = T P8=7–> c8 ≡ 21.(7 – 7)≡ 0 (mod 26) ≡ 0 = A Maka menghasilkan Plainteks sebagai berikut : D A N I D I T A http://hamdani.blog.ugm.ac.id/2011/07/07/kriptografi-untuk-text-message-menggunakanmetode-affine/s
6. Sandi Hill Hill cipher pertama kali dijelaskan oleh Lester Hill dalam sebuah makalah yang diterbitkan pada tahun 1931. Sementara cipher ini dapat bekerja pada blok surat dari setiap panjang, kami akan menjelaskan sebagai bekerja pada pasangan huruf, atau digraf. Pertama, kunci kami terdiri dari empat nomor-nomor yang kita sebut a, b, c, dan d. Angkaangka ini harus dipilih sehingga iklan kuantitas - bc relatif prima dengan panjang alfabet (26 dalam kasus kami, sehingga iklan - bc tidak bisa genap atau kelipatan 13). Untuk mengenkripsi sepasang surat, kita melihat setara numerik mereka seperti biasa. Misalkan angka-angka ini x dan y Dalam upaya untuk memecahkan sebuah sandi Hill, kegunaan dari analisis frekuensi menjadi makin kecil dengan ukuran blok meningkat huruf. Sebuah cipher Hill tidak sulit untuk diterapkan pada kelompok 6 atau lebih huruf. Sebuah kerugian yang besar, bagaimanapun, adalah bahwa hal itu sangat rentan terhadap apa yang disebut serangan plaintext yang dikenal. Jika bagian dari plaintext diketahui penyerang, maka menguraikan transformasi dapat disimpulkan hanya dengan menyelesaikan beberapa persamaan linier. Beberapa bantuan dapat diperoleh dengan menerapkan cipher Vigenere setelah enkripsi dengan cipher Hill, walaupun ada banyak cara yang lebih baik untuk meningkatkan keamanan. Hill Cipher merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptografi ini menggunakan sebuah matriks persegi sebagai kunci yang digunakan untuk melakukan enkripsi dan dekripsi. Hill Cipher diciptakan oleh Lester S. Hill pada tahun 1929 [2]. Teknik kriptografi ini diciptakan dengan maksud untuk dapat menciptakan cipher (kode) yang tidak dapat dipecahkan menggunakan teknik analisis frekuensi. Hill Cipher tidak mengganti setiap abjad yang sama pada plaintext dengan abjad lainnya yang sama pada ciphertext karena menggunakan perkalian matriks pada dasar enkripsi dan dekripsinya. Hill Cipher yang merupakan polyalphabetic cipher dapat dikategorikan sebagai block cipher [2] karena teks yang akan diproses akan dibagi menjadi blokblok dengan ukuran tertentu. Setiap karakter dalam satu blok akan saling mempengaruhi karakter lainnya dalam proses enkripsi dan dekripsinya, sehingga karakter yang sama tidak dipetakan menjadi karakter yang sama pula. Hill Cipher termasuk kepada algoritma kriptografi klasik yang sangat sulit dipecahkan oleh kriptanalis apabila dilakukan hanya dengan mengetahui berkas ciphertext saja. Namun,
teknik ini dapat dipecahkan dengan cukup mudah apabila kriptanalis memiliki berkas ciphertext dan potongan berkas plaintext. Teknik kriptanalisis ini disebut known-plaintext attack [1]. Dasar Teknik Hill Cipher Dasar dari teknik Hill Cipher adalah aritmatika modulo terhadap matriks. Dalam penerapannya, Hill Cipher menggunakan teknik perkalian matriks dan teknik invers terhadap matriks. Kunci pada Hill Cipher adalah matriks n x n dengan n merupakan ukuran blok. Matriks K yang menjadi kunci ini harus merupakan matriks yang invertible, yaitu memiliki inverse K-1 sehingga :
Kunci harus memiliki invers karena matriks K-1 tersebut adalah kunci yang digunakan untuk melakukan dekripsi. Teknik Enkripsi pada Hill Cipher Proses enkripsi pada Hill Cipher dilakukan per blok plaintext. Ukuran blok tersebut sama dengan ukuran matriks kunci. Sebelum membagi teks menjadi deretan blok-blok, plaintext terlebih dahulu dikonversi menjadi angka, masing-masing sehingga A=1, B=2, hingga Y=25. Z diberi nilai 0.
Tabel 1: Konversi Alfabet ke Angka dalam Hill Cipher Secara matematis, proses enkripsi pada Hill Cipher adalah: C = K . P (2) C = Ciphertext K = Kunci P = Plaintext
Jika terdapat plaintext P: P = STRIKE NOW Maka plaintext tersebut dikonversi menjadi: P = 19 20 18 9 11 5 14 15 23 Plaintext tersebut akan dienkripsi dengan teknik Hill Cipher, dengan kunci K yang merupakan matriks 2×2.
Karena matriks kunci K berukuran 2, maka plaintext dibagi menjadi blok yang masing-masing bloknya berukuran 2 karakter. Karena karakter terakhir tidak ada memiliki pasangan, maka diberi pasangan karakter yang sama yaitu W. P menjadi STRIKENOWW. Blok pertama dari plaintext P adalah :
Blok plaintext ini kemudian dienkripsi dengan kunci K melalui persamaan (2).
Hasil perhitungan menghasilkan angka yang tidak berkorespondensi dengan huruf-huruf, maka lakukan modulo 26 pada hasil tersebut. Sehingga, C1,2 menjadi:
Karakter yang berkorespondensi dengan 7 dan 20 adalah G dan T. maka S menjadi G dan T menjadi T. Setelah melakukan enkripsi semua blok pada plaintext P maka dihasilkan ciphertext C sebagai berikut:
P = STRIKENOW C = 7 20 14 11 7 11 4 21 19 11 C = GTNKGKDUSK Dari ciphertext yang dihasilkan terlihat bahwa Hill Cipher menghasilkan ciphertext yang tidak memiliki pola yang mirip dengan plaintextnya. Teknik Dekripsi pada Hill Cipher Proses dekripsi pada Hill Cipher pada dasarnya sama dengan proses enkripsinya. Namun matriks kunci harus dibalik (invers) terlebih dahulu. Secara matematis, proses dekripsi pada Hill Cipher dapat diturunkan dari persamaan (2).
Menjadi persamaan proses dekripsi:
Dengan menggunakan kunci
, maka proses dekripsi diawali dengan mencari invers dari matriks K. Mencari invers dapat dilakukan dengan menggunakan metode operasi baris (row operation) atau metode determinan [3]. Setelah melakukan perhitungan, didapat matriks K-1 yang merupakan invers dari matriks K, yaitu :
Kunci K-1 yang digunakan untuk melakukan dekripsi ini telah memenuhi persamaan (1) karena:
Ciphertext C = GTNKGKDUSK, akan didekripsi dengan menggunakan kunci dekripsi K-1 dengan persamaan (3). Proses dekripsi ini dilakukan blok per blok seperti pada proses enkripsi. Pertama-tama ubah huruf-huruf pada ciphertext menjadi urutan numerik. C = 7 20 14 11 7 11 4 21 19 11 Proses dekripsi dilakukan sebagai berikut:
dan blok kedua:
Setelah semua blok selesai didekripsi, maka didapatkan hasil plaintext: P = 19 20 18 9 11 5 14 15 23 P = STRIKENOW Teknik kriptanalisis terhadap hill cipher Kriptanalisis terhadap Hill Cipher sangat sulit jika dilakukan dengan ciphertext-only attack, terlebih apabila matriks kunci yang digunakan berukuran besar. Kesulitan ini disebabkan oleh ciphertext Hill Cipher yang tidak memiliki pola dan setiap karakter dalam satu blok saling mempengaruhi karakter lainnya. Teknik yang dapat digunakan untuk melakukan kriptanalisis terhadap Hill Cipher adalah knownplaintext attack. Jika kriptanalisis memiliki pecahan plaintext dan ciphertext yang
saling berkorespondensi, maka Hill Cipher dapat dipecahkan. Namun proses yang cukup sulit adalah untuk menentukan panjang kunci yang digunakan. Hal ini menjadi salah satu kekuatan yang dimiliki oleh Hill Cipher. Cara yang dapat dilakukan hanya dengan mencari tahu panjang kunci atau dengan melakukan perkiraan dan percobaan. Kemungkinan terburuk yang dimiliki oleh Hill Cipher adalah ketika seorang kriptanalis memiliki potongan plaintext dan ciphertext yang berkorespondensi serta mengetahui panjang kunci yang digunakan. Dengan informasi ini, kriptanalis dapat memecahkan Hill Cipher dengan sangat mudah. Misalkan kriptanalis mengetahui panjang kunci K adalah 2 dan memiliki potongan berkas plaintext P dan C sebagai berikut: P = STRI C = GTNKGKDUSK Dari informasi yang dimiliki, maka diketahui bahwa karakter ST pada plaintext berkorespondensi dengan karakter GT, dan karakter RI dengan NK. Pemecahan dapat dilakukan dengan persamaan linier Misalkan kunci direpresentasikan dengan:
Plaintext P dengan:
Ciphertext C dengan:
Dengan menerapkan persamaan (2) maka persamaan linier yang dapat dibentuk dari contoh adalah:
Dengan menyelesaikan persamaan (i) dan persamaan (ii) lalu persamaan (iii) dan persamaan (iv) memakai aritmatika modulo 26, maka nilai a, b, c, dan d didapat: a=5 b=6 c=2 d=3 Dengan nilai a, b, c, dan d maka kunci K didapatkan, yaitu:
terhadap
Dengan kunci K tersebut, kriptanalis hanya perlu melakukan dekripsi ciphertext keseluruhan untuk mendapatkan plaintext seutuhnya.
Berdasarkan pembahasan yang telah dilakukan diatas, maka kesimpulan yang dapat diambil adalah: 1. Hill Cipher adalah algoritma kriptografi klasik yang sangat kuat dilihat dari segi keamanannya. 2. Matriks kunci Hill Cipher harus merupakan matriks yang invertible. Semakin besar suatu matriks kunci maka semakin kuat juga segi keamanannya. 3. Hill Cipher kuat dalam menghadapi ciphertext-only attack namun lemah jika diserang dengan knownplaintext attack. http://ciiekaajn.wordpress.com/2011/03/25/98/
7. Sandi One Time Pad Dalam dunia kriptografi dikenal sebuah metode penyandian yang sangat kuat sehingga tidak mudah dipecahkan, yaitu metode penyandian One Time Pad (OTP). Metode penyandian OTP pertama kali diperkenalkan oleh Gilbert Vernam dalam perang dunia pertama. Metode penyandian OTP merupakan salah satu variasi dari metode penyandian substitusi dengan cara memberikan syarat-syarat khusus terhadap kunci yang digunakan yaitu terbuat dari karakter / huruf yang acak (kunci acak atau pad), dan pengacakannya tidak menggunakan rumus tertentu. Jika kunci tersebut benar-benar acak, digunakan hanya sekali, serta terjaga kerahasiannya dengan baik, maka metode penyandian OTP ini sangat kuat dan tidak dapat dipecahkan. Dalam kriptografi klasik, yaitu kriptografi jaman dulu yang dikenal dengan sebutan kriptografi kertas dan pensil, teks sandi dari metode penyandian OTP ini diperoleh dengan menjumlahkan / mengurangkan teks aslinya terhadap kunci. Penggunaan kunci ini hanya dan harus hanya sekali pakai. Sedangkan untuk mendapatkan kembali teks aslinya dilakukan pengurangan / penjumlahan teks sandi terhadap kunci tersebut, sebagai kebalikan dari proses menyandi. Untuk memudahkan dalam operasionalnya huruf-huruf diterjemahkan dahulu kedalam angka 1 sampai 26 dengan A = 1; B = 2; dst sampai Z = 26. Dan dalam perhitungan aljabarnya berupa bilangan modulus 26. Untuk memudahkan pemahaman, bisa diperhatikan contoh berikut : Kunci acak : FGHJV EQOIK FSJFJ MSGYQ
KVLIH HYGFB HOSHZ KWNAY
POKNH BESAG VMHBK BLQML OPUTT EXDFJ MIKNY GQDXS MIUYW UIOVC FDWUM KJLOK BTYVG KJABH SVQCG NBCVG VBQNZ BXCMS GDUFO GWZMF IPMSA BNAPD QWMOC PAJSB ZHALU
Pesan yang akan disandi : DUNIA TELAH SEMAKIN DATAR MAKA BELILAH TV LAYAR DATAR Algoritma : Teks sandi = Teks asli + Kunci
Proses : Penjumlahan ini dengan bilangan modulus 26 K : F= 6 G= 7 H= 8 J=10 V=22 K=11 V=22 L=12 I= 9 H= 8 P=16 O=15 K=11 TA : D= 4 U=21 N=14 I= 9 A= 1 T=21 E= 5 L=12 A= 1 H= 8 S=19 E= 5 M=13 TS : J=10 B= 2 V=22 S=19 W=23 F= 6 B= 2 X=24 J=10 P=16 I= 9 T=20 X=24 DST K : N H B E S A G V M H B K B L Q M L O P U T T E X D F J M I K N Y TA : A K I N D A T A R M A K A B E L I L A H T V L A Y A R D A T A R TS : O S K S W B A W E U C V C N V Y U A Q C N P Q Y C G B Q J E O Q Teks sandi hasil penyandian : JBVSW FBXJP ITXOS KSWBA WEUCV CNVYU AQCNP QYCGB QJEOQ Metode penyandian OTP ini kekuatannya bertumpu pada keacakan kuncinya, sehingga kunci yang digunakan untuk proses penyandian tersebut harus dilindungi dengan baik.
8. Sandirotor kriptografi klasik adalah kriptografi yang sangat sederhana dan hanya menggunakan kombinasi 26 alphabet.Di dalam kriptografi klasik, ini terdapat beberapa jenis kriptografi yang kemudian dijadikan sumber inspirasi untuk oleh para perancang algoritma kripto. Diantaranya:
Kripto Substitusi : pada penyandian ini, setiap huruf dalam teks terang akan tepat berkorespondensi satu satu dengan teks sandinya. Kripto Transposisi: teknik penyandian diaman huruf-huruf dalam teks terang hanya dimanipulasi letak posisinya (transpose) untuk menjadi teks sandi.
Sistem RSA dan DES : Kedua sistem inilah yang kemudian menginspirasi munculnya algoritma algoritma moderen yang saat ini banyak digunakan dalam sistem komputer dan sistem jaringan komputer, sebagai sistem keamanannya. Sistem One Time Pad (OTP) : sistem yang juga dikenal sebagai One Time Key (OTK) dan diakui sebagai sistem kripto yang ideal, yaitu sistem yang paling kuat diantara sistem sistem sandi yang ada, dari awal mula kripto dikenal dan dipakai, sampai saat ini. Sistem ini dijadikan panutan bagi sistem enkripsi yang ada. Rotor Machine : sebuah mesin sandi kuno yang pada mulanya dipakai oleh para praktisi kriptografi
Di dalam kriptografi, juga dikenal istilah Kriptoanalisis dan juga kriptosystem. Kriptoanalisis adalah suatu kegiatan yang ditujukan untuk untuk mengetahui isi pesan yang ditransmisikan oleh pengirim dan juga penerima sebagai pemilik yang sah atas berita tersebut.