Minggu, 25 November 2012

sambungan praktikum9

contoh salah satu menggunakan digital signature

1.  Implementasi Algoritma SHARSA
Algoritma SHARSA merupakan penggabungan algoritma RSA dengan fungsi hash SHA-1. Pada fungsi hash SHA-1 masukan berupa string. Untuk mendapatkan message digest dari masukan tersebut, dilakukan fungsi hash sesuai yang telah dijelaskan pada bab sebelumnya.
Sedangkan pada algoritma RSA yang diimplementasikan, terdapat 3 fungsi utama, yaitu pembangkitan kunci berdasarkan username, fungsi enkripsi, dan fungsi dekripsi.
Pada proses pembangkitan kunci, dilakukan pencarian tiga bilangan prima secara acak berdasarkan username masukan pengguna dengan menjumlahkan jumlah karakter username dengan representasi integer dari setiap karakter pada username. Ketiga bilangan prima tersebut yang akan menjadi nilai p, q, dan e. Dari ketiga nilai tersebut dilakukan pembangkitan kunci sehingga mendapatkan kunci publik berupa nilai e, kunci privat berupa nilai d, dan modulo berupa nilai n.
Pada proses enkripsi menggunakan ukuran blok 8 byte. Untuk setiap bloknya dilakukan fungsi enkripsi dengan kunci publiknya untuk mendapatkan hasil cipherteks berupa representasi heksadesimal dari hasil penghitungan. Kemudian proses ini dilakukan secara terus menerus untuk blok selanjutnya sampai selesai. Representasi hasilnya menjadi “Hex0 Hex1 Hex2 ...”.
Pada porses dekripsi, masukan berupa string seperti di atas dibagi untuk setiap bloknya. Pada proses dekripsi tiap blok, dilakukan proses dekripsi dengan kunci privatnya sehingga mendapatkan array of byte dari blok tersebut. Proses ini dilakukan secara terus-menerus sampai selesai. Array of byte tersebut kemudian dijadikan string sehingga menjadi pesan plainteksnya.

2. Implementasi Keseluruhan
Secara keseluruhan, saya mengimplementasikan semua keempat algoritma tersebut ke dalam suatu aplikasi login sederhana. Tampilan utama aplikasi tersebut tampak pada gambar di bawah ini. 
 
Gambar 1. Tampilan Utama Aplikasi Login Sederhana
Pada gambar tersebut terdapat dua pilihan algoritma,yaitu GamalD5 dan SHARSA. Terdapat dua bagian pada setiap gabungan algoritma, yaitu login dan registrasi. Login merupakan proses pengecekan username dan password masukan pengguna dengan yang ada dalam basis data, sedangkan registrasi merupakan proses penyimpanan username dan password ke dalam basis data. Jika username atau password kosong saat tombol ditekan, maka akan muncul pesan kesalahan. Username masukan pengguna juga dibatasi hanya sampai 50 karakter. Proses registrasi hanya dapat dilakukan bila username belum ada dalam basis data, sedangkan proses login hanya dapat dilakukan apabila username terdapat pada basis data.
Pembangkitan kunci pada kedua gabungan algoritma tersebut berdasarkan username. Pada proses registrasi, password masukan pengguna diolah dengan fungsi hash terlebih dahulu. Kemudian hasil hash tersebut dienkripsi dengan algoritma ElGamal atau RSA dengan kunci publik yang telah dibangkitkan. Kemudian hasil enkripsi tersebut dimasukkan ke dalam basis data. Contoh proses registrasi tampak pada gambar di bawah ini.


Tidak ada komentar:

Posting Komentar