Digital Signature Algorithm

Slides:



Advertisements
Presentasi serupa
TURUNAN/ DIFERENSIAL.
Advertisements

Tugas Akhir Gede Serikastawan /
ALJABAR.
3. MATRIKS, RELASI, DAN FUNGSI
Chapter 12 Applying Cryptography
Kriptografi Kunci-Publik
ASIKNYA BELAJAR MATEMATIKA
TURUNAN DIFERENSIAL Pertemuan ke
BARISAN DAN DERET ARITMETIKA
Baroto ashary Zainal abidin
Induksi Matematika.
Algoritma Kriptografi Modern
FUNGSI MATEMATIKA DISKRIT K- 6 Universitas Indonesia
Tandatangan Digital.
Bahan Kuliah IF3058 Kriptografi
PENGAMANAN DATA.
Waniwatining II. HIMPUNAN 1. Definisi
Bahan Kuliah IF3058 Kriptografi
Aritmatika Bilangan Biner
FUNGSI STRUKTUR DISKRIT K-8 Program Studi Teknik Komputer
Materials prepared by WP Sekuriti Digital, Teori dan Praktek Protokol Kriptografis untuk Otentikasi (2) Bab
Advanced Encryption Standard (AES)
Kriptografi Kunci-Publik
MAC (Message Authentication Code)
KRIPTOGRAFI KUNCI PUBLIK (public-key cryptography)
Kriptografi dalam Kehidupan Sehari-hari
9. BILANGAN BULAT.
Advanced Encryption Standard (AES)
Otentikasi dan Tandatangan Digital
Sekuriti Digital, Teori dan Praktek
Rinaldi M/IF5054 Kriptografi
Kriptografi Kunci-Publik
Digital Signature Standard (DSS)
Manajemen Jaringan Komputer Topik: Pengamanan Jaringan dan Informasi
ALGORITMA DAN BILANGAN BULAT
Bahan Kuliah IF3058 Kriptografi
ALGORITMA DAN BILANGAN BULAT
Kriptografi Kunci-Publik
Kriptografi Gabungan PGP (Pretty Good Privacy)
Pembangunan Aplikasi Digital Signature dan Enkripsi Untuk Keamanan E-Dokumen di PT Len Industri (Persero) Oleh: Syamsul Rizal Penguji 1: Galih.
Sistem Kriptografi Kunci-Publik
BILANGAN BULAT (lanjutan 1).
Manajemen Jaringan Komputer Topik: Pengamanan Jaringan dan Informasi
Kriptografi Kunci Publik (Asimetry Key) Algoritma Elgamal Materi 9
Kriptografi Kunci Publik (Asimetry Key) Algoritma Pertukaran Kunci Simetri (Diffie-Hellman) Materi 10 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik.
Bahan Kuliah IF5054 Kriptografi
RSA (Rivest—Shamir—Adleman)
RSA ALGORITMA ASIMETRI Kriptografi – Week 11.
Standar kompetensi Pada akhir semester, mahasiswa menguasai pengetahuan, pengertian, & pemahaman tentang teknik-teknik kriptografi. Mahasiswa diharapkan.
Kriptografi Kunci Publik (Asimetry Key) Algoritma RSA Materi 7
Digital Signature & Digital Certificate
Tandatangan Digital.
DIGITAL SIGNATURE.
Bahan Kuliah IF5054 Kriptografi
Algoritma ElGamal.
gunadarma.ac.id KRIPTOGRAFY MODERN Muji Lestari gunadarma.ac.id
Kriptografi Kunci-Publik
Kriptografi Kunci-Publik
Otentikasi dan Tandatangan Digital
Algoritma ElGamal Kelompok 8.
Kriptografi Kunci Publik (Asimetry Key) Algoritma Digital Signature Algorithm Materi 8 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik Informatika UMG.
Algoritma Pertukaran kunci simetry dengan Diffie-Hellman
ALGORITMA CRYPTOGRAPHY MODERN
Tandatangan Digital.
Algoritma Kriptografi Modern
Tugas Keamanan Komputer dan Jaringan
Digital Signature Standard (DSS)
Kriptografi Levy Olivia Nur, MT.
Kriptografi Kunci Publik
Asimetris Public Kriptografi
Transcript presentasi:

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 Maria bisa saja membuat pesan yang berbeda (dari pesan lain yang sebenarnya diterima) dan mengklaim bahwa pesan tersebut diterima dari John. Untuk masalah ini bisa diatasi dengan penggunaan kode otentikasi yang di-share antara Maria dan John John bisa juga menolak adanya klaim pengiriman sebuah pesan Karena mungkin bagi Maria, tidak ada cara untuk membuktikan bahwa pesan tersebut benar-benar datang dari John. Masalah ini bisa diatasi dengan kode otentikasi.

