ANALISA DAN PERANCANGAN PERANGKAT LUNAK KEAMANAN

advertisement
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.
Download