• Tidak ada hasil yang ditemukan

APLIKASI FUNGSI HASH MD5 DAN ALGORITMA RSA UNTUK PEMBUATAN SIDIK DIJITAL

N/A
N/A
Protected

Academic year: 2021

Membagikan "APLIKASI FUNGSI HASH MD5 DAN ALGORITMA RSA UNTUK PEMBUATAN SIDIK DIJITAL"

Copied!
87
0
0

Teks penuh

(1)

APLIKASI FUNGSI HASH MD5 DAN ALGORITMA RSA

UNTUK PEMBUATAN SIDIK DIJITAL

oleh

HIMAWAN YUSUF M0102027

SKRIPSI

ditulis dan diajukan untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Sains Matematika

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET

SURAKARTA 2006

(2)

PENGESAHAN

SKRIPSI

APLIKASI FUNGSI HASH MD5 DAN ALGORITMA RSA UNTUK PEMBUATAN SIDIK DIJITAL

yang disiapkan dan disusun oleh HIMAWAN YUSUF NIM. M0102027 Dibimbing oleh Pembimbing I Drs. Wiranto, M. Kom NIP. 132 044 769 Pembimbing II Drs. Sugiyanto, M.Si NIP. 132 000 804 Telah dipertahankan di depan Dewan Penguji

Pada hari Kamis, tanggal 19 Oktober 2006 dan dinyatakan telah memenuhi syarat.

Anggota Tim Penguji Tanda Tangan 1. Dr. Sutanto, S.Si, DEA 1.

NIP. 132 149 079

2. Umi Salamah, M.Kom 2. NIP. 132 162 555

3. Sri Kuntari, M.Si 3. NIP. 132 240 173

Surakarta, 1 November 2006 Disahkan oleh

Fakultas Matematika dan Ilmu pengetahuan Alam

Dekan, Ketua Jurusan Matematika,

Drs. Marsusi, M.S. Drs. Kartiko, M.Si. NIP. 130 906 776 NIP. 131 569 203

(3)

ABSTRAK

Himawan Yusuf, 2006. APLIKASI FUNGSI HASH MD5 DAN ALGORITMA RSA UNTUK PEMBUATAN SIDIK DIJITAL, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret.

Pengamanan data tidak hanya sebatas data tersebut tidak dapat dibaca orang lain, tetapi juga bagaimana agar data tersebut tidak dapat diubah dan dapat dipastikan dikirim oleh orang yang benar. Selama berabad-abad lamanya tanda tangan telah digunakan untuk membuktikan keabsahan dokumen. Oleh karena itu, data yang dikirim perlu diberi suatu tanda bahwa data tersebut sah. Dari pemikiran tersebut, munculah ide untuk membuat sidik dijital (digital signature). Salah satu cara untuk membuat sidik dijital adalah dengan menggunakan fungsi hash MD5 dan algoritma RSA.

Tujuan dari penelitian ini adalah mengetahui kinerja dari fungsi hash MD5 dan algoritma RSA dalam membuat sidik dijital dan membuktikan keabsahan data dengan menggunakan sidik dijital. Selanjutnya dilakukan analisis untuk mengetahui apakah sidik dijital tersebut mampu menjaga keabsahan data.

Dari penelitian yang telah dilakukan, diketahui bahwa fungsi hash MD5 dan algoritma RSA membuat sidik dijital dengan cara algoritma RSA mengenkripsikan message digest (pesan ringkas) yang dibuat oleh fungsi hash MD5. Kemudian untuk membuktikan keabsahan data, hasil dekripsi sidik dijitalnya disamakan dengan message digest dari data yang diterima. Setelah diadakan pengujian dan analisa dapat diambil kesimpulan bahwa fungsi hash MD5 dan algoritma RSA mampu membuat sidik dijital yang dapat digunakan untuk menjaga keabsahan data.

Kata Kunci : sidik dijital, fungsi hash MD5, algoritma RSA, message digest, keabsahan data

(4)

ABSTRACT

Himawan Yusuf, 2006. THE APPLICATION OF MD5 HASH FUNCTION AND RSA ALGORITHM FOR MAKING DIGITAL SIGNATURE. Faculty of Mathematics and Natural Sciences Sebelas Maret University.

Data security is not merely limited to only prohibit acces from other people, but it also keeps the data unchanged by making sure it is completely delivered to right person. For centuries, the hand signature have been used to prove that the document is valid. So, the data which is sent to the second party needs a proof of validity or legality. The tought concerning to that system grows an idea for making digital signature. One of the ways for making digital signature is by employing MD5 hash function and RS algorithm.

The aim of the research is to know the working system of MD5 hash function and RSA algorithm for making digital signature and to prove data validity by using digital signature system. Then the analysis is conducted to know the ability of digital signature in keeping data validity.

From this research, it is known that MD5 hash function and RSA algorithm make digital signature in the way that RSA algorithm encrypts the message digest made by MD5 hash function. To prove data validity, the result of digital signature decryption must be equal to message digest from data received. After the test and analysis are conducted, it is concluded that MD5 hash function and RSA algorithm is able to make digital signature to keep data validity.

Keys : digital signature, MD5 hash function, RSA algorithm, message digest, data validity

(5)

MOTO

Tiga kunci sesoeorang untuk mencapai keberhasilan adalah 1. ilmu,

2. usaha,

3. rahmat Allah.

(Penulis)

Allah tidak akan memberi beban kepada hambanya melainkan sesuai dengan kemampuannya. (QS Al Baqarah : 286)

(6)

PERSEMBAHAN

Karya ini kupersembahkan untuk : - Ibunda tersayang, metode kesabaran dan kurikulum berbasis kasih sayang yang kau berikan

adalah pendidikan terbaik yang pernah kuterima sepanjang hidupku, terimakasih bunda. - Ayahanda, semoga anakmu ini bisa membuatmu bangga. - Mas dan Mbakku yang selalu mendukung dan mendo’akanku Mas Sholikin, Mbak Mung, Mas Nang, Mbak Endah, Mbak Ren, Mas Santoso,dan Ubub. - 7 keponakanku yang lucu-lucu: Fahri, Ali, Sisil, Sasa, Rahil, Aviv, dan Friday. - Calon istriku, semoga engkau bisa menjadi istri yang sholehah. - Pengurus HIMATIKA 2004/2005, the best team in my life.

(7)

KATAPENGANTAR

Assalaamu’alaikum Wr. Wb.

Alhamdulillah, puji syukur penulis panjatkan kepada Allah SWT yang telah melimpahkan rahmat dan kasih sayangnya sehingga skripsi ini dapat terselesaikan. Sholawat dan salam semoga selalu tercurah kepada suri tauladan Rasulullah Muhammad SAW, serta keluarga, sahabat, dan orang-orang yang istiqomah di jalan-Nya.

Terselesaikannya skripsi ini tidak terlepas dari bantuan beberapa pihak. Untuk itu penulis mengucapkan terimakasih kepada :

1. Drs. Wiranto, M.Kom, selaku pembimbing I yang telah meluangkan waktunya untuk memberikan bimbingan dan motivasi kepada penulis. 2. Drs. Sugiyanto, M.Si, selaku pembimbing II yang juga telah banyak

membantu penulis dalam menyelesaikan skripsi ini.

3. Dra. Sri Subanti, M.Si, selaku pembimbing akademis yang telah memberikan perhatian dan bimbingan kepada penulis.

4. Lisda, Ardina, dan Misbachul yang telah memberikan banyak bantuan kepada penulis.

5. Eko Pramudyo Hadi, S.Si dan Winarno, S.Si yang telah memberi inspirasi, motivasi dan bimbingan kepada penulis.

6. Najib dan Karin yang telah memberikan bantuan, saran, dan kritik kepada penulis.

7. Teman-teman angkatan 2002 dan 2003 yang memberikan bantuan dan motivasi.

8. SAT UNS dan TEAM SAT UNS 2006 yang telah memberikan bantuan dan fasilitas kepada penulis.

9. UPT PUSKOM UNS yang telah meminjamkan fasilitas kepada penulis.

10. Semua pihak yang telah membantu penulis dalam menyusun skripsi ini.

(8)

Semoga Allah SWT membalas segala bantuan yang telah diberikan kepada penulis. Semoga skripsi ini dapat bermanfaat bagi semua pihak yang membutuhkan.

Surakarta, 12 Oktober 2006

(9)

DAFTAR ISI JUDUL i PENGESAHAN ii ABSTRAK iii ABSTRACT iv MOTO v PERSEMBAHAN vi KATA PENGANTAR vii DAFTAR ISI ix DAFTAR TABEL xi DAFTAR GAMBAR xii DAFTAR LAMPIRAN xiii DAFTAR NOTASI xiv I PENDAHULUAN 1

1.1. Latar Belakang Masalah ... 1

1.2. Perumusan Masalah ... 2 1.3. Batasan Masalah ... 3 1.4. Tujuan ... 3 1.5. Manfaat ... 3 II LANDASAN TEORI 4 2.1. Kajian Pustaka ... 4 2.1.1. Keamanan Data ... 5 2.1.2. Kriptografi ... 6 2.1.3. Fungsi Hash ... 7 2.1.4. Algoritma MD5 ... 10 2.1.4. RSA Cryptosystem ... 17 2.1.5. Sidik Dijital ... 19

