digital signature algorithm n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Digital Signature Algorithm PowerPoint Presentation
Download Presentation
Digital Signature Algorithm

Loading in 2 Seconds...

play fullscreen
1 / 18

Digital Signature Algorithm - PowerPoint PPT Presentation


  • 145 Views
  • Uploaded on

Digital Signature Algorithm. Manajemen Jaringan Komputer Topik : Pengamanan Jaringan dan Informasi. Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2011. Kasus pesan / kiriman antara 2 pihak.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Digital Signature Algorithm' - mirari


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
digital signature algorithm

Digital Signature Algorithm

ManajemenJaringanKomputer

Topik: PengamananJaringandanInformasi

Eko Prasetyo

TeknikInformatika

UniversitasMuhammadiyah Gresik

2011

kasus pesan kiriman antara 2 pihak
Kasuspesan/kirimanantara 2 pihak
  • Maria bisasajamembuatpesan yang berbeda (daripesan lain yang sebenarnyaditerima) danmengklaimbahwapesantersebutditerimadari John.
    • Untukmasalahinibisadiatasidenganpenggunaankodeotentikasi yang di-share antara Maria dan John
  • John bisajugamenolakadanyaklaimpengirimansebuahpesan
    • Karenamungkinbagi Maria, tidakadacarauntukmembuktikanbahwapesantersebutbenar-benardatangdari John.
    • Masalahinibisadiatasidengankodeotentikasi.
tanda tangan digital
TandaTangan Digital
  • Tanda tangan (signature) adalah sebuah teknik yang tidakbisadibantah, yang didasarkan pada kriptografi kunci publik
  • Pembuat pesan dapat melampirkan kode, tanda tangan, yang menjamin sumber dan integritas pesan.
  • Mirip dengan tanda tangan tulisan tangan, tanda tangan digital harus memenuhi syarat:
    • Tidak boleh forgeable (lupa)
    • Penerima harus dapat memverifikasi dokumendantandatangan
    • Penandatangan tidak harus dapatmenyangkal tandatangannya
  • Selain itu, tanda tangan digital tidak bolehkonstan (selaluberbeda) dan harus berfungsi padaseluruh dokumen yang ditandatangani
standart tanda tangan digital
StandartTandaTangan Digital
  • PadabulanAgustus 1991, NIST (The National Institute of Standard and Technology) mengumumkanbakuan(standard) untuk tanda-tangan digital yang dinamakan DigitalSignature Standard (DSS).
    • NIST FIPS 186 Digital Signature Standard (DSS)
  • DSS terdiri dari dua komponen:
    • 1. Algoritma tanda-tangan digital yang disebut DigitalSignature Algorithm (DSA).
    • 2. Fungsihash standard yang disebut Secure Hash Algorithm (SHA).
  • Algoritma:
    • DSA
    • El Gamal
    • RSA Digital Signature- ISO 9796- ANSI X9.31- CCITT X.509
slide5
DSA
  • Sebagaimana halnya pada algoritma kriptografi kunci-publik,DSA menggunakan dua buah kunci, yaitu kunci publik dankunci privat.
    • Pembentukan tanda-tangan menggunakan kuncirahasia privat,
    • sedangkan verifikasi tanda-tanganmenggunakan kunci publik pengirim.
  • DSA menggunakan fungsi hash SHA (Secure HashAlgorithm) untuk mengubah pesan menjadi message digestyang berukuran 160 bit.
parameter dsa komponen kunci
Parameter DSA – KomponenKunci
  • p, adalah bilangan prima dengan panjang L bit, yangdalam hal ini 512 ≤ L ≤ 1024 dan L harus kelipatan 64.

Parameter p bersifat publik dan dapat digunakan bersama-samaoleh orang didalam kelompok.

  • q, bilangan prima 160 bit, merupakan faktor dari p – 1.

Dengan kata lain, (p – 1) mod q = 0. Parameter q bersifatpublik.

  • g = h(p – 1)/q mod p, yang dalam hal ini h adalah sembarang nilai integer 1 < h < p – 1sedemikian sehingga h(p – 1)/q mod p > 1.

Parameter gbersifat publik.

  • x, adalah bilangan bulat kurang dari q.

