Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
ISSN : 2503-2844
PENERAPAN ALGORITMA HILL CHIPER DALAM PENGAMANAN DATA DENGAN TEKNIK ENKRIPSI DAN DEKRIPSI Johni S Pasaribu Teknik Informatika Politeknik Piksi Ganesha Jl. Gatot Subroto no. 301 Bandung
[email protected]
Abstrak Pengamanan data menjadi salah satu tantangan terbesar dari dunia dijital. Keamanan, kerahasiaan dan integritas data diperlukan dalam setiap operasi yang ada di Internet. Pada waktu transmisi setiap informasi rahasia melewati jaringan, ada pemakai asing yang mengambil atau mengubah data. Untuk menghindari penyusup ini, pengamanan data diperlukan. Karena keamanan data diperlukan untuk proteksi data dari pemakai asing dan upaya-upaya yang merusak data, maka beberapa teknik keamanan data diperlukan. Enkripsi adalah satu teknik yang digunakan untuk melindungi basis data dari akses yang tidak berhak dan tindakan-tindakan yang tidak diinginkan dari pengguna-pengguna luar. Enkripsi digunakan untuk melindungi informasi rahasia dari pengguna yang tidak berhak dimana eknkripsi mengubah data dalam bentuk yang hanya dapat dipahami oleh penerima sah dan yang mengetahui dekripsi untuk mendapatkan data atau informasi yang asli. Berbagai teknik diimplementasikan untuk menjamin keamanan data. Dalam makalah ini, fokusnya adalah pada Keamanan Basis Data (Database Security), dimana database (basis data) adalah sebagai tempat penyimpanan data. Umumnya data perusahaan atau organisasi disimpan dalam basis data (database) dan menjadi sangat penting bagi perusahaan atau organisasi itu. Pada saat ini banyak organisasi mengizinkan pelanggan mereka dapat menggunakan servis yang diberikan (online banking/transaksi perbankan via internet, online shopping/belanja via internet, dan sebagainya) dengan mengakses tempat basis data (database) mereka. Hal ini mengakibatkan perlunya keamanan tingkat tinggi dalam menghadapi penyerang informasi. Penyerang informasi mencoba
memperoleh atau mengubah data rahasia secara ilegal suatu organisasi atau perusahaan. Pada makalah ini, suatu teknik baru menggunakan Algoritma Enkripsi Hill Chiper diusulkan untuk menjamin keamanan bagian data pada basis data (database) yang diimplementasikan untuk memperkuat dan melindungi basis data tersebut. Keamanan data menjadi satu tantangan terpenting dalam riset basis data (database). Banyak riset yang terus dilakukan dalam membangun teknik-teknik baru dalam melindungi baris-baris basis data (database records). Kata kunci : Keamanan data, enkripsi, dekripsi, Hill Chiper
Abstract Data security has become one of the major challenges of the digital world. Security, privacy and integrity of data are required in every operation that is performed on the Internet. While transmitting any confidential information across network, some unauthorized user tend to steal or corrupt the data. To prevent this interruption, security of data is needed. As data security is needed for protecting data from unauthorized users and destructive forces, some security techniques are used. Encryption is one such technique which is used to protect the database from unauthorized accesses and unwanted actions of external clients. It is used to secure the confidential information from unauthorized user by converting the data in to that format that is only understandable by the authorized receiver that knows the respective decryption to obtain the original data or information. Various techniques have been implemented to ensure the security of data. Therefore, in this paper, our focus will be on Database Security, as databases are considered as 91
Johni S Pasaribu Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016 the storehouses of data. Generally, data of an organization or a company is stored in databases and is very crucial to the organization. Today, most of the organizations allow their clients to use their services (online banking, online shopping etc) by accessing their databases. This leads to a requirement of high level security to deal with information attackers. An information attacker tries to illegally acquire or modify the highly confidential data of the organization. In this paper, a new technique is being proposed for securing the database data items using Hill Chiper Encryption Algorithm which is being implemented in fortifying and strengthening the database. Database Security has become one of the most important challenges in database research. A lot of research is going on in building of new techniques for protecting database records. Keywords : Data security, Encryption, Decryption, Hill Chiper
I. PENDAHULUAN Artikel ini dibuat dengan mengacu pada template standar IEEE. Keamanan dan kerahasiaan data merupakan salah satu aspek yang sangat penting dalam sistem informasi pada saat ini. Karena pesatnya perkembangan ilmu pengetahuan dan teknologi memungkinkan munculnya teknik-teknik baru yang dapat mengancam keamanan dari sistem informasi tersebut. Jatuhnya informasi ke tangan pihak lain dapat menimbulkan kerugian bagi pemilik informasi. Secara umum data dikategorikan menjadi dua, yaitu data yang bersifat rahasia dan data yang tidak bersifat rahasia. Data yang tidak bersifat rahasia biasanya tidak akan terlalu diperhatikan. Yang sangat diperhatikan adalah data yang bersifat rahasia, dimana setiap informasi yang ada di dalamnya akan sangat berharga bagi pihak yang membutuhkan karena data tersebut dapat dengan mudah digandakan. Untuk mendapatkan informasi di dalamnya, biasanya dilakukan berbagai cara yang tidak sah.Data dapat berupa sebuah file dan berbentuk string. Karena itu muncul suatu gagasan yang mengacu pada permasalahan tersebut yaitu membuat suatu sistem keamanan yang dapat melindungi data yang dianggap penting dengan cara penyandian data, serta membuat kunci rahasia untuk dapat membuka
ISSN : 2527-5488
data tersebut yang sulit untuk dideteksi oleh pihak yang tidak berhak. Banyak teknik kriptografi yang telah dipergunakan untuk menjaga keamanan data saat ini, contohnya seperti LOKI, GOST, Blowfish, Vigenere, MD2, MD4, RSA dan lain sebagainya. Masingmasing teknik kriptografi tersebut memiliki kelemahan dan kelebihan. Selain teknik kriptografi yang telah disebutkan di atas masih ada teknik kriptografi lainnya, dimana di sini penulis mencoba membahas mengenai teknik kriptogarafi Hill Cipher. Hill Cipher termasuk kepada algoritma kriptografi klasik yang sangat sulit dipecahkan oleh kriptanalis apabila dilakukan hanya dengan mengetahui berkas ciphertext saja. Karena Hill Cipher tidak mengganti setiap abjad yang sama pada plaintext dengan abjad lainnya yang sama pada ciphertext karena menggunakan perkalian matriks berukuran m x m sebagai kunci untuk melakukan enkripsi dan dekripsi. Dasar teori matriks yang digunakan dalam Hill Cipher antara lain adalah perkalian antar matriks dan melakukan invers pada matriks.
II. LANDASAN TEORI II.1
Kriptografi
Sitasi / rujukan yang digunakan adalah format APA Fifth Edition seperti contoh (Fruhling & Lee, 2005). Kriptografi berasal dari Bahasa Yunani: “cryptós” artinya rahasia, sedangkan “gráphein” artinya tulisan. Jadi, secara morfologi kriptografi berarti tulisan rahasia. Definisi yang dipakai dalam makalah ini: Kriptografi adalah ilmu dan seni yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta autentifikasi (Munir, 2006). Kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. II.1.1 Prinsip Kerja Kriptografi Pembakuan penulisan pada kriptografi dapat ditulis dalam bahasa matematika. Fungsi-fungsi yang mendasar dalam kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah proses mengubah suatu pesan asli (plaintext) menjadi suatu pesan dalam
92 Johni S Pasaribu Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016 bahasa sandi (ciphertext). Enkripsi merupakan bagian dari kriptografi, dan merupakan hal yang sangat penting supaya keamanan data yang dikirimkan bisa terjaga kerahasiaannya. Enkripsi bisa diartikan dengan chiper atau kode, dimana pesan asli (plaintext) diubah menjadi kode-kode tersendiri sesuai metode yang disepakati oleh kedua belah pihak, baik pihak pengirim pesan maupun penerima pesan. C = E (M) dimana C = pesan dalam bahasa sandi (ciphertext), E = proses enkripsi dan M = pesan asli (plaintext). Gambar 1 berikut menjelaskan baik proses enkripsi maupn proses dekripsi.
Gambar 1. Proses Enkripsi dan Dekripsi
Sedangkan dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi (ciphertext) menjadi pesan asli (plaintext) kembali. Dekripsi merupakan proses sebaliknya dari enkripsi yaitu mengembalikan sandi-sandi atau informasi yang telah dilacak ke bentuk file aslinya dengan menggunakan kunci atau kode. M = D (C) dimana M = pesan asli (plaintext), D = proses dekripsi dan C = pesan dalam bahasa sandi (ciphertext). Umumnya, selain menggunakan fungsi tertentu dalam melakukan enkripsi dan dekripsi, seringkali fungsi itu diberi parameter tambahan yang disebut dengan istilah kunci. II.2
Algoritma Kriptografi
Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan dechipering atau fungsi yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan dechipering. Keamanan algoritma kriptografi sering diukur dari banyaknya kerja yang dibutuhkan untuk memecahkan chiperteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Apabila semakin banyak proses yang diperlukan berarti juga semakin lama waktu yang dibutuhkan, maka semakin kuat algoritma tesebut dan semakin aman digunakan untuk menyandikan pesan. Dalam kriptografi terdapat dua macam algoritma kriptografi berdasarkan kuncinya,
ISSN : 2527-5488
yaitu: algoritma simetris, algoritma asimetris dan fungsi Hash (Scheneier, 1996). II.3 Algoritma Hill Cipher 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 (Forouzan, 2006). 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 (Forouzan, 2006) karena teks yang akan diproses akan dibagi menjadi blok-blok 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 (Munir, 2006). II.4 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. Jika matriks kunci kita sebut dengan K, maka matriks K adalah sebagai berikut : 𝐾
𝐾
… … 𝐾1𝑛
12 K =( 𝐾11 𝐾22 … 21 … … …
… 𝐾2𝑛 … … 𝐾𝑛1 𝐾𝑛2 … … 𝐾𝑛𝑛
)
Matriks K yang menjadi kunci ini harus merupakan matriks yang invertible, yaitu memiliki multiplicative inverse K-1 sehingga :
93 Johni S Pasaribu Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016 K . K-1 = 1 … [1] Kunci harus memiliki invers karena matriks K-1 tersebut adalah kunci yang digunakan untuk melakukan dekripsi.
III. ANALISIS PENERAPAN ALGORITMA HILL CIPHER III.1 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=0, B=1, hingga Z=25, seperti pada gambar 4 berikut ini.
ISSN : 2527-5488
bloknya berukuran 2 karakter. Blok pertama dari plainteks P adalah : P1,2 = (
18 𝑆 ) = ( ) 20 𝑈
Blok plainteks ini kemudian dienkripsi dengan kunci K melalui persamaan (2) dan menghasilkan angka yang tidak berkorespondensi dengan hurufhuruf, sehingga dilakukan modulo 26 pada hasil tersebut. C1,2 = (
3 5
7 18 194 12 )( ) = ( )(mod 26) = ( ) 12 20 330 18 𝑀 =( ) 𝑆
Karakter yang berkorespondensi dengan 12 dan 18 adalah M dan S. Maka karakter SU pada plainteks berubah menjadi karakter MS pada ciphertext. Pada contoh karakter ketiga dan keempat, hasil perhitungan menghasilkan angka yang tidak berkorespondensi dengan huruf-huruf, maka lakukan modulo 26 pada hasil tersebut. C3,4 = (
Gambar 4. Penomoran abjad Secara matematis, proses enkripsi pada Hill Cipher adalah: … [2] C = K. P dimana C = Ciphertext, K = Kunci, P= Plaintext. Pada gambar 5, diberikan bagian-bagian basis data yang akan dienkripsi yaitu:
Gambar 5. Bagian dari Basis Data (Database) Jika terdapat plainteks P: P=SUPRIADI DANI Maka plainteks tersebut dikonversi menjadi: P = 18 20 15 17 8 0 3 8 3 0 13 8 Plainteks tersebut akan dienkripsi dengan teknik hill cipher, dengan kunci K yang merupakan matriks 2x2. K=(
3 5
7 ) 12
Karena matriks kunci K berukuran 2, maka plainteks dibagi menjadi blok yang masing-masing
3 5
7 15 164 8 )( ) = ( )(mod 26) = ( ) 12 17 279 19 𝐼 =( ) 𝑇
Maka karakter yang berkorespondensi dengan 8 dan 19 adalah X dan K. Setelah melakukan enkripsi semua record pada plainteks P maka dihasilkan ciphertext C sebagai berikut: P=SUPRIADI DANI C=MSITYONH JPRF Demikian pula untuk record lainnya pada database tersebut: P=ABDUL SUKUR C=HMTVD LAMXE P=ASEP DIAN C=WINS NHNA P=TINA TAL I SA C=JJNN FRLVCM Dari ciphertext yang dihasilkan terlihat hill cipher menghasilkan ciphertext yang tidak memiliki pola yang mirip dengan plaintextnya. III.2 Teknik Dekripsi pada Hill Cipher Proses dekripsi pada hill cipher pada dasarnya sama dengan proses enkripsinya. Namun matriks kunci harus dibalik (invers) dahulu. Secara matematis, proses dekripsi pada hill cipher dapat diturunkan dari persamaan (2), menjadi persamaan proses dekripsi:
94 Johni S Pasaribu Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016 C=K.P K-1. C = K-1. K . P K-1. C = 1 . P P = K-1. C
… [3]
3 7 ), 5 12 proses dekripsi diawali dengan menghitung dari matriks K. Tinjaulah matriks 2 x 2, K 𝑏 ) jika ad-bc ≠ 0, maka: K-1 𝑑
Dengan menggunakan kunci K = ( maka invers 𝑎 =( 𝑐 =
1 𝑎𝑑−𝑏𝑐
𝑑
(
𝑑 −𝑐
−𝑏 )= 𝑎
−𝑏
(𝑎𝑑−𝑏𝑐 −𝑐 𝑎𝑑−𝑏𝑐
𝑎𝑑−𝑏𝑐 𝑎 )
. Determinan
𝑎𝑑−𝑏𝑐
3 7 ) adalah = 3×12-7×5 = 1 (mod 26) = 1. 5 12 3 7 Jadi matriks invers dari kunci K = ( ) adalah 5 12 dari (
3 7 −1 12 K-1 = ( ) =( 5 12 −5 12 19 =( ). 21 3
−7 12 )=( 3 21
19 ) mod 26 3
Kunci K-1 yang digunakan untuk melakukan dekripsi ini telah memenuhi persamaan (1) karena: 3 K. K-1 = ( 5
7 12 19 183 )( )=( 12 21 3 312 1 0 =( )=I 0 1
78 )(mod 26) 131
Cipherteks C = M S I T Y O N H J P R F, 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 cipherteks menjadi urutan numerik. C = 12 18 8 19 24 14 13 7 9 15 17 5 Proses dekripsi dilakukan sebagai berikut: Record (baris) pertama: 12 P1,2 = K-1 . C1,2 = ( 21 18 𝑆 =( )=( ) 20 𝑈
19 12 486 ) ( ) =( ) (mod 26) 3 18 306
Record (baris) kedua: 12 P3,4 = K-1 . C3,4 = ( 21 𝑃 15 =( )=( ) 𝑅 17
19 8 457 ) ( ) =( ) (mod 26) 3 19 225
P=S U P R IADI DANI Demikian pula untuk record lainnya pada database tersebut, maka diperoleh hasil plainteks: P = 0 1 3 20 11 18 20 10 20 17 P=ABDU L S U K U R P = 0 18 4 15 3 8 0 13 P=AS EP DIAN P = 19 8 13 0 19 0 11 8 18 0 P=T I NA T A LI S A III.3 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 ipher dengan sangat mudah. Misalkan kriptanalis mengetahui panjang kunci K adalah 2 dan memiliki potongan berkas plaintext P dan C sebagai berikut: P=SUPRIADI DANI C=MSITYONH JPRF Dari informasi yang dimiliki, maka diketahui bahwa karakter SU pada plaintext berkorespondensi dengan karakter MS, dan karakter PR dengan IT. Pemecahan dapat dilakukan dengan persamaan linier Misalkan kunci direpresentasikan dengan: K=(
Setelah semua record selesai didekripsi, maka didapatkan hasil plainteks: P = 18 20 15 17 8 0 3 8 3 0 13 8
ISSN : 2527-5488
𝑎 𝑐
𝑏 ) 𝑑
Plaintext P dengan:
95 Johni S Pasaribu Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
P=(
𝑆 𝑈
𝑃 18 ) = ( 𝑅 20
15 ) 17
Ciphertext C dengan: C=(
𝑀 𝑆
𝐼 12 ) = ( 𝑇 18
8 ) 19
Dengan menerapkan persamaan (2) maka persamaan linier yang dapat dibentuk dari contoh adalah:
ISSN : 2527-5488
Modifikasi yang dilakukan penulis terhadap hill cipher menjadi chaining hill cipher cukup efektif menambah kekuatan algoritma kriptografi klasik ini yaitu dengan penggunaan 29 karakter (penambahan karakter spasi, titik dan koma) dan proses enkripsi yang lebih rumit.
REFERENSI
C = K.P (
12 18
8 𝑎 )= ( 19 𝑐
𝑏 18 )( 𝑑 20
15 ) 17
18a + 20b = 12 (i) 15a + 17b = 8 (ii) 18c + 20d = 18 (iii) 15c + 17d = 19 (iv) Dengan menyelesaikan keempat persamaan tersebut memakai aritmatika modulo 26, maka diperoleh nilai a, b, c, dan d:
Dengan nilai a, b, c, dan d maka kunci K didapatkan, yaitu: 3 5
Scheneier, Bruce. (1996). Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd Edition. John Wiley & Sons, New York. Forouzan, Behrouz. (2006). Cryptography and Network Security. McGraw-Hill, New York.
a = 3, b = 7, c = 5, d = 12
K=(
Munir, Rinaldi. (2006). Diktat Kuliah IF5054 Kriptografi. Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, ITB.
7 ) 12
Dengan kunci K tersebut, kriptanalis hanya perlu melakukan dekripsi terhadap ciphertext keseluruhan untuk mendapatkan plaintext seutuhnya.
IV. KESIMPULAN DAN SARAN Berdasarkan pembahasan yang telah dilakukan di atas, 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. 3. Hill cipher kuat dalam menghadapi ciphertext-only attack namun lemah jika diserang dengan known-plaintext attack. 4. Teknik kriptanalisis menggunakan persamaan linier merupakan teknik yang paling cepat, mudah dan akurat untuk memecahkan hill cipher dibanding dengan teknik perkalian matriks. 5.Komputasi dalam hill cipher cukup rumit jika dihitung secara manual untuk teks yang panjang.
Silberschatz, A., H. F. Korth. and S. Sudarshan. (2002). Database System Concepts, 4th Edition. McGraw – Hill, New York. Anton, Howard and C. Rorres. (2000). Elementary Linear Algebra. John Wiley & Sons, New York. Fathansyah. (1999). Bandung.
Basis
Data.
Informatika,
http://en.wikipedia.org/wiki/Hill_cipher Marcus, T., A. Prijono dan J.Widiadhi. (2004). DELPHI DEVELOPER dan SQL Server 2000. Informatika, Bandung.
Sadikin, Rifki. (2012). Kriptografi untuk Keamanan Jaringan. Andi Offset, Yogyakarta.
96 Johni S Pasaribu Seminar Nasional Telekomunikasi dan Informatika 2016