Selasa, 22 September 2015

Implementasi algoritma D.S.A dalam pembuatan tandatangan digital


MAKALAH
Implementasi algoritma D.S.A dalam pembuatan tandatangan digital





DAFTAR ISI


HALAMAN JUDUL
KATA PENGANTAR........................................................................................ ii
DAFTAR ISI ...................................................................................................... iii

BAB I PENDAHULUAN
 A.    Latar Belakang Masalah...............................................................................1
 B.     Rumusan Masalah.........................................................................................1
 C.    Metodologi Penelitian ...................................................................................2

BAB II  LANDASAN TEORI .............................................................................5

BAB III  ANALISIS DAN PERANCANGAN
A.    Parameter DSA.........................................................................................6
B.     Pembentukan Sepasang Kunci............................................................... 7
C.    Pembentukan Sidik Dijital (Signing)....................................................  8
D.    Verifikasi Keabsahan Sidik Dijital (Verifying)..................................... 8
E.     Contoh Perhitungan DSA......................................................................  8
F.     Implementasi DSA.................................................................................., 9

BAB IV KESIMPULAN DAN FUNGSI
A.     Cara Kerja tandatangan digital............................................................ 10
B.     Gambar sistem........................................................................................ 11

BAB IV PENUTUP ............................................................................................. 12

DAFTAR PUSTAKA ........................................................................................ . 13









BAB I
PENDAHULUAN

1.Latar Belakang Masalah
Sejak dahulu, tanda tangan digunakan untuk membuktikan keaslian sebuah dokumen, seperti ijazah, sertifikat, buku, atau karya seni. Penggunaan tanda tangan untuk autentikasi dokumen disebabkan sifat dari tanda tangan itu sendiri yang unik. Perbedaan tanda tangan antara satu orang dengan orang lain yang menyebabkan keunikan tersebut. Tanda tangan tidak dapat dipindah dan digunakan ulang sehingga dokumen yang ditandatangani tidak dapat diubah. Fungsi tanda tangan pada dokumen kertas juga dapat diterapkan untuk autentifikasi data digital seperti pesan yang dikirim melalui saluran komunikasi dan dokumen elektronik yang disimpan dalam dalam memory computer. Tanda tangan di data digital ini dinamakan tanda tangan digital (Digital Signature).

Yang dimaksud tanda tangan digital bukanlah merupakan tanda tangan biometric yang didigitalisasi dengan scanner. Tanda tangan digital merupakan suatu nilai kriptografis yang bergantung pada pesan dan pengirim pesan. Hal ini sangat berbeda dengan tanda tangan pada dokumen kertas yang bergantung pada pengirim dan selalu sama untuk semua dokumen. Terdapat banyak cara yang bisa dilakukan untuk menandatangani sebuah dokumen secara digital. Cara yang biasanya dilakukan adalah dengan menggunakan algoritma enkripsi tertentu. Namun, cara ini dirasa tidak aman karena banyak dari beberapa algoritma enkripsi, terlebih algoritma enkripsi kunci simetris, telah berhasil dipecahkan. Cara lain yang biasanya digunakan adalah menandatangani dokumen menggunakan fungsi Hash. Fungsi Hash merupakan fungsi yang menerima masukkan yang panjangnya sembarang dan mengonversinya menjadi nilai Hash yang panjangnya tetap. Namun cara penandatangan digital menggunakan fungsi Hash masih kurang aman karena nilai keluaran dari fungsi Hash bergantung pada dokumen yang dikirim. Teknik DSS (Digital Signature Standard) diklaim paling aman karena DSS merupakan teknik pembangkitan tanda tangan digital yang menggabungkan teknik enkripsi kunci public dan teknik pembangkitan nilai dokumen menggunakan fungsi Hash. Salah satu algoritma yang termasuk dalam DSS adalah Digital Signature Algorihm (DSA). DSA merupakan algoritma yang didasarkan pada skema Elgamal dan Scbnorr.