Tanda Tangan Digital Tanda tangan (signature) adalah sebuah teknik yang tidak bisa dibantah, 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 dokumen dan tanda tangan Penandatangan tidak harus dapat menyangkal tanda tangannya Selain itu, tanda tangan digital tidak boleh konstan (selalu berbeda) dan harus berfungsi pada seluruh dokumen yang ditandatangani

Standart Tanda Tangan Digital Pada bulan Agustus 1991, NIST (The National Institute of Standard and Technology) mengumumkan bakuan (standard) untuk tanda- tangan digital yang dinamakan Digital Signature Standard (DSS). NIST FIPS 186 Digital Signature Standard (DSS) DSS terdiri dari dua komponen: 1. Algoritma tanda-tangan digital yang disebut Digital Signature Algorithm (DSA). 2. Fungsi hash standard yang disebut Secure Hash Algorithm (SHA). Algoritma: DSA El Gamal RSA Digital Signature - ISO 9796 - ANSI X9.31 - CCITT X.509

DSA Sebagaimana halnya pada algoritma kriptografi kunci-publik, 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 fungsi hash SHA (Secure Hash Algorithm) untuk mengubah pesan menjadi message digest yang berukuran 160 bit.

Parameter DSA – Komponen Kunci 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 bersama-sama oleh orang didalam kelompok. q, bilangan prima 160 bit, merupakan faktor dari p – 1. Dengan kata lain, (p – 1) mod q = 0. Parameter q bersifat publik. g = h(p – 1)/q mod p, yang dalam hal ini h adalah sembarang nilai integer 1 < h < p – 1 sedemikian sehingga h(p – 1)/q mod p > 1. Parameter g bersifat publik. x, adalah bilangan bulat kurang dari q. Parameter x adalah kunci 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}  Untuk menandatangani kunci privat dinyatakan sebagai PR = {p, q, g, x}  Untuk menverifikasi

Parameter DSA – Pembangkitan Tanda Tangan Ubah pesan m menjadi message digest dengan fungsi hash SHA, H. Dengan notasi 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 Hitung Tetapkan s-1 sebagai invers multiplikatif dimana s * s-1 ≡ 1 mod q w = s–1 mod 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 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 Publik : PU = {p, q, g, y} = {23, 11, 8, 13} Kunci Privat : PR = {p, q, g, x} = {23, 11, 8, 6}

Contoh (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 (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

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

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

Latihan Jika diketahui: Untuk pasangan kunci diatas, jika diberikan: q = 11 h = 20 x = 10 Hitung pasangan kunci publik dan privat Untuk pasangan kunci diatas, jika diberikan: k = 4 H(m) = 40 Hitung parameter r dan s untuk tanda tangan digitalnya. Lakukan verifikasi untuk nilai H(m) dari pesan m berikut: H(m) = 40  Buktikan bahwa H(m) tersebut ASLI H(m) = 43  Buktikan bahwa H(m) tersebut TIDAK ASLI

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

Jawab Latihan Diketahui Pasangan kunci: Pembangkitan tanda tangan: p = 23, q = 11, h = 20, x = 10 Pasangan kunci: 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 Didapatkan pasangan kunci: Kunci Publik : PU = {p, q, g, y} = {23, 11, 9, 18} Kunci Privat : PR = {p, q, g, x} = {23, 11, 9, 10} Pembangkitan tanda tangan: 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 Kunci Publik : PU = {p, q, g, y} = {23, 11, 9, 18} Kunci Privat : 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, maka pesan m adalah ASLI

Jawab Latihan – Verifikasi untuk H(m) = 43 Kunci Publik : PU = {p, q, g, y} = {23, 11, 9, 18} Kunci Privat : 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, maka pesan m adalah TIDAK ASLI