Parameter x adalahkunci privat.

  • y = gx mod p, adalah kunci publik.
  • m, pesan yang akan diberi tanda-tangan.

Jadi, prosedur di atas menghasilkan:

kunci publik dinyatakan sebagai PU = {p, q, g, y}  Untukmenandatangani

kunci privat dinyatakan sebagai PR = {p, q, g, x}  Untukmenverifikasi

parameter dsa pembangkitan tanda tangan
Parameter DSA – PembangkitanTandaTangan
  • Ubah pesan m menjadi message digest dengan fungsi hashSHA, H.Dengannotasi H(m).
  • Tentukan bilangan acak k < q Nomor rahasia untuk sebuah pesan (untuk parameter penandatanganan)

Tentukan k-1 sebagai invers multiplikatif k

Bahwa k * k-1≡ 1 mod q

  • Tanda-tangan dari pesan m adalah bilangan r dan s.

Hitung r dan s sebagai berikut:

r = (gk mod p) mod q

s = (k– 1 (H(m) + x * r)) mod q

  • Kirim pesan m beserta tanda-tangan r dan s.
proses verifikasi dokumen
ProsesVerifikasiDokumen
  • Hitung

Tetapkan s-1sebagaiinversmultiplikatifdimana s * s-1≡ 1 mod q

w = s–1mod q

u1= (H(m) * w) mod q

u2= (r * w) mod q

v = ((gu1 * yu2) mod p) mod q

  • Jika v = r, maka tanda-tangan sah, yang berarti bahwa pesan masih asli dan dikirim oleh pengirim yang benar.
contoh 1 pembentukan pasangan kunci
Contoh (1) – PembentukanPasanganKunci
  • Dibangkitkan p=23 dan q=11, p dan q harus prima dan q < p
    • Harusmemenuhisyarat (p-1) mod q = 0
  • Nilai h, nilai integer sembarang,secaraacakdidapatkan h=10
    • Harusmemenuhisyarat 1 < h < p-1
  • Makauntuk g didapatkan
    • g = h(p – 1)/q mod p
    • g = 10(23-1)/11 mod 23 = 102 mod 23 = 8
  • Tentukankunciprivat x
    • Harusbulat x < q, tidakharus prima  Rahasia
    • Misal x = 6
  • Hitungkuncipublik y
    • y = gx mod p = 86 mod 23 = 13
  • Didapatkanpasangankunci:
    • KunciPublik : PU = {p, q, g, y} = {23, 11, 8, 13}
    • KunciPrivat : PR = {p, q, g, x} = {23, 11, 8, 6}
contoh 2 pembangkitan tanda tangan
Contoh (2) – PembangkitanTandaTangan
  • Untuksebuahpesan m, misalnyahasilfungsi hash H(m) = 16
  • Tentukansecaraacak k
    • Harusmemenuhisyarat k < q
    • Misal, k = 5
  • Hitung k-1dariinversmultiplikatif k
    • k * k-1≡ 1 mod q
    • 5 * k-1≡ 1 mod 11
    • Didapat k-1 = 9
  • Hitung r
    • r = (gk mod p) mod q
    • r = (85 mod 23) mod 11 = 16 mod 11 = 5
  • Hitung s
    • s = (k– 1 (H(m) + x * r)) mod q
    • s = (9 * (16 + 6 * 5)) mod 11 = 414 mod 11 = 7
  • Kirimkanpesan m, r=5, dan s=7 bersama-sama.
contoh 3 verifikasi dokumen
Contoh (3) – VerifikasiDokumen
  • Jika H(m) daripesan m yang diterimaadalah16 (sama) Buktikanbahwapesan m tadiadalahvalid
  • Jika H(m) daripesan m yang diterimaadalah10 (tidaksama) Buktikanbahwapesan m tadiadalahtidak valid
verifikasi untuk h m 16
Verifikasiuntuk 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, makapesan m adalahASLI
verifikasi untuk h m 10
Verifikasiuntuk 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, makapesan m adalahTIDAK ASLI
latihan
Latihan
  • Jikadiketahui:
    • p = 23
    • q = 11
    • h = 20
    • x = 10
    • Hitungpasangankuncipublikdanprivat
  • Untukpasangankuncidiatas, jikadiberikan:
    • k = 4
    • H(m) = 40
    • Hitung parameter r dan s untuktandatangandigitalnya.
  • Lakukanverifikasiuntuknilai H(m) daripesan m berikut:
    • H(m) = 40  Buktikanbahwa H(m) tersebutASLI
    • H(m) = 43  Buktikanbahwa H(m) tersebutTIDAK ASLI