2.Rumusan Masalah
Dari permasalah di atas maka dirumuskan beberapa permasalahan berikut ini:
1. Bagaimana merancang pengamanan dokumen dengan menggunakan digital signature ?
2. Bagaimana merancang sistem aplikasi pengamanan dokumen yang bersifat tambahan ? 
3.Maksuddan Tujuan Penelitian ini bertujuan untuk merancang aplikasi keamanan dokumen elektronik pada system informasi yang telah ada menggunakan digital signature dan menghasilkan suatu aplikasi pengamanan berkas elektronik dengan digital signature pada sistem informasi yang telah ada yang merupakan aplikasi tambahan dari aplikasi yang telah ada. 
4.BatasanMasalah
Dalam penelitian ini, penulis membatasi masalah sebagai berikut : 
1. Program Tanda Tangan Digital Menggunakan Digital Signature Algorithm.
2. Model analisis perangkat lunak yang digunakan adalah pemodelan analisis berorientasi objek dan tools yang digunakan yaitu UML (Unified Modeling Language) dalam menggambarkan model fungsional dan diagram-diagram yang digunakan yaitu Use case diagram, class diagram, sequence diagram, activity diagram, state diagram,  skema tabel . 

3.Metodologi Penelitian
Penelitian ini menggunakan metode penelitian eksperimental, yaitu metode penelitian yang didasarkan pada suatu percobaan-percobaan ilmiah yang dilakukan dalam membuat sesuatu yang  baru atau mengembangkan sesuatu berdasarkan ilmu ilmu pengetahuan. Metode yang digunakan pada saat mengumpulkan data dan mengembangkan perangkat lunak sebagai berikut :

1. MetodePengumpulan Data  Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut:
a. Studi Literatur.
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.
b. Interview.
Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung yang ada kaitannya dengan topik yang diambil. 
2. Tahap Pembuatan Perangkat Lunak Teknik analisis data dalam pembuatan perangkat lunak melalui beberapa proses diantaranya:
a. System / Information Engineering
Mempersiapkan berbagai kebutuhan dari semua elemen yang diperlukan system dan mengalokasikannya kedalampembentukan perangkat lunak.
b. Analisis
Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.
c. Design
Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user.
d. Coding
Tahap penerjemahan data atau pemecahan masalah yang telah dirancang kedalam bahasa pemrograman tertentu.
e. Pengujian
Merupakan tahap pengujian terhadap perangkat lunak yang dibuat.
f. Maintenance
Tahap akhir dari perangkat lunak yang masih bisa dirubah sesuai permintaan user. 
6. Sistematika Penulisan
Sistematika penulisan laporan akhir penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai 


BAB II 
LANDASAN TEORI


Digital Signature | Tanda Tangan Digital
Tanda tangan digital sebagai stempel autentikasi elektronik yang dienkripsi pada informasi digital seperti pesan email, makro, atau dokumen elektronik. Tanda tangan mengonfirmasi bahwa informasi berasal dari penanda tangan dan belum diubah.
tanda tangan digital ini memiliki karakteristik atau sifat, yaitu :
  1. Otentik, dapat dijadikan alat bukti di peradilan (kuat).
  2. Hanya sah untuk dokumen (pesan) itu saja, atau kopinya. Dokumen berubah satu titik, tanda tangan jadi invalid.
  3. Dapat diperiksa dengan mudah oleh siapapun, bahkan oleh orang yang belum pernah bertemu (dgn sertifikat digital tentunya).
Prinsip yang digunakan dalam tanda tangan digital ini adalah data yang dikirimkan harus ditanda tangani oleh pengirim dan tanda tangan bisa diperiksa oleh penerima untuk memastikan keaslian data yang dikirimkan. Proses ini menganalogikan proses penandatangnan dokumen kertas oleh yang berwenang sebelum dikirimkan, dengan cara ini pengirim bertanggung jawab terhadap isi dokumen dan dapat dicek keaslian dokumen oleh penerima.



BAB III 
 ANALISIS DAN PERANCANGAN

Tentang Digital Signature(digital)
Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan. Digital Signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci publik dan kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan untuk mendekripsi data. Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian, Message Digest dienkripsi oleh kunci publik menjadi Digital Signature.
Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah diubah oleh pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang ada tidak akan bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity. Artinya adalah, keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar.

             Digital Signature Algorithm (DSA)
a.      Parameter DSA
DSA dikembangkan dari algoritma Elgamal. DSA menggunakan beberapa parameter sebagai berikut:
A.    p, adalah bilangan prima dengan panjang bit, yang dalam hal ini 512 <<1024 dan harus kelipatan 64. Parameter bersifat publik dan dapat digunakan bersama-sama oleh orang di dalam kelompok.
B.     q, bilangan prima 160 bit, merupakan faktor dari – 1. Dengan kata lain, (– 1) mod = 0. Parameter berisfat publik.

