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