perancangan sistem kriptanalisis rsa menggunakan … · jurnal teknik pomits vol. 1, no. 1, (2012)...

6
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

Upload: lamtram

Post on 17-Sep-2018

220 views

Category:

Documents


0 download

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%