DSA Elgamal Otentikasi Pesan Menggunakan Elliptical Curve Digital Signature Algorithm

Sifat-sifat fungsi hash kriptografi : 1. Preimage resistant Bila diketahui nilai hash h maka sulit secara komputasi tidak layak untuk mendapatkan m dimana h = hashm. 2. Second Preimage resistant Bila diketahui input m 1 maka sulit mencari input m 2 tidak sama dengan m 1 yang menyebabkan hashm 1 =hashm 2 3. Collision-resistant Sulit mencari dua input berbeda m 1 dan m 2 yang menyebabkan hashm 1 = hashm 2 Beberapa contoh algoritma fungsi hash kriptografi yaitu MD4, MD5, SHA-0, SHA-1, SHA-256, SHA-512.

2.7 DSA

DSA dikembangkan dari algoritma ElGamal. DSA tidak dapat digunakan untuk enkripsi tetapi di spesifikasikan khusus untuk tanda tangan digital. Pada DSA, algoritma signature dan verifikasi berbeda. DSA menggunakan dua buah kunci, yaitu kunci publik dan kunci privat. Pembentukan tanda tangan menggunakan kunci rahasia privat, sedangkan verifikasi tanda tangan menggunakan kunci publik pengirim. DSA menggunakan fungi hash SHA Secure Hash Algorithm untuk mengubah pesan menjadi message digest yang berukuran 160 bit. Tingkat keamanan DSA bergantung kepada dua masalah logaritma yang jauh akan tetapi saling berkaitan. Pertama adalah masalah logaritma di Zp dimana metode index kalkulus yang kuat diterapkan. Yang kedua adalah masalah logaritma pada cyclic subgroup pada urutan q, dimana metode berjalan pada waktu yang “square-root” Wizanajani, 2013. Mekanisme tanda tangan menggunakan sebuah fungsi hash h: 0,1 » Zq untuk sebuah integer q. Pembuatan kunci untuk algoritma DSA sebagai berikut : 1. Ambil sebuah angka prima q 160-bit dimana 2 159 q 2 160 Universitas Sumatera Utara 2. Ambil t dimana 0 ≤ t ≤ 8 3. Ambil bilangan prima p dimana 2 511 + 64t q 2 512 + 64t , dengan tambahan bahwa q dapat dibagi oleh p-1 4. Pilih sebuah generator α dari uniqe cyclic group berdasar urutan q di Zp 5. Ambil bilangan integer acak dimana 1 ≤ a ≤ q-1 6. Hitung y = α a mod p K unci publik mengandung p, q, α, y, dan kunci privat adalah a.

2.8 Elgamal

Algoritma ElGamal dibuat oleh Taher ElGamal pada tahun 1984. Algoritma ini pada mulanya digunakan untuk tanda tangan digital atau digital signature. Namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan dekripsi. ElGaMal digunakan dalam perangkat lunak yang dikembangkan oleh GNU, program PGP, dan pada program keamanan jaringan lainnya. Keamanan algoritma ini terletak pada sulitnya menghitung algoritma diskrit. Masalah algoritma diskrit adalah, jika p adalah bilangan prima dan g dan y adalah sembarang bilangan bulat. Carilah x sedemikian sehingga gx ≡ y mod p. Rinaldi, 2006. Besaran - besaran yang digunakann dalam algoritma ElGamal adalah : 1. Bilangan Prima p Publik 2. Bilangan acak, g gp Publik 3. Bilangan acak,x xp-3 Privat 4. y = gx mod p Publik 5. m Plainteks Privat 6. a dan b Chiperteks Publik Prosedur Membuat Pasangan Kunci : 1. Pilih sembarang bilangan prima p. 2. Pilih dua buah bilangan acak, g dan x, dengan syarat g p dan x p. 3. Hitung y = g x mod p. Universitas Sumatera Utara 4. Kunci publik adalah y, kunci rahasia adalah x. Nilai g dan p tidak dirahasiakan dan dapat diumumkan kepada anggota kelompok. Enkripsi : 1. Plainteks disusun menjadi blok-blok m 1 , m 2 , …, sedemikian sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai p – 1. 2. Pilih bilangan acak k, yang dalam hal ini 0 k p – 1, sedemikian sehingga k relatif prima dengan p – 1. 3. Setiap blok m dienkripsi dengan rumus : a = g k mod p b = y k m mod p Pasangan a dan b adalah cipherteks untuk blok pesan m. Jadi, ukuran cipherteks dua kali ukuran plainteksnya. Dekripsi : Untuk mendekripsi a dan b digunakan kunci rahasia, x, dan plainteks m diperoleh kembali dengan persamaan : m = ba x mod p karena : a x g kx mod p maka : b a x y k m a x g xk m g xk m mod p yang berarti bahwa plainteks dapat ditemukan kembali dari pasangan cipherteks a dan b.

2.9 ECC Elliptical Curve Cryptography