(10)

2.2. Kerangka Pemikiran ... 20

III METODOLOGI PENELITIAN 22

IV PEMBAHASAN 23 4.1. Pembuatan Sidik Dijital... 23

4.1.1. Prosedur Pembuatan Message Digest... 24

4.1.2. Prosedur Menghasilkan Kunci Untuk Setiap Pemakai ... 24

4.1.3. Prosedur Enkripsi Untuk Pengirim ... 25

4.2. Analisis Keabsahan Data ... 25

4.2.1. Prosedur Dekripsi Untuk Penerima ... 26

4.2.2. Prosedur Verifikasi Sidik Dijital ... 26

4.3. Penerapan Kasus ... 27

4.3.1. Tahap Pembuatan Sidik Dijital ... 28

4.3.1.1. Tahap Pembuatan Message Digest ... 28

4.3.1.2. Tahap Menghasilkan Kunci Pribadi dan Kunci Publik ... 28

4.3.1.3. Tahap Enkripsi Untuk Operator ... 29

4.3.2. Tahap Analisis Keabsahan Data ... 31

4.4. Pembuatan dan Pengujian Aplikasi ... 32

4.4.1. Pembuatan Aplikasi Untuk Pengirim ... 33

4.4.2. Pengujian Aplikasi Untuk Pengirim ... 37

4.4.3. Pembuatan Aplikasi Untuk Penerima ... 42

4.4.4. Pengujian Aplikasi Untuk Penerima ... 44

4.5. Analisis Kelebihan dan Kelemahan Pembuatan Sidik Dijital dengan Menggunakan Fungsi Hash MD5 dan Algoritma RSA .. 46

V PENUTUP 48 5.1. Kesimpulan ... 48

5.2. Saran ... 48

DAFTAR PUSTAKA ... 49

(11)

DAFTAR TABEL

Tabel 2.1. Fungsi-fungsi dasar MD5 ... 14 Tabel 2.2. Nilai T[i] ... 14 Tabel 2.3. Rincian operasi pada fungsi F (b, c, d) (kiri) dan

fungsi G (b, c, d) (kanan) ... 15 Tabel 2.4. Rincian operasi pada fungsi H (b, c, d) (kiri) dan

(12)

DAFTAR GAMBAR

Gambar 2.1. Hubungan kebijakan dan mekanisme keamanan ... 5

Gambar 2.2. Proses enkripsi dan deskripsi sederhana ... 6

Gambar 2.3. Proses enkripsi dan deskripsi kunci simetris ... 7

Gambar 2.4. Proses enkripsi dan dekripsi kunci asimetris ... 8

Gambar 2.5. Pembuatan message digest dengan algoritma MD5 ... 10

Gambar 2.6. Pengolahan blok 512 bit (Proses HMD5) ... 12

Gambar 2.7. Operasi dasar MD5 ... 13

Gambar 4.1. Skema pembuatan sidik dijital dengan menggunakan fungsi hash ... 23

Gambar 4.2. Otentikasi dengan sidik dijital menggunakan fungsi hash satu-arah ... 26

Gambar 4.3. Form regristrasi pelanggan prabayar ... 27

Gambar 4.4. Skema regristrasi pengguna kartu prabayar ... 28

Gambar 4.5. Alur sistem pembuatan sidik dijital ... 33

Gambar 4.6. Form petunjuk pemakaian aplikasi ... 37

Gambar 4.7. Form regristrasi ... 38

Gambar 4.8. Form pembuatan message digest ... 38

Gambar 4.9. Peringatan apabila kunci yang dimasukkan tidak prima .. 39

Gambar 4.10. Form pembuatan kunci ... 39

Gambar 4.11. Kunci publik yang dikirimkan kepada penerima ... 40

Gambar 4.12. Form enkripsi message digest ... 40

Gambar 4.13. Sidik dijital hasil dari enkripsi message digest ... 41

Gambar 4.14. Alur sistem verifikasi sidik dijital ... 42

Gambar 4.15. Form petunjuk pemakaian aplikasi ... 44

Gambar 4.16. Tampilan form verifikasi sidik dijital ketika data sah .... 45

Gambar 4.17. Tampilan form verifikasi sidik dijital ketika data tidak sah ... 45

(13)

DAFTAR LAMPIRAN

Fungsi dan prosedur yang digunakan dalam aplikasi ... 51 Source code fungsi hash MD5 ... 56 (dari www.ficthner.net/delphi/md5.delphi.phtml)

Source code aplikasi pembuatan sidik dijital ... 64 Source code aplikasi verifikasi sidik dijital ... 70

(14)

DAFTAR NOTASI h : Nilai hash.

g : Salah satu fungsi F, G, H, I. CLSs : Circular left shift sebanyak s bit.

X[k] : Kelompok 32-bit ke-k dari blok 512 bit message ke-q. Nilai k=0 sampai 15.

T[i] : Elemen Tabel T ke-i (32 bit). + : Operasi penjumlahan modulo 232.

IV : Initial vector dari penyangga ABCD, yang dilakukan pada proses inisialisasi penyangga.

Yq : Blok pesan berukuran 512-bit ke-q. L : Jumlah blok pesan.

MD : Nilai akhir message digest. p : Kunci bilangan prima ke-1. q : Kunci bilangan prima ke-2. r : Perkalian p dan q. φ(r) : Perkalian (p – 1) dan (q – 1). PK : Kunci publik. SK : Kunci Rahasia. X : Plaintext. Y : Chipertext S : Sidik dijital.

(15)

BAB I PENDAHULUAN

1.1. Latar Belakang

Kemajuan di bidang teknologi informasi telah memungkinkan seseorang untuk melakukan komunikasi dan transaksi bisnis secara on-line. Kegiatan-kegiatan tersebut tentu saja akan menimbulkan resiko apabila informasi yang sensitif dan berharga itu diakses oleh orang-orang yang tidak berhak. Dengan berpindahnya data dari titik A ke titik B di internet, data itu akan melalui beberapa titik lain selama perjalanan dan membuka kesempatan bagi pihak lain untuk memotong, membaca, merusak, atau merubah tujuan data (Nursanto, 2003). Misalnya, informasi mengenai data pengguna kartu prabayar yang melakukan regristrasi, apabila informasi ini jatuh kepada orang-orang jahat dimungkinkan beberapa data seperti nomor kartu atau nomor id diubah, sehingga ketika nomor kartu yang digantikan itu melakukan tindakan kriminal, yang tertangkap adalah orang yang sebenarnya tidak mengetahui apa-apa.

Beberapa cara telah dikembangkan untuk menangani masalah keamanan ini, salah satu teknik mengamankan data dari suatu sistem informasi adalah dengan algoritma penyandian data atau yang biasa disebut dengan kriptografi. Kriptografi merupakan bagian dari suatu cabang ilmu matematika (cryptology) yang dapat dimanfaatkan untuk kepentingan keamanan pesan (Nursanto, 2003).

Pengamanan data tidak hanya sebatas data tersebut tidak dapat dibaca orang lain, tetapi juga bagaimana agar data tersebut tidak dapat diubah dan dapat dipastikan dikirim oleh orang yang benar. Selama berabad-abad lamanya tanda tangan telah digunakan untuk membuktikan keabsahan dokumen. Oleh karena itu, data yang dikirim perlu diberi suatu tanda bahwa data tersebut sah. Dari pemikiran tersebut, munculah ide untuk membuat sidik dijital (digital signature). Menurut Munir (2004), sidik dijital bukanlah tanda tangan yang didijitasi dengan alat scanner, tetapi suatu nilai kriptografis yang

(16)

bergantung pada pesan dan pengirim pesan (hal ini kontras dengan tanda tangan pada dokumen kertas yang bergantung hanya pada pengirim dan selalu sama untuk semua dokumen).

Sidik dijital dapat dibuat dengan mengubah data menjadi message digest oleh fungsi hash tertentu. Kemudian dari message digest tersebut dibuat sidik dijital dengan algoritma kriptografi. Pada tahun 1991, Ronald Rivest memperkenalkan fungsi hash MD5 (Message Digest Algorithm 5). MD5 adalah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standar internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah file.

Sebelumnya, pada tahun 1977 Rivest bersama Shamir dan Adleman membuat sebuah algoritma untuk teori penomoran pada sebuah public-key cryptosystem, algoritma ini dikenal dengan RSA cryptosystem. Algoritma RSA (Rivest Shamir Adleman) menggunakan kunci asimetris yang menggunakan dua kunci dalam proses enkripsi dekripsi, sehingga mempunyai tingkat keamanan lebih tinggi dibandingkan algortima yang menggunakan kunci simetris. Menurut Munir (2004) untuk membuat sidik dijital, algoritma yang cocok digunakan hanyalah algoritma kunci publik. Dengan fungsi hash MD5 dan algoritma RSA, diharapkan dapat menghasilkan sidik dijital yang mampu menjamin keabsahan data.

1.2. Perumusan Masalah

Dari latar belakang masalah tersebut, dapat dirumuskan permasalahan yang sedang dihadapi, yaitu :

