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 :
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
a. System / Information Engineering
Mempersiapkan
berbagai kebutuhan dari semua elemen yang diperlukan system dan
mengalokasikannya kedalampembentukan perangkat lunak.
b. Analisis
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
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 :
- Otentik, dapat dijadikan alat
bukti di peradilan (kuat).
- Hanya sah untuk dokumen (pesan)
itu saja, atau kopinya. Dokumen berubah satu titik, tanda tangan jadi
invalid.
- 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 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 di dalam kelompok.
B.
q, bilangan prima 160 bit, merupakan faktor dari p –
1. Dengan kata lain, (p – 1) mod q = 0.
Parameter q berisfat publik.
C.
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.
D.
x, adalah bilangan bulat kurang dari q.
Parameter x adalah kunci rahasia.
E.
y = 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 (p –
1) mod q = 0.
B. Hitung g = h(p –
1)/q mod p, yang dalam hal ini 1 < h < p –
1 dan h(p – 1)/q mod p >
1.
C. Tentukan kunci
rahasia x, yang dalam hal ini x < q.
D.
Hitung kunci publik y = gx mod p.
c. Pembentukan Sidik Dijital (Signing)
A. Ubah pesan m menjadi message
digest dengan fungsi hash SHA, H.
B. Tentukan bilangan
acak k < q.
C. Sidik dijital 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
D.
Kirim pesan m dan sidik dijital r dan s.
d. Verifikasi
Keabsahan Sidik Dijital (Verifying)
Hitung
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 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 (p – 1) mod q = 0.
p = 59419
q = 3301 (memenuhi 3301 * 18
= 59419 – 1)
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
g = 18870 (dengan h = 100)
3. Tentukan kunci
rahasia x, yang dalam hal ini x < q.
x = 3223
4. Hitung kunci publik y = gx mod p.
y = 29245
Pembentukan Sidik Dijital (Signing)
1. Hitung nilai hash dari pesan,
misalkan H(m) = 4321
2. Tentukan bilangan
acak k < q.
k = 997
k– 1 = 2907 (mod 3301)
3. Hitung r dan s sebagai
berikut:
r = (gk mod p)
mod q = 848
s = (k– 1 (H(m)
+ x * r)) mod q
=
7957694475 mod 3301 = 183
4. Kirim pesan m dan
sidik dijital r dan s.
f. 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.
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 :
- 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.
- 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.
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 :
- DigiSigner versi 3.3.6
- PDF-XChange versi 2.5.210.0
- 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.