Perancangan DSA Perancangan RSA

8 Aplikasi yang dibuat memiliki fungsi utama sebagai berikut: 1 Menerima masukan data file yang tersimpan didalam hardisk pengguna dari sebuah alamat direktori tertentu. 2 Membangkitkan sepasang kunci yaitu kunci privat dan kunci publik key generation. 3 Membuat tanda tangan digital untuk sebuah masukan file tertentu signature generation. 4 Memverifikasi keabsahan pemilik tanda tangan ataupun file yang diperiksa signature verifying. Implementasiaplikasi tanda tangan digital inimenggunakan sistem operasi Microsoft Windows. Pengujian penggabungan antaraalgoritme tanda tangan digital dengan fungsi hash dibuat menurut skenariopengujian yang ditunjukkan pada Tabel 2. Tabel2Skenario pengujian penggabungan algoritme tanda tangan digital dengan fungsi hash. Perancangan aplikasi tanda tangan digital mengacukepada fungsi utama aplikasi, yang juga merupakan urutan proses pemberian tanda tangan terhadap sebuah dokumen digital. Masing-masing perancangan digambarkan dengan algoritme pemanggilan kelas-kelas yang terdapat pada Crypto++ Library. Rancangan tampilan antarmuka aplikasi simulasi ditunjukkan pada Gambar 6. Header - Pembangkitan Kunci - Pembangkitan Tanda Tangan SHA-256 - Pembangkitan Tanda Tangan SHA-384 - Pembangkitan Tanda Tangan TIGER - Verifikasi Tanda Tangan SHA-256 - Verifikasi Tanda Tangan SHA-384 - Verifikasi Tanda Tangan TIGER 1. DSA 2. RSA - Pembangkitan Kunci - Pembangkitan Tanda Tangan SHA-256 - Pembangkitan Tanda Tangan SHA-384 - Pembangkitan Tanda Tangan TIGER - Verifikasi Tanda Tangan SHA-256 - Verifikasi Tanda Tangan SHA-384 - Verifikasi Tanda Tangan TIGER 3. ECDSA - Pembangkitan Kunci - Pembangkitan Tanda Tangan SHA-256 - Pembangkitan Tanda Tangan SHA-384 - Pembangkitan Tanda Tangan TIGER - Verifikasi Tanda Tangan SHA-256 - Verifikasi Tanda Tangan SHA-384 - Verifikasi Tanda Tangan TIGER Gambar 6 Tampilan antarmuka aplikasi.

2.1 Perancangan DSA

• Pembangkitan kunci key generation, bagian ini berfungsi untuk membangkitkan kunci privat dan kunci publik. Kunci dibuat menggunakan seed yang dibangkitkan dari random number generator yang didalamnya memuat teknik subtitusi dan transformasi. Kunci privat dan publik, diakses dari pustaka kelas DSA. Penelitian ini menggunakan random number generator dari sistem operasi. Panjang kunci L yaitu 512 ≤ L ≤ 100, dan harus kelipatan 64, • Pembangkitan tanda tangan signature generation, pada tahap iniberfungsi untuk membangkitkan signatureuntuk file masukan dari pengguna, untuk proses ini diperlukan seed yang berasal dari pseudo random number generator PRNG, kunci privat yang berasal dari key generationdan informasi nilai panjang maksimum signature. Fungsi hash yang digunakan dipertukarkandiantara SHA-256, SHA- 384 dan Tiger, • Verifikasi tanda tangan signature verifying, pada blok ini fungsinya untuk memverifikasi signature dengan kunci publik dan membandingkan dengan filemessage aslinya, apakah message yang diterima sama dengan hasil verifikasi atau tidak. Jika tidak berarti file yang diterima tersebut sudah mengalami pengubahan data. DSA didasarkan pada kode program ElGamal, yang meletakkan keamanannya pada sulitnya menghitung logaritma diskret. Skenario Algoritme Fungsi Hash 1 DSA SHA-256 2 DSA SHA-384 3 DSA Tiger 4 RSA SHA-256 5 RSA SHA-384 6 RSA Tiger 7 ECDSA SHA-256 8 ECDSA SHA-384 9 ECDSA Tiger 9 Struktur template untuk skema aplikasi DSA, dalam penggunaan class library pada Crypto++ ditunjukkan pada Gambar 7. Gambar 7Inheritance diagram untuk DSA Anonim 2009.

2.2 Perancangan RSA

• Pembangkitan kunci key generation, pada blok ini berfungsi untuk membangkitkan kunci privat dan kunci publik. Sepasang kunci dibangkitkan dari dua bilangan prima p dan q. Nilai modulus n untuk menentukan kunci privat dan kunci publik. Untuk kunci publik e dipilih bilangan yang relatif prima terhadap modulus n. Selanjutnya ditentukan kunci privatd, menggunakan algoritme Euclidian dengan persamaan e.d = 1mod n. Nilai n tidak bersifat rahasia, sebab diperlukan dalam perhitungan enkripsi atau dekripsi, • Pembangkitan tanda tangan signature generation, pada bagian blok ini berfungsi untuk membangkitkan signature menggunakan kunci privat dan modulus n.Pada proses ini dibutuhkan pula akses random number generator. Signature file yang dihasilkan berisi sebuah nilai dalam bentuk format heksadesimal. Pengubahan nilai acak dari format yang terenkripsi menjadi nilai dalam bentuk format heksadesimal menggunakan sebuah decoder. Fungsi hash yang digunakan SHA-256, SHA- 384 dan Tiger, • Verifikasi tanda tangan signature verifying, bagian blok ini berfungsi untuk memverifikasi signature menggunakan kunci publik. Signature file diubah dari format heksadesimal menjadi format terenkripsi menggunakan encoder. Proses verifikasi memeriksa message yang diberikan, apakah message yang diterima sama dengan hasil verifikasi atau tidak. Jika tidak berarti file yang diterima tersebut sudah mengalami pengubahan data. Keamanan RSA terletak pada sulitnya memfaktorkan bilangan besar menjadi faktor-faktor primanya atau dalam istilah lain Integer Factorization Problem IFP. Struktur template untuk skema aplikasi RSA, dalam penggunaan class library pada Crypto++ ditunjukkan pada Gambar 8. Gambar 8Inheritance diagram untuk RSA Anonim 2009.

2.3 Perancangan ECDSA