Konferensi Nasional Ilmu Sosial & Teknologi (KNiST) Maret 2017, pp. 165~171 165 PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD Cahyani Budihartanti 1, Egi Bagus Wijoyo 2 1 STMIK Nusa Mandiri Jakarta e-mail: cahyani_budihartanti@yahoo.com 2 STMIK Nusa Mandiri e-mail: eggy.way@gmail.com Abstrak Dalam era globalisasi ini peran teknologi sangatlah penting dalam kehidupan sehari-hari baik untuk transaksi data, penyampaian pesan maupun gaya hidup. Kemajuan teknologi tersebut juga telah diimbangi oleh pertahanan keamanan data agar transaksi atau pengiriman data dengan menggunakan teknologi akan semakin aman. Pertahanan tersebut dimaksudkan untuk menghindari dari para pencuri data maupun penyadapan yang hanya merugikan satu belah pihak. Metode yang digunakan oleh penulis untuk membuat program pertahanan keamanan data dari kasus tersebut adalah kriptografi dengan teknik AES (Advance Encryption Standart). Teknik kriptografi ini sudah dikenal dari masa yunani kuno, dengan perpaduan kodekode digital untuk membentuk data yang teracak. Teknik enkripsi ini masih cukup ampuh untuk dijadikan sebagai metode pertahanan keamanan data untuk menghindari dari pencurian atau penyadapan data. Keywords: Aplikasi, Enkripsi, Advance Encryption Data, Keamanan Data 1. Pendahuluan Dalam era globalisasi ini peran teknologi sangatlah penting, baik dalam penyampaian pesan maupun gaya hidup, ragam fitur yang sudah cukup mudah dioperasikan oleh banyak kalangan orang sangatlah membantu pekerjaan mereka sehari-hari. Kesempurnaan teknologi tersebut haruslah di imbangi oleh pertahanan atau keamanan data yang sangat dibutuhkan untuk menyempurnakan teknologi tersebut. Tingkat kemajuan teknologi tersebut telah diimbangi oleh adanya sebuah pertahanan keamanan data, banyak cara yang telah masyarakat lakukan untuk mengamankan data mereka masing-masing seperti menduplikasi data, memanipulasi data atau menyembunyikan data. Dewasa ini sering terjadi pencurian dan penyadapan data-data penting dengan berbagai cara, tentu ini telah mencemaskan beberapa individu maupun kelompok pengguna teknologi tersebut dalam bertransaksi atau bertukar data dengan aman. Namun pengguna sudah dapat mengamankan data-data terbut dengan aman melalui aplikasi keamanan data dengan metode kriptografi. Kriptografi adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. (Sadikin:2012) Algoritma kriptografi AES, algoritma kriptografi yang cukup handal hingga saat ini. Pada tahun 2006, National Security Agency (NSA) pernah menyatakan bahwa AES cukup aman digunakan untuk mengamankan data-data pemerintah Amerika Serikat yang bukan tergolong sangat rahasia. Teknik AES cukup direkomendasikan untuk sebuah tingkat keamanan data yang terjamin. Dengan teknik AES pula penulis tergerak untuk membuat aplikasi program enkripsi data untuk mencapai tingkat keamanan yang terjamin (Hidayatulloh, S. 2014). Diharapkan dengan adanya program ini masyarakat dapat melakukan transaksi atau pengiriman data dengan aman tanpa resah dengan adanya pencurian dan penyadapan data. Diterima 24 Januari 2017; Revisi 14 Februari 2017; Disetujui 15 Maret, 2017
2. Metode Penelitian 1. Teknik Pengumpulan Data 1. Studi pustaka memperoleh data-data yang dibutuhkan dengan cara mengambil informasi dari buku-buku atau internet yang berkaitan dengan judul yang sesuai. 2. Observasi Melakukan perbandingan dengan aplikasi yang sudah ada seperti AxCrypt, Vera Crypt dan Bit Locker guna membandingkan kelebihan dan kekurangan dalam pembuatan program ini. 2. Model Pengembangan Sistem 1. Analisa kebutuhan dalam pembuatan program ini penulis menggunakan visual studio untuk platform nya dan menggunakan bahasa pemograman C#, kedua tools berikut dibutuhkan untuk pengembangan dan pembuatan program ini. 2. Desain pada tahap ini penulis melakukan desain antara lain: merancang antarmuka user dan system, merancang halaman login, merancang halaman home dimana terdapat tombol enkrip dan dekrip, UML. 3. Testing digunakan untuk uji coba program yang berjalan (Debug) yang bertujuan untuk melihat sebuah kesalahan atau error pada aplikasi untuk mengurangi nilai minus pada program, dalam hal ini penulis menggunakan metode white-box dan black-box. 4. Implementasi Pada program ini diterapkan bahasa pemrograman C# untuk perancangan dan pembuatan program ini. Kata Kriptografi berasal dari bahasa Yunani Kryptos (tersembunyi) dan Graphien (menulis). Kriptografi merupakan seni dan ilmu untuk menjaga berita. Dimana kriptografi mempunyai dua bagian penting, yaitu enkripsi dan deskripsi. Enkripsi adalah proses penyandian dari pesan asli (plaintext) menjadi pesan yang tidak dapat diartikan (ciphertext). Sedangkan deskripsi sendiri berarti merubah pesan yang sudah disandikan (ciphertext) menjadi pesan aslinya (plaintext). Adapun algoritma matematis yang digunakan pada proses enkripsi yakni disebut cipher dan sistem yang memanfaatkan kriptografi untuk mengamankan sistem informasi disebut kriptosistem. AES merupakan algoritma lanjutan dari DES sebagai algoritma standar internasional untuk menggantikan DES yang telah dipecahkan pada tahun 2001. AES menyerupai DES yang merupakan algoritma block cipher dimana algoritma ini akan membagi teks menjadi blok yang telah ditetapkan panjang bit nya. Jika pada DES panjang kunci hanya maksimal 56bit, sedangkan pada AES panjang kunci terbagi menjadi 3 jenis yaitu 128bit dengan 10 perulangan algoritma, 192bit 17 dengan 12 kali perulangan algoritma dan 256bit dengan 14 kali perulangan algoritma. Di samping itu, AES juga harus dapat digunakan secara bebas tanpa harus membayar royalti, dan juga murah untuk diimplementasikan pada smart card yang memiliki ukuran memori kecil. AES juga harus efisien dan cepat (minimal secepat Triple DES) dijalankan dalam berbagai mesin 8 bit hingga 64 bit, dan berbagai perangkat lunak. AES ini merupakan algoritma block Cipher dengan menggunakan sistem permutasi dan substitusi (P-Box dan S-Box) bukan dengan jaringan Feistel sebagaimana block cipher pada umumnya. Jenis AES terbagi 3, yaitu: 1. AES-128 2. AES-192 3. AES-256 Pengelompokkan jenis AES ini adalah berdasarkan panjang kunci yang digunakan. Angka-angka di belakang kata AES menggambarkan panjang kunci yang digunakan pada tiap-tiap AES. Selain itu, hal yang membedakan dari masing-masing AES ini adalah banyaknya round yang dipakai. AES-128 menggunakan 10 round, AES-192 sebanyak 12 round, dan AES-256 sebanyak 14 round. AES memiliki ukuran block yang tetap sepanjang 128 bit dan ukuran kunci sepanjang 128, 192, atau 256 bit. Tidak seperti Rijndael yang block dan kuncinya dapat berukuran kelipatan 32 bit dengan ukuran minimum 128 bit dan maksimum 256 bit. Berdasarkan ukuran block yang tetap, AES bekerja pada matriks berukuran 4x4 di mana tiap-tiap sel matriks terdiri atas 1 byte (8 bit). Sedangkan Rijndael sendiri dapat mempunyai ukuran matriks yang lebih dari itu dengan menambahkan kolom sebanyak yang diperlukan. Blok chiper tersebut dalam pembahasan ini akan diasumsikan sebagai sebuah kotak. Setiap plainteks akan KNiST, 30 Maret 2017 166
dikonversikan terlebih dahulu ke dalam blokblok tersebut dalam bentuk heksadesimal. Menurut Sjukani (2011:1), mengemukakan bahwa Algoritma Adalah alur pikiran dalam menyelesaikan suatu pekerjaan, yang dituangkan dalam bentuk tertulis yang dapat dimengerti oleh orang lain Algoritma ini disebut juga dengan algoritma konvensional. Menurut Simarmata (2006:202), mengemukakan bahwa Algoritma Simetris yaitu algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Algoritma ini mengharuskan pengirim dan penerima menyutujui atau menggunakan kunci yang sama. 3. Pembahasan 3.1 Analisa Kebutuhan Analisa kebutuhan merupakan tahap awal yang sangat penting untuk mencari tahu kebutuhan apa saja yang diperlukan di dalam membuat sistem yang diinginkan, mulai dari sistem, perangkat keras dan perangkat lunak. Dalam pembuatan aplikasi ini dibutuhkan analisis kebutuhan system yang meliputi : 1. Input, dimana user dapat terdapat dua user, yaitu user khusus dan user umum yang dapat membuat kunci khusus untuk user khusus dan kunci umum untuk user umum 2. Proses, yaitu proses dimana enkripsi dan Deskripsi data. 3. Output, yaitu merupakan hasil data yang telah di enkripsi. Sedangkan kebutuhan hardware dan software yang diperlukan oleh penulis dalam pembuatan aplikasi ini adalah: bahwa Algoritma Simetris yaitu algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Algoritma ini mengharuskan pengirim dan penerima menyetujui atau menggunakan kunci yang sama. 2. Algoritma Kunci Asimetris Skema ini menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai system kriptografi kunci publik karena kunci yang dibuat diketahui oleh umum atau dapat diketahui oleh siapa saja, tapi pada proses dekripsinya hanya dapat dilakukan oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsikannya yang disebut private key. Dapat dianalogikan seperti kotak pos dimana hanya tukang pos yang hanya dapat membuka kotak surat dengan kunci namun setiap orang boleh untuk memasukan surat ke dalam kotak pos tersebut. B. Software Architecture a. Diagram UML A. Diagram Use Case Tabel 1. Daftar Kebutuhan hardware dan software Hardware Notebook Proccessor Intel Pentium ~2.4 GHz Software Sistem Operasi Windows 8.1 Pro Visual Studio 2012 3.2 Desain A. Algoritma pada Kasus Algoritma yang digunakan pada aplikasi ini ada 2 (dua) diantaranya yaitu : 1. Algoritma kunci Simetris Algoritma ini disebut juga dengan algoritma konvensional, menurut Simarmata (2006:202), mengemukakan Gambar 1. Diagram Use Case User Umum KNiST, 30 Maret 2017 167
Gambar 2. Diagram Use Case User Khusus B. Activity Diagram Gambar 3. Activity Diagram aplikasi kriptografi C. Sequence Diagram Gambar 4 Sequence Diagram enkripsi Gambar 5. Sequence Diagram Dekripsi C. User Interface Gambar 6. Rancangan Menu Login Gambar 7. Rancangan Menu User Umum KNiST, 30 Maret 2017 168
Gambar 8. Rancangan Menu User Khusus 3.3 Testing A. Pengujian White Box Hasil pengujian white box pada aplikasi ini adalah sebagai berikut : N = Jumlah simpul grafik alur ditentukan dengan lingkaran Sehingga didapat : V(G) = 9 9 + 2 = 2 V(G) < 10 berarti memenuhi komplesitas siklomatisnya Baris set yang dihasilkan dari jalur independent adalah sebagai berikut : a. 1-2-3-4-5-6-7-9 b. 1-2-3-4-8-9 Ketika aplikasi dijalankan, maka terlihat bahwa satu set baris yang dihasilkan adalah 1-2-3-4-5-6-7-9-1-2-3-4-8-9 dan terlihat bahwa simpul telah dieksekusi satu kali. Gambar 9. Bagan Alir white box testing Pembuatan Kode enkripsi Gambar 11. Bagan Alir white Box Testing Pembukaan Kode Enkripsi Gambar 10. Grafik Alir white box testing Pembuatan Kode enkripsi Kompleksitas dari grafik alir pengujian white-box diatas dapat diperoleh dengan perhitungan sebagai berikut : V(G) E N + 2 Dimana E = Jumlah Edge yang ditentukan oleh gambar panah Gambar 12. Bagan Alir white Box Testing Pembukaan Kode Enkripsi Kompleksitas dari grafik alir pengujian white-box diatas dapat diperoleh dengan perhitungan sebagai berikut : V(G) E N + 2 Dimana KNiST, 30 Maret 2017 169
E = Jumlah Edge yang ditentukan oleh gambar panah N = Jumlah simpul grafik alur ditentukan dengan lingkaran Sehingga didapat : V(G) = 9 9 + 2 = 2 V(G) < 10 berati memenuhi komplesitas siklomatisnya Baris set yang dihasilkan dari jalur independent adalah sebagai berikut : a. 1-2-3-4-5-6-7-9 b. 1-2-3-4-8-9 Ketika aplikasi dijalankan, maka terlihat bahwa satu set baris yang dihasilkan adalah 1-2-3-4-5-6-7-9-1-2-3-4-8-9 dan terlihat bahwa simpul telah dieksekusi satu kali. B. Pengujian Black Box Hasil pengujian Black box pada aplikasi ini adalah sebagai berikut : 3.4 Implementasi Tabel 2 Pengujian Black Box Gambar 13. Tampilan Menu Login Gambar 14. Tampilan Menu Enkripsi Gambar 15. Tampilan Menu Dekripsi Dengan dengan menerapkan teknik kriptografi, pengguna dapat dengan aman bertransaksi data dengan mengenkripsi sebelum data dikirim dan mendekripsi setelah menerima data tersebut untuk menghindari dari pencurian dan penyadapan data. 4. Simpulan Dari pembahasan yang telah diselesaikan, maka dapat diambil kesimpulan bahwa teknik kriptografi modern dapat diimplementasikan dalam bahasa pemrograman seperti C# dengan teknik AES (Advance Encryption Standart) yang masih cukup ampuh dalam pengamanan data, dimana dapat menghindari dari pencurian dan penyadapan data. Referensi Hidayatulloh, S. (2014). ANALISIS DAN OPTIMALISASI KEAMANAN JARINGAN MENGGUNAKAN PROTOKOL IPSEC. INFORMATIKA, 1(2). Sadikin, Rifki. 2012. Kriptografi Untuk Keamanan Jaringan. Penerbit Andi. Yogyakarta KNiST, 30 Maret 2017 170
Simarmata, Janner. 2016. Pengamanan Sistem Komputer. Penerbit Andi. Yogyakarta. Sjukani, Mohammad. 2011. Algoritma (Algoritma & Struktur data 1) Dengan C C++ dan Java. Penerbit Mitra Wacana Media. Bandung. KNiST, 30 Maret 2017 171