Anda di halaman 1dari 27

DIGITAL SIGNATURE ALGORITHM (DSA)

Keamanan Informasi dan Jaringan


Anggota Kelompok

Nadya Arum Devi Syahfira Nur


Yosua Tan Rahmadani
Lestari Wisantaya Mulya Fajriyani

D1041171007 D1041171006 D1041171010 D1041171029 D1041171035 D1041171045


Agenda
1 Pengertian

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.

• Sehingga peran tanda tangan, khususnya tanda tangan digital


harus mampu memberikan layanan otentikasi dan non repudiasi
yang baik.
• Teknik kriptografi untuk penyandian pesan menekankan pada
confidentiality, yaitu pencegahan terhadap pengaksesan informasi
(passive attact) yang dilakukan oleh pihak yang tidak berhak.
Pengertian DSA
Defisini
• Digital Signature Algorithm (DSA) adalah algoritma kriptografi
otentikasi pesan yang menggunakan teknologi kunci public dan
Secure Hash Algorithm (SHA-1) dalam operasinya.

• Secara umum DSA dapat dideskripsikan sebagai algoritma


kriptografi yang memproses pesan dalam sekumpulan bit (block) /
satuan waktu tertentu dengan menggunakan sepasang kunci public
dan kunci privat bagi proses pembentukkan dan verifikasi tanda
tangan digital

• 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

3. Dapat diperiksa dengan mudah, termasukoleh pihak – pihak yang


belum pernah bertatap muka langsung dengan penendatangan.
Perhitungan
Perhitungan
Pembentukan Kunci
Terdapat 3 parameter publik :

1. q adalah bilangan prima dengan panjang 160 bit


2. p adalah bilangan prima dengan panjang 512 bit, p = 1 mod 2q
3. g adalah bilangan yang diperoleh dari persamaan,
h(p-)1/q mod p

• 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.

3. g = h(P-1)/q mod p, dimana 1 < h < (p -1) sedemikian sehingga h (P-1)/q


mod p > 1.
Parameter g bersifat 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:

5. y = g x mod p adalah kunci public.

6. m adalah pesan yang akan diberi tandatangan

7. k = bilangan bulat yang dibangkitkan random atau pseudorandom dimana 0 < k < q

• Parameter p, q dan g bersifat publik dan dapat digunakan bersama dalam


sekelompok orang.

• Parameter p, q dan g juga bernilai tetap untuk periode/waktu tertentu. Parameter x


dan k hanya digunakan untuk pembangkitan tandatangan dan harus dijaga
kerahasiaannya.

• Parameter k harus berbeda untuk setiap tandatangan.


Perhitungan
B. Pembangkitan sepasang kunci untuk mengenkripsi dan mendekripsi massage digest :

1. Pilih bilangan prima p dan q, dimana (p -1) mod q = 0

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)

3. Tentukan kunci privat x < q

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)

2. Tentukan bilangan acak k < q

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.

4. Kirim pesan beserta tandatangan r dan s


Perhitungan
Ilustrasi proses pembentukan tandatangan digital dapat
dilihat pada gambar berikut :
Kelemahan
Kelemahan DSA

• Kunci harus dikirim melalui saluran yang aman. Kedua entitas


yang berkomunikasi harus menjaga kerahasiaan kunci ini.

• Kunci harus sering diubah, mungkin pada setiap sesi


komunikasi.

• Penyandian rencana teroris

• Penyembunyian record kriminal oleh seorang penjahat

• Pesan tidak bisa dibaca bila penerima pesan lupa atau


kehilangan kunci.
Kelebihan
Kelebihan DSA
• Algoritma ini dirancang sehingga proses enkripsi/dekripsi membutuhkan waktu
yang singkat.

• Ukuran kunci relatif lebih pendek.

• Algoritmanya bisa menghasilkan cipher(sebuah algoritma untuk menampilkan


enkripsi dan kebalikannya dekripsi, serangkaian langkah yang terdefinisi yang
diikuti sebagai prosedur) yang lebih kuat.

• Autentikasi pengiriman pesan langsung diketahui dari ciphertext yang diterima,


karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.

• Kerahasiaan suatu informasi terjamin

• Menyediakan autentikasi dan perlindungan integritas pada algoritma


checksum/hash

• Menanggulangi penyadapan telepon dan email

• Untuk digital signature


Contoh Kasus
Contoh Kasus
1. Pembentukan Pasangan Kunci

 Dibangkitkan p=23 dan q=11, p dan q harus prima dan q < p


– Harus memenuhi syarat (p-1) mod q = 0
 Nilai h, nilai integer sembarang,secara acak didapatkan h=10
– Harus memenuhi syarat 1 < h < p-1
 Maka untuk g didapatkan
– g = h(p – 1)/q mod p
– g = 10(23-1)/11 mod 23 = 102 mod 23 = 8
 Tentukan kunci privat x
– Harus bulat x < q, tidak harus prima  Rahasia
– Misal x = 6
 Hitung kunci publik y
– y = gx mod p = 86 mod 23 = 13
 Didapatkan pasangan kunci:
– Kunci Privat : PR = {p, q, g, x} = {23, 11, 8, 6}
– Kunci Publik : PU = {p, q, g, y} = {23, 11, 8, 13}
Contoh Kasus
2. Pembangkitan Tanda Tangan

 Untuk sebuah pesan m, misalnya hasil fungsi hash H(m) = 16


 Tentukan secara acak k
– Harus memenuhi syarat k < q
– Misal, k = 5
 Hitung k-1 dari invers multiplikatif 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
 Kirimkan pesan m, r=5, dan s=7 bersama-sama.
Contoh Kasus
3. Verifikasi Dokumen

 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

Anda mungkin juga menyukai