perancangan sistem kriptanalisis rsa menggunakan jaringan
TRANSCRIPT
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
1
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.
Kata Kunci - Asimetris, Jaringan Syaraf Tiruan Perceptron,
Kriptanalisis, Kriptografi , RSA.
I. PENDAHULUAN
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
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.
II. METODE PENELITIAN
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.
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]
R
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
2
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 pra-
proses 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 langkah-
langkah 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)
𝑋
𝑋𝑚
𝑋𝑖
𝑌
𝑌𝑗
𝑌𝑛
𝑊
𝑊
𝑊
𝑊𝑖
𝑊𝑖
𝑊𝑖
𝑊𝑚
𝑊𝑚
𝑊𝑚
Input layer Output layer
B 𝐵
𝐵𝑗
𝐵𝑛
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
3
Jika tidak, maka
Langkah 6 : Test kondisi berhenti, jika tidak terjadi
perubahan bobot pada Langkah 2 maka
hentikan, kalau masih ada perubahan bobot
maka lanjutkan.
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
sebuat deret bilangan biner yang cocok untuk dikonversi
kedalam bilangan ascii, setelah didapatkan nilai ascii langsung
dikonversi ke dalam bentuk karakter.
III. HASIL PEMBELAJARAN(TRAINING)
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)].
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.
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.
mulai
[(spasi),A-Z,a-z], public
key(e,n) max epoh, L.rate, Treshold
Output : bobot
akhir
Inisialisasi bobot (random) i=0
hitungbobot baru
selesai
While i <= max.iter && j<banyak
karakter
Cari y_in setiap target
If y≠t True False
false
true
Pra-proses
Tabel 3. 2 Tabel Hasil Pembelajaran Neuron 8(berhasil)
L.rate Target
Eror
Max
Epoch
Epoch
yang
dicapai
Waktu
training
(detik)
0.2 0 1000 633 42,303
0.4 0 1000 235 15,155
0.6 0 1000 230 14,416
0.8 0 1000 126 8,149
1 0 1000 127 8,368
Gambar 3. 1 Grafik MSE Neuron 8 Untuk L.Rate 1(gagal)
Tabel 3. 1 Tabel Hasil Pembelajaran Neuron 8(gagal)
Learning
rate
Max
Epoch
Epoch
yang
dicapai
Target
Eror
Waktu
Training
(detik)
0.2 1000 1000 0 135.192
1 1000 1000 0 134,037
Gambar 2. 2 Diagram Alir Proses Pembelajaran
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
4
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.
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].
Berdasarkan hasil uji coba diatas tampak bahwa pada hasil
pembelajaran nilai learning rate 0,6 mendapatkan iterasi yang
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].
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.
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)
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.
Gambar 3. 3 Grafik MSE Neuron 27 Untuk L.Rate 0,6
Tabel 3. 3 Tabel Hasil Pembelajaran Neuron 27
L.rate Target
Eror
Max
Epoch
Epoch
yang
dicapai
Waktu
training
(detik)
0.2 0 1000 24 3.763
0.4 0 1000 21 2.934
0.6 0 1000 18 2.662
0.8 0 1000 20 3.165
1 0 1000 21 4.214
Gambar 3. 2 Grafik MSE Neuron 8 Untuk L.Rate 0.8(sukses)
Tabel 3. 4 Tabel Hasil Pembelajaran Neuron 53
L.rate Target
Eror
Max
Epoch
Epoch
yang
dicapai
Waktu
training
(detik)
0.2 0 1000 8 1,808
0.4 0 1000 11 2,259
0.6 0 1000 10 2,097
0.8 0 1000 9 1,886
1 0 1000 11 2,295
Gambar 3. 4 Grafik MSE Neuron 53 Untuk L.Rate 0,2
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
5
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.
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.
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 sample data kedua
mendapatkan plainteks: “qlo|oqoqnoy|dqxh|onm0gnhlqylhoonjosondjyxhquon|l|qoohdq
ooqnjxyoq|oqnuoq|njldoqn|lq1osxnqoohdqcqoohdqnjqx|o”
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 sample data kedua
mendapatkan plainteks: “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”
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.
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Ô ú >*
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Í £Ë
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
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
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
6
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 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”
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
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.
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] A.Shamir. 1995. RSA For Paranoids. RSA Laboratories
Volume 1, Number 3 – Autumn.
[2] R.Statica. 2003. New Approach To Cryptanalysis of RSA.
New Jersey Institute of Technology.
[3] Puspitaningrum, Diyah. 2006. Pengantar Jaringan Saraf
Tiruan. Yogyakarta : Penerbit Andi.
[4] Ariyunus, Dony. 2005. Kriptografi Keamanan Data dan
Komunikasi. Yogyakarta : Andi Offset
[5] Fausett, Laurence. 1994. Fundamentals of Neural Networks.
New Jersey : Printice-Hall Inc.
Tabel 4.3 Hasil Uji Coba Neuron 53 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.0050 0,0041 4 Plainteks berhasil dikenali 105 0 5 Plainteks gagal dikenali 1 106 6 Panjang cipherteks(karakter) 322 322 7 Akurasi (%) 99 0
Tabel 5.1 Perbandingan Persentase Keberhasilan Hasil Pembelajaran
neuron keakuratan
P.Key di training P.key tidak di
training
8 95,2% 0%
27 95,2% 0%
53 99% 0%