Minggu, 25 November 2012

NALISIS DIGITAL SIGNATURE

by maya sari, minggu 25-Nov 2012 (jam 22:34)
NALISIS DIGITAL  SIGNATURE
Untuk membandingkan algoritma GamalD5 dan SHARSA, saya melakukan proses registrasi dan login sebanyak 10 kali dengan username dan password yang sama untuk kedua algoritma tersebut. pada setiap bloknya dihasilkan array of byte yang jumlahnya hampir sama dengan array of byte masukan. Dengan adanya fungsi hash SHA-1 sebagai masukan fungsi enkripsi RSA yang menghasilkan 160 bit message digest, tidak terlalu mempengaruhi selisih tersebut, karena hasil dari SHA-1 memiliki selisih yang cukup kecil dengan hasil MD5, yaitu 128 bit. Oleh karena itu, ukuran hasil algoritma GamalD5 lebih besar dari pada ukuran hasil algoritma SHARSA.
Berdasarkan tabel hasil pengujian proses login, proses login dengan algoritma GamalD5 membutuhkan waktu rata-rata 2240,1 milisekon sedangkan algoritma SHARSA membutuhka waktu rata-rata 2702,8 milisekon. Hal ini dikarenakan algoritma RSA membutuhkan waktu lebih untuk pengecekan relatif prima sedangkan algoritma ElGamal tidak ada pengecekan relatif prima. Selain itu, fungsi hash SHA juga membutuhkan waktu lebih untuk melakukan 80 putaran, sedangkan fungsi hash MD5 hanya melakukan 4 putaran. Oleh karena itu, waktu yang dibutuhkan untuk proses login dengan algoritma SHARSA lebih besar dari pada dengan algoritma GamalD5.
Jika melihat dari sisi kompleksitas algoritma, algoritma SHARSA memiliki kompleksitas yang hampir sebanding dengan algoritma GamalD5. Jika melihat sesama fungsi hash, SHA-1 lebih kompleks dari pada MD5 karena melakukan 80 putaran sedangkan MD5 melakukan 4 putaran. Selain itu, pesan yang dihasilkan oleh SHA-1 juga lebih panjang dari pada pesan yang dihasilkan oleh MD5. Sedangkan dari sisi algoritma enkripsi dan dekripsi, ElGamal lebih kompleks dari pada RSA karena melakukan 2 fungsi pada proses enkripsi dan dekripsi. Hasil dari enkripsi ElGamal juga ada 2 sehingga lebih membingungkan orang yang ingin melakukan kriptanalisis. Akan tetapi, bila menggunakan bilangan prima yang berukuran besar, RSA lebih baik dari pada ElGamal karena membutuhkan waktu dan tenaga yang besar untuk dapat memfaktorkannya apabila melakukan kriptanalisis. Apabila dilihat dari persebaran waktu, SHARSA cukup stabil bila dibandingkan dengan GamalD5. Tampak pada tabel hasil pengujian, waktu rata-rata yang dibutuhkan untuk melakukan algoritma SHARSA.

SIMPULAN DAN SARANARAN
Algoritma digital signature memiliki banyak kegunaan, terutama di bidang keamanan. Algoritma ini juga dapat dikembangkan dengan penggabungan beberapa algoritma yang telah ada, misalnya ElGamal dengan MD5 menjadi GamalD5 atau RSA dengan SHA menjadi SHARSA. Apabila dibandingkan, algoritma GamalD5 lebih baik dari pada algoritma SHARSA dalam waktu pemrosesan dan kompleksitas hasil enkripsi. Sedangkan algoritma SHARSA lebih baik dari pada algoritma GamalD5 dalam ukuran hasil enkripsi dan kompleksitas algoritma. Walaupun memiliki kelebihan masing-masing, apabila hal positif dari kedua algoritma tersebut digabungkan pasti akan mendapatkan suatu algoritma yang lebih baik. Fungsi hash SHA-1 memiliki kelebihan di bidang kompleksitas algoritma, sedangkan algoritma ElGamal memiliki kelebihan di bidang efisiensi waktu. Jika kedua hal ini digabungkan, maka akan menjadi algoritma yang lebih mangkus, seperti yang diterapkan pada Digital Signature Standard dengan fungsi SHA dan algoritma digital signature yang merupakan turunan dari algoritma ElGamal.
Untuk membuat digital signature dengan satu algoritma sudah bisa menjadi aman, tetapi dengan menggabungkan beberapa algoritma bisa menjadi lebih aman. Oleh karena itu, perlu dilakukan perkembangan terus terhadap algoritma ini agar selalu bisa menjadi lebih aman. Kriptanalisis dan pengujian juga perlu dilakukan sebagai parameter ketercapaian segi keamanan pada algoritma tersebut. Oleh karena itu, baik algoritma yang telah ada maupun algoritma baru yang akan dibuat harus selalu dikembangkan untuk menciptakan algoritma baru dengan tingkat keamanan yang lebih tinggi.

sambungan Praktikum9 ke_2





 
Pada proses login, password masukan pengguna diolah terlebih dahulu dengan fungsi hash. Kemudian password hasil enkripsi diambil dari basis data dan didekripsi menggunakan algoritma ElGamal atau RSA dengan kunci privat yang telah dibangkitkan. Kemudian hasil dekripsi tersebut dibandingkan dengan hasil fungsi hash tadi. Apabila cocok, maka proses login berhasil. Tampilan proses login tampak pada gambar di bawah ini.
 
Gambar 3. Tampilan saat Login
Untuk menyimpan data username dan password, digunakan basis data MySQL. Basis data yang dibuat diberi nama “login” dengan sebuah tabel “userpass”. Dalam tabel tersebut terdapat 4 buah kolom, yaitu index, username, password, dan algoritma. Index didapatkan secara otomatis dengan menambahkan angka 1 setiap ada masukan ke dalam basis data. Username merupakan username masukan dari pengguna. Password merupakan hasil enkripsi dari password masukan pengguna. Algoritma merupakan jenis gabungan algoritma yang digunakan untuk proses registrasi. Gambar di bawah ini menunjukkan struktur basis data yang dibuat.