implementasi dsa
Implementasi DSA
  • Adanya batasan bahwa nilai p mempunyai panjang 512sampai 1024 bit dan q 160-bit,
    • menyebabkan DSA hampirtidak mungkin diimplementasikan dalam perangkat lunak.
  • Panjang bit yang besar ini dimaksudkan agar upaya untukmemecahkan parameter yang lain sangat sulit dilakukan.
  • Compiler C hanya sanggup menyatakan bilangan bulat hingga 232.
    • Oleh karena itu, bila DSA diimplementasikandalam perangkat lunak, batasan panjang bit p dan q diubah hingga maksimum nilai p dan q adalah 232.
jawab latihan
JawabLatihan
  • Diketahui
    • p = 23, q = 11, h = 20, x = 10
  • Pasangankunci:
    • g = h(p – 1)/q mod p
    • g = 20(23-1)/11 mod 23 = 400 mod 23 = 9
    • y = gx mod p = 910 mod 23 = 18
    • Didapatkanpasangankunci:
    • KunciPublik : PU = {p, q, g, y} = {23, 11, 9, 18}
    • KunciPrivat : PR = {p, q, g, x} = {23, 11, 9, 10}
  • Pembangkitantandatangan:
    • k = 4, H(m) = 40
    • k * k-1≡ 1 mod q
    • 4 * k-1≡ 1 mod 11  k-1 = 14
    • r = (gk mod p) mod q = (94 mod 23) mod 11 = 6
    • s = (k– 1 (H(m) + x * r)) mod q = (14*(40+10*6)) mod 11
    • s = 14 * 100 mod 11 = 3
    • Kirim pesan m, r = 6, dan s = 3 bersama-sama
jawab latihan verifikasi untuk h m 40
JawabLatihan – Verifikasiuntuk H(m) = 40
  • KunciPublik : PU = {p, q, g, y} = {23, 11, 9, 18}
  • KunciPrivat : PR = {p, q, g, x} = {23, 11, 9, 10}
  • r = 6, dan s = 3
  • Hitung s-1
    • s * s-1≡ 1 mod q
    • 3 * s-1≡ 1 mod 11, didapat s-1 = 4
  • Hitung w
    • w = s–1 mod q
    • w = 4 mod 11 = 4
  • Hitung u1
    • u1= (H(m) * w) mod q
    • u1 = (40 * 4) mod 11 = 160 mod 11 = 6
  • Hitung u2
    • u2= (r * w) mod q
    • u2 = (6 * 4) mod 11 = 24 mod 11 = 2
  • Hitung v
    • v = ((gu1 * yu2) mod p) mod q
    • v = ((86 * 182) mod 23) mod 11 = 6 mod 11 = 6
  • Karena v=6, dan r=6  SAMA, makapesan m adalahASLI
jawab latihan verifikasi untuk h m 43
JawabLatihan – Verifikasiuntuk H(m) = 43
  • KunciPublik : PU = {p, q, g, y} = {23, 11, 9, 18}
  • KunciPrivat : PR = {p, q, g, x} = {23, 11, 9, 10}
  • r = 6, dan s = 3
  • Hitung s-1
    • s * s-1≡ 1 mod q
    • 3 * s-1≡ 1 mod 11, didapat s-1 = 4
  • Hitung w
    • w = s–1 mod q
    • w = 4 mod 11 = 4
  • Hitung u1
    • u1= (H(m) * w) mod q
    • u1 = (43 * 4) mod 11 = 172 mod 11 = 7
  • Hitung u2
    • u2= (r * w) mod q
    • u2 = (6 * 4) mod 11 = 24 mod 11 = 2
  • Hitung v
    • v = ((gu1 * yu2) mod p) mod q
    • v = ((87 * 182) mod 23) mod 11 = 1 mod 11 = 1
  • Karena v=1, dan r=6  SAMA, makapesan m adalahTIDAK ASLI