JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
1
Perancangan Sistem Kriptanalisis RSA Menggunakan Jaringan Syaraf Tiruan Perceptron Rimico Adyaksyah dan M Isa Irawan Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya E-mail:
[email protected] Abstrak - Jaringan syaraf tiruan perceptron diterapkan untuk mendapatkan plainteks dari cipherteks yang sudah dienkripsi melalui proses RSA. Algoritma RSA didesain dan di implementasikan pada sistem untuk mendapatkan sampel cipherteks yang akan diuji. Jaringan syaraf tiruan didesain menjadi tiga arsitektur yang berbeda. Dalam mendekripsikan cipherteks RSA jaringan syaraf tiruan yang didesain pada sistem hanya membutuhkan informasi kunci publik yang dimiliki cipherteks. Kunci publik tersebut diperlukan pada proses pembelajaran data pada algoritma perceptron. Cipherteks yang didapatkan dari hasil enkripsi algoritma kriptografi RSA dimanfaatkan sebagai data pembelajaran pada jaringan syaraf tiruan. Kemudian dengan melakukan simulasi pembelajaran data cipherteks dari algoritma Riverst Shamir Adleman (RSA), maka dapat dibangun jaringan syaraf tiruan untuk mencari pola keterkaitan antara plainteks dengan cipherteks supaya mendapatkan plainteksnya kembali. Prilaku Jaringan Syaraf Tiruan dengan arsitektur perceptron yang berbeda dalam training data cipherteks merupakan analisis yang dilakukan pada penelitian ini. Berdasarkan hasil pengujian yang telah dicapai, didapatkan bahwa hasil pendeskripsian dengan jaringan syaraf tiruan berhasil menditeksi cipherteks RSA menjadi huruf plainteks awalnya.
tiruan diinputkan informasi baru yang belum pernah dipelajari, maka jaringan saraf tiruan masih akan tetap dapat memberikan tanggapan yang baik, memberikan keluaran yang paling mendekati[3]. Sampai saat ini, berbagai pendekatan telah diusulkan sebagai metode kriptanalisis terhadap RSA. Beberapa macam serangan terhadap RSA antara lain Serangan GCD (Greatest Common Divisor), Serangan Common Modulus, Serangan Faktorisasi, Serangan Brute-Force dan Timming, Implementation Attack. Namun dari pendekatan-pendekatan tersebut masih membutuhkan waktu yang cukup lama[4]. Oleh karena itu peneliti mencoba memecahkan(cipherteks RSA) dengan cara memprediksi plainteks dengan bantuan Jaringan Syaraf Tiruan Perceptron. Tujuan dari penelitian ini yaitu mendapatkan proses pembelajaran cipherteks RSA dengan Jaringan Syaraf Tiruan yang tepat sehingga cipherteks tersebut dapat kembali ke plainteks awalnya. Kemudian membuktikan apakah jaringan syaraf tiruan mampu untuk melakukan kriptamalisis RSA sekaligus membandingkan hasil dari kinerja masing-masing neuron Perceptron yang berbeda.
Kata Kunci - Asimetris, Jaringan Syaraf Tiruan Perceptron, Kriptanalisis, Kriptografi , RSA.
II. METODE PENELITIAN
I. PENDAHULUAN
R
SA adalah algoritma kriptografi kunci publik paling populer yang digunakan saat ini. Algoritma ini diciptakan pada tahun 1976 oleh Rivest, Shamir, dan Adleman[1]. Popularitas dari algoritma ini bersumber pada tingkat keamanannya yang sangat baik, bersumber dari sulitnya pemfaktoran terhadap sebuah bilangan integer besar[2]. Jaringan syaraf tiruan, seperti manusia, belajar dari suatu contoh karena mempunya karakteristik yang adaptif, yaitu dapat belajar dari data-data sebelumnya dan mengenal pola data yang selalu berubah. Hal yang ingin dicapai dengan melatih jaringan saraf tiruan adalah untuk mencapai keseimbangan antara kemampuan memorisasi dan generalisasi, yang dimaksud kemampuan memorisasi adalah kemampuan jaringan saraf tiruan untuk mengambil kembali secara sempurna sebuah pola yang telah dipelajari. Kemampuan generalisasi adalah kemampuan jaringan saraf tiruan untuk menghasilkan respons yang bisa diterima terhadap pola-pola input yang serupa (namun tidak identik) dengan pola-pola yang sebelumnya telah dipelajari. Hal ini sangat bermanfaat bila pada suatu saat ke dalam jaringan saraf
A. Alat Penelitian Kebutuhan hardware dalam aplikasi perancangan system kriptanalisis RSA menggunakan jaringan syaraf tiruan Perceptron mulai dari tahap desain, perancangan, dan implementasinya menggunakan sebuah perangkat komputer dengan spesifikasi Processor Intel(R) Core(TM)2 Duo CPU T6500 2.10GHz, RAM 2,00 GB, VGA Memory Intel GMA 4500MHD, Harddisk 320GB. Adapun untuk kebutuhan software dalam aplikasi perancangan system kriptanalisis RSA menggunakan jaringan syaraf tiruan Perceptron mulai dari tahap desain, perancangan, dan implementasinya menggunakan sebuah perangkat komputer dengan spesifikasi Sistem Operasi Windows 8, Netbeans IDE 7.2.1 B. Perancangann Arsitektur Perceptron Jaringan syaraf tiruan pada tugas akhir ini memiliki 3 arsitektur berbeda, yaitu : klasifikasi 8 kategori, klasifikasi 27 kategori dan klasifikasi 53 kategori. Tujuan dibedakanya setiap kategori supaya mendapatkan arsitektur yang optimal dalam mendapatkan plainteks kembali. Berikut penjelasan setiap arsitektur tersebut.
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
B
2
𝐵 𝐵𝑗
𝑋 𝐵𝑛
𝑊 𝑊 𝑊
𝑌
𝑊𝑖
𝑋𝑖
𝑊𝑖
𝑌𝑗
𝑊𝑖
𝑌𝑛
𝑋𝑚 Input layer
𝑊𝑚 𝑊𝑚 𝑊𝑚
Output layer
Gambar 2. 1 Arsitektur Jaringan Syaraf Tiruan Perceptron
Pada gambar 2.1 menjelaskan arsitektur yang dibentuk pada jaringan syaraf tiruan Perceptron. Pada sistem ini digunakan 3 arsitektur yang berbeda, yaitu elemen input, dan target jaringan sebanyak Y=8 vektor, target jaringan sebanyak Y=27 vektor, target jaringan sebanyak Y=53 vektor. Penjelasan setiap target berbeda adalah sebagai berikut:
a)
Klasifikasi input menjadi 8 kategori (target jaringan = 8 vektor ) Dalam klasifikasi ini input layer sebanyak dan output layer sebanyak . Jadi input output dan nilai bobot . Dalam arsitektur ini diharapkan keluaran langsung menuju bilangan biner sebanyak 8 bit yang bisa langsung dikonversi ke dalam bilangan ascii kemudian dikonversi menjadi karakter yang ditargetkan. Pemilihan output jaringan sebanyak 8 neuron karena jumlah maksimum suatu bilangan ascii jika dikonversi menjadi bilangan biner menghasilkan bilangan biner sebanyak maksimum 8 bit. Hal ini sesuai dengan target yang membutuhkan keluaran, yang langsung dapat dikonversikan menjadi sebuah bilangan ASCII dengan nilai maksimum 255 atau dalam biner 11111111 sebanyak tepat 8 bit. Sehingga arsitektur janringan syaraf tiruan yang sesuai membutuhkan keluaran yang pas 8 bit dan tidak boleh dikurangi atau ditambahkan. b) Klasifikasi input menjadi 27 kategori ( target jaringan = 27 vektor) Dalam klasifikasi ini input layer sebanyak dan output layer sebanyak . Jadi input output dan nilai bobot . Dalam arsitektur ini diharapkan keluaran menuju klasifikasi huruf yang diurutkan mulai dari [(spasi),a-z] sebanyak 27 klasifikasi.
c)
Klasifikasi input menjadi 53 kategori( target jaringan = 53 vektor)
Dalam klasifikasi ini input layer sebanyak dan output layer sebanyak . Jadi input output dan nilai bobot . Dalam arsitektur ini diharapkan keluaran menuju klasifikasi huruf yang diurutkan mulai dari [(spasi),A-Z,a-z] sehingga terdapat sebanyak 53 klasifikasi. Pada klasifikasi input menjadi 27 dan 53 kategori, output jaringan syaraf tiruan yang dirancang langsung menuju huruf ke-i sehingga apabila dirancang keluaran jaringan yang kurang dari 27 tidak semua karakter [(spasi),a-z] masuk kedalam klasifikasi, karena banyaknya karakter yang diklasifikasikan sebanyak 27 karakter yaitu spasi dan huruf kecil. Hal ini juga berlaku pada klasifikasi input menjadi 53 kategori, hanya bedanya pada klasifikasi 53 kategori banyaknya karakter ditambahkan dengan semua huruf kapital sebanyak 26 karakter tambahan. Karena pada umumnya sebuah kalimat terdiri dari huruf dan spasi sehingga banyaknya target jaringan yang paling memenuhi sebanyak 27 dan 53 kategori, meskipun pada konteks jaringan syaraf tiruan target jaringan dapat didesain dan ditambahkan sehingga memenuhi semua karakter yang ada pada tabel ASCII sebanyak 256 karakter yang terdiri dari huruf, angka, dan simbol-simbol. C. Proses Pembelajaran Perceptron Pelatihan dimulai dengan menggunakan karakter berupa alphabet huruf A-Z, a-z dan (spasi). Karakter tersebut di enkripsi menggunakan RSA untuk mendapatkan bilangan hasil enkripsinya. Kemudian diolah melalui pra-proses untuk mendapatkan matriks input sepanjang 63 bit. Setelah matriks input diinisialisasi, plainteks awal di inisialisasi melalui praproses sebelum menjadi target pelatihan jaringan syaraf tiruan Perceptron. Flowchart proses pembelajaran cipherteks dengan Perceptron dapat dilihat pada Gambar 2.2. Proses ini merupakan tahap pembelajaran data (training), dimana pada proses ini akan mengeluarkan hasil pembelajaran berupa matriks bobot terpelajar, matriks bias dan banyaknya iterasi pembelajaran. Proses pembelajaran mengikuti langkahlangkah algoritma pembelajaran Perceptron[5]. Langkah-langkah algoritma pelatihan Perceptron adalah sebagai berikut: Langkah 0 : Inisialisasi semua bobot dan bias (umumnya ). Set laju pembelajaran ( ) (untuk penyederhanaan set ). Kemudian set Langkah 1 : Selama kondisi berhenti benilai FALSE lakukan langkah- langkah 2 – 6. Langkah 2 : Untuk setiap pasangan kerjakan langkah 3–5. Langkah 3 : Set aktivasi unit masukan Langkah 4 : Hitung respon untuk unit output : =∑ (2.1) {
(2.2)
Langkah 5 : Perbaiki bobot dan bias pola jika maka bobot harus diubah menggunakan rumus : (2.3) (2.4)
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 Jika tidak, maka
Langkah 6 :
sebuat deret bilangan biner yang cocok untuk dikonversi kedalam bilangan ascii, setelah didapatkan nilai ascii langsung dikonversi ke dalam bentuk karakter.
Test kondisi berhenti, jika tidak terjadi perubahan bobot pada Langkah 2 maka hentikan, kalau masih ada perubahan bobot maka lanjutkan. mulai
[(spasi),A-Z,a-z], public key(e,n) max epoh, L.rate, Treshold
0.2 1
false
true Cari y_in setiap target
If y≠t
True
A. Hasil Pembelajaran Neuron 8 Hasil pembelajaran untuk mendekripsikan sample cipherteks yang memiliki public key (e,n)= (163,90319) dengan hasil proses pembelajaran ditunjukkan pada Tabel 3.1 berikut, dengan data training menggunakan data karakter [(spasi,A-Z,a-z)]. Learning rate
Inisialisasi bobot (random) i=0
While i <= max.iter && j
III. HASIL PEMBELAJARAN(TRAINING)
Tabel 3. 1 Tabel Hasil Pembelajaran Neuron 8(gagal)
Pra-proses
False
3
hitungbobot baru
Max Epoch 1000 1000
Epoch yang dicapai 1000 1000
Target Eror 0 0
Waktu Training (detik) 135.192 134,037
Gambar 3.1 merupakan grafik error yang dihasilkan pada training data tabel 3.1 dengan nilai learning rate yang di-set 0.2, menghasilkan grafik yang tidak konvergen terhadap nilai error target. Ini bisa terjadi jika ada kesalahan dalam mencari nilai bobot pada lapisan keluaran. Proses pembelajaran dilakukan secara maksimal, yaitu dilakukan sampai 1000 iterasi. Dimana nilai eror yang dihasilkan kurang begitu baik karena masih diatas nilai target yang ditentukan.
Output : bobot akhir selesai Gambar 2. 2 Diagram Alir Proses Pembelajaran
Jika sampai epoch maksimum bobot tetap mengalami perubahan, maka pelatihan dihentikan dan bobot dipakai apa adanya. Bobot-bobot inilah yang nanti akan digunakan untuk kriptanalisis cipherteks. D. Dekripsi dengan Perceptron Pengenalan huruf dimulai dengan menggunakan cipherteks hasil enkripsi RSA. Cipherteks tersebut kemudian dikonversi menjadi urutan bilangan hasil enkripsinya dan diinisialisasi bersama dengan kunci publiknya. Proses tersebut merupakan pra-proses inisialisasi data input pengenalan cipherteks dengan jaringan syaraf tiruan perceptron. Algoritma perceptron yang dipakai untuk pengujian sama seperti algoritma perceptron pada proses pembelajaran, namun disini yang digunakan hanya sampai langkah 4. Jadi tanpa pengujian nilai target dan perubahan bobot. Setelah setiap unit keluaran didapatkan, dalam kasus neuron 27 dan 53 jika berarti pola yang dimassukkan merupakan huruf ke-i. Jika tidak ada satupun maka pola yang diinputkan tidak bisa diklasifikasikan. Sedangkan khusus untuk neuron 8 setiap neuron yang didapatkan di cek setiap diganti dengan nilai 0 supaya mengeluarkan
Gambar 3. 1 Grafik MSE Neuron 8 Untuk L.Rate 1(gagal)
Karena pada skenario ini waktu training terlalu lama dan nilai target eror tidak tercapai, sedangkan iterasi sudah mencapai maksimum, maka percobaan dengan skenario ini langsung dihentikan dan diganti dengan skenario yang berbeda, yaitu panjang huruf yang diinisialisasi dikurangi sehingga data karakter menjadi [(spasi,a-z)] dengan public key (e,n)= (163,90319) dan hasil dari proses ini ditunjukkan pada Tabel 3.2 berikut. Tabel 3. 2 Tabel Hasil Pembelajaran Neuron 8(berhasil)
L.rate
Target Eror
Max Epoch
0.2 0.4 0.6 0.8 1
0 0 0 0 0
1000 1000 1000 1000 1000
Epoch yang dicapai 633 235 230 126 127
Waktu training (detik) 42,303 15,155 14,416 8,149 8,368
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 Berdasarkan hasil uji coba, tampak bahwa pada learning rate 0.8 menghasilkan iterasi yang paling sedikit dan waktu yang dibutuhkan untuk pembelajaran lebih singkat, sedangkan jika nilai learning rate di set lebih kecil proses pembelajaran membutuhkan waktu yang lebih lama lagi dan menghasilkan iterasi yang lebih banyak. Pada Gambar 3.2 berikut merupakan grafik yang ditampilkan hasil grafik untuk learning rate sebesar 0.8 dengan batas maksimum 1000 epoh, dimana nilai error yang didapat cukup bagus dengan grafik yang konvergen menuju ke-0.
4 paling sedikit. Sebaliknya apabila nilai learning rate diperbesar/diperkecil mendapatkan iterasi yang lebih banyak. Jika dibandingkan dengan neuron 8, waktu yang dibutuhkan untuk pembelajaran lebih singkat dari neuron 8. Pada neuron ini nilai eror menjadi lebih baik dan menghasilkan iterasi yang lebih sedikit. Grafik error pada learning rate 0.6 yang konvergen ke-0 ditunjukkan pada Gambar 3.3. C. Dasil Pembelajaran Neuron 53 Hasil pembelajaran neuron 53 untuk mendekripsikan cipherteks yang memiliki public key (e,n)= (163,90319) ditunjukkan pada Tabel 3.4. Proses pembelajaran ini menggunakan data karakter[(spasi), A-Z, a-z]. Tabel 3. 4 Tabel Hasil Pembelajaran Neuron 53
Gambar 3. 2 Grafik MSE Neuron 8 Untuk L.Rate 0.8(sukses)
B. Hasil Pembelajaran Neuron 27 Hasil pembelajaran neuron 27 untuk mendekripsikan sample cipherteks yang memiliki public key (e,n)= (163,90319) akan ditunjukkan pada Tabel 3.3 Proses pembelajaran neuron ini menggunakan data karakter[(spasi), A-Z, a-z].
L.rate
Target Eror
Max Epoch
0.2 0.4 0.6 0.8 1
0 0 0 0 0
1000 1000 1000 1000 1000
Epoch yang dicapai 8 11 10 9 11
Waktu training (detik) 1,808 2,259 2,097 1,886 2,295
Pada Gambar 3.4 dapat dilih grafik error setiap iterasi untuk learning rate yang diset sebesar 0,2 dengan epoch maksimum 1000. Grafik tersebut juga konvergen menuju nilai yang ditargetkan yaitu=0.
Tabel 3. 3 Tabel Hasil Pembelajaran Neuron 27
L.rate
Target Eror
Max Epoch
0.2 0.4 0.6 0.8 1
0 0 0 0 0
1000 1000 1000 1000 1000
Epoch yang dicapai 24 21 18 20 21
Waktu training (detik) 3.763 2.934 2.662 3.165 4.214
Gambar 3. 4 Grafik MSE Neuron 53 Untuk L.Rate 0,2
Berdasarkan hasil uji coba diatas tampak bahwa pada hasil pembelajaran nilai learning rate 0,2 mendapatkan iterasi yang paling sedikit. Namun perubahan iterasi dengan dirubahnya nilai learning rate menjadi lebih tinggi tidak terlalu jauh berbeda dengan nilai-nilai sebelumnya. Jika dibandingkan dengan neuron 27, waktu yang dibutuhkan untuk pembelajaran lebih singkat dari neuron 27. Pada neuron ini nilai eror menjadi lebih baik dan menghasilkan iterasi yang lebih sedikit. IV. HASIL PENGENALAN (TESTING)
Gambar 3. 3 Grafik MSE Neuron 27 Untuk L.Rate 0,6
Berdasarkan hasil uji coba diatas tampak bahwa pada hasil pembelajaran nilai learning rate 0,6 mendapatkan iterasi yang
Pengujian proses pembelajaran dilakukan dalam bentuk simulasi. Sistem diuji dengan menggunakan jenis plainteks yang sudah dienkripsi dengan dua kunci yang berbeda. Sampel data pertama di training dengan jaringan syaraf tiruan yang sudah dibuat dan sampel data ke-dua tidak diikutsertakan dalam proses training. Dalam hasil pengujian ini dibagi menjadi 3 bagian yaitu pengujian pada neuron 8, pengujian pada neuron 27 dan terakhir pengujian pada neuron 53.
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 Jadi, untuk mendekripsikan data yang pertama diperlukan kunci publik(E,N) yang dimiliki oleh cipherteks yang pertama. Kunci publik ini digunakan pada inisialisasi pra-proses. Selanjutnya untuk mendekripsikan data yang ke dua langsung menggunakan beban akhir hasil dari pembelajaran inisialisasi data yang pertama. Berikut sample data plainteks dan cipherteks RSA yang digunakan pada proses pengujian. 1) Sample Data Pertama Sample data ini memiliki kunci yang sama dengan proses pembelajaran. Pada sample data dibawah ini waktu yang dibutuhkan algoritma RSA untuk mengenkripsi data 0,026 detik dan waktu yang dibutuhkan untuk mendekripsi 67,566 detik. Plainteks “Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima” P=499 Q=181 Public key (e,n)=(163,90319) Private key (d,m)=(26947,89640) Cipherteks : üRŒ[ú dÔ ú •Dú •D>*ú ÕG ‡ ëL ü ÷ S?dÔ ú >*Ì !À ÕŠ >*S?Œ[ü ÕG Œ[S?ú •*>* ä ú (Ž ú >*o{ Ö{ ÕG ÷ S?•DÅ/ ú >*dÔ Œ[dÔ p ú •*S?ëL ü •*ú •D>*¾~ ÷ ÕG ú •D‡ ú •D>*Å/ ú •D‡ >*¾~ Œ[o{ ú ü >*dÔ Œ[•D¶é ú (Ž ÷ >*p ú •*S?ëL ü Ó# p ú •*S?ëL ü >* ä ü ÷ dÔ ú >* 2) Sample Data Kedua Sample data ini memiliki kunci yang berbeda dengan proses pembelajaran. Pada sample data dibawah ini waktu yang dibutuhkan algoritma RSA untuk mengenkripsi data 0,020 detik dan waktu yang dibutuhkan untuk mendekripsi 172,988 detik. Plainteks “Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima” P=173 Q=503 Public key (e,n)=(41,87019) Private key (d,m)=(44225,86344) Cipherteks : K% •_ £Ë NÍ £Ë Ò! £Ë Ò! šX £Ë EA@Í NÞ 7äì °NÍ £Ë šX ×S ` â šX °•_ 7EA•_ °£Ë Í šX 9Ý £Ë ¸#£Ë šX v¾ ÷EAäì °Ò! Eö £Ë šX NÍ •_ NÍ ¢g £Ë Í °NÞ 7Í £Ë Ò! šX · äì EA£Ë Ò! @Í £Ë Ò! šX Eö £Ë Ò! @Í šX · •_ v¾ £Ë 7šX NÍ •_ Ò! '£Ë ¸#äì šX ¢g £Ë Í °NÞ 7Ÿ* ¢g £Ë Í °NÞ 7šX 9Ý 7äì NÍ £Ë
5 A. Pengujian Hasil Pembelajaran Neuron 8 Pengujian dilakukan pada nilai learning rate hasil pembelajaran yang terbaik, yaitu dengan nilai learning rate 0.8. Dari pengujian neuron ini didapatkan hasil sebagai berikut. 1) Hasil pendekripsian pada sample data pertama mendapatkan plaiteks: “veamanan algoritma lon terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktorufaktor prima”
2)
Hasil pendekripsian pada mendapatkan plainteks:
sample
data
kedua
“qlo|oqoqnoy|dqxh|onm0gnhlqylhoonjosondjyxhquon|l|qoohdq ooqnjxyoq|oqnuoq|njldoqn|lq1osxnqoohdqcqoohdqnjqx|o” Tabel 4.1 Hasil Uji Coba Neuron 8 No Kriteria Hasil data Sample 1 Sample 2 1 Waktu enkripsi RSA(detik) 0,026 0,020 2 Waktu dekripsi RSA(detik) 67,566 172,988 3 Waktu testing JST(detik) 0.0030 0,0050 4 Plainteks berhasil dikenali 101 0 5 Plainteks gagal dikenali 5 106 6 Panjang cipherteks(karakter) 322 322 7 Akurasi (%) 95,2 0
B. Pengujian Hasil Pembelajaran Neuron 27 Pengujian dilakukan pada nilai learning rate hasil pembelajaran yang terbaik, yaitu dengan nilai Learning Rate=1. dari pengujian neuron ini didapatkan hasil sebagai berikut. 1) Hasil pendekripsian pada sample data pertama mendapatkan plaiteks: “keamanan algoritma rsa terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktorfaktor prima”
2)
Hasil pendekripsian pada mendapatkan plainteks:
sample
data
kedua
“d,h,t,w,y,yu,z,za,b,j,u,uj,r,x,xa,b,j,u,uha,b,j,u,uhua,b,j,u,un,o,t,t rdj,p,r,u,v,vh,r,rj,r,x,xa,b,j,u,uul,u,uf,k,r,t,tvuh,r,ru,z,zdn,o,t,tu,z, zh,r,ra,b,j,u,ua,f,o,v,vuxa,b,j,u,uc,h,k,ka,b,j,u,uufo,r,rn,o,t,tj,p,r, u,v,vh,r,rhq,w,wa,b,j,u,uuj,r,x,xu,z,zj,r,x,xb,l,u,ua,b,j,u,ua,f,o,v,v h,r,rda,f,o,v,va,b,j,u,uhua,l,n,r,rj,p,r,u,v,vn,o,t,ta,b,j,u,uhra,b,j,u ,uhuq,w,wa,b,j,u,uhrua,l,n,r,ru,z,zfa,b,j,u,uduj,r,x,xu,z,zhn,t,ta,b ,j,u,uc,h,k,kj,p,r,u,v,vub,l,u,ua,b,j,u,ua,f,o,v,vh,r,rda,v,vb,l,u,ua, b,j,u,ua,f,o,v,vh,r,rduxdj,p,r,u,v,vj,r,x,xa,b,j,u,u” Tabel 4.2 Hasil Uji Coba Neuron 27 No Kriteria Hasil data Sample 1 Sample 2 1 Waktu enkripsi RSA(detik) 0,026 0,020 2 Waktu dekripsi RSA(detik) 67,566 172,988 3 Waktu testing JST(detik) 0.0040 0,0041 4 Plainteks berhasil dikenali 101 0 5 Plainteks gagal dikenali 5 106 6 Panjang cipherteks (karakter) 322 322 7 Akurasi (%) 95,2 0
C. Pengujian Hasil Pembelajaran Neuron 53 Pengujian dilakukan pada nilai learning rate hasil pembelajaran yang terbaik, yaitu dengan nilai learning rate=1. dari pengujian neuron ini didapatkan hasil sebagai berikut.
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 1) Hasil pendekripsian mendapatkan plaiteks:
pada
sample
data
pertama
“Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktorfaktor prima”
2) Hasil pendekripsian pada sample data kedua mendapatkan plainteks: “BJBaBaBOTF,J,JHJBTHOHBA,V,VBH,r,rBI,d,dO,o,oOF,J,J HaIBJJY,p,pBA,V,VHA,V,VBaLF,J,JOBaTBaIBaTLI,d,dBJaV,n,n BH,r,rF,J,JY,p,pBA,V,VHY,p,pBA,V,VHF,J,JJB” Tabel 4.3 Hasil Uji Coba Neuron 53 No Kriteria 1 2 3 4 5 6 7
Waktu enkripsi RSA(detik) Waktu dekripsi RSA(detik) Waktu testing JST(detik) Plainteks berhasil dikenali Plainteks gagal dikenali Panjang cipherteks(karakter) Akurasi (%)
Hasil data Sample 1 Sample 2 0,026 0,020 67,566 172,988 0.0050 0,0041 105 0 1 106 322 322 99 0
V. PEMBAHASAN HASIL PENGUJIAN SECARA KESELURUHAN Sistem pendekripsian cipherteks menggunakan neuron 8 cukup berhasil dengan keakuratan mendekripsi cipherteks dengan public key yang sudah di training sebesar 95,2%. Namun kekurangan pada neuron ini tidak bisa mendekripsikan cipherteks menjadi huruf besar, bahkan plainteks yang seharusnya dihasilkan menjadi huruf besar dianggap dengan huruf kecil yang lain. Hal ini disebabkan jumlah data pembelajaran pada neuron ini terbatas, sebanyak 26 data huruf dan “ spasi” sehingga jika data huruf diperbanyak lagi neuron ini tidak menghasilkan nilai eror yang ditargetkan dan berdampak pada pendekripsian yang salah total seperti yang ditampilkan pada Gambar 3.1. Keberhasilan sistem pendekripsian cipherteks yang sudah di training menggunakan neuron 27 sama dengan neuron 8 sebanyak 95,2%. Bedanya disini dalam kasus mendekripsikan huruf besar sudah cukup teratasi dengan mengembalikan ke plainteks yang sama namun masih dianggap sebagai huruf kecil, seperti kesalahan neuron 8 yang terjadi pada karakter “K,R,S,A”, karakter tersebut dalam neuron ini dianggap sebagai “k,r,s,a” dan untuk simbol “-” masih belum bisa didekripsikan dengan baik. Selanjutnya sama dengan neuron 8, keakuratan neuron ini dalam menguji cipherteks yang kunci publiknya belum di training sebesar 0% atau bisa dikatakan proses pengujian gagal total. Hal ini disebabkan oleh nilai bobot keluaran dari sample uji yang dihasilkan mendekati dengan nilai target untuk data yang sudah di training. Keberhasilan sistem pendekripsian cipherteks yang sudah di training neuron 53 sama dengan neuron 27, namun untuk mendekripsikan huruf disini lebih tepat dan perbedaan pengembalian huruf besar dan huruf kecil disini menjadi lebih berhasil. Masalah pada neuron 27 yang menganggap karakter “K,R,S,A” sebagai karakter “k,r,s,a” sudah dapat teratasi pada neuron ini. Namun simbol ”-” masih belum bisa didapatkan dengan baik. Hal ini dikarenakan proses pembelajaran neuron 53 hanya bisa membaca [(spasi),huruf besar, dan huruf kecil] jadi jika terdapat sebuah angka/simbol selain itu didalam plainteks masih belum bisa didekripsikan secara tepat. Nilai keberhasilan pada pendekripsian cipherteks yang sudah di
6 training neuron 53 sebesar 99%. Dimana hanya terdapat satu saja kesalahan yaitu pada pendekripsian untuk mendapatkan simbol ”-”. Dari 3 pengujian neuron yang dilakukan didapat hasil keakuratan dari sistem jaringan syaraf tiruan yang ditunjukkan pada Tabel 5.1Berikut ini. Tabel 5.1 Perbandingan Persentase Keberhasilan Hasil Pembelajaran
neuron
8 27 53
keakuratan P.Key di training P.key tidak di training 95,2% 0% 95,2% 0% 99% 0%
VI. KESIMPULAN/RINGKASAN Berdasarkan analisis terhadap hasil pengujian sistem kriptanalisis RSA menggunakan algoritma Jaringan Syaraf Tiruan Perceptron, maka dapat diambil beberapa kesimpulan sebagai berikut: 1. Besarnya epoch berpengaruh terhadap lamanya waktu yang diperlukan untuk proses training. Kesalahan dalam proses training akan berpengaruh pada nilai eror yang didapat. Nilai eror yang ditampilkan pada grafik eror tergantung pada settingan learning rate pada setiap neuron yang berbeda. Semakin besar neuron yang di desain, nilai eror proses pembelajaran semakin kecil. 2. Faktor pemilihan jenis neuron pada proses pembelajaran berpengaruh pada hasil kriptanalisis. Dengan neuron 8 keberhasilan data yang di training 95,2% dan data yang tidak di training 0%. Dengan neuron 27 keberhasilan data yang di training 95,2% dan data yang tidak di training 0%. Dengan neuron 53 keberhasilan data yang di training 99% dan data yang tidak di training 0%. 3. Dalam pendekripsian cipherteks, jika kunci publik RSA di pelajari terlebih dahulu dengan jaringan syaraf tiruan. Neuron 53 memperoleh hasil yang lebih baik untuk mendapatkan plainteks awalnya. Jika kunci publik RSA tidak di training terlebih dahulu dengan jaringan syaraf tiruan, tidak ada satupun Neuron yang memperoleh hasil yang diharapkan untuk mendapatkan plainteks awalnya. Hal ini disebabkan karena konteks jaringan syaraf tiruan pada sistem yang memahami jenis data yang sudah di simpan/training. DAFTAR PUSTAKA [1] [2] [3] [4] [5]
A.Shamir. 1995. RSA For Paranoids. RSA Laboratories Volume 1, Number 3 – Autumn. R.Statica. 2003. New Approach To Cryptanalysis of RSA. New Jersey Institute of Technology. Puspitaningrum, Diyah. 2006. Pengantar Jaringan Saraf Tiruan. Yogyakarta : Penerbit Andi. Ariyunus, Dony. 2005. Kriptografi Keamanan Data dan Komunikasi. Yogyakarta : Andi Offset Fausett, Laurence. 1994. Fundamentals of Neural Networks. New Jersey : Printice-Hall Inc.