Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 STUDI MODEL KRIPTOGRAFI KLASIK (Review) I. Fitriasih*, T. B. Prayitno, S. Sidopekso Kelompok Fisika Teoretik, Departemen Fisika, FMIPA, Universitas Negeri Jakarta Jl. Pemuda No.10 Rawamangun Jakarta 13220 Telp : (62-21) 4894909, Fax : (62-21) 4894909 E-mail : *[email protected] ABSTRAK Kriptografi merupakan suatu ilmu yang mempelajari cara mengamankan data atau pesan yang akan dikirim ke penerima sehingga data atau pesan menjadi aman dan tidak diketahui oleh pihak ketiga. Data atau pesan yang akan dikirim diubah menjadi kode-kode yang tidak dipahami oleh pihak ketiga. pengirim pesan melakukan enkripsi hingga menjadi pesan yang tidak dikenali, sedangkan penerima pesan melakukan dekripsi. Proses enkripsi dan dekripsi menggunakan kunci. Untuk memahami kriptografi, diperkenalkan kriptografi klasik terlebih dahulu. Pada makalah ini telah dikaji ulang materi kriptografi klasik yang terdiri dari beberapa model, yaitu Caesar Cipher, Vigenere Cipher, Hill Cipher, serta Alice dan Bob. Cara yang digunakan tiap model berbeda-beda. Caesar Cipher menggunakan roda yang diputar dengan pergeseran atau kunci sesuai dengan keinginan pengirim pesan, Vigenere Chiper manggunakan bujur sangkar Vigenere, Hill Cipher dengan memetakan alfabet ke lebih dari satu macam karakter, serta perumpamaan Alice dan Bob sebagai pengirim dan penerima yang menggunakan algoritma simetri dan algoritma asimetri. Tiap model memiliki kelemahan yang membuat data atau pesan dapat diketahui oleh pihak ketiga. Kata Kunci: kriptografi, Caesar Chiper, Vigenere Chiper, Hill Chiper, Alice dan Bob. 1. Pendahuluan Kriptografi merupakan suatu ilmu yang mempelajari cara mengamankan data atau pesan yang akan dikirim ke penerima sehingga data atau pesan menjadi aman dan tidak diketahui oleh pihak ketiga. Data atau pesan yang akan dikirim diubah menjadi kode-kode yang tidak dipahami oleh pihak ketiga. Setiap orang pasti melakukan komunikasi dengan orang lain karena manusia merupakan makhluk sosial yang tidak dapat hidup tanpa orang lain. Begitu banyak data atau pesan yang ada dalam komunikasi itu. terkadang setiap orang tidak ingin apa yang disampaikannya diketahui orang lain yang disebut pihak ketiga, sehingga informasi atau pesan yang ia sampaikan menjadi rahasia antara dirinya sendiri dengan orang lain yang dikehendakinya. Oleh karena itu kriptografi dapat membantu mengamankan data atau pesan yang ingin disampaikan tanpa dimengerti oleh pihak ketiga. Kriptografi membuat data atau pesan menjadi kode-kode terlebih dahulu oleh pengirim. Proses ini dikenal dengan enkripsi. Enkripsi diartikan sebagai proses diubahnya data atau pesan yang hendak dikirim menjadi bentuk yang hampir tidak dikenali oleh pihak ketiga. Setelah data atau pesan itu sampai kepada penerima, maka penerima melakukan dekripsi yang merupakan kebalikan dari enkripsi. Dekripsi diatrikan sebagai proses mengubah data atau pesan kembali kebentuk semula sehingga data atau pesan dapat tersampaikan dan dimengerti oleh penerima. Proses enkripsi dan dekripsi memerlukan kunci dalam mekanismenya. Untuk memudahkan pemahanan mengenai kriptografi, diperkenalkan terlebih dahulu kriptografi klasik. Kriptografi klasik memiliki beberapa model yang akan dibahas. Data atau pesan yang telah dienkripsikan memiliki kemungkinan diketahui oleh pihak ketiga. Oleh karena itu, penggunaan kunci harus hati-hati sehingga saat dekripsi data atau pesan, pihak ketiga membutuhkan waktu yang cukup lama hingga membuat pihak ketiga merasa kelelahan bahkan menghentikan pemecahan data atau pesan yang dienkripsikan. 2. Teori A. Operasi Modulo Operasi modulo dapat didefinisikan: Misalkan a, b, c adalah bilangan bulat dengan c > 0. Ditulis a ≡ b mod c , penggunaannya yaitu dengan a dibagi c dan memiliki sisa b, sehingga c dikenal sebagai pembagi dan b adalah sisa. Contohnya: 30 ≡ 4 mod 26 (30/26 dengan sisa 4). B. Matriks Matriks adalah sekumpulan bilangan yang disusun dengan cara baris dan kolom membentuk pola persegi panjang dan ditempatkan didalam 6 Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 ⎛a ⎜ kurung. Matriks berordo 3x3, A = ⎜ b ⎜c ⎝ a A=b d e maka determinan matriks A g⎞ ⎟ h⎟ f i ⎟⎠ ga d h b e = (aei + dhc + gbf ) − ( gec + ahf + dbi ) c f i c d e adalah f Invers dari matriks A adalah: ⎛ + (ei − hf ) − (bi − hc ) + (bf − ec ) ⎞ ⎟ ⎜ 1 T A = C dengan C = ⎜ − (di − gf ) + (ai − gc ) − (af − dc )⎟ det A ⎜ + (dh − ge ) − (ah − gb ) + (ae − db )⎟ ⎠ ⎝ −1 A. Caesar Cipher C. Model Kriptografi Kriptografi memiliki beberapa model yaitu Caesar Cipher, Vigenere Cipher, Hill Cipher, dan Alice and Bob. Caesar Cipher menggunakan roda yang berputar dalam enkripsi dan dekripsi data atau pesannya. Roda yang digunakan memiliki dua lingkaran, lingkaran roda paling luar dapat diputar bebas. Vigenere Cipher merupakan metode enkripsi dengan menggunakan deret Caesar Cipher dengan huruf-huruf sebagai kuncinya. Kelebihan model ini tidak begitu rentan dengan metode pemecahan dibandingkan dengan Caesar Cipher. Vigenere Cipher menggunakan bujur sangkar Vigenere dalam proses enkripsi dan dekripsinya. Hill Cipher merupakan salah satu kriptografi polialfabetik. Ide dari Hill Cipher adalah menggunakan n kombinasi linear dari n karakter alfabet dalam suatu elemen teks asli sehingga dihasilkan n alfabet karakter dalam satu elemen teks asli, n merupakan bilangan bulat positif [1]. Alice and Bob menggunakan bilangan biner untuk huruf kapital dalam ASCII (American Standard Code for Information Interchange). Caesar Cipher menggunakan roda yang berputar dalam enkripsi dan dekripsinya. Roda yang digunakan memiliki dua lingkaran, lingkaran roda yang paling luar dapat diputar bebas. Gambar 1. Roda Caesar Cipher [2]. Tiap huruf alfabet digeser 5 huruf ke kanan 3. Hasil dan Pembahasan P : 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 C : 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 E C ontoh: P :SEMINAR NASIONAL FISIKA C dapat ditulis dalam pengelompokan atau C :XJRNSFW SFXNTSFQ KNXNPF menghilangkan spasi agar kriptanalis merasa kesulitan seperti contoh di bawah ini: XJRNS FWSFX NTSFQ KNXNP F XJRNSFWSFXNTSFQKNXNPF 7 Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 Misalkan A = 0, B = 1, ... , Z = 25, maka caesar cipher dirumuskan sebagai berikut: Enkripsi: C = E P = P + 5 mod 26 Dekripsi: ( ) ( ) P = D(C ) = (C − 5) mod 26 J ika pergeseran huruf sebanyak x, maka dapat dijadikan dalam persamaan (1) dan (2): C = E (P ) = (P + x ) mod 26 P = D(C ) = (C − x ) mod 26 (1) (2) dengan C adalah ciphertext, P adalah plaintext, x adalah kunci rahasia, E(P) adalah enkripsi, dan D(C) adalah dekripsi. Untuk lebih menyulitkan kriptanalis dapat digunakan perkalian dengan n, n adalah bilangan ganjil pada plaintext. Ini dijelaskan pada persamaan (3) dan (4): C = E (P ) = ((n * P ) + x ) mod 26 P = D(C ) = ((C − x ) / n ) mod 26 (4) dengan n = 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25 [2]. Tidak berlaku dengan n adalah bilangan negatif, karena akan menghasilkan huruf yang sama dalam enkripsi. Kelemahan dari Caesar Cipher adalah dapat dipecahkan dengan cara brute force attack, suatu bentuk serangan yang dilakukan dengan mencoba-coba berbagai kemungkinan untuk menemukan kunci. Bisa juga menggunakan exhaustive key search, karena jumlah kunci sangat sedikit (hanya ada 26 kunci) [1]. B. Vigenere Cipher Vigenere Cipher menggunakan bujur sangkar Vigenere dalam proses enkripsi dan dekripsinya. (3) Gambar 2. Bujur sangkar Vigenere [2]. Contoh: D. Hill Cipher P :S EM I NAR Kunci :L I P I L I P C :DMBQY IG Kelebihan dari Vigenere Cipher adalah kriptanalis merasa sulit karena huruf yang sama dalam C belum tentu huruf yang sama dalam P. Kelemahan dari Vigenere Cipher adalah bila kunci ditemukan maka C akan terpecahkan karena penggunaannya berulang-ulang [1]. Ide dari Hill Cipher adalah menggunakan n kombinasi linear dari n karakter alfabet dalam suatu elemen teks asli sehingga dihasilkan n alfabet karakter dalam satu elemen teks asli. n merupakan bilangan bulat positif [1]. Misalnya: n = 3, sehingga dapat ditulis: x = ( x1 , x 2 , x3 ) adalah suatu elemen teks asli, y = ( y1 , y 2 , y 3 ) adalah suatu elemen teks kode dengan y1, y2, dan y3 adalah kombinasi linear dari 8 Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 ⎛a ⎜ ( y1 , y 2 , y3 ) = (x1 , x2 , x3 )⎜ b ⎜c ⎝ x1 , x2, dan x3. y1 = ax1 + bx 2 + cx3 Diketahui: y 2 = dx1 + ex 2 + fx3 d e f g⎞ ⎟ h⎟ i ⎟⎠ y3 = gx1 + hx2 + ix3 Ditulis dalam bentuk matriks: menghasilkan persamaan di bawah ini: Proses Enkripsi Menggunakan matriks Anxn sebagai kunci dan x = ( x1,..., x n ) ; y = ( y1 ,..., y n ) ; A = (Aij ) ⎛ A1,1 ⎜ A ( y1 ,..., y n ) = x = (x1 ,..., xn )⎜⎜ 2,1 M ⎜ ⎜A ⎝ n ,1 y = xA Proses Dekripsi Untuk proses ini digunakan persamaan: x = yA −1 (6) Contoh: M An , 2 (5) ⎛1 2 3 ⎞ ⎜ ⎟ (8,10,0)⎜1 3 3 ⎟ = (18,20,2) mod 26 = SUC ⎜1 2 4 ⎟ ⎝ ⎠ y 2 = 2 x1 + 3 x 2 + 2 x3 y3 = 3x1 + 3x 2 + 4 x3 ⎛1 2 3 ⎞ ⎜ ⎟ A = ⎜1 3 3 ⎟ ⎜1 2 4 ⎟ ⎝ ⎠ ⎛ 6 24 23 ⎞ ⎜ ⎟ A = ⎜ 25 1 0 ⎟ ⎜ 25 0 1 ⎟ ⎝ ⎠ −1 Enkripsi: A2, 2 A1,n ⎞ ⎟ L A2,n ⎟ O M ⎟ ⎟ L An ,n ⎟⎠ L Jadi, FISIKA Æ FSHSUC Æ 5 18 7 18 20 2 y1 = x1 + x 2 + x3 ; ; A1, 2 FISIKA Æ FIS = (5,8,18) ; IKA = (8,10,0) ⎛1 2 3 ⎞ ⎜ ⎟ (5,8,18)⎜1 3 3 ⎟ = (5,18,7 ) mod 26 = FSH ⎜1 2 4 ⎟ ⎝ ⎠ Dekripsi: FSHSUC Æ FSH = (5,18,7 ) ; SUC = (18,20,2) ⎛ 6 24 23 ⎞ ⎜ ⎟ (5,18,7 )⎜ 25 1 0 ⎟ = (5,8,18) mod 26 = FIS ⎜ 25 0 1 ⎟ ⎝ ⎠ ⎛ 6 24 23 ⎞ ⎜ ⎟ (18,20,2)⎜ 25 1 0 ⎟ = (8,10,0) mod 26 = IKA ⎜ 25 0 1 ⎟ ⎝ ⎠ Jadi, FSHSUC Æ FISIKA Æ 5 8 18 8 10 0 Dekripsi dilakukan jika matriks memiliki invers yaitu yang memiliki determinan tidak nol. Kelemahan dari Hill cipher ini dengan serangan known plaintext attack dimana penyerang mendapatkan sandi dan mendapatkan pesan asli [3]. 9 Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 E. Alice and Bob Alice and Bob menggunakan bilangan biner untuk huruf kapital dalam ASCII (American Standard Code for Information Interchange). Tabel 1. Bilangan biner untuk huruf kapital (ASCII) [4]. Contoh: P : FISIKA ASCII : 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 0 1 F Kunci S I K A :101001010001011010000100111110100101010100 R C I E P O R T :001010000011000000011000011000110010010101 Jika angka dalam P dan kunci bernilai sama, maka C bernilai 0. Sebaliknya jika angka dalam P dan kunci bernilai tidak sama, maka C bernilai 1. Kelemahan dari Alice and Bob adalah dengan mencoba-coba segala kemungkinan pengelompokkan angka. mendapatkan sandi dan mendapatkan pesan asli [3]. Selain itu, model Alice and Bob yang menggunakan bilangan biner untuk huruf kapital dalam ASCII juga dapat dipecahkan dengan mencoba-coba segala kemungkinan pengelompokkan angka. Beberapa referensi yang bermanfaat dapat juga dibaca pada [46]. 4. Kesimpulan Telah dikaji empat model dari kriptografi klasik yaitu Caesar Cipher dengan menggunakan roda perputar yang dapat dipecahkan dengan cara brute force attack dan menggunakan exhaustive key search, karena jumlah kunci sangat sedikit (hanya ada 26 kunci) [1]. Vigenere Cipher dengan menggunakan bujur sangkar Vigenere yang memiliki kelemahan bila kunci ditemukan maka C akan terpecahkan karena penggunaannya berulangulang [1]. Hill Cipher menggunakan n kombinasi linear dari n karakter alfabet dalam suatu elemen teks asli sehingga dihasilkan n alfabet karakter dalam satu elemen teks asli dan n merupakan bilangan bulat positif [1] yang diubah menjadi bentuk matriks dan memiliki kelemahan dengan serangan known plaintext attack dimana penyerang UCAPAN TERIMA KASIH Ucapan terima kasih kepada dosen Universitas Negeri Jakarta dan teman-teman atas bimbingan dan dukungannya dari awal sampai akhir pembuatan makalah ini. Makalah ini telah dipresentasikan pada Seminar Nasional Fisika 2011 di Pusat Penelitian Fisika-LIPI, serpong 12-13 Juli 2011. DAFTAR PUSTAKA [1] Arius, Doni. Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi. Yogyakarta: Andi Offset, 2008. hlm 43. Piper, Fread dan Sean Murphy. Chryptography: A Very Short 10 Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 [2] [3] [4] [4] [5] [6] Introduction. New York: Oxford University Press, 2002. Nugraha, Ivan. ”Studi Analisis Mengenai Aplikasi Matriks dalam Kriptografi Hill Cipher.” Jurnal Prog.Studi Teknik Informatika ITB, IF2153-0708-063, Bandung: Juli 2008. hlm.4. Singh, Simon. The Code Book: How To Make It, Brek It, Hack It, Crack It. New York: Delacorte Press Random <View> Books, 2002. hlm.184. Budiasa, R.M. “Analisis Kriptografi dalam Penentuan Cipherteks Kode ASCII melalui Metode Aljabar Boolean”, Makalah IF3058 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB, IF3058_2010_062, Bandung: 2010. hlm.3. Helmut, H.D. Introduction to Cryptography Principles and Applications Second Edition. New York: Springer, 2007. Molin, R.A. RSA and public-key cryptography. New York: Chapman & Hall/CRC, 2003. Paar, Christof dan Jan Pelzl. Understanding Cryptography: A Textbook for Students and Practitioners. New York: Springer, 2010. 11