+ All Categories
Home > Business > DIGITAL SIGNATURE ALGORITHM (DSA)

DIGITAL SIGNATURE ALGORITHM (DSA)

Date post: 21-Jun-2015
Category:
Upload: catur-setiawan
View: 1,809 times
Download: 5 times
Share this document with a friend
Description:
Implementasi Digital Signature Algorithm.. - Adanya batasan bahwa nilai p mempunyai panjang 512 sampai 1024 bit dan q 160-bit, menyebabkan DSA hampir tidak mungkin diimplementasikan dalam perangkat lunak. Panjang bit yang besar ini dimaksudkan agar upaya untuk memecahkan parameter yang lain sangat sulit dilakukan - Compiler C hanya sanggup menyatakan bilangan bulat hingga 232. Oleh karena itu, bila DSA diimplementasikan dalam perangkat lunak, batasan panjang bit p dan q diubah hingga maksimum nilai p dan q adalah 232. Contoh Implementasi di lingkungan Pemerintahan
Popular Tags:
20
DIGITAL SIGNATURE ALGORITHM (DSA) Kelompok 1 : Catur Setiawan (12/340627/PTK/08397) Hari Susanto (12/340634/PTK/08403) Winayu Budi W (12/340651/PTK/08420)
Transcript
  • 1. DIGITAL SIGNATURE ALGORITHM (DSA) Kelompok 1 : Catur Setiawan (12/340627/PTK/08397) Hari Susanto (12/340634/PTK/08403) Winayu Budi W (12/340651/PTK/08420)