1. Bagaimana kinerja dari fungsi hash MD5 dan algoritma RSA dalam membuat sidik dijital.

2. Bagaimana membuktikan keabsahan data dengan menggunakan sidik dijital.

3. Bagaimana kemampuan sidik dijital yang dibuat oleh fungsi hash MD5 dan algoritma RSA dalam menjaga keabsahan data.

(17)

1.3. Batasan Masalah

Dalam penelitian ini, permasalahan yang dibahas dibatasi pada pembahasan mengenai sidik dijital saja. Penyandian (enkripsi atau dekripsi) data tidak dibahas disini.

1.4. Tujuan

Tujuan dari penelitian ini adalah sebagai berikut.

1. Mengetahui kinerja dari fungsi hash MD5 dan algoritma RSA dalam membuat sidik dijital.

2. Dapat membuktikan keabsahan suatu data dengan menggunakan sidik dijital.

3. Mengetahui sidik dijital yang dibuat oleh fungsi hash MD5 dan algoritma RSA mampu menjaga keabsahan data.

1.5. Manfaat

Dari penelitian ini diharapkan pembuatan sidik dijital dengan

menggunakan fungsi hash MD5 dan algoritma RSA dapat diaplikasikan untuk mengatasi masalah pemalsuan dokumen, sabotase informasi, dan masalah kejahatan lain yang melibatkan pengubahan isi data maupun pengirimnya.

(18)

BAB II

LANDASAN TEORI

2.1. Tinjauan Pustaka

Untuk mencapai tujuan penelitian, diperlukan pengertian dan teori-teori yang melandasinya. Pada bab ini diberikan penjelasan tentang keamanan data, kriptografi, fungsi hash, algoritma MD5, RSA cryptosystem, dan sidik dijital yang diperoleh dari beberapa referensi.

2.1.1. Keamanan Data

Data atau pesan yang diperhatikan dan perlu diamankan adalah yang bersifat rahasia. Menurut Susanto (2004), tujuan utama adanya keamanan adalah untuk membatasi akses terhadap informasi dan hanya untuk pemakai yang memiliki hak akses. Beberapa ancaman yang harus diperhatikan dalam sistem keamanan data adalah

1. leakage (kebocoran), yaitu pengambilan informasi oleh penerima yang tidak berhak,

2. tampering, yaitu pengubahan informasi yang tidak legal, 3. validasm (perusakan), yaitu gangguan operasi sistem tertentu.

Beberapa metode penyerangan terhadap keamanan, yaitu 1. eavesdropping, yaitu mendapatkan duplikasi pesan tanpa ijin,

2. masquerading, yaitu mengirim atau menerima pesan menggunakan identitas lain tanpa seizin pemilik,

3. message tampering, yaitu menghadang atau menangkap pesan dan mengubah isinya sebelum dilanjutkan ke penerima sebenarnya.

Dalam keamanan data perlu diadakan pemisahan antara kebijakan dan mekanisme keamanan, yang akan membantu memisahkan kebutuhan

implementasinya, karena kebijakan dapat menspesifikasikan kebutuhan dan mekanisme dapat menerapkan spesifikasi kebijakan tersebut.

(19)

Berdasarkan spesifikasi dari OSI (Open Systems Interconnection), sebuah layanan (kebijakan) keamanan meliputi

1. access control, yaitu perlindungan data terhadap pemakaian tak legal, 2. authentication, yaitu menyediakan jaminan identitas seseorang,

3. confidentiality (kerahasiaan), yaitu pengungkapan terhadap identitas tak legal,

4. integrity, yaitu melindungi dari pengubahan data,

5. non-repudiation (penyangkalan), yaitu melindungi terhadap penolakan komunikasi yang sudah pernah dilakukan.

Untuk mencapai keamanan tersebut, menurut Susanto (2004) mekanisme-mekanisme yang dapat diterapkan, yaitu

1. enkripsi, dapat digunakan untuk menyediakan kerahasiaan pesan, dapat menyediakan authentication dan perlindungan identitas,

2. sidik dijital (digital signature), dapat digunakan untuk menyediakan authentication, perlindungan indentitas, dan non-repudiation,

3. algoritma checksum atau hash, dapat digunakan untuk menyediakan perlindungan integritas, dan dapat menyediakan authentication.

Dalam keamanan data, hubungan antara kebijakan (layanan) dengan mekanisme keamanan dapat digambarkan sebagai berikut.

Gambar 2.1. Hubungan kebijakan dan mekanisme keamanan. SSL

Enkripsi Signature Hashing

RSA DES DSA RSA SHA1 MD5

Kebijakan

Mekanisme

(20)

2.1.2. Kriptografi 1. Terminologi

Kriptografi (Cryptography) merupakan seni dan ilmu menyembunyikan informasi dari penerima yang tidak berhak. Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu dari kata “cryptos” berarti tersembunyi dan “graphien” yang berarti menulis. Jadi kriptografi (cryptography) artinya penulisan tersembunyi atau penulisan rahasia (Rahayu, 2005).

Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data asli (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima, ciphertext tersebut ditranformasikan kembali ke dalam bentuk plaintext agar dapat dikenali (Sukaridhoto, 2005).

Proses tranformasi dari plaintext menjadi ciphertext disebut proses encipherment atau enkripsi (encryption), sedangkan proses mentransformasikan kembali ciphertext menjadi plaintext disebut proses dekripsi (decryption). Dalam melakukan enkripsi dan dekripsi data, kriptografi menggunakan suatu algoritma (cipher) dan kunci (key). Cipher adalah fungsi matematika yang digunakan untuk mengenkripsi dan mendekripsi. Sedangkan kunci merupakan sederetan bit yang diperlukan untuk mengenkripsi dan mendekripsi data.

Gambar 2.2. Proses enkripsi dan deskripsi sederhana

Enkripsi Dekripsi Kunci Plaintex t Chipertex t Plaintex t Kunci

(21)

Algoritma kriptografi modern tidak lagi mengandalkan kerahasiaan algoritma tetapi kerahasiaan kunci. Jadi algoritma kriptografi dapat bersifat umum dan boleh diketahui siapa saja, karena tanpa pengetahuan tentang kunci maka data yang tersandi tetap saja tidak dapat dipecahkan. Akan tetapi berlaku sebaliknya untuk kunci, karena plaintext yang sama bila disandikan dengan kunci yang berbeda akan menghasilkan ciphertext yang berbeda, walaupun dengan algoritma yang sama.

Istilah-istilah dalam kriptografi, antara lain cryptosystem,

Cryptographers, cryptanalysis, Cryptanalyst, dan cryptology. Cryptosystem adalah sebuah algoritma kriptografi ditambah semua kemungkinan plaintext, ciphertext dan kunci. Para pelaku atau praktisi kriptografi disebut

Cryptographers. Cryptanalysis adalah aksi untuk memecahkan mekanisme kriptografi dengan cara mendapatkan plaintext atau kunci dari ciphertext yang digunakan untuk mendapatkan informasi berharga kemudian mengubah atau memalsukan pesan dengan tujuan untuk menipu penerima yang

sesungguhnya, atau memecahkan ciphertext. Cryptanalyst adalah pelaku atau praktisi yang menjalankan cryptanalysis. Cryptology merupakan gabungan dari cryptography dan cryptanalysis (Rahayu, 2005).

2. Algoritma Kriptografi

Berdasarkan kunci yang dipakai, algoritma kriptografi modern dibagi menjadi dua macam, yaitu :

a. Kunci Simetris

Pada kunci simetris jenis kunci yang digunakan untuk membuat pesan yang disandikan (enkripsi) sama dengan kunci untuk membuka pesan yang disandikan (dekripsi). Jadi pengirim dan penerima pesan harus memiliki kunci yang sama (Budiyono, 2004). Proses enkripsi-dekripsi dengan algoritma kunci simetris dapat dilihat pada gambar 2.3.

(22)

Gambar 2.3. Proses enkripsi dan deskripsi kunci simetris Contoh algoritma kunci simetris adalah DES (Data Encryption Standard), AES (Advanced Encryption Standard), Blowfish, IDEA (International Data Encryption Algorithm), OTP (One-Time-Pad), dan lain-lain.

b. Kunci Asimetris

Pada kunci asimetris jenis kunci yang digunakan untuk enkripsi tidak sama dengan kunci untuk dekripsi. Kunci publik digunakan untuk

mengenkripsi suatu pesan dimiliki oleh semua orang, dan kunci pribadi digunakan untuk mendekripsikan pesan yang dikirim untuknya dimiliki satu orang (Budiyono, 2004). Proses enkripsi-dekripsi dengan algoritma kunci asimetris dapat dilihat pada gambar 2.4.

Gambar 2.4. Proses enkripsi dan dekripsi kunci asimetris Dengan menggunakan kunci asimetris ini, semua orang dapat mengenkripsi pesan dengan memakai public key penerima yang telah

diketahui secara umum. Akan tetapi pesan yang telah terenkripsi, hanya dapat didekripsi dengan menggunakan private key yang hanya diketahui oleh penerima pesan. Contoh dari algoritma kunci asimetris adalah RSA, DSA (Digital Signature Algorithm) dan Merkle-Hellman Scheme

Enkripsi Dekripsi

Kunci Rahasia Kunci Rahasia

Plaintex

t Chipertext Plaintext

Enkripsi Dekripsi

Kunci Publik Kunci Rahasia

Plaintex

(23)

2.1.3. Fungsi Hash

Menurut Munir (2004), fungsi hash dinamakan juga fungsi hash satu-arah karena pesan yang sudah diubah menjadi message digest (pesan ringkas) oleh fungsi hash tidak dapat dikembalikan lagi menjadi bentuk semula walaupun digunakan algoritma dan kunci yang sama. Sembarang pesan M berukuran bebas dikompresi oleh fungsi hashH melalui persamaan

h = H(M). (2.1)

Sifat-sifat fungsi hash adalah sebagai berikut.

a. Fungsi H dapat diterapkan pada blok data berukuran berapa saja. b. H menghasilkan nilai h dengan panjang tetap (fixed-length output). c. H(x) mudah dihitung untuk setiap nilai x yang diberikan.

d. Untuk setiap h yang dihasilkan, tidak mungkin dikembalikan nilai x sedemikian sehingga H(x) = h. Itulah sebabnya fungsi H dikatakan fungsi hash satu-arah (one-way hash function).

e. Untuk setiap x yang diberikan, tidak mungkin mencari yx sedemikian sehingga H(y) = H(x).

f. Tidak mungkin mencari pasangan x dan y sedemikian sehingga H(x) = H(y).

Nilai fungsi hash satu arah biasanya berukuran kecil, sedangkan pesan berukuran sembarang. Ada beberapa fungsi hash satu-arah yang sudah dibuat, antara lain: MD2, MD4, MD5, SHA (Secure Hash Function), Snefru, N-hash, dan RIPE-MD (Race Integrity Primitivies Evaluation Message Digest).

(24)

2.1.4. AlgoritmaMD5

Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit. Gambaran pembuatan message digest dengan algoritma MD5 diperlihatkan pada Gambar 2.5.

Pesan 1000...000 Panjang Pesan

K bit Padding bits K mod 264 L x 512 bit Y0 Y1

...

Yq

...

YL - 1 512 512 512 512 HMD5 HMD5 ABCD 512 512 128 128 128 HMD5 512 128 128 HMD5 512 128 128 Message Digest (1 - 512 bit)

Gambar 2.5. Pembuatan message digest dengan algoritma MD5

Menurut Munir (2004), langkah-langkah pembuatan message digest secara garis besar adalah sebagai berikut.

a. Penambahan bit-bit pengganjal

(i) Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Ini berarti panjang pesan setelah ditambahi bit-bit pengganjal adalah 64 bit kurang dari kelipatan 512. Angka 512 ini muncul karena MD5 memproses pesan dalam blok-blok yang berukuran 512.

(ii) Pesan dengan panjang 448 bit pun tetap ditambah dengan bit-bit pengganjal. Jika panjang pesan 448 bit-bit, maka pesan tersebut

(25)

ditambah dengan 512 bit menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512.

(iii) Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.

b. Penambahan nilai panjang pesan semula

(i) Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. (ii) Jika panjang pesan > 264 maka yang diambil adalah panjangnya

dalam modulo 264. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64 bit yang ditambahkan menyatakan K modulo 264.

(iii) Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi 512 bit.

c. Inisialisasi penyangga message digest

(i) MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya 32 bit. Total panjang penyangga adalah 4 ×

32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhir.

(ii) Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut.

A = 01234567 B = 89ABCDEF C = FEDCBA98 D = 76543210

d. Pengolahan pesan dalam blok berukuran 512 bit

(i) Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai YL – 1).

