2 Perhitungan
3 Kekurangan
4 Kelebihan
5 Contoh Kasus
Welcome!!
Pengertian
Pengertian DSA
Pengantar
• Pengiriman pesan elektronik melalui media internet merupakan
suatu hal yang rawan terhadap penyadapan, pencurian, dan
pemalsuan informasi.
• DSA beroperasi pada Panjang kunci yang bervariasi dari 512 bit
sampai 1024 bit. 3 proses utama algoritma DSA terdiri atas
pembentukan kunci, pembentukan tanda , dan proses verifikasi
Pengertian DSA
Tanda tangan digital memiliki beberapa sifat, yaitu:
1. Otentik, tidak bisa ditiru oleh orang lain. Pesan dan tanda tangan
tersebut juga bisa menjadi barang bukti, sehingga penendatangan
tidak bisa menyangkal bahwa dahulu ia pernah tidak pernah
menandatanganinya.
2. Hanya sah untuk dokumen (pesan) itu saja atau kopinya yang sama
persis. Tanda tangan tidak bisa dipindah ke pesan lainnya, meskipun
pesan lain itu hanya berbeda sedikit. Ini juga berarti bahwa jika pesan
itu diubah, maka tanda tangan digital dan pesan tersebut tidak lagi sah
• h adalah bilangan bulat antara 1 sampai (p-1) dengan batasan g harus lebih
besar dari 1
• Kunci privat x dibentuk dari bilangan bulat antara 1 sampai (q-1) yang
dipilih secara acak
• Kunci publik dibentuk dari persamaan y = g x mod p
Perhitungan
Langkah-langkah pada proses tandatangan digital sebagai
berikut (Munir, 2006) :
1
2
Menentukan
3
parameter DSA
untuk melakukan Pembangkitan
tandatangan digital sepasang kunci
Pembangkitan
untuk mengenkripsi
tandatangan
dan mendekripsi
(signing) :
massage digest
Perhitungan
A. Menentukan parameter DSA untuk melakukan tandatangan digital yaitu:
1. p adalah bilangan prima dengan panjang L bit, Dimana 2L-1 < p < 2L dengan
512 ≤ L ≤ 1024 dan L adalah kelipatan 64.
2. q bilangan prima 160 bit, faktor dari (p -1) dimana 21059 < q < 2160 . Parameter q
berisfat publik.
4. x bilangan bulat yang dibangkitkan random atau pseudorandom dimana 0 < x < q
dengan panjang 160 bit. Parameter x bersifat privat.
Perhitungan
A. Menentukan parameter DSA untuk melakukan tandatangan digital yaitu:
7. k = bilangan bulat yang dibangkitkan random atau pseudorandom dimana 0 < k < q
2. Hitung g = h(p-1)/q mod p, yang dalam hal ini 1 < h < (p -1) dan h(p-1)/q mod (p >1)
4. Hitung kunci publik y = gx mod p Jadi didapatkan kunci publik (p, q, g, y) dan kunci
privat (p, q, g, x)
Perhitungan
C. Pembangkitan tandatangan (signing) :
1. Ubah pesan m menjadi massage digest dengan fungsi Hash SHA-1 diasumsikan H
menghasilkan H(m)
3. Tanda tangan dari pesan m adalah bilangan r dan s yang didapat dari r = (gk mod p)
mod q dan s = (k1(H(m) + x * r)) mod q, k-1 adalah invers dari k modulo q.
Jika tandatangan yang dihasilkan benar maka nilai r dan atau s tidak mungkin 0.
Jika H(m) dari pesan m yang diterima adalah 16 (sama) Buktikan bahwa
pesan m tadi adalah valid
Jika H(m) dari pesan m yang diterima adalah 10 (tidak sama) Buktikan
bahwa pesan m tadi adalah tidak valid
Contoh Kasus
Verifikasi untuk H(m) = 16
Hitung s-1
– s * s-1 ≡ 1 mod q
– 7 * s-1 ≡ 1 mod 11, didapat s-1 = 8
Hitung w
– w = s–1 mod q
– w = 8 mod 11 = 8
Hitung u1
– u1 = (H(m) * w) mod q
– u1 = (16 * 8) mod 11 = 128 mod 11 = 7
Hitung u2
– u2 = (r * w) mod q
– u2 = (5 * 8) mod 11 = 40 mod 11 = 7
Hitung v
– v = ((gu1 * yu2) mod p) mod q
– v = ((87 * 137) mod 23) mod 11 = 16 mod 11 = 5
Karena v=5, dan r=5 SAMA, maka pesan m adalah ASLI
Contoh Kasus
Verifikasi untuk H(m) = 10
Hitung s-1
– s * s-1 ≡ 1 mod q
– 7 * s-1 ≡ 1 mod 11, didapat s-1 = 8
Hitung w
– w = s–1 mod q
– w = 8 mod 11 = 8
Hitung u1
– u1 = (H(m) * w) mod q
– u1 = (10 * 8) mod 11 = 80 mod 11 = 3
Hitung u2
– u2 = (r * w) mod q
– u2 = (5 * 8) mod 11 = 40 mod 11 = 7
Hitung v
– v = ((gu1 * yu2) mod p) mod q
– v = ((83 * 137) mod 23) mod 11 = 8 mod 11 = 8
Karena v=8, dan r=5 TIDAK SAMA, maka pesan m adalah TIDAK ASLI
Thank you