C.    h(– 1)/mod p, yang dalam hal ini – 1 sedemikian sehingga h(– 1)/mod > 1. Parameter bersifat publik.

D.    x, adalah bilangan bulat kurang dari q. Parameter adalah kunci rahasia.

E.     gx mod p, adalah kunci publik.

F.     m, pesan yang akan diberi sidik dijital.
      
       b. Pembentukan Sepasang Kunci
A.    Pilih bilangan prima p dan q, yang dalam hal ini (– 1) mod = 0.
B.     Hitung h(– 1)/mod p, yang dalam hal ini 1 < – 1 dan h(– 1)/mod > 1.
C.    Tentukan kunci rahasia x, yang dalam hal ini q.
D.    Hitung kunci publik gx mod p.

       c. Pembentukan Sidik Dijital (Signing)
A.    Ubah pesan menjadi message digest dengan fungsi hash SHA, H.
B.     Tentukan bilangan acak q.
C.    Sidik dijital dari pesan adalah bilangan dan s. Hitung dan sebagai berikut:
= (gk mod p) mod q
           s = (k– 1 (H(m) + x * r)) mod q
D.    Kirim pesan dan sidik dijital dan s.

       dVerifikasi Keabsahan Sidik Dijital (Verifying)
  Hitung

s– 1 mod q
u1 = (H(m) * w) mod q
u2 = (w) mod q
= ((gu1 * yu2) mod p) mod q)
  Jika r, maka sidik dijital sah, yang berarti bahwa pesan masih asli dan dikirim oleh pengirim yang benar.

       e. Contoh Perhitungan DSA
·           Pembentukan Sepasang Kunci
1.      Pilih bilangan prima p dan q, yang dalam hal ini (– 1) mod = 0.

= 59419
= 3301 (memenuhi 3301 * 18 = 59419 – 1)

2.      Hitung h(– 1)/mod p, yang dalam hal ini 1 < – 1 dan h(– 1)/mod > 1
= 18870 (dengan h = 100)
3.      Tentukan kunci rahasia x, yang dalam hal ini q.

= 3223
4.      Hitung kunci publik gx mod p.

= 29245
         Pembentukan Sidik Dijital (Signing)

1. Hitung nilai hash dari pesan, misalkan H(m) = 4321
2. Tentukan bilangan acak q.
= 997
k– 1 = 2907 (mod 3301)
3. Hitung dan sebagai berikut:

= (gk mod p) mod = 848
= (k– 1 (H(m) + x * r)) mod q
= 7957694475 mod 3301 = 183
4. Kirim pesan dan sidik dijital dan s.

       f. Implementasi DSA
      Adanya batasan bahwa nilai mempunyai panjang 512 sampai 1024 bit dan 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 dan diubah hingga maksimum nilai dan adalah 232.
  

BAB IV 
 KESIMPULAN DAN FUNGSI

Fungsi Digital Signature atau Tanda Tangan Digital :
Digital Signature atau Tanda Tangan Digital ini digunakan untuk memastikan bahwa penerima menerima pesan yang diterima sungguh berasal dari pengirim yang dimaksudkan.

Cara Kerja Digital Signature atau Tanda Tangan Digital :