(ii) Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-bit, dan ini disebut proses HMD5.

(26)

]) 16 .. 1 [ , , (ABCD Y T f ABCDF q ]) 32 .. 17 [ , , (ABCD Y T f ABCDG q ]) 48 .. 33 [ , , (ABCD Y T f ABCDH q ]) 64 .. 49 [ , , (ABCD Y T f ABCDI q A B C D A B C D A B C D + + + + MDq MDq + 1 128 Yq 512

Gambar 2.6. Pengolahan blok 512 bit (Proses HMD5)

Proses HMD5 terdiri dari 4 buah putaran, dan masing-masing melakukan operasi dasar MD5 sebanyak 16 kali dan setiap operasi dasar memakai sebuah elemen T. Jadi setiap putaran memakai 16 elemen Tabel T. Pada Gambar 2.6, Yq menyatakan blok 512-bit ke-q dari pesan yang telah ditambah bit-bit pengganjal dan tambahan 64 bit nilai panjang pesan semula. MDq adalah nilai message digest 128-bit dari proses HMD5 ke-q. Pada awal proses, MDq berisi nilai inisialisasi penyangga MD. Fungsi-fungsi fF, fG, fH, dan fI masing-masing berisi 16 kali operasi dasar terhadap masukan, setiap operasi dasar menggunakan elemen Tabel T. Operasi dasar MD5 diperlihatkan pada Gambar 2.7.

(27)

a b c d g + + + CLSs + X[k] T[i]

Gambar 2.7. Operasi dasar MD5

Operasi dasar MD5 yang diperlihatkan pada Gambar 2.7 dapat ditulis dengan sebuah persamaan sebagai berikut.

ab + CLSs(a + g(b, c, d) + X[k] + T[i]) (2.2) yang dalam hal ini,

a, b, c, d : empat buah peubah penyangga 32-bit, g : salah satu fungsi F, G, H, I, CLSs : circular left shift sebanyak s bit,

X[k] : kelompok 32-bit ke-k dari blok 512 bit message ke-q. Nilai k=0 sampai 15,

T[i] : elemen Tabel T ke-i (32 bit), + : operasi penjumlahan modulo 232.

(28)

Fungsi fF, fG, fH, dan fI adalah fungsi untuk memanipulasi masukan a, b, c, dan d dengan ukuran 32-bit. Masing-masing fungsi dapat dilihat pada Tabel 2.1.

Tabel 2.1. Fungsi-fungsi dasar MD5 Na ma Notasi G(a, b, c, d) fF F(b, c, d) (b∧c) (~b∧d) fG G(b, c, d) (b∧d) (c ∧ ~d) fH H(b, c, d) B⊕c⊕d fI I(b, c, d) c⊕ (b∧ ~ d)

Nilai T[i] dapat dilihat pada Tabel 2.2. Tabel ini disusun oleh fungsi 232 × abs(sin(i)), i dalam radian.

Tabel 2.2. Nilai T[i] T[1] = D76AA478 T[2] = E8C7B756 T[3] = 242070DB T[4] = C1BDCEEE T[5] = F57C0FAF T[6] = 4787C62A T[7] = A8304613 T[8] = FD469501 T[9] = 698098D8 T[10] = 8B44F7AF T[11] = FFFF5BB1 T[12] = 895CD7BE T[13] = 6B901122 T[14] = FD987193 T[15] = A679438E T[16] = 49B40821 T[17] = F61E2562 T[18] = C040B340 T[19] = 265E5A51 T[20]= E9B6C7AA T[21] = D62F105D T[22] = 02441453 T[23] = D8A1E681 T[24]= E7D3FBCB T[25] = 21E1CDE6 T[26] = C33707D6 T[27] = F4D50D87 T[28] = 455A14ED T[29] = A9E3E905 T[30] = FCEFA3F8 T[31] = 676F02D9 T[32]= 8D2A4C8A T[33] = FFFA3942 T[34] = 8771F681 T[35] = 69D96122 T[36] = FDE5380C T[37] = A4BEEA44 T[38] = 4BDECFA9 T[39] = F6BB4B60 T[40] = BEBFBC70 T[41] = 289B7EC6 T[42] = EAA127FA T[43] = D4EF3085 T[44] = 04881D05 T[45] = D9D4D039 T[46] = E6DB99E5 T[47] = 1FA27CF8 T[48] = C4AC5665 T[49] = F4292244 T[50] = 432AFF97 T[51] = AB9423A7 T[52] = FC93A039 T[53] = 655B59C3 T[54] = 8F0CCC92 T[55] = FFEFF47D T[56] = 85845DD1 T[57] = 6FA87E4F T[58] = FE2CE6E0 T[59] = A3014314 T[60] = 4E0811A1 T[61] = F7537E82 T[62] = BD3AF235 T[63]= 2AD7D2BB T[64] = EB86D391

(29)

Dari persamaan (2.2) dapat dilihat bahwa masing-masing fungsi fF, fG, fH, dan fI melakukan 16 kali operasi dasar. Misalkan notasi

[abcd k s i] menyatakan operasi

ab + ((a + g(b, c, d) + X[k] + T[i])<<<s)

yang dalam hal ini <<<s melambangkan operasi circular left shift 32-bit, operasi dasar pada masing-masing putaran dapat ditabulasikan sebagai berikut.

Tabel 2.3. Rincian operasi pada fungsi F(b, c, d) (kiri) dan fungsi G(b, c, d) (kanan)

No. [abcd k s i] No. [abcd k s i] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4] [ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8] [ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12] [ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20] [ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24] [ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28] [ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31]

(30)

16 [BCDA 15 22 16] 16 [BCDA 12 20 32]

Tabel 2.4. Rincian operasi pada fungsi H(b, c, d) (kiri) dan fungsi I(b, c, d) (kanan)

No. [abcd k s i] No. [abcd k s i] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36] [ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40] [ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44] [ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52] [ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56] [ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60] [ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]

