Schnorr Authentication and Digital Signature Scheme

2.6.3 Protokol Tanda Tangan Digital (Digital Signature)

Protokol ini dapat dianalogikan seperti pengiriman surat yang menggunakan tanda tangan biasa. Fandi memang dapat merasa yakin bahwa tanda tangan Seha adalah asli, tetapi bagaimana Fandi dapat memastikan bahwa isi pesan adalah asli dan tidak diganti oleh pihak ketiga. Untuk memastikan keaslian dan keutuhan pesan, Seha membubuhkan tanda tangan digitalnya pada pesan tersebut. Tanda tangan digital itu tidak mudah ditiru orang lain, hanya sah untuk pesan itu saja dan dapat diperiksa oleh Fandi.

Menurut Munir (2006:253) Protokol dari skema tanda tangan digital Schnorr dapat dijabarkan sebagai berikut:

1. Seha mengambil sebuah bilangan acak, r, yang lebih kecil daripada q dan menghitung x = a r mod p.

2. Seha menggabungkan M dan x, dan menghitung nilai hash dari hasil penggabungan.

e = H(M, x).

3. Seha menghitung y = (r + se) mod q. Tandatangannya adalah e dan y. Seha mengirimkannya kepada Fandi.

y 4. e Fandi menghitung x’ = a v mod p dan memverifikasi nilai e dengan nilai hash dari penggabungan dari M dan x’.

e = H(M,x’). Jika nilai e sesuai dengan nilai hash, maka tandatangan tersebut dianggap valid . Dengan menggunakan contoh proses pembentukan kunci pada subbab 2.7.1, perhatikan contoh skema tanda tangan digital di bawah ini: Misalkan nilai M (pesan) = 100

1. Seha memilih nilai r = 17 (r lebih kecil dari q yang bernilai 23) dan menghitung:

x=a r mod p x = 40433 17 mod 816961

x = 402127

2. Seha menggabungkan M dan x, dan menghitung nilai hash dari hasil penggabungan.

Hasil penggabungan M (100) dan x (402127) = 100402127 Misalkan fungsi hash H(z) = (z * 2) + 1, maka e = H(M, x) = (100402127 * 2) + 1 = 200804255.

3. Seha menghitung: y = (r + se) mod q y = (17 + 15 . 200804255) mod 23 y = 11

Tanda tangan digital adalah e (200804255) dan y (11). Seha mengirimkannya kepada Fandi.

6. Fandi menghitung:

x’ = ((a e ).(v )) mod p

x’ = ((a e ) mod p . (v ) mod p) mod p

11 x’ = (40433 200804255 mod 816961) . (578423 mod 816961) mod 816961

x’ = (131633 . 501222) mod 816961 x’ = 402127

Hasil penggabungan M (100) dan x’ (402127) = 100402127

Fandi memverifikasi: e = H(M, x’) 200804255 = (100402127 * 2) + 1 200804255 = 200804255 (True) Verifikasi tanda tangan sesuai.