NEWS : Artikel bagus di sini

Kamis, 16 Agustus 2012

Digital Signature Algorithm (DSA)

DSS adalah standard, sedangkan DSA adalah algoritma. Standard tersebut menggunakan algoritma ini, sedangkan algoritma adalah bagian dari standard (selain DSA, DSS menggunakan Secure Hash Algorithm atau SHA sebagai fungsi hash).

DSA termasuk ke dalam sistem kriptografi kunci-publik. Meskipun demikian, DSA tidak dapat digunakan untuk enkripsi. DSA mempunyai dua fungsi utama: 
1. Pembentukan sidik dijital (signature generation), dan
2. Pemeriksaan keabsahan sidik dijital (signature verification).


Parameter DSA
DSA dikembangkan dari algoritma Elgamal. DSA
menggunakan beberapa parameter sebagai berikut:

1. p, adalah bilangan prima dengan panjang L bit, yang

dalam hal ini 512 £ L £ 1024 dan L harus kelipatan 64.
Parameter p bersifat publik dan dapat digunakan bersamasama
oleh orang di dalam kelompok.
2. q, bilangan prima 160 bit, merupakan faktor dari p – 1.
Dengan kata lain, (p – 1) mod q = 0. Parameter q berisfat
publik.
3. g = h(p – 1)/q mod p, yang dalam hal ini h < p – 1
sedemikian sehingga h(p – 1)/q mod p > 1. Parameter g
bersifat publik.
4. x, adalah bilangan bulat kurang dari q. Parameter x adalah
kunci rahasia.
5. y = g^x mod p, adalah kunci publik.
6. m, pesan yang akan diberi sidik dijital.


Pembentukan Sepasang Kunci
1. Pilih bilangan prima p dan q, yang dalam hal ini (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 rahasia x, yang dalam hal ini x < q.
4. Hitung kunci publik y = g^x mod p.

Pembentukan Sidik Dijital (Signing)
1. Ubah pesan m menjadi message digest dengan fungsi hash
SHA, H.
2. Tentukan bilangan acak k < q.
3. Sidik dijital dari pesan m adalah bilangan r dan s. Hitung r
dan s sebagai berikut:
r = (g^k mod p) mod q
s = (k^–1 (H(m) + x * r)) mod q
4. Kirim pesan m dan sidik dijital r dan s.

Verifikasi Keabsahan Sidik Dijital (Verifying)

1. Hitung
w = s^–1 mod q
u1
= (H(m) * w) mod q
u2
= (r * w) mod q
v = ((g^u1 * y^u2) mod p) mod q)
2. Jika v = r, maka sidik dijital sah, yang berarti bahwa pesan
masih asli dan dikirim oleh pengirim yang benar.


Implementasi DSA
• 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 2^32. Oleh karena itu, bila DSA diimplementasikan
dalam perangkat lunak, batasan panjang bit p dan q diubah
hingga maksimum nilai p dan q adalah 2^32.


Related Posts by Categories

0 komentar:

Posting Komentar

Share it

Twitter Delicious Facebook Digg Stumbleupon Favorites More