Setelah putaran keempat, a, b, c, dan d ditambahkan ke A, B, C, dan D, dan selanjutnya algoritma memproses untuk blok data berikutnya (Yq+1).

(31)

Keluaran akhir dari algoritma MD5 adalah hasil penyambungan bit-bit di A, B, C, dan D (Munir, 2004).

Dari uraian tersebut, secara umum fungsi hash MD5 dapat ditulis dalam persamaan matematis berikut.

MD0 = IV (2.3)

MDq + 1 = MDq + fI(Yq + fH(Yq + fG(YQ + fF(Yq+ MDq))))

MD = MDL – 1 (2.4)

yang dalam hal ini,

IV : initial vector dari penyangga ABCD, yang dilakukan pada proses inisialisasi penyangga,

Yq : blok pesan berukuran 512-bit ke-q, L : jumlah blok pesan,

MD : nilai akhir message digest.

2.1.5. RSA Cryptosystem

RSA cryptosystem adalah public-key cryptosystem yang menawarkan baik enkripsi maupun tanda tangan digital. Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima (Munir, 2004).

Besaran-besaran yang digunakan pada algoritma RSA adalah :

p dan q bilangan prima (rahasia)

r = pq (tidak rahasia)

• φ(r) = (p – 1) (q – 1) (rahasia)

PK (kunci enkripsi) (tidak rahasia)

SK (kunci dekripsi) (rahasia)

(32)

Y (cipherteks) (tidak rahasia). Algoritma RSA didasarkan pada teorema Euler yang menyatakan bahwa

aφ(r) 1 (mod r) (2.5)

yang dalam hal ini,

a harus relatif prima terhadap r,

• φ(r) = r(1 – 1/p1)(1 – 1/p2) … (1 – 1/pn),

dimana p1, p2, …, pn adalah faktor prima dari r dan φ(r) adalah fungsi yang menentukan berapa banyak dari bilangan-bilangan 1, 2, 3, …, r yang relatif prima terhadap r.

Berdasarkan sifat am bm (mod r) untuk m bilangan bulat 1, maka persamaan (2.5) dapat ditulis menjadi

a mφ(r) 1m (mod r), atau

amφ(r) 1 (mod r). (2.6) Bila a diganti dengan X, maka persamaan (2.6) menjadi

Xmφ(r) 1 (mod r). (2.7) Berdasarkan sifat acbc (mod r), maka bila persamaan (2.7) dikali dengan X menjadi

Xmφ(r) + 1X (mod r) (2.8)

yang dalam hal ini X relatif prima terhadap r. Misalkan SK dan PK dipilih sedemikian sehingga

SKPK≡ 1 (mod φ(r)) (2.9) atau

SKPK = mφ(r) + 1. (2.10)

Persamaan (2.10) disubtitusikan ke dalam persamaan (2.8) menjadi

X SK PKX (mod r). (2.11) Persamaan (2.11) dapat ditulis kembali menjadi

(33)

yang artinya, perpangkatan X dengan PK diikuti dengan perpangkatan dengan SK menghasilkan kembali X semula.

Berdasarkan persamaan (2.12), maka enkripsi dan dekripsi dirumuskan sebagai berikut.

EPK(X) = YXPK mod r, (2.13) DSK(Y) = XYSK mod r. (2.14) Karena SKPK = PKSK, maka enkripsi diikuti dengan dekripsi ekivalen dengan dekripsi diikuti enkripsi

ESK(DSK(X)) = DSK(EPK(X)) ≡XPK mod r. (2.15) Oleh karena XPK mod r (X + mr)PK mod r untuk sembarang bilangan bulat m, maka tiap plainteks X, X + r, X + 2r, …, menghasilkan cipherteks yang sama. Dengan kata lain, transformasinya dari banyak ke satu. Agar transformasinya satu-ke-satu, maka X harus dibatasi dalam himpunan {0, 1, 2, …, r – 1} sehingga enkripsi dan dekripsi tetap benar seperti pada persamaan (2.13) dan (2.14).

2.1.6. Sidik Dijital

Tanda tangan sering digunakan untuk menentukan keotentikan suatu data, sehingga bentuk tanda tangan seseorang dibuat selalu sama agar orang lain dapat menentukan apakah data dan orang yang memberi tandatangan tersebut sah. Sidik dijital mempunyai tujuan yang hampir sama dengan tanda tangan biasa, tetapi bentuk tanda tangan dijital (sidik dijital) dibuat tergantung pada data atau pesan yang ditandatangani, bukan siapa yang membuat tanda tangan. Dengan sidik dijital, integritas data dapat dijamin, disamping itu ia juga digunakan untuk membuktikan asal pesan. Hanya sistem kriptografi kunci-publik yang cocok untuk pemberian sidik dijital. Hal ini disebabkan karena skema sidik dijital berbasis sistem kunci-publik dapat menyelesaikan masalah non repudiation (penyangkalan), karena baik penerima maupun pengirim pesan mempunyai pasangan kunci masing-masing.

(34)

Menurut Munir (2004) ada dua metode dalam membuat sidik dijital. 1. Sidik dijital dengan algoritma kunci-publik.

2. Sidik dijital dengan menggunakan fungsi hash satu-arah.

Menurut Wibowo (2004), tanda tangan dijital (sidik dijital) mempunyai sifat-sifat sebagai berikut.

1. Tanda tangan itu asli (tidak mudah ditiru oleh orang lain). Pesan dan tanda tangan pesan juga dapat menjadi barang bukti, sehingga dapat mencegah penyangkalan apabila seseorang yang pernah menandatangani suatu pesan tetapi tidak mengakuinya.

2. Tanda tangan itu hanya sah untuk dokumen itu saja. Tanda tangan tidak dapat dipindahkan dari suatu dokumen ke dokumen lainnya. Ini juga berarti bahwa jika dokumen itu diubah, maka tanda tangan digital dari pesan tersebut tidak lagi sah.

3. Tanda tangan itu dapat diperiksa dengan mudah.

4. Tanda tangan itu dapat diperiksa oleh pihak-pihak yang belum pernah bertemu dengan penandatangan.

5. Tanda tangan itu juga sah untuk duplikat dari dokumen yang sama. Dua algoritma signature yang digunakan secara luas adalah RSA dan Elgamal. Pada RSA, algoritma enkripsi dan dekripsi identik, sehingga proses signature dan verifikasi juga identik. Selain RSA, terdapat algoritma yang dikhususkan untuk sidik dijital, yaitu Digital Signature Algorithm (DSA), yang merupakan bakuan (standard) untuk Digital Dignature Standard (DSS). Pada DSA, algoritma signature dan verifikasi berbeda.

2.2. Kerangka Pemikiran

Berdasarkan landasan teori dapat disusun kerangka pemikiran untuk menyelesaikan permasalahan yang ada. Fungsi hash MD5 adalah fungsi hash satu arah yang digunakan untuk membuat message digest, sedangkan

(35)

kunci asimetris. Sehingga sidik dijital dapat dibuat dengan menggunakan fungsi hash MD5 dan algoritma RSA. Sidik dijital tersebut digunakan oleh penerima pesan untuk membuktikan data tersebut asli dan dikirim oleh orang yang benar (sah). Selanjutnya dilakukan analisis untuk mengetahui

(36)

BAB III

METODOLOGI PENELITIAN

Metode yang digunakan dalam penelitian ini adalah studi literatur dan pengembangan program komputer. Untuk mencapai tujuan dari penelitian ini diambil langkah-langkah sebagai berikut.

1. Studi literatur tentang keamanan data, kriptografi, fungsi hash, algoritma MD5, RSA Cryptosystem dan sidik dijital.

2. Dilakukan proses-proses yang diperlukan untuk menjaga keabsahan data dengan langkah-langkah sebagai berikut.

a. Ditentukan data yang ingin dijaga keabsahannya.

b. Dibuat sidik dijital dari data tersebut dengan menggunakan fungsi hash MD5 dan algoritma RSA (pada skripsi ini pembuatan message digest oleh fungsi hash MD5 dilakukan dengan menggunakan software yang kode sumbernya diperoleh dari internet).

c. Sidik dijital dan data dikirimkan bersama-sama.

d. Ditempat penerima, data tersebut dibuktikan keabsahannya.

3. Pembuatan dan pengujian aplikasi, yaitu pembuatan aplikasi program komputer untuk pembuatan sidik dijital dan verifikasinya dengan menggunakan software tools Borland Delphi 7, kemudian mengujinya dengan membandingkan hasil dari aplikasi dengan hasil secara teori.

4. Analisis, yaitu menganalisis kelebihan serta kelemahan pembuatan sidik dijital dengan menggunakan fungsi hash MD5 dan algoritma RSA baik dari teori maupun aplikasi yang telah dibuat.

(37)

BAB IV PEMBAHASAN

4.1. Pembuatan Sidik Dijital

