Helmi, Analisa dan Perancangan Perangkat....1
ANALISA DAN PERANCANGAN PERANGKAT LUNAK KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RSA Helmi Helmi Kurniawan1 , Iwan Fitrianto Rahmad2 1,2
STMIK Potensi Utama, Jl.K.L Yos Sudarso Km. 6,5 No.3-A Tanjung Mulia Email :
[email protected],
[email protected]
ABSTRACT Nowadays information systems is growing. As an indicator can be seen advances in technology in the delivery of data that are increasingly developed along with the needs of people with communication data. A data can be transmitted in various ways either through the signal in the air or by cable channels. The use of transmission media allows the parties are not responsible to read and even modify the contents of the data, therefore, is neces-sary for data encryption to secure data transmitted. To overcome this it is necessary to the security system of data known as the science of cryptography. The more berkembangannya science, also developed a cryptographic algorithm. One wellknown algorithm is the RSA algorithm. That uses the asymmetric RSA algorithm has two different keys, called a key pair (key pair) for encryption and decryption process. Security level RSA encryption algorithm is very dependent on the size of the password is the key, because the smaller the size of the lock, the greater the possibility of a combination lock that can be uprooted with the method of checking one by one key combination or better known as Brute Force Attack. Generated primes in the RSA algorithm affects the size of the pass-key. The number of pri-me numbers generated in this application number is 1000 pieces. Keywords: cryptography, RSA algorithm, encryption, decryption.
ABSTRAK Dewasa ini sistem informasi semakin berkembang. Sebagai indikator dapat dilihat kemajuan teknologi dalam pengiriman data yang semakin lama semakin berkembang seiring dengan kebutuhan manusia dengan komunikasi data. Suatu data dapat ditransmisikan dengan berbagai cara baik melalui sinyal di udara maupun dengan saluran kabel. Penggunaan media transmisi ini memungkinkan pihak-pihak yang tidak bertanggung jawab membaca bahkan mengubah isi data tersebut, oleh karena itu diperlukan adanya penyandian data untuk mengamankan data yang ditransmisikan. Untuk mengatasi hal tersebut diperlukan adanya sistem pengamanan terhadap data yang dikenal sebagai ilmu kriptografi. Semakin berkembangannya ilmu pengetahuan, dikembangkan pula algoritma kriptografi. Salah satu algoritma yang cukup dikenal adalah algoritma RSA. RSA yang menggunakan algoritma asimetrik mempunyai dua kunci yang berbeda, disebut pasangan kunci (key pair) untuk proses enkripsi dan dekripsi. Tingkat keamanan algoritma penyan-dian RSA sangat bergantung pada ukuran kunci sandi tersebut, karena makin kecil ukuran kunci, maka makin besar juga kemungkinan kombinasi kunci yang bisa dijebol dengan metode memeriksa kombinasi satu persatu kunci atau lebih dikenal dengan istilah Brute Force Attack. Bilangan prima yang dihasilkan dalam algoritma RSA mempengaruhi ukur-an kunci sandi. Jumlah bilangan prima yang dihasilkan pada aplikasi ini adalah 1000 buah bilangan. Kata Kunci : kriptografi, algoritma RSA, enkripsi, dekripsi.
2. CSRID Journal, Vol.3 No.1 Februari 2011, Hal. 1 - 12
PENDAHULUAN Dengan semakin berkembangnya sistem informasi dan komunikasi, kebutuhan manusia dalam melakukan komunikasi data pun semakin meningkat. Hal ini ditandai dengan berkembang pesatnya teknologi yang terkait di dalamnya, yaitu teknologi dan media transmisi. Tidak hanya melalui kabel, data pun dapat juga dikirim melalui media non-kabel (wireless) yang menggunakan udara sebagai media merambatnya sinyal. Lewat sinyal yang merambat melalui udara, data dapat dikirimkan dari satu tempat ke tempat lain dengan mudah dan praktis. Namun, penggunaan media transmisi dalam pengiriman data memiliki permasalahan tersendiri yang perlu diperhatikan. Penggunaan media transmisi memungkinkan pihak-pihak yang tidak memiliki kepentingan melihat bahkan mengubah isi data tersebut yang tentu saja membahayakan integritas data, terutama data yang bersifat sangat rahasia. Permasalahan ini pun meningkat seiring dengan semakin banyaknya data yang dikirimkan melalui media nonkabel. Dilihat dari karakteristiknya, media ini adalah yang paling rentan dengan pencurian data karena data dengan bebasnya merambat di udara sehingga siapapun dapat dengan mudah melihat isi data tersebut. Oleh karena itu, dibutuhkan suatu mekanisme yang dapat mengacak data (enkripsi) sehingga data tidak mudah dilihat dan diubah oleh pihak yang tidak memiliki kepentingan. Lewat sebuah cabang ilmu kriptologi, algoritma kriptografi berkembang sangat cepat dan penggunaannya pun semakin luas dan beragam sehingga menjadi menarik untuk dipelajari. Namun, tidak banyak yang dapat menjelaskan secara rinci proses yang terjadi di dalamnya sehingga pemahaman tentang algoritma kriptografi tidak mendalam. Proses komputasi dan prosedur yang rumit membuat orang enggan mempelajari dan memahami algoritma kriptografi secara menyeluruh. Hal ini termotivasi untuk membuat sebuah program yang dapat mengamankan data dengan menggunakan algoritma kriptografi, yaitu RSA. Pemilihan algoritma RSA dikarenakan sistem penyandian algoritma ini memiliki mekanis-me kerja yang cukup sederhana dan mudah dimengerti namun tetap kokoh dalam tugasnya meng-amankan data. Berdasarkan latar belakang masalah maka indentifikasi masalahnya sebagai berikut: (1) Sering terjadinya kehilangan data atau rusaknya data yang dilakukan oleh pihak yang tidak ber-tanggung jawab. (2) Data yang dikirim perlu dijaga kerahasiannya. (3) Pengiriman data membutuhkan sebuah program yang dapat mengamankan data dengan menggunakan algoritma kriptografi. Sesuai dengan identifikasi masalah diatas, maka masalah dalam penilitian ini dapat dirumuskan yaitu ” Bagaimana merancang Perangkat Lunak Keamanan Data Digital dengan Menggunakan Algoritma RSA ?”. Adapun yang menjadi batasan masalah adalah sebagai berikut : (1) Merancang keamananan data digital dengan mengunakan algoritma RSA. (2) Merancang perangkat lunak keamanan data dengan menggunakan bahasa pemrograman visual basic 6.0. (3) Data yang akan dienkripsi pada penelitian ini berupa data teks. (4) Program yang dirancang menghasilkan kunci untuk dapat membuka data yang telah dienkripsikan. Berdasarkan pembahasan masalah di atas, maka makalah ini memiliki tujuan yaitu : (1) Menganalisa keamanan data teks digital dan merancang perangkat lunak keamanan data untuk dapat menjaga kerahasian data. (2) Membangun perangkat lunak keamanan data teks digital dengan menggunakan algoritma RSA. (3) Menghasilkan aplikasi kriptografi yang mimiliki kemampuan yang dapat mengubah dan mengacak data. (4) Untuk meningkatkan kreatifitas dalam membangun aplikasi keamanan data dalam bidang kriptografi. Metode Penelitian Metode penelitian yang dilakukan terdiri dari: (1) Studi literatur, merupakan tahap pendalaman materi, identifikasi permasalahan dan teori yang- berkaitan dengan permasalahan dalam penelitian. (2) Pengumpulan data, bertujuan untuk- mendapatkan data teks yang akan digunakan sebagai masukan dari sistem. (3) Studi pengembangan aplikasi, bertujuan untuk menentukan metodologi pengembangan sistem yang digunakan dengan pendekatan terstruktur dan melakukan analisa perancangan. (4) Implementasi program aplikasi, bertujuan untuk melakukan implementasi metode pada program aplikasi sesuai dengan perancangan yang telah dilakukan. (5) Analisa performansi, bertujuan untuk melakukan analisa performansi dari- skema enkripsi dan dekripsi dengan data teks yang diacak meng-
Helmi, Analisa dan Perancangan Perangkat....3
gunakan algoritma RSA. (6) Pengambilan kesimpulan, bertujuan untuk menarik kesimpulan setelah melakukan percobaan. ANALISA DAN PEMBAHASAN Analisa Masalah Jaringan sebagai media komunikasi umum, suatu jaringan sangat rawan terhadap penyadapan, pencurian, dan pemalsuan informasi. Proses pengiriman data pada suatu jaringan harus menjamin keamanan dan keutuhan, jika tidak, akan terjadi kemungkinan-kemungkinan seperti yang dijelaskan sebelumnya, sehingga data yang dikirim dapat sampai di tujuannya. Untuk itu salah satu cara untuk mengamankan data dari kejadian-kejadian tersebut, diperlukan penyandian terhadap data yang akan dikirim. Penyandian ini sangat penting, apalagi dalam sektor-sektor strategis seperti bisnis, perbankan, atau pemerintahan sangat memerlukan teknologi penyandian Informasi. Ilmu menyandi (kriptografi) sebetulnya adalah ilmu yang sudah dikenal bahkan semenjak jaman Julius Caesar (sebelum masehi). Ilmu ini tidak hanya mencakup teknik-teknik menyandikan informasi, tetapi juga teknik untuk membongkar sandi. Enkripsi adalah suatu proses mengubah sebuah teks murni (plaintext) menjadi sebuah runtutan karakter atau data yang terlihat tidak berarti dan mempunyai urutan bit yang tidak beraturan, disebut ciphertext. Proses pengubahan kembali ciphertext menjadi plaintext disebut dekripsi. Terdapat banyak algoritma penyandian di dunia ini, yang paling banyak dipakai di dunia adalah DES dan RSA. Di samping DES dan RSA, masih ada banyak sandi lain seperti MD2 (dipakai GSM), IDEA, RC2, dan lain-lain. Akan tetapi, DES dan RSA adalah yang paling popular dan paling banyak dipakai. RSA sendiri dibuat pada tahun 1978. RSA adalah singkatan dari nama para penemunya, yaitu Ron Rivest, Adi Shamir, dan Leonard Adleman. RSA adalah salah satu algoritma penyandian Untuk menyandi informasi dan untuk menerjemahkan pesan tersandi sebuah algoritma penyandian memerlukan sebuah data biner yang disebut kunci. Tanpa kunci yang cocok orang tidak bisa mendapatkan kembali pesan asli dari pesan tersandi. RSA menggunakan dua kunci yang berbeda. RSA yang menggunakan algoritma asimetrik mempunyai dua kunci yang berbeda, disebut pasangan kunci (key pair) untuk proses enkripsi dan dekripsi. Kunci-kunci yang ada pada pasangan kunci mempunyai hubungan secara matematis, tetapi tidak dapat dilihat secara komputasi untuk mendeduksi kunci yang satu ke pasangannya. Algoritma ini disebut kunci publik, karena kunci enkripsi dapat disebarkan. Orangorang dapat menggunakan kunci publik ini, tapi hanya orang yang mempunyai kunci privat sajalah yang bisa mendekripsi data tersebut. Berdasarkan analisa masalah maka dirancang perangkat lunak keamanan data digital teks dengan menggunakan algoritma RSA. Analisis Kebutuhan Sistem Pembuatan aplikasi ini membutuhkan serangkaian peralatan yang dapat mendukung kelancaran proses pembuatan dan pengujian aplikasi. Berikut ini aspek-aspek yang di butuhkan dalam pembuatan aplikasi keamanan data : a. Aspek Hardware Perangkat keras komputer (hardware) adalah semua bagian fisik komputer dan dibedakan dengan data yang berada di dalamnya atau yang beroperasi di dalamnya, dan dibedakan dengan perangkat lunak (software) yang menyediakan instruksi untuk perangkat keras dalam menyelesaikan tugasnya.Game yang dibuat menggunakan komputer berbasiskan processor Intel Celeron 1.8 (3.0) Ghz, memori 2Gb, VGA Card Nvidia Gforce 9500GT (512 Mb), monitor 15 inch dan Hardisk 320Gb. Sedangkan kebutuhan minimum hardware untuk bisa menjalankan game adalah sebagai berikut: Pentium 3 (setara 566 Mhz), Pentium 4 (setara 1,6 Ghz) , Memori 256 Mb, Free Space HD 2 GB, Sound Card (standar) dan VGA 128Mb. b. Aspek Software Software (perangkat lunak) adalah program yang digunkan untuk menjalankan perangkat keras. Tanpa adanya perangkat lunak ini komponen perangkat keras ini tidak akan berfungsi, adapun aplikasi dan software yang digunkan dalam pembangunan game ini meliputi Sistem Operasi Windows
4. CSRID Journal, Vol.3 No.1 Februari 2011, Hal. 1 - 12
XP SP2 Profesional dan Microsoft VB 6.0. c. Aspek Brainware Adalah orang yang menjalankan semua sistem perencanaan dan pembuatan perangkat lunak ini mulai dari membuat analisis sistem, membuat aplikasi dan mengevaluasi aplikasi. Skill yang dibutuhkan dalam pembuatan aplikasi ini antara lain: menguasai Sistem Operasi Windows, menguasi aplikasi Microsoft VB 6.0 dan pengetahuan mengenai kriptografi. Analisis Kelayakan Teknologi Perkembangan aplikasi keamanan data pada sistem komputer sangat cepat, ini terjadi karena perkembangan hardware dan software yang terus mengalami perubahan ke arah yang lebih baik. Untuk aplikasi keamanan data yang bersifat edukasi saat ini sudah banyak yang beredar secara luas di internet. Semua aplikasi keamanan data yang beredar rata-rata menawarkan kemudahan dalam pemakaian. Tapi sayangnya di Indonesia teknologi ini kurang dikenal secara luas. Untuk itu pembaharuan dan pengembangan aplikasi keamanan data harus terus dilakukan supaya tidak teringgal oleh kemampuan dari para hacker. Aplikasi Keamanan data ini layak di gunakan melalui tahap-tahap pengujian. Analisis Manfaat Pada penelitian ini tidak menyertakan analisis biaya, dikarenakan aplikasi keamanan data ini lebih ditekankan untuk penulisan ini dan bukan untuk di komersilkan. Manfaatnya adalah dalam pembangunan aplikasi keamanan data ini di harapkan nantinya aplikasi keamanan data teks ini dapat digunakan secara luas untuk tujuan pendidikan dan dijadikan referensi untuk nantinya bisa di kembangkan lebih baik lagi. Strategi Pemecahan Masalah Dalam aplikasi keamanan data teks ini teori yang digunakan untuk menganalisis strategi dari program adalah yang menggunakan algoritma asimetrik mempunyai dua kunci yang berbeda, disebut pasangan kunci (key pair) untuk proses enkripsi dan dekripsi. Kunci-kunci yang ada pada pasangan kunci mempunyai hubungan secara matematis, tetapi tidak dapat dilihat secara komputasi untuk mendeduksi kunci yang satu ke pasangannya. Algoritma ini disebut kunci publik, karena kunci enkripsi dapat disebarkan. Orang-orang dapat menggunakan kunci publik ini, tapi hanya orang yang mempunyai kunci privat sajalah yang bisa mendekripsi data tersebut.. algoritma yang memiliki konsep ini adalah algoritma RSA. Mekanisme Dasar Kerja RSA Tingkat keamanan algoritma penyandian RSA sangat bergantung pada ukuran kunci sandi tersebut (dalam bit), karena makin besar ukuran kunci, maka makin besar juga kemungkinan kombinasi kunci yang bias dijebol dengan metode mengencek kombinasi satu persatu kunci atau lebih dikenal dengan istilah brute force attack. Jika dibuat suatu sandi RSA dengan panjang 256 bit, maka metode brute force attack akan menjadi tidak ekonomis dan sia-sia dimana para hacker pun tidak mau/sanggup untuk menjebol sandi tersebut. Proses Pembuatan Kunci Dalam membuat suatu sandi, RSA mempunyai cara kerja dalam membuat kunci publik dan kunci privat adalah sebagai berikut: (1) Pilih dua bilangan prima p dan q secara acak , p ≠ q. Bilangan ini harus cukup besar (minimal 100 digit). (2) Hitung N = pq. Bilangan N disebut parameter sekuriti. (3) Hitung Ф = (p-1)(q-1). (4) Pilih bilangan bulat (integer) antara satu dan Ф (1 < e < Ф) yang tidak mempunyai faktor pembagi dari Ф. (5) Hitung d hingga d e = 1 (mod Ф). Langkah 3 dan 4 dapat dihasilkan dengan cara algoritma Euclidean. Langkah 4 dapat dihasilkan dengan menemukan integer x sehingga d = (x(p-1)(q-1) + 1)/e menghasilkan bilangan bulat, kemudian menggunakan nilai dari d (mod (p-1) (q-1)) Setelah melalu cara ini, maka kita akan mendapatkan kunci publik dan kunci privat. Kunci publik terdiri dari dua elemen, yaitu:
Helmi, Analisa dan Perancangan Perangkat....5
(1) N, merupakan modulus yang digunakan (2) e, eksponen publik atau eksponen enkripsi dan kunci privat, yang terdiri dari: (1) N, merupakan modulus yang digunakan, sama seperti pada kunci public (2) d, eksponen pribadi atau eksponen deskripsi, yang harus dijaga kerahasiaanya Nilai p dan q sebaiknya dibuang atau dijaga kerahasiaannya, karena terdapat N dimana p dan q adalah faktor pembagi dari N. Besaran-besaran yang digunakan pada algoritma RSA: (1) p dan q bilangan prima (rahasia). (2) r = p ⋅ q (tidak rahasia). (3) m = (p – 1)(q – 1) (rahasia). (4) PK (kunci enkripsi) (tidakrahasia). (5) SK (kunci dekripsi) (rahasia). (6) X (plainteks) (rahasia). (7)Y (cipherteks) (tidak rahasia). Prosedur Membuat Pasangan Kunci Key generation : (1)Hasilkan dua buah integer prima besar, p dan q Untuk memperoleh tingkat keamanan yang tinggi pilih p dan q yang berukuran besar, misalnya 1024 bit. (2) Hitung m = (p-1)*(q-1). (3) Hitung n = p*q. (4) Pilih d yg relatively prime terhadap m e relatively prime terhadap m artinya faktor pembagi terbesar keduanya adalah 1, secara matematis disebut gcd(e,m) = 1. Untuk mencarinya dapat digunakan algoritma Euclid.(5) Cari d, sehingga e*d = 1 mod (m), atau d = (1+nm)/e Untuk bilangan besar, dapat digunakan algoritma extended Euclid.(6) Kunci publik : e, n Kunci private : d, n Proses Enkripsi Pesan Misalkan pada suatu kasus si A ingin mengirim pesan m kepada si B. A mengubah m menjadi angka n < N, menggunakan protokol yang sebelumnya telah disepakati dan dikenal sebagai padding scheme. Padding scheme harus dibangun secara hati-hati sehingga tidak ada nilai dari m yang menyebabkan masalah keamanan. Contohnya, jika kita ambil contoh sederhana dari penampilan ASCII dari m dan menggabungkan bit-bit secara bersama-sama akan menghasilkan n, kemudian pessan yang berisi ASCII tunggal karakter NUL (nilai numeris 0) akan menghasilkan n = 0, yang akan menghasilkan ciphertext 0 apapun itu nilai dari e dan N yang digunakan. Maka A mempunyai nilai n dan mengetahui N dan e, yang telah diumumkan oleh B. A kemudian menghitung ciphertext c yang terkait pada n: c = ne mod N Perhitungan tersebut dapat diselesaikan dengan menggunakan metode exponentation by squaring, yaitu sebuah algoritma yang dipakai untuk komputasi terhadap sejumlah nilai integer yang besar dengan cepat. Kemudian A mengirimkan nilai kepada B. Proses Dekripsi Pesan B sudah menerima dari A, dan mengetahui kunci privat yang digunakan B. B kemudian mengembalikan nilai n dari dengan langkahlangkah sebagai berikut: n = cd mod N Perhitungan diatas akan menghasilkan n, dengan begitu B dapat mengembalikan pesan semula m. Prosedur dekripsi bekerja karena cd=(ne)d =ned (mod N) Kemudian, karena ed =1 (mod p-1) dan ed =1 (mod q-1), hasil dari Fermat's little theorem. ned=n (mod p) dan ned=n (mod q) Karena p dan q merupakan bilangan prima yang berbeda akan menghasilkan dua jenis kongruen ned=n (mod pq) serta cd=n (mod N) Penghitungan RSA Sekarang mencoba suatu contoh untuk mengenal lebih dalam sistem kerja enkripisi RSA. Misalkan p = 3 , q = 11 (keduanya prima).
6. CSRID Journal, Vol.3 No.1 Februari 2011, Hal. 1 - 12
Selanjutnya, hitung nilai n = p ⋅ q = 33 dan m = (p – 1)(q – 1) = 20. Pilih d yg relatively prime terhadap m → gcd(e,m) = 1 → gcd(e, 20 ) = 1 e = 2 => gcd(e, 20) = 2 (tidak) e = 3 => gcd(e, 20) = 1 (ya) e = 5 → gcd(5,20) =1 (tidak) e = 7 → gcd(7,20) =1 (ya) Asumsi dipilih e =3 Cari nilai d e*d = 1 mod (m) 3*d = 1 mod 20 3*d mod 20 = 1 → 21 mod 20 =1 → 81 mod 20 =1 misal dipilih d=7 Public key : (3, 33) Private key : (7, 33) Enkripsi B mengenkripsi message M untuk A yang harus dilakukan B : (1)Ambil kunci publik A yg otentik (n, e). (2) Representasikan message sbg integer M dalam interval [0,n-1]. (3) Hitung C = M ^ e (mod n). (4) Kirim C ke A Dekripsi Untuk mendekripsi, A melakukan : Gunakan kunci pribadi d untuk menghasilkan M = C^(d) (mod n) message "2" Enkripsi C = 2 ^ 3 (mod 33) = 8 = 8 mod 33 = 0 sisa 8 M = 8 ^ 7 (mod 33) = 2097152 (mod 33) =2 Misalkan plainteks yang akan dienkripsikan adalah X = HARI INI Dalam sistem desimal (pengkodean ASCII) adalah H A R I (SPASI) I N I 72 65 82 73 32 73 78 73 Pecah X menjadi blok yang lebih kecil, misalnya X dipecah menjadi enam blok yang berukuran 3 digit: • x1 = 726 x4 = 273 • x2 = 582 x5 = 787 • x3 = 733 x6 = 003 (ditambah 0) Proses pemecahan melihat dalam interval [0,n-1] = interval [0, 3336] Blok-blok plainteks dienkripsikan sebagai berikut: 726^79 mod 3337 = 215 = y1 582^79 mod 3337 = 776 = y2 733^79 mod 3337 = 1743 = y3 273^79 mod 3337 = 933 = y4 787^79 mod 3337 = 1731 = y5 003^79 mod 3337 = 158 = y6 Jadi, cipherteks yang dihasilkan adalah
Helmi, Analisa dan Perancangan Perangkat....7
Y = 215 776 1743 933 1731 158. • 72 65 82 73 32 73 78 73 • 215 776 1743 933 1731 15. • 72 65 82 73 32 73 78 73 •HARI
ASLI dekripsi
Dekripsi dilakukan dengan menggunakan kunci rahasia blok-blok cipherteks didekripsikan sebagai berikut: 215^1019 mod 3337 = 726 = x1 776^1019 mod 3337 = 582 = x2 1743^1019 mod 3337 = 733 = x3 Blok plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya kita memperoleh kembali plainteks semula P = 7265827332737873 yang dalam karakter ASCII adalah P = HARI INI.
HASIL dan UJI COBA Setelah melakukan perancangan interface dan penulisan program keamanan data teks dengan menerapkan algoritma RSA, selanjutnya menjalankan hasil rancangan program dengan melakukan uji coba. Sistem kriptografi RSA adalah didasari oleh dua problem matematika: (1) Problem dalam faktorisasi bilangan berjumlah banyak. (2) Problem RSA, yaitu mencari modulo akar en dari sebuah bilangan komposit N yang faktor-faktornya tidak diketahui Proses dekripsi penuh dari sebuah ciphertext RSA dianggap sesuatu hal yang tidak mudah karena kedua problem ini diasumsikan sulit. Belum ada algoritma yang efektif untuk menyelesaikannya. Problem RSA didefinisikan sebagai tugas untuk mencari suatu akar modulo en (e pangkat ke n) dari bilangan komposit N. Mengembalikan suatu nilai m dimana me=c mod n, (e, n ) adalah kunci publik RSA dan c adalah ciphertext RSA. Mengingat aplikasi ini bertujuan untuk memberikan pemahaman tentang proses dari algoritma RSA maka program ini dibatasi dalam hal melakukan proses dari algoritma RSA, yaitu mengurangi jumlah maksimal digit dari p dan q pada proses pembangkitan bilangan prima. Selain untuk memudahkan pengguna dalam memahami algoritma, jumlah digit yang terlalu besar akan memperlambat proses pembangkitan bilangan prima (dipengaruhi oleh waiting time yang terlalu lama). Batasan jumlah digit p dan q yang ditetapkan dalam program ini adalah 1000. Untuk menjalankan program keamanan data yang dirancang, maka program akan berjalan pada sistem operasi windows dan bahasa pemrogram visual basic 6.0. berikut ini adalah tampilan awal dari program keamanan data teks dengan menerapkan algoritma RSA yang berisikan info.
Gambar 1. Tampilan Awal Program RSA
8. CSRID Journal, Vol.3 No.1 Februari 2011, Hal. 1 - 12
Setelah tampil form awal RSA, selanjutnya akan tampil form RSA yang akan melakukan proses enkripsi dan dekripsi dari suatu file yang berekstensi txt dan berisikan data teks. Berikut ini adalah gambar untuk tampilan form RSA dengan menggunakan algoritma RSA.
Gambar 2. Tampilan Form RSA
Adapun langkah-langkah untuk menggunakan form RSA ini sebagai penerapan enkripsi algoritma RSA adalah sebagai berikut: 1. Ciptakanlah sebuah file berekstensi txt dengan menggunakan aplikasi notepad seperti gambar dibawah ini.
Gambar 3. File Bertipe TXT
2. Jalankan program RSA dan pada form RSA pilih drive, kemudian pilih folder dan file yang akan dienkripsi, seperti tampilan gambar dibawah ini.
Gambar 4. Tampilan Pilihan File yang di Enkripsi
3. Selanjutnya klik tombol Encrypt untuk melakukan proses enkripsi file teks, maka akan tampil seperti gambar dibawah ini.
Helmi, Analisa dan Perancangan Perangkat....9
Gambar 5. Tampilan Encryption is Complete
4. Klik Tombol OK pada kotak pesan RSA, maka akan tampil Form RSA Secret Keys yang akan memberikan informasi berupa kunci dari proses hasil enkripsi, seperti gambar dibawah ini.
Gambar 6. Tampilan Kunci dari Hasil Enkrispi
5. Klik Tombol End untuk mengakhiri program. 6. Berikut ini adalah gambar file hasil dari enkripsi.
Gambar 7. File Teks Hasil Enskripsi
Adapun langkah-langkah untuk menggunakan form RSA ini sebagai penerapan dekripsi adalah sebagai berikut: 1. Jalankan program RSA dan pada form RSA pilih drive, kemudian pilih folder dan file yang akan didekripsi, seperti tampilan gambar dibawah ini.
10. CSRID Journal, Vol.3 No.1 Februari 2011, Hal. 1 - 12
Gambar 8. Tampilan Pilihan File yang di Dekripsi
2. Selanjutnya klik tombol Decrypt untuk melakukan proses dekripsi file teks, maka akan tampil kotak pesan untuk masukkan Nilai Secret Key seperti gambar dibawah ini.
Gambar 9. Tampilan Kotak RSA Masukkan Nilai Secret Key
3. Masukkan Nilai Secret Key dan selanjutnya klik tombol ok, maka tampil kotak pesan untuk memasukkan nilai dari phi seperti gambar dibawah ini.
Gambar 10. Tampilan Kotak RSA Masukkan Nilai dari Phi
4. Masukkan Nilai dari phi pada kotak pesan RSA dan klik OK, maka akan tampil kotak pesan Decryption Is Completed Successfully seperti tampilan gambar dibawah ini
Helmi, Analisa dan Perancangan Perangkat....11
Gambar 11. Kotak Pesan Decryption is Completed Successfully
5. Klik Ok maka file telah berhasil diproses dari dekripsi. Hardware/Software yang Dibutuhkan Pada hasil dan uji coba aplikasi keamanan data teks dengan algoritma RSA ini membutuhkan spesifikasi hardware dan software. Berikut ini adalah spesifikasi perangkat keras dan lunak yang digunakan untuk menjalankan aplikasi keamanan data dengan Algoritma RSA. (1) Spesifikasi Perangkat Keras (Hardware): (a) Laptop Acer. (b)Processor Intel P4 Mobile 1.86 GHz. (c) Harddisk 120 GB. (d) Memori 1 GB. (2) Perangkat lunak yang digunakan (Software): (a)Sistem Operasi Windows XP Profesional. (b) Bahasa Pemrograman Visual Basic 6.0 Analisa Hasil Program Pengujian program aplikasi keamanan data teks dengan algoritma RSA merupakan tahap paling penting dimana sistem yang sudah dirancang, diimplementasikan untuk menghasilkan sistem yang sesuai dengan yang diinginkan dan siap dioperasikan pada keadaan yang sebenarnya. Dari hal ini dapat diketahui apakah sistem yang dihasilkan sesuai dengan tujuan yang diinginkan atau tidak. Tahapan perancangan aplikasi telah dikerjakan. Mulai dari rancangan sistem, dan rancangan antar muka ( user interface). Semua rancangan ini digunakan untuk mempermudah dalam penjabaran sistem ke dalam bahasa pemrograman. Sebelum program diimplementasikan, maka program harus bebas dari kesalahan-kesalahan. Kesalahan program yang mungkin terjadi antara lain : (a) Kesalahan penulisan bahasa (Syntax Error) adalah kesalahan dalam penulisan kode program. Dalam program keamanan data teks dengan menggunakan Algoritma RSA ini berdasarkan hasil dan uji coba telah terbebas dari kesalahan, karena program keamanan data teks dengan algoritma RSA ini dapat dijalankan sesuai dengan kebutuhan, seandainya terdapat kesalahan sudah bisa dipastikan program tidak bisa dijalankan. (b) Kesalahan waktu proses ( runtime-error) adalah kesalahan yang terjadi ketika executable program dijalankan, kesalahan ini akan menyebabkan program berhenti sebelum selesai pada waktunya, karena kompiler menemukan kondisi - kondisi yang belum terpenuhi yang tidak
12. CSRID Journal, Vol.3 No.1 Februari 2011, Hal. 1 - 12
bisa dikerjakan. Dalam hal ini program keamanan data teks dengan menggunakan algoritma RSA yang dirancang tidak mengalami kesalahan waktu proses (runtime-error). (c) Kesalahan logika (Logical errors) adalah kesalahan dari logika program yang dibuat. Program keamanan data teks dengan alagoritma RSA yang dirancang penulisan logika program sudah sesuai dengan aturan dari algoritma RSA, sehingga dalam proses enkripsi dari isi data file berektensi txt yang dilakukan tidak terjadi kesalahan dalam langkah dan proses pengkonversian data dari data teks ke kode ASCII dengan demikian setiap data abjad yang ada dalam file dikonversikan ke ASCII dan menghasilkan 2 buah kunci yaitu nilai Secret Key dan nilai dari phi sebagai kode untuk membuka file yang telah dienkripsikan, namun dalam program ini hanya nilai kunci yang diberikan yang dapat digunakan dalam proses dekripsi. Kelebihan dan Kekurangan dari Program Setelah dilakukan perancangan, hasil dan uji coba program serta analisa program keamanan data teks dengan algoritma RSA, selanjutnya dapat memberikan beberapa kelebihan dan kekurangan program yang dibangun. Berikut ini adalah kelebihan dan kekurangan dari program keamanan data teks yang dirancang. 1. Kelebihan program keamanan data teks dengan algoritma RSA. (a)Program RSA yang merupakan kriptografi kunci publik adalah menambah keamanan dan kenyamanan. Kunci privat tidak pernah diperlukan untuk dikirim atau diberi tahu ke orang lain. (b) Keamanan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini r = p × q. (c)Program keamanan data teks dengan algoritma RSA ini dalam proses enkripsi dan dekripsi pada suatu file menghasilkan 2 pasangan nilai kunci secara acak (Random) yaitu Secret Keys dan Phi 2. Kekurangan program keamanan data teks dengan algoritma RSA. (a)Program keamanan data teks dengan algoritma RSA yang dirancang hanya bisa dijalankan pada sistem operasi windows. (b) Program hanya mampu mengenkripsi file berektensi txt. (c) Program ini hanya dapat berjalan secara standalone.
SIMPULAN Hasil yang dapat diambil dari penulisan program keamanan data dengan algoritma RSA yang telah dilakukan adalah sebagai berikut : (1) RSA merupakan metode penyandian yang masih kokoh untuk mengatasi masalah keamanan dalam pengiriman data pada suatu jaringan pada media elektronik.(2) Dari segi teknis penghitungan, system RSA mempunyai cara enkripsi yang mudah, tetapi jika sudah dienkripsi, data yang terenkripsi sulit untuk dibobol jika hanya mempunyai kunci publiknya saja. (3) Belum ada teknik pembobolan lain yang lebih efektif daripada brute force attack, jadi untuk ukuran kunci yang panjang, sistem penyandian dengan RSA masih sangat baik dan sulit untuk dibobol. (4) Dalam proses pembuatan kunci publik dan kunci privat, terdapat beberapa faktor yang menjadi pertimbangan, yaitu ukuran dari kunci, penentuan nilai p dan q agar sulit untuk dibobol, dan kemungkinan kemungkinan kelemahan yang dapat diketahui saat data selesai dienkripsi
DAFTAR RUJUKAN Ariyus, Dony, 2008, Pengantar Ilmu Kriptografi: teori, analisis dan implementasi, Andi, Yogyakarta http://www.muppetlabs.com/~breadbox/txt/rsa.html#17, waktu akses: 28 juli 2010, 17.00 Kristiono, Privida, 2007, Pemrograman Database Tingkat Lanjut Dengan VB 6, Buku Kedua, PT Elex Media Komputindo, Jakarta. Muhammad Zarlis, 2008, Algoritma dan Pemrograman, USU Press, Medan M. Zaki Riyant, Ardhi Ardhian, 2008, Kriptografi Kunci Publik: Sandi RSA, Yogyakarta Rinaldi Munir,. 2006, Kriptografi, Informatika, Bandung,. Sanjaya Ridwan, Helmy, 2004. Mempercantik Desain Form pada Visual basic 6.0”, PT. Elex Media Komputindo : Jakarta.