Pelita Informatika Budi Darma, Volume : IV, Nomor: 1, Agustus 2013
ISSN : 2301-9425
PERANCANGAN APLIKASI PENGAMANAN DATA DENGAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD (AES) Fricles Ariwisanto Sianturi (0911457) Mahasiswa Program Studi Teknik Informatika STMIK Budi Darma Medan Jl. Sisingamangaraja Np. 338 Simpang Limun Medan http : //www.stmik-budidarma.ac.id // Email :
[email protected]
ABSTRAK Seiring dengan perkembangan zaman, kebutuhan manusia menningkat. Termasuk kebutuhan akan informasi. Oleh sebab itu, pengiriman dan penyimpanan data melalui media elektronik memerlukan suatu proses yang mampu menjamin keamanan dan keutuhan dari data tersebut. Untuk menjamin keamanan dan keutuhan dari suatu data, dibutuhkan suatu proses penyandian. Enkripsi dilakukan ketika data akan dikirim. Proses ini akan mengubah suatu data asal menjadi data rahasia yang tidak dapat dibaca. Sementara itu, proses dekripsi dilakukan oleh penerima data yang dikirim tersebut. Data rahasia yang diterima akan diubah kembali menjadi data asal. Dengan cara penyandian tadi, data asli tidak akan terbaca oleh pihak yang tidak berkepentingan, melainkan hanya oleh penerima yang memiliki kunci dekripsi. Didorong oleh kegunaan yang penting tadi, teknik (algoritma) penyandian telah berkembang sejak zaman dahulu kala. Mulai dari era sebelum masehi, hingga sekarang algoritma penyandian ini selalu berkembang. Pertimbangan- bahwa sebuah standard algoritma yang baru sangatlah diperlukan untuk tetap menjaga kerahasiaan suatu data. Dalam hal ini, kunci yang lebih panjang juga merupakan keharusan. Kata kunci : AES, enkripsi – dekripsi, kerahasiaan data, kriptosistem. 1. Pendahuluan 1.1 Latar Belakang Kriptografi merupakan studi matematika yang mempunyai hubungan dengan aspek keamanan informasi seperti integritas data, keaslian entitas dan keaslian data. Kriptografi menggunakan berbagai macam teknik dalam upaya untuk mengamankan data. Pengiriman data dan penyimpanan data melalui media elektronik memerlukan suatu proses yang dapat menjamin keamanan dan keutuhan dari data yang dikirimkan tersebut. Data tersebut harus tetap rahasia selama pengiriman dan harus tetap utuh pada saat penerimaan di tujuan. Untuk memenuhi hal tersebut, dilakukan proses penyandian (enkripsi dan dekripsi) terhadap data yang akan dikirimkan. Algoritma AES merupakan algoritma kriptografi simetrik yang beroperasi dalam mode penyandi blok (block cipher) yang memproses blok data 128-bit dengan panjang kunci 128-bit (AES- 128), 192-bit (AES-192), atau 256-bit (AES-256). Beberapa mode operasi yang dapat diterapkan pada algoritma kriptografi penyandi blok AES di antaranya adalah Electronic Code Book (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), dan Output Feedback (OFB). Implementasi AES dengan mode operasi ECB, CBC, CFB, dan OFB tentu saja memiliki kelebihan dan kekurangan tertentu dalam aspek tingkat keamanan data. Algoritma kriptografi bernama Rijndael yang didesain oleh oleh Vincent Rijmen dan John Daemen asal Belgia keluar sebagai pemenang kontes
algoritma kriptografi pengganti DES yang diadakan oleh NIST (National Institutes of Standards and Technology) milik pemerintah Amerika Serikat pada 26 November 2001. Algoritma Rijndael inilah yang kemudian dikenal dengan Advanced Encryption Standard (AES). Setelah mengalami beberapa proses standardisasi oleh NIST, Rijndael kemudian diadopsi menjadi standard algoritma kriptografi secara resmi pada 22 Mei 2002. Pada 2006, AES merupakan salah satu algoritma terpopuler yang digunakan dalam kriptografi kunci simetrik. 1.2 Rumusan Masalah Melihat latar belakang diatas dapat dirumuskan suatu permasalahan yaitu diantaranya sebagai berikut: 1. Bagaimana teknik untuk mengamankan data teks? 2. Bagaimana menerapkan metode Kitrografi AES pada pengamanan data teks?. 3. Bagaimana merancang perangkat lunak pengamanan data teks dengan menggunakan metode Kriptografi Advanced Encryption Standard (AES)? 1.3 Batasan Masalah Batasan masalah pada program aplikasi kriptosistem dengan algoritma AES ( Advanced Encryption Standard ) yaitu: 1. Data yang diamankan type teks, dan dilakukan dengan input keyboard.
Perancangan Aplikasi Pengamanan Data Dengan Kriptografi Advanced Encryption Standard (AES). Oleh : Fricles Ariwisanto Sianturi
42
Pelita Informatika Budi Darma, Volume : IV, Nomor: 1, Agustus 2013
2.
3.
Ukuran teks yang dapat dienkripsi dengan panjang 2000 karakter, teks berupa angka, huruf dan tombol lain yang tersedia pada keyboard, hal ini dikarenakan keterbatasan bahasa pemograman yang digunakan yaitu Visual Basic 6.0. Metode yang digunakan adalah metode Kriptografi Advanced Encryption Standard (AES)
1.4 Tujuan dan Manfaat Adapun tujuan penelitian yaitu : 1. Menjelaskan proses pengamanan data pada saat pengiriman data teks. 2. Menerapkan Metode Kriptografi AES dalam mengamankan data teks sebelum dikirim. 3. Merancang perangkat lunak pengamanan data teks dengan metode kriptografi AES. Dan sebagai manfaat yang dapat penuliskan uraikan adalah: 1. Dapat mempermudah dalam pengolahan data baik admin ataupun pengguna. 2. Dapat mempermudah dalam penggunaan metode tersebut. 3. Dapat mempermudah dalam pengamanan data yang dinginkan dengan aman. 2. Landasan Teori 2.1 Aplikasi Aplikasi berasal dari kata application yang artinya penerapan, lamaran, penggunaan. Secara istilah aplikasi adalah program siap pakai yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju. Perangkat lunak aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan tugas yang diinginkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media (Nugroho B., 2009). 2.2 Kriptografi Kriptografi merupakan seni dan ilmu menyembunyikan informasi dari penerima yang tidak berhak. Kata kriptografi berasal dari kata Yunani kryptos (tersembunyi) dan graphein(menulis) Rinaldi Munir (2006 : 4). Dalam teknologi informasi telah dan sedang dikembangkan cara-cara untuk menangkal berbagai serangan, seperti penyadap dan pengubahan data yang sedang dikirimkan.Transformasi ini memberikan solusi pada dua macam masalah keamanan data, yaitu masalah privasi (privacy) dan keotentikan (authenticatioan). Kriptografi tidak berarti hanya memberikan keamanan informasi saja, namun lebih ke arah teknik-tekniknya. a. Enkripsi
ISSN : 2301-9425
Proses enkripsi adalah proses penyandian pesan terbuka (plaintext) menjadi pesan rahasia (ciphertext). Ciphertext inilah yang nantinya akan dikirimkan melalui saluran komunikasi terbuka. Pada saat ciphertext diterima oleh penerima pesan, maka pesan rahasia tersebut diubah lagi menjadi pesan terbuka melalui proses dekripsi sehingga pesan tadi dapat dibaca kembali oleh penerima pesan ( Wibowo, Ari,Wihartantyo, 2004). b. Dekripsi Dekripsi merupakan proses kebalikan dari proses enkripsi, merubah ciphertext kembali ke dalam bentuk plaintext. Untuk menghilangkan penyandian yang diberikan pada saat proses enkripsi, membutuhkan penggunaan sejumlah informasi rahasia, yang disebut sebagai kunci. 2.3 Algoritma Advance Encryption Standard (AES) Input dan output dari algoritma AES terdiri dari urutan data sebesar 128 bit. Urutan data yang sudah terbentuk dalam satu kelompok 128 bit tersebut disebut juga sebagai blok data atau plaintext yang nantinya akan dienkripsi menjadi ciphertext. Algoritma AES merupakan algoritma simetris yaitu mengunakan kunci yang sama untuk proses enkripsi dan dekripsi. Algoritma AES memiliki tiga pilihan kunci yaitu tipe: AES-128, AES-192 dan AES-256. Masing-masing tipe menggunakan kunci internal yang berbeda yaitu round key untuk setiap proses putaran. Proses putaran enkripsi AES-128 dikerjakan sebanyak 10 kali (a=10), yaitu sebagai berikut: 1. Addroundkey 2. Putaran sebanyak a-1 kali, proses yang dilakukan pada setiap putaran adalah: SubBytes, ShiftRows, MixColumns, dan AddRoundKey. 3. Final round, adalah proses untuk putaran terakhir yang meliputi SubBytes, ShiftRows, dan AddRoundKey. Sedangkan pada proses dekripsi AES-128, proses putaran juga dikerjakan sebanyak 10 kali(a=10). Proses enkripsi algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Ilustrasi proses enkripsi AES dapat digambarkan seperti pada Gambar di bawah ini :
Perancangan Aplikasi Pengamanan Data Dengan Kriptografi Advanced Encryption Standard (AES). Oleh : Fricles Ariwisanto Sianturi
43
Pelita Informatika Budi Darma, Volume : IV, Nomor: 1, Agustus 2013
ISSN : 2301-9425
Add Round Key pada dasarnya adalah mengkombinasikan chiper teks yang sudah ada dengan chiper key yang chiper key dengan hubungan XOR.
Gambar 2 AddRoundKey XOR dilakukan per kolom yaitu kolom-1 chiper teks di XOR dengan kolom-1 round key dan seterusnya.
Gambar 1. Proses Enkripsi AES (Sumber : Kriptografi, 2006, halaman 159) 3. Analisa Dan Perancangan 3.1. Analisa Sistem Akan dibahas secara detail dan terperinci mengenai aplikasi pengamanan data dengan algoritma Advanced Encryption Standard pada file teks. Dengan menerapkan metode penelitian yang telah penulis uraikan pada bab sebelumnya. Dalam tahap analisa ini menentukan informasi, fungsi,proses, atau prosedur yang diperlukan beserta unjuk kerjanya, dan antar muka. Maka sistem ini nantinya dapat mengamankan data input yang berupa plainteks yang kemudian di enkripsi menggunakan metode Advanced Encryption Standard dengan proses yang relatife cepat. 3.2 Algoritma AES AES termasuk dalam jenis algoritma kriptografi yang sifatnya simetri dan cipher block. Dengan demikian algoritma ini mempergunakan kunci yang sama saat enkripsi dan dekripsi serta masukan dan keluarannya berupa blok dengan jumlah bit tertentu. Contoh Penerapan : Misalkan Andi mengirim data kepada Alice. Data (plainteks) yang akan dikirimkan oleh Alice adalah : Plaintex : 0 1 2 3 4 5 6 7 8 9 A B C D E F In HEX :30 31 32 33 34 35 36 37 38 3 41 42 43 44 45 46 Key :ABCDEFGHIJKLMNOP In HEX: 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 3.2.1. Proses Enkripsi 1. Add Round Key
2. Sub Bytes S-Box Prinsip dari Sub Bytes adalah menukar isi matriks/tabel yang ada dengan matriks/tabel lain yang disebut dengan S-Box. Di bawah ini adalah contoh Sub Bytes S-Box. Tabel 1 Tabel S-Box
3.Shift Rows Shift Rows seperti namanya adalah sebuah proses yang melakukan shift atau pergeseran pada setiap elemen blok/tabel yang dilakukan per barisnya. Yaitu baris pertama tidak dilakukan pergeseran, baris kedua dilakukan pergeseran 1 byte, baris ketiga dilakukan pergeseran 2 byte. 4. Mix Columns Yang terjadi saat Mix Column adalah mengalikan tiap elemen dari blok chiper dengan matriks yang ditunjukkan pada proses sebelumnya. Tabel sudah ditentukan dan siap pakai. Pengalian dilakukan seperti perkalian matriks biasa yaitu menggunakan dot product lalu perkalian keduanya dimasukkan ke dalam sebuah blok chiper baru. Ilustrasi dalam gambar sebelumnya akan menjelaskan mengenai bagaimana perkalian ini seharusnya dilakukan. 3.2.2. Proses Deskripsi 1.InvShiftRows InvShiftRows adalah transformasi byte yang berkebalikan dengan transformasi ShiftRows. Pada transformasi InvShiftRows, dilakukan pergeseran bit ke kanan sedangkan pada ShiftRows dilakukan pergeseran bit ke kiri.
Perancangan Aplikasi Pengamanan Data Dengan Kriptografi Advanced Encryption Standard (AES). Oleh : Fricles Ariwisanto Sianturi
44
Pelita Informatika Budi Darma, Volume : IV, Nomor: 1, Agustus 2013
ISSN : 2301-9425
Gambar 3. InvShiftRows 2. InvSubBytes InvSubBytes juga merupakan transformasi bytes yang berkebalikan dengan transformasi SubBytes. Pada InvSubBytes, tiap elemen pada state dipetakan dengan menggunakan table Inverse SBox. Tabel 2. InvSubBytes
3. InvMixColumns Setiap kolom dalam state dikalikan dengan matrik perkalian dalam AES.
Gambar 5. Rancangan Flowchart 3.4 DFD Level 0 Diagram kontek diatas dapat dikembangkan menjadi diagram 0 untuk menampilkan pandangan sistem pada setiap proses yang terjadi didalam sistem yang terlihat seperti :
Gambar 4. InvMixColumns 3.3. Rancangan Flwochart Flowchart adalah bagan alir yang menggambarkan sistem beroperasi mulai dari pembentukan kunci, proses enkripsi dan deksripsi. Gambar 6. DFD Level 0
Perancangan Aplikasi Pengamanan Data Dengan Kriptografi Advanced Encryption Standard (AES). Oleh : Fricles Ariwisanto Sianturi
45
ISSN : 2301-9425
Pelita Informatika Budi Darma, Volume : IV, Nomor: 1, Agustus 2013
3.5 Rancangan Antar muka
Gambar 7. Rancangan Antar muka 4. Algoritma Dan Implementasi 4.1 Algoritma Enkripsi Input : P,K { Teks Asli 16 Bytes, Kunci AES } Output : CT { Teks Sandi 16 Bytes} Proses : (Nr,w) Ekspansi Kunci (K) {Nr : Jumlah Ronde, w : larik bytes kunci ronde} CT = P AddRoundkey (CT,w [0...3]) For i = 1 Nr do . SubBytes (CT) {Pesan diubah jadi hexa} ShiftRows(CT) If i = Nr Then MixColumns (CT) End if XOR (CT,w[i * 4)+3]) End for 4.2 Algoritma Deskripsi Input : CT, K {Teks sandi 16 bytes, Kunci AES} Output : P {Teks asli 16 bytes) Proses : (Nr,w) EkspansiKunci ( K ) { Nr : Jumlah Ronde, w : Larik bytes Kunci ronde} P = CT XOR ( P,w[Nr * 4..Nr * 4-3]) For i = 1 Nr do InvSubytes (P) InvShiftRows (P) XOR (P,w[Nr – i) * 4...((Nr – i ) * 4) +3]) If i = Nr then InvMixColumns (P) End if End for 5. Kesimpulan Dan Saran 5.1. Kesimpulan Dari hasil perancangan dan pembuatan aplikasi kriptosistem menggunakan kriptografi Advanced Encryption Standard (AES) ini, dapat diambil kesimpulan sebagai berikut :
1. Teknik yang dilakukan dalam pengamanan data teks ini yaitu dengan cara menerapkan metode AES kedalamnya yang bisa mengubah data teks asli ke dalam teks rahasia. 2. Megubah data yang ingin diamankan ke dalam bilangan hexa baik plainteks dan kuncinya dengan menggunakan tabel ASCII, kemudian dilakukan dengan proses enkripsi dan deskripsi, proses enkripsi dilakukan proses sebanyak 4 (empat) langkah, langkah pertama yang dilakukan proses AddRoundkey, melakukan XOR antara plainteks dengan cipher key,langkah ke dua proses subbbytes, subtitusi byte dengan menggunakan tabel subtitusi (S-BOX), langkah ke tiga proses ShiftRows, mengacak data di masing-masing kolom array state, langkah ke empat proses MixColumns, mengajak data di masing-masing kolom array state. 5.2. Saran Saran – saran yang berguna untuk pengembangan lebih lanjut terhadap program aplikasi ini adalah sebagai berikut: 1. Input untuk proses enkripsi tidak hanya dilakukan untuk format berbentuk text atau angka saja, tetapi bisa juga digunakan untuk mengenkripsi data yang berupa gambar (image), suara, video dan lain sebagainya. 2. Pengguna juga dapat memilih format penyimpanan data tidak hanya pada microsoft word (*.doc) saja, tetapi format lain juga dapat digunakan. 3. Agar program aplikasi ini dapat digunakan oleh masyarakat secara bebas sehingga dapat lebih bermanfaat, maka sebaiknya program aplikasi memiliki lisensi free software, serta bersifat stand alone. DAFTAR PUSTAKA [1]
Rinaldi Munir : Kriptografi. Penerbit Informatika, Bandung. 2006.
[2]
Rifki Sadikin, Kriptografi Untuk Keamanan Jaringan, Penerbit Andi. Yogyakarta.,2012.
[3]
Brian Gladman. A Specification for Rijndael, The AES Algorithm. 2003.
[4]
J. Daemen, L.R. Knudsen, and V. Rijmen. AES Proposal: Rijndael, 2000.
[5]
Fibs-pub 197, Advance Encryption System (AES). NIST, 2001. http://csrc.nist.gov /publications/fibs/fibs197/fibs-197.pdf
[6]
Joan Daemen, Vincent Rijmen. The Design of Rijndael : AES – The Advanced Encryption Standard. Springer-Verlag, 2002.
Perancangan Aplikasi Pengamanan Data Dengan Kriptografi Advanced Encryption Standard (AES). Oleh : Fricles Ariwisanto Sianturi
46