Dalam penelitian ini, sidik dijital dibuat dengan metode fungsi hash satu-arah. Fungsi hash yang digunakan adalah MD5 dan algoritma kriptografi yang digunakan adalah RSA. Menurut Munir (2004), skema pembuatan sidik dijital dengan menggunakan fungsi hash satu-arah adalah sebagai berikut.

1. Pesan yang hendak dikirim diubah terlebih dahulu menjadi bentuk yang ringkas yang disebut message digest. Message digest (MD) diperoleh dengan mentransformasikan pesan M dengan menggunakan fungsi hash satu-arah (one-way) H,

MD = H(M) (4.1)

2. Selanjutnya, message digest MD dienkripsikan dengan algoritma kunci-publik menggunakan kunci rahasia (SK) pengirim menjadi sidik dijital S,

S = ESK(MD) (4.2)

3. Pesan M disambung (append) dengan sidik dijital S, lalu keduanya dikirim melalui saluran komunikasi. Dalam hal ini, kita katakan bahwa pesan M sudah ditandatangani oleh pengirim dengan sidik dijital S. Pesan yang dikirim tidak hanya pesan dalam bentuk teks, tetapi dapat juga berformat .dat, .mp3, .pdf, .wmf, dan sebagainya. Langkah-langkah dalam pembuatan sidik dijital dari pesan M dapat dilihat sebagai berikut.

Gambar 4.1. Skema pembuatan sidik dijital dengan menggunakan fungsi hash

Message Message Digest Signature Fungsi Hash Signin g Secret Key

(38)

4.1.1. Prosedur Pembuatan Message Digest

Untuk membuat message digest, terdapat empat langkah utama yang dilakukan, seperti yang telah dijelaskan pada landasan teori. Adapun langkah– langkah tersebut adalah

1. penambahan bit,

2. penambahan panjang pesan, 3. inisialisasi penyangga MD5,

4. proses pengolahan pesan dalam blok berukuran 512 bit,

4.1.2. Prosedur Menghasilkan Kunci Untuk Setiap Pemakai

Algoritma RSA menggunakan dua buah kunci, yaitu kunci pribadi yang digunakan oleh pembuat sidik dijital dan kunci publik yang digunakan oleh penerima pesan.

Prosedur Pembuatan Pasangan Kunci.

1. Dipilih dua buah bilangan prima sembarang, p dan q.

2. Dihitung r = pq. Sebaiknya pq, sebab jika p = q maka r = p2 sehingga p dapat diperoleh dengan menarik akar pangkat dua dari r. 3. Dihitung φ(r) = (p – 1)(q – 1).

4. Dipilih kunci publik PK yang prima relatif terhadap φ(r).

5. Dibangkitkan kunci rahasia dengan menggunakan persamaan (2.9), yaitu SKPK≡ 1 (mod φ(r)).

SKPK ≡ 1 (mod φ(r)) ekivalen dengan SKPK = 1 + mφ(r), sehingga SK dapat dihitung dengan

PK r m

SK = 1+ φ( ), (4.3)

(39)

4.1.3. Prosedur Enkripsi Untuk Pengirim

Untuk membuat sidik dijital, message digest yang telah dihasilkan oleh fungsi hash MD5 dienkripsi menggunakan kunci pribadi. Langkah-langkah yang diperlukan dalam proses enkripsi adalah sebagai berikut.

1. Plaintext disusun menjadi blok-blok x1, x2, …, xn sedemikian sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai r – 1.

2. Setiap blok xidienkripsi menjadi blok si dengan rumus

si = xi SK mod r. (4.4)

4.2. Analisis Keabsahan Data

Data atau pesan yang diterima harus diteliti bahwa selama perjalanan, data tersebut tidak diubah, dihapus atau dikirimkan oleh orang yang tidak dikehendaki. Menurut Munir (2004), skema verifikasi keabsahan data atau pesan sebagai berikut.

1. Sidik dijital S didekripsi menggunakan kunci publik (PK) pengirim pesan, menghasilkan message digest semula, MD, sebagai berikut

MD = DPK(S). (4.5)

2. Pesan M kemudian diubah menjadi message digestMD’ menggunakan fungsi hash satu-arah yang sama dengan fungsi hash yang digunakan oleh pengirim.

3. Jika MD’ = MD, berarti pesan yang diterima masih asli dan berasal dari pengirim yang benar.

Untuk membuktikan data yang dikirim masih asli dan dikirim oleh orang yang benar, dilakukan langkah-langkah analisis keabsahan data dengan menggunakan sidik dijital seperti ditunjukkan pada Gambar 4.2.

(40)

Gambar 4.2. Otentikasi dengan sidik dijital menggunakan fungsi hash satu-arah

4.2.1. Prosedur Dekripsi Untuk Penerima

Untuk mendapatkan plaintext yang merupakan message digest dari data yang dikirim, dilakukan dengan cara setiap blok cipherteks yi didekripsi kembali menjadi blok xi dengan rumus

xi = yiPK mod r (4.6)

4.2.2. Prosedur Verifikasi Sidik Dijtal

Untuk menguji keaslian data dan kebenaran pengirim, dilakukan proses verifikasi sidik dijital dengan langkah-langkah sebagai berikut.

1. Pesan M (yang diterima bersama sidik dijitalnya) diubah menjadi message digest dengan menggunakan fungsi hash yang sama (MD5). 2. Message digest tersebut kemudian dicocokkan dengan hasil dekripsi

sidik dijital dari data atau pesan yang dikirim. Apabila sama berarti data atau pesan tersebut masih asli dan dikirim oleh orang yang benar, jika tidak berarti data sudah tidak sah (data diubah atau dikirim oleh orang yang tidak diharapkan).

Public Key Message Signature Signature Message Digest Verify Message Fungsi Hash Message Digest ? =

(41)

4.3. Penerapan Kasus

Untuk menjelaskan mengenai mekanisme proses pembuatan sidik dijital dan verifikasinya, berikut diberikan contoh kasus pada proses regristrasi pengguna kartu prabayar secara manual, yang mempunyai urutan langkah sebagai berikut.

1. Pelanggan datang ke dealer operator kartu tertentu. 2. Data diri diisi dan diserahkan kepada operator.

3. Operator mengirimkan data tersebut kepada pemerintah.

Untuk memudahkan pemahaman terhadap proses yang berlangsung, dimisalkan data yang diserahkan pelanggan prabayar kepada operator adalah

PT EXELCOMINDO PRATAMA

FORM REGRISTRASI PELANGGAN PRABAYAR

Nomor HP : 081802510001

Nama : Joko Wijoyo

Jenis ID(KTP/SIM/PASPOR): KTP

No ID (KTP/SIM/PASPOR) : 08011234081084

Tempat/Tanggal Lahir : Karanganyar, 8 Oktober 1984

Jenis Kelamin : Laki-laki

Alamat : Jl. Slamet No 32

Kota : Surakarta

Gambar 4.3. Form regristrasi pelanggan prabayar

Data tersebut kemudian disimpan melalui notepad dengan format teks (*.txt) atau menggunakan format yang lain. Data yang telah diterima operator sebaiknya tidak langsung dikirim kepada pemerintah, karena dalam perjalanan dimungkinkan data tersebut disabotase oleh orang-orang yang tidak bertanggungjawab. Informasi di dalamnya seperti nomor telepon, nomor id, nama dan yang lainnya dapat diubah tanpa sepengetahuan yang bersangkutan. Sehingga, pihak operator perlu menjamin bahwa data yang dikirimkan tersebut aman dan asli. Untuk mengantisipasi hal-hal yang tidak diinginkan, sidik dijital dapat digunakan untuk mengatasi masalah ini. Pihak operator dan

(42)

pemerintah dapat bekerjasama dalam bertukar informasi mengenai kunci yang digunakan. Selanjutnya data tersebut dibuat sidik dijital dan dikirimkan kepada pemerintah bersama data aslinya. Seperti yang ditunjukkan Gambar 4.4.

Gambar 4.4. Skema regristrasi pengguna kartu prabayar

4.3.1. Tahap Pembuatan Sidik Dijital

Data yang sudah diisi disimpan di komputer operator dengan nama regristrasi. Selanjutnya data tersebut dibuat pesan ringkas (message digest) kemudian dienkripsi setelah sebelumnya ditentukan terlebih dahulu kunci untuk enkripsi dan dekripsi.

4.3.1.1. Tahap Pembuatan Message Digest

Data dari pelanggan yang melakukan regristrasi tersebut kemudian diubah menjadi message digest menggunakan algoritma fungsi hash MD5 (source code terdapat pada lampiran), sehingga diperoleh message digest

MD = d5ee40d2753128d165783ba4273bc44f.

4.3.1.2. Tahap Menghasilkan Kunci Pribadi dan Kunci Publik

Misalkan dipilih p = 397 dan q = 229 (keduanya harus bilangan prima), selanjutnya dihitung nilai

r = p . q = 90913, dan

φ(r)= (p – 1)(q – 1) = 90288.

Dipilih kunci publik PK = 5, karena 5 relatif prima dengan 90288. PK dan r dipublikasikan ke pemerintah untuk proses otentikasi sidik dijital. Selanjutnya dihitung kunci rahasia SK dengan menggunakan persamaan (4.3),

Pengguna Kartu Prabayar

Operator