Tanda tangan digital dibuat dengan menggunakan teknik kriptografi, suatu cabang dari matematika terapan yang menangani tentang pengubahan suatu informasi menjadi bentuk lain yang tidak dapat dimengerti dan dikembalikan seperti semula. Tanda tangan digital menggunakan “public key cryptography” (kriptografi kunci publik), dimana algoritmanya menggunakan dua buah kunci, yang pertama adalah kunci untuk membentuk tanda tangan digital atau mengubah data ke bentuk lain yang tidak dapat dimengerti, dan kunci kedua digunakan untuk verifikasi tanda tangan digital ataupun mengembalikan pesan ke bentuk semula. Konsep ini juga dikenal sebagai “assymmetric cryptosystem” (sistem kriptografi non simetris). Sistem kriptografi ini menggunakan kunci privat, yang hanya diketahui oleh penandatangan dan digunakan untuk membentuk tanda tangan digital, serta kunci publik, yang digunakan untuk verifikasi tanda tangan digital. Jika beberapa orang ingin memverifikasi suatu tanda tangan digital yang dikeluarkan oleh seseorang, maka kunci publik tersebut harus disebarkan ke orang-orang tersebut. Kunci privat tidak dapat ditemukan menggunakan informasi yang didapat dari kunci publik. Proses lain yang tak kalah penting adalah “fungsi hash”, digunakan untuk membentuk sekaligus memverifikasi tanda tangan digital. Fungsi hash adalah sebuah algoritma yang membentuk representasi digital atau nilai hash dan biasanya jauh lebih kecil dari dokumen aslinya dan unik hanya berlaku untuk dokumen tersebut. Perubahan sekecil apapun pada suatu dokumen akan mengakibatkan perubahan pada nilai hash yang berkorelasi dengan dokumen tersebut. Fungsi hash yang demikian disebut juga fungsi hash satu arah, karena suatu nilai hash tidak dapat digunakan untuk membentuk kembali dokumen aslinya. Oleh karenanya, fungsi hash dapat digunakan untuk membentuk tanda tangan digital. Fungsi hash ini dapat mendeteksi apabila dokumen tersebut telah diubah dari bentuk aslinya. Secara rinci kedua proses tersebut dapat dijelaskan sebagai berikut :
  1. Pembentukan tanda tangan digital menggunakan nilai hash yang dihasilkan dari dokumen serta kunci privat yang telah didefinisikan sebelumnya. Untuk menjamin keamanan nilai hash maka seharusnya terdapat kemungkinan yang sangat kecil bahwa tanda tangan digital yang sama dapat dihasilkan dari dua dokumen serta kunci privat yang berbeda.
  2. Verifikasi tanda tangan digital adalah proses pengecekan tanda tangan digital dengan mereferensikan ke dokumen asli dan kunci publik yang telah diberikan, dengan cara demikian dapat ditentukan apakah tanda tangan digital dibuat untuk dokumen yang sama menggunakan kunci privat yang berkorespondensi dengan kunci publik. Untuk menandatangani sebuah dokumen atau informasi lain, penandatangan pertama-tama membatasi secara tepat bagian-bagian mana yang akan ditandatangani. Informasi yang dibatasi tersebut dinamakan “message”. Kemudian aplikasi tanda tangan digital akan membentuk nilai hash menjadi tanda tangan digital menggunakan kunci privat. Tanda tangan digital yang terbentuk adalah unik baik untuk message dan juga kunci privat. Umumnya, sebuah tanda tangan digital disertakan pada dokumennya dan juga disimpan dengan dokumen tersebut juga. Bagaimanapun, tanda tangan digital juga dapat dikirim maupun disimpan sebagai dokumen terpisah, sepanjang masih dapat diasosiasikan dengan dokumennya. Karena tanda tangan digital bersifat unik pada dokumennya, maka pemisahan tanda tangan digital seperti itu merupakan hal yang tidak perlu dilakukan.

 Gambaran Sistem
Cara kerja DSA adalah sebagai berikut.
User A yang mengirim file akan meringkas file menjadi message digest dengan fungsi Hash satu arah. Kemudian user mengrnkripsi message digest dengan kunci privatnya. Hasil enkripsinya disertakan pada dokumen. Artinya User A telah memberi tanda tangan digitalnya ke file.·
User B yang menerima file akan meringkas file User A menjadi message digest dengan fungsi Hash yang sama. User B mendekripsi tandan tangan User A yang berada pada file. Jika hasil dekripsinya sama dengan hasil message digest maka tanda tangan sah atau valid.·
Bila ditengah jalan ada User C yang mengganti isi file sebelum masuk ke User B maka hasilnya akan tidak valid karena file talah dimanipulasi oleh User C.·

   
Tools / Software Digital Signature atau Tanda Tangan Digital :
  1. DigiSigner versi 3.3.6
  2. PDF-XChange versi 2.5.210.0
  3. MD5 Checker


KATA PENUTUP
Demikian yang dapat saya paparkan mengenai materi yang menjadi pokok bahasan dalam makalah ini, tentunya masih banyak kekurangan dan kelemahannya, kerena terbatasnya pengetahuan dan kurangnya rujukan atau referensi yang ada hubungannya dengan judul makalah ini.