2. AGENDA Pendahuluan Kriptografi Public-Key Cryptosystems Manfaat Digital Signature Proses Digital Signature Digital Signature Algoritm (DSA) Contoh Perhitungan DSA Implementasi DSA 3. Contoh Implementasi dilingkungan Pemerintahan 4. Pendahuluan Karateristik Tanda Tangan Sebagai otentikasi dokumen Sebagai validasi Tanda tangan tidak dapat disangkal ( repudiation). 5. Kenapa Tanda Tangan Digital Compliance & good business practices for automated processes. Accelerating, approvals, processes & time savings Cost Savings 6. Masalah dalam Digital Signature menyebabkan data elektronik dikirimkan melalui open network Sifat dari keharusan Tanda Tangan Digital: Authenticity Integrity Non-Repudiation Confidentiality Tanda tangan digital menjadi terancam membutuhkan criptografi 7. Proses Pembuatan Digital Signature 8. Dua Kondisi yang harus Dipenuhi Digital signature yang dibangkitkan dari dokumen dan private key harus bisa memverifikasi dokumen yang disertai public key. Tidak boleh ada kemungkinan untuk membangkitkan digital signature yang valid dari sebuah dokumen tanpa ada private key yang seharusnya 9. Dari segi keamanan, DS harusnya bersifat : Tahan terhadap preimage attack jika ada suatu hash h, maka sulit dicari m dimana h = hash(m). Preimage adalah suatu himpunan yang berisi tepat semua elemen domain dari suatu fungsi Tahan terhadap second preimage attack jika ada input m1, maka sulit dicari m2 dimana m1 m2 sehingga hash(m1) = hash(m2). Tahan terhadap collision penggabungan dua hal di atas sehingga sulit mencari m1 dan m2 dimana hash(m1) = hash(m2). 10. Digital Signature Algorithm (DSA) Dikeluarkan oleh NIST bulan Agustus 1991. DSA dijadikan sebagai bakuan (standard) dari Digital Signature Standard (DSS). DSS terdiri dari : DSA dan SHA DSA termasuk ke dalam sistem kriptografi kunci-publik, tidak dapat digunakan untuk enkripsi 11. Proses Digital Signature Algorithm : Algoritma untuk membangkitkan private key dan publik key-nya. Algoritma untuk memberi digital signature pada dokumen jika disediakan dokumen dan private key. Algoritma untuk verifikasi tanda tangan digital jika disediakan dokumen, public key, dan digital signature. 12. Pembangkitan private key dan publik Menentukan Parameter DSA Pilih Bilangan Prima p dengan panjang L bit, dimana 2 L-1 < p < 2L dengan 512 L 1024 dan L adalah kelipatan 64. Pilih Bilangan Prima q, bilangan prima 160 bit, faktor dari p-1 dimana 2 159 < q < 2160. Parameter p bersifat publik. Hitung g = h (p-1)/q mod p, dimana 1< h < p-1 sehingga g > 1. Parameter g bersifat publik. Pilih bilangan acak x (bilangan bulat yang dibangkitkan random atau pseudorandom) dimana 0 < x < q dengan panjang 160 bit. Parameter x bersifat privat. Hitung y = gx mod p adalah kunci publik Maka kunci publik yang telah dibangkitkan adalah (p, q, g, y) dan kunci privat adalah x. 13. Pembangkitan private key dan publik Pembangkitan Sepasang Kunci Pilih bilangan prima p dan q, dimana (p-1) mod q = 0 Hitung g = h(p-1)/q mod p, dimana 1 < h < p-1 dan g > 1 Parameter p bersifat publik. Tentukan kunci privat x < q Hitung kunci publik y = gx mod p Jadi didapatkan kunci publik (p,q,g,y) dan kunci privat (p,q,g,x) 14. Pemberian Digital Signature (Signing) Ubah pesan m menjadi massage digest dengan fungsi Hash SHA menghasilkan SHA(M) Tentukan bilangan acak k < q Tanda tangan dari pesan m adalah bilangan r dan s yang didapat dari : r = (gk mod p)mod q s = (k-1 (SHA(M) + xr)) mod q, k-1 adalah invers dari k modulo q. Pada perhitungan nilai s, 160-bit string SHA(M) dikonversi terlebih dahulu ke dalam integer. Jika tandatangan yang dihasilkan benar maka nilai r dan atau s tidak mungkin 0. Maka tanda tangan digital pada pesan m adalah (s, r). 15. Verifikasi Digital Signature (Verify) Ambil kunci publik (p, q, g, y). Jika 1 r q dan 1 s q terima tanda tangan. Jika tidak, tolak tanda tangan Hitung w = s-1 mod q dan SHA(M) Hitung u1 = (SHA(M)*w) mod q Hitung u2 = (r*w) mod q v = ((gu1 * yu2 ) mod p) mod q) 16. Contoh perhitungan DSA Pembangkitan sepasang kunci Pilih bilangan prima p dan q dengan (p-1) mod q = 0, yaitu p = 59419 dan q = 3301 (memenuhi 3301.18 = 59419- 1) Hitung g = h(p-1)/q mod p, dimana 1 < h < p-1 dan g > 1, yaitu (ambil h = 100), g = 100(59419-1)/3301 mod 59419 = 18870 Tentukan kunci rahasia x bilangan bulat < q, ambil x = 3223 Hitung kunci publik y = gx mod p = 18870 3223 mod 59419 = 29245 17. Contoh perhitungan DSA Pembangkitan tanda tangan (Sign) Hitung nilai hash dari pesan m, Misal H(m) = 4321 Tentukan bilangan acak k < q, misal diambil k = 997, k.k-1 = 1 mod q, didapat k-1 = 2907 Hitung r dan s, r = (gk mod p)mod q = (18870997 mod 59419)mod 3301 = 848 s = (k-1 (H(m) + x r)) mod q = (2907( 4321+3223. 848)) mod 3301= 183 Kirim pesan m dan tandatangan r dan s 18. Contoh perhitungan DSA Verifikasi Keabsahan Tanda Tangan Hitung w = s-1 mod q s. s-1 = 1 mod q, didapat s-1 = 469 w = 469 mod 3301 = 469 u 1 = (H(m)*w) mod q = (4321. 469) mod 3301 = 3036 u 2 = (r*w) mod q = (848. 469) mod 3301 = 1592 v = ((gu1 * yu2 ) mod p) mod q) = ((18870 3036 . 292451592 ) mod 59419) mod 3301 = 848 Karena v = r dimana 848=848, maka tanda tangan sah 19. Implementasi Digital Signature Algorithm o Adanya batasan bahwa nilai p mempunyai panjang 512 sampai 1024 bit dan q 160-bit, menyebabkan DSA hampir tidak mungkin diimplementasikan dalam perangkat lunak. Panjang bit yang besar ini dimaksudkan agar upaya untuk memecahkan parameter yang lain sangat sulit dilakukan o Compiler C hanya sanggup menyatakan bilangan bulat hingga 232. Oleh karena itu, bila DSA diimplementasikan dalam perangkat lunak, batasan panjang bit p dan q diubah hingga maksimum nilai p dan q adalah 232. 20. TERIMAKASIH


Recommended