Seluler Pemerintah

Data Pribadi Data Pribadi

(43)

5 ) 90288 ( 1+ × = m SK .

Dengan mencoba nilai-nilai m = 1, 2, 3,…, diperoleh nilai SK yang bulat adalah 54173. Ini adalah kunci enkripsi yang harus dirahasiakan.

4.3.1.3. Tahap Enkripsi Untuk Operator

Plaintext (message digest dari data regristrasi) disusun menjadi blok-blok x1, x2, …, xn sedemikian sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai r – 1. Plaintext yang dienkripsikan yaitu

X = MD = d5ee40d2753128d165783ba4273bc44f atau dalam sistem desimal (pengkodean ASCII) adalah

“100 53 101 101 52 48 100 50 55 53 51 49 50 56 100 49 54 53 55 56 51 98 97 52 50 55 51 98 99 52 52 102”

X dibagi menjadi blok yang lebih kecil, misalnya X dipecah menjadi 24 blok yang berukuran 3 digit :

x1 = 100 x2 = 531 x3 = 011 x4 = 015 x5 = 248 x6 = 100 x7 = 505 x8 = 553 x9 = 514 x10 = 950 x11 = 561 x12 = 004 x13 = 954 x14 = 535 x15 = 556 x16 = 519 x17 = 897 x18 = 525 x19 = 055 x20 = 519 x21 = 899 x22 = 525 x23 = 210 x24 = 002

(44)

Nilai-nilai xi ini masih terletak di dalam rentang 0 sampai 90913 – 1 (agar transformasi menjadi satu-ke-satu). Selanjutnya setiap blok xi dienkripsi menjadi blok si dengan rumus

si = xi SK mod r.

Blok-blok plaintext dienkripsikan sebagai berikut. 10054173 mod 90913 = 65072 = s 1 53154173 mod 90913 = 64568 = s 2 01154173 mod 90913 =45815 = s 3 01554173 mod 90913 = 44410 = s 4 24854173 mod 90913 = 18597 = s 5 10054173 mod 90913 = 65072 = s 6 50554173 mod 90913 = 63270= s 7 55354173 mod 90913 = 58301 = s 8 51454173 mod 90913 = 86252= s 9 95054173 mod 90913 = 67432 = s 10 56154173 mod 90913 = 11110 = s 11 00454173 mod 90913 = 10049 = s 12 95454173 mod 90913 = 39652 = s 13 53554173 mod 90913 = 15830 = s 14 55654173 mod 90913 = 27211 = s 15 51954173 mod 90913 = 44011 = s 16 89754173 mod 90913 = 24684 = s 17 52554173 mod 90913 = 5409 = s 18 05554173 mod 90913 = 62459 = s 19 51954173 mod 90913 = 44011 = s 20 89954173 mod 90913 =18384= s 21 52554173 mod 90913 = 5409 = s 22 21054173 mod 90913 = 1326 = s 23 00254173 mod 90913 = 29890 = s 24

(45)

Jadi, ciphertext yang dihasilkan adalah

S = 65072 64568 45815 44410 18597 65072 63270 58301 86252 67432 11110 10049 39652 15830 27211 44011 24684 5409 62459 44011 18384 5409 1326 29890.

Ciphertext tersebut merupakan sidik dijital yang telah dibuat dengan menggunakan algoritma RSA, selanjutnya sidik dijital tersebut dikirimkan kepada pemerintah besama dengan data aslinya.

4.3.2. Tahap Analisis Keabsahan Data

Pemerintah menerima data dan sidik dijital dari operator, kemudian menyimpannya dalam basis data daftar pengguna kartu prabayar. Pemerintah harus menyimpan keduanya (tidak hanya data pengguna kartu prabayar saja) untuk mengantisipasi apabila pada suatu saat terjadi tindakan kriminal dari salah satu nomor yang sudah terdaftar, sedangkan orang yang memiliki nomor tersebut tidak mengakui perbuatannya. Sebelum melakukan tindakan lebih lanjut, pihak yang berwajib melakukan verifikasi terlebih dahulu apakah data tersebut benar dan belum diubah oleh siapapun dalam perjalanan dari operator ke pemerintah.

Sebagai contoh akan diperiksa data dari Joko Wijoyo, pengguna kartu prabayar dengan nomor handphone 081802510001 yang tidak mengaku telah melakukan tindakan penipuan melalui SMS. Langkah pertama yang dilakukan adalah sidik dijitalnya, S = 65072 64568 45815 44410 18597 65072 63270 58301 86252 67432 11110 10049 39652 15830 27211 44011 24684 5409 62459 44011 18384 5409 1326 29890 didekripsi dengan menggunakan kunci publik untuk mendapatkan kembali message digest dari data tersangka.

Dengan menggunakan kunci publik PK=5, blok-blok ciphertext didekripsikan sebagai berikut.

650725 mod 90913 = 100 = x 1 645685 mod 90913 = 531 = x

(46)

458155 mod 90913 = 011= x 3 444105 mod 90913 = 015 = x 4 185975 mod 90913 = 248= x 5 650725 mod 90913 = 100 = x 6 632705 mod 90913 = 505 = x 7 583015 mod 90913 = 553 = x 8 862525 mod 90913 = 514 = x 9 674325 mod 90913 = 950 = x 10 111105 mod 90913 = 561 = x 11 100495 mod 90913 = 004 = x 12 396525 mod 90913 = 954 = x 13 158305 mod 90913 = 535 = x 14 272115 mod 90913 = 556 = x 15 440115 mod 90913 = 519 = x 16 246845 mod 90913 = 897 = x 17 54095 mod 90913 = 525 = x 18 624595 mod 90913 = 055 = x 19 440115 mod 90913 = 519 = x 20 183845 mod 90913 = 899 = x 21 5409 5 mod 90913 = 525 = x 22 1326 5 mod 90913 = 210 = x 23 298905 mod 90913 = 2 = x 24

(47)

X = “100 531 011 015 248 100 505 553 514 950 561 004 954 535 556 519 897 525 055 519 899 525 210 2”, yang dalam karakter ASCII adalah X = d5ee40d2753128d165783ba4273bc44f.

Selanjutnya data tersangka diubah menjadi message digest dengan menggunakan fungsi hash yang sama dengan fungsi hash yang digunakan oleh operator. Data dari pengguna bernomor handphone 081802510001 tesebut setelah dibuat message digest dengan menggunakan fungsi hash MD5 diperoleh MD’ = d5ee40d2753128d165783ba4273bc44f. MD’ yang dihasilkan tersebut ternyata sama dengan hasil dekripsi sidik dijitalnya. Dengan demikian data tersebut asli dan dikirim oleh orang yang benar (sah), sehingga pihak yang berwajib dapat melakukan tindakan lebih lanjut.

Apabila data tersebut sudah diubah, misalkan nomor handphone diubah oleh seseorang dari 081802510001 menjadi 081802510002 dengan menggunakan fungsi hash MD5, message digest yang dihasilkan adalah ”9a91d15b4e789989455277caa3a49ee0”. Message digest tersebut jauh berbeda dengan ”d5ee40d2753128d165783ba4273bc44f” walaupun hanya satu angka saja yang diubah, sehingga dapat ditebak pada tahap analisis keabsahan data, hasil dari dekripsi sidik dijital tidak sama dengan message digest dari data yang telah diubah tersebut.

4.4. Pembuatan dan Pengujian Aplikasi

Dalam penelitian ini, setelah mengetahui kinerja fungsi hash MD5 dan algoritma RSA dalam membuat sidik dijital dan cara menguji keabsahan data menggunakan sidik dijital, dapat diketahui terdapat dua buah aplikasi yang harus dibuat. Pertama pembuatan sidik dijital oleh pengirim dan kedua verifikasi sidik dijital (untuk menguji keabsahan data) oleh penerima. Pada penelitian ini software tool yang digunakan dalam pembuatan aplikasi adalah Delphi 7.

(48)

Kunci Enkripsi Ya

Tidak Pada aplikasi pembuatan sidik dijital, dibuat dengan empat tampilan utama, yaitu petunjuk penggunaan aplikasi, proses pembuatan message digest, proses menghasilkan kunci enkripsi dan dekripsi, dan proses enkripsi (pembuatan sidik dijital). Alur proses yang berlangsung pada aplikasi pembuatan sidik dijital ditunjukkan pada Gambar 4.5.

Gambar 4.5. Alur sistem pembuatan sidik dijital

Berikut diberikan pseudocode (algortima) beserta penjelasan pada masing-masing proses yang berlangsung.

1. Proses pembuatan message digest //Mendefinisikan variabel var r,k : int64; Mulai Membuat Message Digest Message Digest Enkripsi Bilangan Prima Sidik Dijital

Memasukkan Data Memasukkan dua buah kunci bilangan prima

Kunci Enkripsi dan Dekripsi

(49)

var h0,h1,h2,h3 : int; var a,b,c,d: int;

r[ 0..15]:=(7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22); r[16..31]:=(5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20); r[32..47]:=(4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23); r[48..63]:=(6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21); //Menggunakan bagian fraksional biner dari integral sinus sebagai konstanta: for i:=0 to 63 do k[i] := round(abs(sin(i + 1)) × 2^32); //Inisialisasi variabel: h0 := 0x67452301; h1 := 0xEFCDAB89; h2 := 0x98BADCFE; h3 := 0x10325476; //Pemrosesan awal:

append "1" bit to message;

append "0" bits until message length in bits ≡ 448 (mod 512);

append bit length of message as 64-bit little-endian integer to message;

//Pengolahan pesan paada blok 512-bit: for each 512-bit chunk of message

break chunk into sixteen 32-bit little-endian words; w(i), 0 ≤ i ≤ 15

//Inisialisasi nilai hash pada blok ini: a := h0; b := h1; c := h2; d := h3; //Kalang utama: for i:=0 to 63 do if 0 ≤ i ≤ 15 then begin

f := (b and c) or ((not b) and d); g := I;

end

(50)

begin

f := (d and b) or ((not d) and c); g := (5×i + 1) mod 16; end else if 32 ≤ i ≤ 47 then begin f := b xor c xor d; g := (3×i + 5) mod 16; end else if 48 ≤ i ≤ 63 begin f := c xor (b or (not d)); g := (7×i) mod 16; end; temp := d; d := c; c := b;

b := ((a + f + k(i) + w(g)) leftrotate r(i)) + b; a := temp;

//Tambahkan hash dari pengolahan blok 512 bit sebagai hasil

h0 := h0 + a; h1 := h1 + b; h2 := h2 + c; h3 := h3 + d;

mesaggedigest := h0 append h1 append h2 append h3

2. Proses menghasilkan kunci enkripsi (d) dan kunci dekripsi (e) //Mendefinisikan variabel

var p,q,e,d,phi:int64;

//Menguji bahwa input p dan q adalah bilangan prima if prime(p)=true and prime(q)=true then

phi:=(p-1)*(q-1);

//Menguji nilai e yang diinput if GCD(e,phi)<>1 then e:=FALSE else

(51)

begin m:=1;

while ((1+m*phi) mod e)<>0 do m:=m+1;

end;

//Menentukan nilai kunci enkripsi (d) d:=(1+m*phi) div e;

3. Proses enkripsi (pembuatan sidik dijital) // Mendefinisikan variabel

var n,d: int64;

messagedigest,ascii,semua,sidikdijital:string; // Mencari deret nilai ascii message digest ascii_md:='';

for i:=1 to length(messagedigest) do begin

hargaascii[i]:=ord(messagedigest [i]);

ascii_md:=concat(ascii_md,inttostr(hargaascii[i])); end;

//Menentukan panjang blok dan lebarblok lebarblok:= length(n)-1;

If length(ascii_md) mod lebarblok<>0 then banyakblok:=(length(ascii_md)div lebarblok)+1 else banyakblok:=length(ascii_md)div lebarblok; //Tahap enkripsi

mulai:=1;

sidikdijital:='';

for i:=1 to banyakblok do begin

x[i]:=copy(ascii_md,mulai,lebarblok); s[i]:=enkripsi(strtoint(x1[i]),d,n); chipertext[i]:=chr(strtoint(s[i])); mulai:=mulai+lebarblok;

//Nilai sidik dijital

sidikdijital:=concat(sidikdijital,chipertext[i]); end;

(52)

4.4.2. Pengujian Aplikasi Untuk Pengirim

Dalam subbab ini dilakukan pengujian terhadap aplikasi untuk pengirim yang meliputi : proses pembuatan message digest, proses menghasilkan kunci enkripsi dan dekripsi, dan proses enkripsi (pembuatan sidik dijital). Ketika aplikasi dijalankan, terlebih dahulu muncul user guide (petunjuk pemakaian aplikasi) seperti ditunjukkan pada Gambar 4.6.

Gambar 4.6. Form petunjuk pemakaian aplikasi

Berikut ini diberikan contoh pengujian terhadap masing-masing proses yang dijalankan.

1. Proses pembuatan message digest

Apabila tombol ”PROSES” dibawah tulisan message digest ditekan maka muncul tampilan seperti ditunjukkan Gambar 4.8.

(53)

Misal dimasukkan file regristrasi.txt, kemudian tombol ”BUAT MESSAGE DIGEST” ditekan maka dihasilkan message digest dari data yang dimasukkan tersebut.

Gambar 4.8. Form pembuatan message digest

2. Proses menghasilkan kunci enkripsi dan dekripsi

Pada proses ini kunci yang dimasukkan kunci dua bilangan prima yang berbeda. Pada aplikasi ini disediakan juga sejumlah bilangan prima yang dapat dibangkitkan secara random berdasarkan ukuran kuncinya. Jika kunci yang dimasukkan bukan bilangan prima maka muncul peringatan agar mengganti bilangan yang tidak prima menjadi bilangan prima. Apabila dua buah kunci yang dimasukkan merupakan bilangan prima, maka proses dilanjutkan.

(54)

Setelah itu user diminta memasukkan sembarang bilangan yang prima relatif dengan φ(r). Bilangan ini adalah kunci dekripsi (e). Pada aplikasi ini juga disediakan pembangkit kunci dekripsi dengan menekan tombol ”BANGKITKAN E” sehingga user tidak perlu mencoba-coba memasukkan bilangan e yang akan memakan waktu. Setelah e dimasukkan atau dibangkitkan, didapat nilai d (kunci enkripsi) seperti ditunjukkan Gambar 4.10.

Gambar 4.10. Form pembuatan kunci

Setelah mendapatkan kunci enkripsi dan dekripsi, kunci publik disimpan sebelum dikirimkan kepada penerima.

Gambar 4.11. Kunci publik yang dikirimkan kepada penerima

(55)

Dalam proses ini message digest yang diperoleh dari proses pertama dienkripsi menggunakan kunci pribadi (d) yang diperoleh pada proses kedua. User dapat juga memasukkan message digest yang diperoleh dari software lain dengan menekan tombol ”MD LAIN”.

Gambar 4.12. Form enkripsi message digest

Apabila tombol ”LIHAT PROSES” ditekan, seluruh proses yang dijalankan seperti kode ascii message digest, blok enkripsi, banyak blok, lebar blok, dan huruf chipertext ditampilkan. Selanjutnya sidik dijital disimpan sebelum dikirimkan kepada penerima.

Gambar 4.13. Sidik dijital hasil dari enkripsi message digest

Dari proses yang berlangsung dapat diketahui nilai dari message digest, kunci dekripsi dan enkripsi, dan sidik dijital yang diperoleh dari aplikasi sama dengan sidik dijital yang diperoleh secara teori.

(56)

Kunci Dekripsi

Ya Tidak

4.4.3. Pembuatan Aplikasi Untuk Penerima

Pada aplikasi verifikasi sidik dijital, terdapat tiga proses yang berlangsung, yaitu proses pembuatan message digest, proses dekripsi sidik dijital, dan proses verifikasi. Alur proses yang berlangsung pada aplikasi verifikasi sidik dijital ditunjukkan pada Gambar 4.14.

Gambar 4.14. Alur sistem verifikasi sidik dijital Mulai Membuat Message Digest Message Digest Dekripsi Data Sah

Memasukkan Data Memasukkan Sidik Dijital Plaintext Selesai Plaintext = Message Digest

Gambar

Tabel 2.1. Fungsi-fungsi dasar MD5 ................................................ 14 Tabel 2.2
Gambar 2.1. Hubungan kebijakan dan mekanisme keamanan.SSL
Gambar 2.2. Proses enkripsi dan deskripsi sederhana
Gambar 2.3. Proses enkripsi dan deskripsi kunci simetris Contoh algoritma kunci simetris adalah DES (Data  Encryption Standard),  AES (Advanced Encryption Standard), Blowfish, IDEA (International Data  Encryption Algorithm), OTP (One-Time-Pad), dan lain-la
+7

Referensi

Dokumen terkait

This first section of the book explores the inner workings of each of its components and discusses such issues as the consequences of the ever-increasing cost of game

Based on the concentration of mud volcanoes along the crests of the anticlinal ridges in the depocentre and the structural position of the BSR, we suggest that folding along

Angka-angka statistik tersebut menunjukkan bahwa variabel budaya kerja mempunyai pengaruh positif terhadap produktivitas pegawai di Balai Pengkajian Teknologi Pertanian

Berdasarkan hasil penelitian yang telah dilakukan oleh penulis, maka dapat disimpulkan bahwa komunikasi antarpribadi orangtua dan anak dalam penggunaan gadget dari segi

Studi yang bertujuan untuk menguji performa model WRF dalam melakukan prediksi cuaca pada saat kejadian banjir Jakarta tanggal 17 Januari 2013 diharapkan dapat menjadi

Langkah awal yang digunakan untuk menyelesaikan masalah transshipment adalah menyusun tabel transportasi terlebih dahulu yang terdiri kota sumber, kota penghubung dan

Dalam hal ini perlu ada upaya guna mengintegrasikan lahan dari tiap pegaram dengan mengadopsi konsep “corporate farming” atau pembentukan kelompok atau usaha bersamamelalui

hal.. kemanusiaan adalah menghasilkan karya dalam memajukan iptek yang berguna untuk pembangunan dan kemanusiaan, ikut menanggulangi bencana alam, mencegah