• Tidak ada hasil yang ditemukan

MODIFIKASI SKEMA SHORT SIGNATURE BONEH-BOYEN DENGAN SHA-1 DAN ASUMSI STRONG DIFFIE-HELLMAN (SDH) PADA BILINEAR GROUP UNTUK PENGAMAN PESAN TESIS

N/A
N/A
Protected

Academic year: 2022

Membagikan "MODIFIKASI SKEMA SHORT SIGNATURE BONEH-BOYEN DENGAN SHA-1 DAN ASUMSI STRONG DIFFIE-HELLMAN (SDH) PADA BILINEAR GROUP UNTUK PENGAMAN PESAN TESIS"

Copied!
79
0
0

Teks penuh

(1)

MODIFIKASI SKEMA SHORT SIGNATURE BONEH-BOYEN DENGAN SHA-1 DAN ASUMSI STRONG DIFFIE-HELLMAN (SDH) PADA BILINEAR GROUP UNTUK PENGAMAN PESAN

TESIS

VICTOR PATAR PASARIBU 167038047

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2019

(2)

MODIFIKASI SKEMA SHORT SIGNATURE BONEH-BOYEN DENGAN SHA-1 DAN ASUMSI STRONG DIFFIE-HELLMAN (SDH) PADA BILINEAR GROUP UNTUK PENGAMAN PESAN

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika

VICTOR PATAR PASARIBU 167038047

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2019

(3)
(4)

ii

PERNYATAAN

MODIFIKASI SKEMA SHORT SIGNATURE BONEH-BOYEN DENGAN SHA-1 DAN ASUMSI STRONG DIFFIE-HELLMAN (SDH) PADA BILINEAR

GROUP UNTUK PENGAMAN PESAN

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 15 Januari 2019

VICTOR PATAR PASARIBU 167038047

(5)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini :

Nama : Victor Patar Pasaribu

NIM : 167038047

Program Studi : S2 Teknik Informatika Jenis Karya Ilmiah : Tesis

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalti Free Right) atas tesis saya yang berjudul:

MODIFIKASI SKEMA SHORT SIGNATURE BONEH-BOYEN DENGAN SHA-1 DAN ASUMSI STRONG DIFFIE-HELLMAN (SDH) PADA BILINEAR GROUP UNTUK

PENGAMAN PESAN

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, 15 Januari 2019

VICTOR PATAR PASARIBU 167038047

(6)

iv

Telah diuji pada

Tanggal : 15 Januari 2019

PANITIA PENGUJI TESIS Ketua : Prof. Dr. Tulus

Anggota : 1. Dr. Sawaluddin, M.IT

2. Dr. Poltak Sihombing, M.Kom : 3. Dr. Syahril Efendi, S.Si, M.IT

(7)

RIWAYAT HIDUP

DATA PRIBADI

Nama : Victor Patar Pasaribu, S.Kom Tempat / TanggalLahir : Medan / 12 Desember 1989

Alamat : Jln Dusun Sedar No.108 Kecamatan Beringin

HP : 085297422144

Email : [email protected]

[email protected] Instansi Tempat Bekerja : Dinas Sosial Kabupaten Deli Serdang

Alamat Kantor : Jl. Mawar No. 18 Komp. Kantor Bupati Deli Serdang

DATA PENDIDIKAN

SD : SD Swasta Nusantara Lubuk Pakam TAMAT : 2002

SLTP : SMP Negeri 1 Lubuk Pakam TAMAT : 2005

SLTA : SMA Negeri 1 Lubuk Pakam TAMAT : 2008

S1 : Teknik Informatika STMIK Mikroskil Medan TAMAT : 2014

S2 : Teknik Informatika USU TAMAT : 2018

(8)

vi

UCAPAN TERIMA KASIH

Puji dan syukur atas nikmat kepada Tuhan Yang Maha Esa sehingga dapat menyelesaikan penyusunan tesis ini, sebagai syarat untuk memperoleh gelar Magister Komputer pada Program Magister (S-2) Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih saya sampaikan kepada semua pihak yang telah membantu dalam menyelesaikan tesis ini baik secara langsung maupun tidak langsung, teristimewa orangtua saya yang sangat mengasihi dan menyayangi dan memberi dukungan tiada henti. Pada kesempatan ini saya ingin mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Bapak Prof. Dr. Runtung Sitepu, S.H.,M.Hum. selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Opim Salim Sitompul selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Prof. Dr. Muhammad Zarlis selaku Ketua Program Studi Magister Teknik Informatika Universitas Sumatera Utara.

4. Bapak Syahril Efendi, S.Si.,M.IT selaku Sekretaris Program Studi Magister Teknik Informatika Universitas Sumatera Utara.

5. Bapak Prof. Dr. Tulus selaku Dosen Pembimbing I yang telah memberikan kritik, saran dalam penyempurnaan tesis ini.

(9)

6. Bapak Dr. Sawaluddin, M.IT selaku Dosen Pembimbing II yang telah memberikan memberikan kritik, saran dalam penyempurnaan tesis ini.

7. Bapak Dr. Poltak Sihombing, M.Kom selaku Dosen Pembanding/penguji I yang telah memberikan memberikan kritik, saran dalam penyempurnaan tesis ini.

8. Bapak Syahril Efendi, S.Si.,M.IT selaku Dosen Pembanding/penguji II yang telah memberikan memberikan kritik, saran dalam penyempurnaan tesis ini.

9. Semua Dosen dan semua Pegawai di Program Studi Magister (S-2) Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

10. Buat Keluarga besar saya, Orang tua tersayang J Pasaribu dan M Tarigan yang senantiasa mendoakan dan mendukung serta adik saya tersayang Maria Priscilya Pasaribu.

11. Pemerintah Kabupaten Deli Serdang terkhusus Kepala Dinas Sosial Kabupaten Deli Serdang yang telah memberikan kesempatan kepada penulis untuk dapat menempuh pendidikan Magister pada Program Studi S2 Teknik informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara

12. Seluruh rekan-rekan seperjuangan mahasiswa Magister Teknik Informatika Kom A 2016 Universitas Sumatera Utara.

13. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian tesis ini.

(10)

viii

Semoga Tuhan Yang Maha Esa memberikan rahmat, kasih sayang dan balasan kepada semua pihak yang telah memberikan bantuan, masukan dan semangat kepada saya untuk menyelesaikan tesis ini. Berharap tesis ini dapat bermanfaat kepada penulis dan pembaca.

Medan, 15 Januari 2019

Victor Patar Pasaribu

(11)

ABSTRAK

Short signature diperlukan pada lingkungan dengan batasan space dan bandwidth. Walaupun banyak pendekatan yang telah diperkenalkan selama beberapa tahun terakhir, namun masih diperlukan konstruksi short signature dengan pembuktian sekuritas generik. Pada tahun 2006, Dan Boneh dan Xavier Boyen mendeskripsikan sebuah skema signature yang memiliki pengaturan yang sama dengan skema Boneh Lynn Shachan (BLS), namun sekuritas dari skema ini tidak memerlukan random oracle. Lalu pada tahun 2015 Subhas memperbaiki kelemahan sebelumnya dari signature yang dihasilkan dapat dibuat menjadi sama pendek dengan (BLS) signature, namun jauh lebih efisien. Sekuritas dari skema menggunakan sebuah asumsi kompleksitas dari asumsi Strong Diffie-Hellman (SDH) dan juga menerapkan konsep bilinear group sehingga memiliki tingkat sekuritas yang tinggi. Pada konsep tanda tangan digital kunci publik dapat diserahkan kepada siapa saja yang ingin memeriksa tanda tangan digital yang bersangkutan terhadap suatu file atau dokumen, proses pembuatan dan pemeriksaan tanda tangan ini dapat melibatkan sejumlah teknik kriptografi seperti hashing. Fungsi hash ini merupakan algoritma enkripsi untuk mengubah suatu text menjadi kedalam bentuk binner dan menghasilkan deretan karakter acak sebagai outputnya. SHA-1 atau Secure Hash Algorithm 1 merupakan salah satu algoritma hashing yang digunakan untuk enkripsi data yang biasa ditampilkan dalam bentuk bilangan hexadesimal 40 digit. Karena banyak nya fungsi kriptografi maka peneliti tertarik untuk melakukan modifikasi dari short signature yang dikombinasikan dengan SHA-1 sebagai fungsi hash nya sehingga menghasilkan keluaran yang lebih walaupun dengan karakter yang berbeda. Berdasarkan penelitian ini nilai titik pada signature yang dihasilkan memiliki ketangguhan yang lebih dari pada short signature sebelumnya

Keywords : Short signature, Modifikasi, Sha-1, Strong Diffie-hellman, Billinear Group

(12)

x

MODIFICATION SHORT SIGNATURE BONEH-BOYEN SCHEME WITH SHA-1 AND STRONG DIFFIE-HELLMAN (SDH) ASSUMPTION IN BILINEAR GROUP FOR MESSAGE

SECURITY

ABSTRACT

Short signature is needed in areas which have space and bandwidth. Despite so many approaches that have been introduced for early years, it is still needed the construction of short signature along with proof of generic securities. In 2006, Dan Boneh and Xavier Boyen described a scheme of signature which has the same setting sheme of Boneh Lynn Shachan (BLS), but securities of this scheme do not need random oracle. Then in 2015 Subhas et. Al try to fix a weakness from research before from signature can produced signature as short as BLS’s signature, but it is more efficient. Securities of a scheme use a complexity assumption from an assumption of Strong Diffie-Hellman (SDH) and also use bilinear group so that it has a high level of security. Concept of Digitals signature give a public key can be submitted to anyone who wants to check the digital signature concerned with a file or dokumen its original or not, Process of creating and checking signature can involve a several of cryptographic techniques such as hashing techniques. hash function is an encryption algorithm to convert a text into binary form and produce a row of random characters as output. SHA-1 or Secure Hash Algorithm 1 is one of the hashing algorithms used to encrypt data commonly displayed in the form of 40-digit hexadecimal. many cryptographic functions in digital signature, because of that researcher interested to modifying short signatures combined with SHA-1 as a hash function so that they produce more output even with different characters. Based on this study the point value on the resulting signature has more resilience than the previous short signature.

Keywords : Short signature, Modifikasi, Sha-1, Strong Diffie-hellman, Billinear Group

(13)

DAFTAR ISI

Halaman

HALAMAN JUDUL ... i

PERSETUJUAN ... ii

PERNYATAAN ORISINALITAS ... iii

PERSETUJUAN PUBLIKASI ... iv

PANITIA PENGUJI ... v

RIWAYAT HIDUP ... vi

UCAPAN TERIMA KASIH ... vii

ABSTRAK ... ix

ABSTRACT ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiii

DAFTAR TABEL ... xiv

BAB I. PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Batasan Masalah ... 3

1.3.1 Global ... 3

1.3.2 Tutorial ... 3

1.3.3 Aplikasi ... 4

1.4 Tujuan Penelitian ... 4

1.5 Manfaat Penelitian... 5

BAB II. TINJAUAN PUSTAKA 2.1 Pengenalan Kriptografi ... 6

2.2 Konsep Dasar Matematis Kriptografi ... 8

2.2.1 Metode Rabin Millier ... 8

2.2.2 Fast Exponentiation ... 9

(14)

xii

2.2.3 Algoritma Euclidean ... 9

2.2.4 Algoritma Extended Euclidean ... 11

2.2.5 Generator Modulo ... 12

2.2.6 Sistem Kriptografi Kurva Elips ... 13

2.3 Skema Signature Aman ... 16

2.4 Skema Short Signature ... 17

2.5 Secure Hash Algorithm 1 (SHA-1) ... 18

2.6 Bilinear Group ... 23

2.7 Strong Diffie Hellman (SDH) ... 24

2.8 Skema Signature Boneh, Lynn dan Shachman (BLS) ... 24

2.9 Short Signature Boneh-Boyen ... 25

2.10 Message Digest algorithm 5 (MD5) ... 26

2.11 Riset Terkait ... 27

BAB III. METODOLOGI PENELITIAN 3.1 Tahapan Penelitian ... 29

3.2 Alur Kerja Penelitian ... 29

3.3 Pemodelan Sistem ... 30

3.4 Analisis Kebutuhan ... 32

3.4.1 Kebutuhan Fungsional ... 32

3.4.2 Kebutuhan Non Fungsional ... 33

BAB IV. HASIL DAN PEMBAHASAN 4.1 Hasil Perhitungan ... 36

4.2 Hasil Implementasi Algoritma ... 47

4.3 Pengujian ... 50

4.3.1 Pengujian Implementasi ... 52

4.3.2 Pengujian Penyadapan Pesan ... 52

4.4 Pembahasan ... 55

BAB V. KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 60

5.2 Saran ... 61 DAFTAR PUSTAKA

(15)

DAFTAR TABEL

Tabel 4.1 Tabel string Victor Patar Pasaribu Mahasiswa Magister Teknik Informatika USU ... 38 Tabel 4.2 Tabel 4.2 Keluaran Hasil Konversi W(0) – W(79) ... 40 Tabel 4.3 Tabel 4.3 Keluaran nilai message digest pada t(0) – t (79) ... 43

(16)

xiv

DAFTAR GAMBAR

Gambar 2.1 Proses Enkripsi dan Dekripsi ... ...7

Gambar 2.2 Contoh Kurva Elips Untuk Persamaan y2 = x3 - x ... ..15

Gambar 2.3 Contoh Kurva Elips Untuk Persamaan y2 = x3 + x + 1 ... ..16

Gambar 2.4 Fungsi hash satu arah sebagai sidik jari pesan ... ..19

Gambar 2.5 Alur kerja Secure Hash Algorithm (SHA-1) ... ..20

Gambar 3.1 Activity Diagram dari Skema Full Short Signature dengan SHA-1…31 Gambar 3.2 Skenario Proses Pengujian ... ...32

Gambar 4.1 Hasil Implementasi Algoritma Weakly Secure Short Signature (standard) ... .... 48

Gambar 4.2 Hasil Implementasi Modifikasi Algoritma Short Signature dengan SHA-1 ... 49

Gambar 4.3 Tampilan Main Aplikasi untuk User Bertipe Signer ... 50

Gambar 4.4 Tampilan Form Kirim Pesan Setelah Pesan Terkirim ... ... 51

Gambar 4.5 Tampilan Form Main Aplikasi untuk User pasaribu ... … 51

Gambar 4.6 Tampilan Form Pembacaan Pesan ... .... 52

Gambar 4.7 Tampilan Form Pengujian ... .... 53

Gambar 4.8 Tampilan Form Proses Pengujian yang Berhasil ... .... 53

Gambar 4.9 Tampilan Form Proses Pengujian untuk Penggantian Pesan ... ...54

Gambar 4.10 Tampilan Form Proses Pengujian untuk Penggantian Signature . .... 54

Gambar 4.11 Tampilan Form Proses Pengujian untuk Penggantian Signature ... 55

Gambar 4.12 Tampilan Hasil fungsi hashing menggunakan SHA-1 dan MD5 .. ...56

Gambar 4.13 Grafik perbandingan fungsi hash SHA1 dan MD5 dengan Parameter ukuran file dalam KB (sumbu X) dan waktu dalam ms (sumbu Y)…56 Gambar 4.14 Gambar 4.14 Grafik perbandingan fungsi hash SHA1 dan MD5 Nilai Signature ... .... 58

(17)

BAB I PENDAHULUAN

1.1. LATAR BELAKANG

Keamanan adalah suatu hal yang sangat diperlukan dalam kegiatan sehari-sehari dalam segala aspek. Hampir setiap aspek kegiatan manusia memerlukan sebuah keamanan seperti keamanan diri, keamanan dalam dunia kerja, keamanan untuk menjaga aset–aset pribadi, termasuk keamanan sebuah data. Penggunaan komputer saat ini sudah saling terkoneksi satu dengan yang lainnya melalui jaringan dengan berbagai media transmisi. Hal ini membuka peluang data-data penting yang digunakan bisa diakses oleh pengguna lainnya baik secara legal atau illegal. Penelitian ini penulis memunculkan sebuah inovasi baru pada era modern yang sudah diperkenalkan yaitu konsep tanda tangan digital. (Boneh. D et al. 2001).

Short signature diperlukan pada lingkungan dengan batasan space dan bandwidth. Walaupun banyak pendekatan yang telah diperkenalkan selama beberapa tahun terakhir, namun masih diperlukan konstruksi short signature dengan pembuktian sekuritas generik, terutama tanpa menggunakan random oracl. Untuk mencapai tujuan ini, Pada tahun 2006, Dan Boneh dan Xavier Boyen mendeskripsikan sebuah skema signature yang memiliki pengaturan yang sama dengan skema Boneh Lynn Shachan (BLS), namun sekuritas dari skema ini tidak memerlukan random oracle. Pada penelitian sebelumnya pasaribu mengimplementasikan short signature dengan fungsi hash md5 yang menghasilkan fungsi hashing yang singkat dengan keluaran 256 bit. (P Victor Pasaribu, et. Al)

Dalam kriptografi, random oracle adalah sebuah oracle (black box teoritis) yang merespon setiap query dengan sebuah respon yang dipilih secara acak dan seragam dari output domain-nya. Dengan perkataan lain, sebuah random oracle adalah sebuah fungsi matematis yang memetakan sebuah kemungkinan query dengan sebuah respon acak dari output domain-nya. Sebagai tambahan, signature yang dihasilkan dapat dibuat menjadi sama pendek dengan BLS signature, namun jauh lebih efisien. Sekuritas dari skema menggunakan sebuah asumsi

(18)

2 kompleksitas dari asumsi Strong Diffie-Hellman (SDH). (Boneh, D. dan Xavier, B. 2006).

Pada konsep tanda tangan digital secara umum kunci publik dapat dipublikasikan kepada umum atau siapa saja, sehingga tanda tangan digital dapat diuji keasliannya dari suatu teks atau dokumen maupun berbentuk sebuah file.

Proses pembuatan dan pemeriksaan tanda tangan ini cukup rumit dan cukup aman karena terdapat beberapa fungsi dari teknik kriptografi seperti fungsi hashing.

Fungsi hash ini merupakan algoritma enkripsi satu arah yang digunakan untuk mengubah suatu text menjadi kedalam bentuk binner dan menghasilkan deretan karakter acak sebagai outputnya. SHA-1 atau Secure Hash Algorithm 1 berfungsi sebagai algoritma fungsi hashing yang berperan untuk merubah data kedalam bentuk karakter acak yang menghasilkan keluaran output dalam bentuk bilangan hexadesimal 40 digit. Skema BLS ini menggunakan konsep kurva elips dalam prosedur kerjanya. (Aryasa, et al. 2014).

Berdasarkan uraian di atas, diketahui bahwa skema ini memperbaiki kelemahan dari skema sebelumnya, seperti menghapus penggunaan random oracle, dan memodifikasi short signature dengan menambahkan fungsi hashing SHA-1 pada proses pembuatan tanda tagan dan memiliki signature yang jauh lebih efisien jika ditinjau dari segi waktu dan panjang signature. Skema ini menerapkan konsep bilinear group sehingga memiliki tingkat sekuritas yang tinggi (Subhas, et al. 2015). Oleh pembahasan diatas, disini penulis tertarik untuk membahas dan mempelajari proses kerja dari skema tersebut sekaligus mengimplementasikannya dengan judul tesis “Modifikasi Skema Short Signature Boneh-Boyen Dengan SHA-1 dan Asumsi Strong Diffie-Hellman (SDH) pada Bilinear Group untuk Pengaman Pesan”.

(19)

1.2. RUMUSAN MASALAH

Dalam latar belakang terdapat beberapa uraian masalah pada pemilihan judul diatas, maka permasalahan dalam penyusunan tesis ini dapat dirumuskan sebagai berikut:

1. Dalam latar belakang yang menjadi rumusan masalahnya efisiensi dari short signature yang telah dimodifikasi dengan SHA-1 dari penelitian sebelumnya yang menggunakan Message Diggest 5 (MD5) dengan pembuktian sekuritas generik, kecepatan maupun waktu yag diperoleh.

2. Modifikasi skema Short Signature Boneh-Boyen dengan SHA-1 secara manual relatif sulit tapi belum tentu lebih baik, karena itu penulis mengimplementasikan kedalam bentuk pengujian dengan menggunakan aplikasi dan melakukan penyadapan menggunakan chosen secure message attack.

1.3. BATASAN MASALAH

1.3.1. Global

Pembatasan global dari penelitian ini dapat dirincikan sebagai berikut:

a. Pesan input bertipe data string

b. Skema yang digunakan adalah skema Full Short Signature

c. Identitas pemakai (ID) bertipe data string dengan panjang minimal 2 karakter dan maksimal 8 karakter. Data identitas ini bersifat unik, yang berarti bahwa data ini tidak boleh sama untuk setiap pemakai

d. Fungsi hash yang digunakan adalah SHA-1, dimana output yang digunakan adalah 32 bit pertama dari sebelah kiri.

1.3.2. Alur kerja

Alur kerja yang akan diteliti dalam Tesis ini memiliki batasan berikut:

a. Panjang pesan dibatasi maksimal 100 karakter. Pembatasan panjang pesan ini dilakukan untuk mempermudah proses pemahaman terhadap prosedur kerja dari skema.

b. Bilangan yang digunakan dalam perangkat lunak bertipe data integer bilangan bulat positif dengan panjang minimal 2 digit dan dibatasi maksimal 4 digit,

(20)

4 dengan pertimbangan bahwa nilai kunci yang terlalu besar akan mempersulit proses pemahaman terhadap prosedur kerja dari skema.

1.3.3. Aplikasi

Masalah yang akan dibahas dalam pembuatan aplikasi ini mencakup:

a. Kunci publik dan kunci privat yang akan digunakan oleh user dapat disimpan ke dalam sebuah database yang dirancang dengan menggunakan aplikasi Microsoft SQL Server.

b. Jumlah pengguna dibatasi minimal 2 pengguna, dimana seorang berfungsi sebagai pengirim pesan dan seorang lagi berfungsi sebagai penerima pesan.

Sebuah pesan dapat dikirimkan kepada beberapa orang sekaligus. Setiap pengguna yang ingin menggunakan perangkat lunak harus melakukan proses registrasi terlebih dahulu dimana setiap pengguna dapat menjadi signer ataupun verifier.

c. Bilangan yang digunakan dalam perangkat lunak bertipe data integer bilangan bulat positif dengan panjang minimal 4 digit dan dibatasi maksimal 8 digit, dengan pertimbangan bahwa nilai kunci yang terlalu kecil akan memiliki tingkat sekuritas yang relatif rendah dan karena kesulitan untuk menghasilkan bilangan prima yang sama atau lebih besar dari 9 digit.

d. Panjang pesan dibatasi maksimal 10.000 karakter dengan pertimbangan bahwa pesan yang terlalu panjang akan menyebabkan proses pembuatan short signature menjadi lama.

1.4. TUJUAN PENELITIAN

Adapun tujuan dalam penyusunan Tesis ini adalah memodifikasi skema Short Signature Boneh-Boyen dengan SHA-1 yang msenghasilkan sekuritas yang aman dalam menangani kemungkinan-kemungkinan yang dapat terjadi terhadap serangan-serangan Chosen Ciphertext Attack.

(21)

1.5. MANFAAT PENELITIAN

Adapun manfaat penelitian ini adalah :

1. Memperoleh variasi baru fungsi hashing pada penelitian sebelumnya 2. Memperoleh gambaran akan efektifitas dari modifikasi yang diusulkan

bila dibandingkan dengan penelitian sebelumnya

(22)

6

BAB II

TINJAUAN PUSTAKA

2.1 Pengenalan Kriptografi

Pada awal mulanya berkembangnya masa milineal seiring dengan pesatnya perkembangan di bidang teknologi dan komputer yang bersifat user friendly maka memungkinkan seseorang untuk melakukan transaksi bisnis dengan uang elektronik yang meminimalisir penggunaan cash atau lebih menggunakan e- money, selain itu ia juga dapat mengirimkan informasi kepada temannya secara on-line dan cepat.

Berkembanganya teknologi seiring bertambahnya waktu tentunya memiliki dampak yang tentunya akan menimbulkan resiko yang cukup tinggi juga, Karena bilamana informasi yang sensitif dan sangat rahasia tersebut diakses / dipergunakan dengan tidak bertanggung jawab oleh orang-orang yang tidak meiliki hak untuk menggunakannya (unauthorized persons). Misalnya, informasi rahasia tentang nomor kartu kredit anda, tanggal kadar luarsanya bahkan pin nya, akan sangat riskan bila informasi ini jatuh kepada orang-orang yang tidak bertanggung jawab maka anda harus bersiap-siap mengalami kerugian bisa jadi tagihan kartu kredit anda akan membengkak.

Kriptografi telah ada sejah zaman dahulu yang merupakan ilmu untuk mempelajari penulisan secara rahasia dengan tujuan dapat mengirikan suatu pesan baik komunikasi dan data dapat disembunyikan kerahasiaannya dan tentunya dapat kembali diartikan maknanya kepada orang yang memiliki wewenang sehingga dapat mencegah pihak-pihak lain yang bukan wewenangnya ingin mengetahui isinya ataupun merubahnya, dengan menggunakan kode-kode dan aturan-aturan tertentu maupun metode lainnya sehingga hanya pihak yang berhak saja yang dapat mengetahui isi pesan sebenarnyas.

Dizaman dulu kriptografi telah digunakan oleh beberapa bangsa. Pada tahun 1970-an, teknologi kriptografi sedikit digunakan dan penggunaannya pun terbatas, biasanya hanya untuk tujuan tertentu saja yang bersifat kerahasiaan.

(23)

Akan tetapi seiring bertambahnya waktu kemudian bidang bisnis dan perorangan mulai menyadari pentingnya melindungi informasi berharga.

Kriptografi berasal dari bahasa Yunani yaitu kripto yang artinya tersembunyi dan grafia yang artinya sesuatu yang tertulis. Dari dasar pengertian tersebut maka kriptografi dapat diartikan suatu cara atau teknik penyembunyian dari suatu data yang memiliki makna ke menjadi bentuk apapun yang tidak memiliki makna bisa berupa data acak yang tidak memiliki arti atau makna sebenarnya, hal ini bertujuan untuk menjaga kerahasiaan data dan bisa diterapkan dalam banyak hal misalnya dengan menerapkan beberapa rumus matematika tertentu, mengganti karakter, atau membuat kode-kode tertentu yang hanya dimengerti oleh beberapa orang yang berhak saja kemudian dapat ditransformasikan atau didekodekan kembali kebentuk awal sehingga memiliki arti yang sebenarnya dari pesan sebelumnya yang telah dirubah.

Sumber data yang akan di enkripsi atau disembunyikan / secara umum disebut plaintext. plaintext akan di sembunyikan dari pesan sesungguhnya atau dari sebuah plaintext ke dalam bentuk yang hampir tidak dapat dibaca dan tidak memiliki arti biasa disebut sebagai enkripsi. Sebuah sumber data yang telah ditransformasikan akan menghasilkan suatu deretan pesan yang tidak memiliki arti biasa disebut ciphertext. Selanjutnya proses untuk mengembalikan ciphertext ke plaintext disebut dengan decrypt/dekripsi. Untuk memperjelas proses enkripsi dan dekripsi seperti telah dijelaskan di atas, perhatikan gambar 2.1.

Plaintext Enkripsi Ciphertext

Dekripsi

Gambar 2.1 Proses Enkripsi dan Dekripsi

Plaintext pada umumnya disingkat dengan huruf P. Plaintext bisa berupa apa saja contohnya bisa berupa apa saja, contohnya deretan bit-bit sebuah teks file, sebuah titik, sebuah citra video, bisa juga berupa kurva, deretan digit-digit

(24)

8 frekuensi suara, maupun sebuah deretan angka-angka, selama data tersebut dapat dikonversikan kedalam komputer. Plaintext merupakan sebuah karakter yang akan dikonversikan kedalam bentuk angka yang terdiri dari 0 dan 1 atau disebut data biner, jadi dapat disimpulkan bahwa Plaintext merupakan yang akan disembunyikan.

Ciphertext juga pada umumnya disingkat dengan huruf C. Ciphertext merupakan sebuah data biner yang sama seperti P tetapi telah disembunyikan artinya. Besaran untuk hasil dari dokumen atau file yang telah di enkripsi bisa beraneka ragam bias sama besar dengan dokumennya, tetapi dapat juga lebih besar dari dokumen aslinya.

Proses penyembunyian pesan dari plainteks sampai enkripsi ini aka keseluruhan proses dari enkripsi dan dekripsi dapat dinyatakan sebagai berikut

D (E(P)) = P

2.2 Konsep Dasar Matematis Kriptografi 2.2.1 Metode Rabin Millier

Bilangan prima merupakan bilangan integer yang lebih besar dari 1 yang hanya mempunyai factor pembagi 1 dan dirinya sendiri. Selain itu tidak ada bilangan lain yang habis dibagi dengan bilangan tersebut. Jadi 2 merupakan bilangan prima begitu juga dengan 7,11, 13, 73, 2521, 2365347734339, dan 2756839 − 1. Terdapat jumlah tak terbatas dari bilangan prima yang bias dipecahlan sampai sekarang. Kriptografi, terkhusus kriptografi menggunakan kunci publik, biasanya akan menggunakan bilangan prima yang besar (512 bit dan bahkan lebih besar lagi).

Algoritma yang digunakan adalah algoritma Rabin-Miller yaitu algoritma yang dirancang oleh Michael Rabin dengan berdasarkan beberapa ide dari Gary Miller :

1. Masukkan P.

2. Hitung b, b = (p – 1) / 2 (b pangkat dari 2, sehingga 2b faktor dari p – 1).

3. hitung m, sehingga p = 1 + 2b.m 4. Pilih a acak, a < p.

5. j = 0 dan z = am mod p.

(25)

6. if z = 1 || if z = p – 1, maka p bilangan prima.

7. if j > 0 & z = 1, maka p bukan bilangan prima.

8. Set j = j + 1. Bila j < b dan z ≠ p – 1, set z = z2 mod p dan kembali ke langkah 4. Jika z = p – 1, maka p lolos tes dan bilangan prima.

9. Jika j = b dan z ≠ p – 1, maka p bukan bilangan prima.

2.2.2 Fast Exponentiation

Fast exponentiation merupakan pemangkatan yang dilakukan bersamaan dengan operasi modulo. Contoh Jika seseorang mengatakan, dia akan berada di rumah pada jam 10:00, dan dia akan terlambat 13 jam. Maka jam berapakah dia akan berada di rumah. Aritmatika modulo pada kasus di atas adalah modulo 12 karena jam hanya sampai angka 12. 23 modulo 12 setara dengan 11.

(10 + 13) = 11 mod 12

Secara dasar matematis, a ≡ b (mod n) jika a = b + kn untuk nilai integer k.

Jika a merupakan nilai non negatif dan b berada antara 0 dan n, maka b dapat dinyatakan sebagai sisa dari a ketika dibagi dengan n. Kadang-kadang b juga disebut sebagai residu dari a, modulo n. Kadang kala a disebut kongruen b, modulo n. (tanda sama dengan tiga , ≡ , menyatakan kongruen).

Kumpulan nilai integer dari 0 hingga n − 1 disebut `dengan kumpulan lengkap residu modulo n. Ini berarti, untuk setiap integer a, residunya modulo n menghasilkan nilai antara 0 hingga n − 1.

Operasi a mod n menunjukkan residu dari a yang mempunyai nilai antara 0 hingga n – 1 secara umum disebut sebagai modular reduction. Sebagai contoh, 5 mod 3 = 2.

2.2.3 Algoritma Euclidean

Algoritma Euclidean merupakan algoritma untuk mencari bilangan prima.

Algoritma yang diciptakan untuk mencari nilai dari Faktor Persekutuan Terbesar (FPB) dan ditemukan oleh matematika yunani bernama euclid. Tidaklah sulit untuk membuktikan bahwa algoritma itu benar. Misalkan a dan b adalah bilangan

(26)

10 yang FPB-nya akan ditentukan. Dan misalkan sisa dari pembagian dari a oleh b adalah t. Maka a = qb + t di mana q adalah hasil bagi (yang merupakan bilangan bulat) dari pembagian tersebut. Sekarang, setiap pembagi dari a dan b juga dapat habis membagi t (karena t dapat ditulis sebagai t = a − qb); Dengan cara yang sama, setiap pembagi dari b dan t juga akan habis membagi a. Maka faktor persekutuan terbesar dari a dan b adalah sama dengan FPB dari b dan t. Oleh karena itu, kita cukup meneruskan proses tadi dengan b dan t saja. Karena t lebih kecil dalam nilai mutlak dari b, kita akan mencapai t = 0 setelah sejumlah langkah. Bilangan bulat, a dan b, mempunyai sisa yang sama jika dibagi dengan bilangan bulat positif c. secara matematis dapat dikatakan bahwa a dan b kongruen dalam modulo c, dan dapat dituliskan melalui persamaan sebagai :

a ≡ b (mod c)

sebaliknya Jika a tidak kongruen dengan b dalam modulus c, maka ditulis : a ≡ b (mod c)

Definisi secara formal dari kekongruenan dinyatakan sebagai berikut : Misalkan a dan b adalah bilangan bulat dan c adalah bilangan > 0, maka a mod c = b atau a ≡ b(mod c). jika c habis membagi a – b.

Kekongruenan a ≡ b (mod c) dapat dinyatakan sebagai:

a = b + kc nilai k sembarang merupakan bilangan bulat.

Berdasarkan pengertian dari aritmetika modulo, maka dapat dituliskan a mod c = r sebagai :

a ≡ r (mod c)

pada persamaan diatas merupakan operasi aritmetika modulo yang dipakai utk panjang dari dua buah garus, khususnya terhadap operasi penjumlahan dan perkalian nya dapat dinyatakan kedalam fungsi matematis sebagai berikut : (Munir, R., 2005)

jika m adalah bilangan bulat positif maka persamaannya dapat dituliskan sebagai berikut :

1. Jika a ≡ b (mod c) dan d ≡ e (mod c), maka : i. (a + d) ≡ ( b + e) (mod c)

(27)

ii. ad ≡ be (mod c)

2. Jika a ≡ b (mod c) dan d adalah sembarang bilangan bulat maka : i. (a + d) ≡ (b + d) (mod c)

ii. ad ≡ bd (mod c)

iii. ap ≡ bp (mod c), untuk suatu bilangan bulat positif p.

2.2.4 Algoritma Extended Euclidean

Algoritma Extended Euclidean merupakan perpanjangan algoritma Euclidean. Algoritma ini sangat berguna jika nilai a dan b ada coprime dengan ketentuan itu x merupakan nilai invers multiflikatif dari modulo b. Invers merupakan kebalikan dari suatu operasi aritmatika. Pembagian merupakan invers dari perkalian, pengurangan merupakan invers dari penjumlahan. Dalam modulo masalah invers lebih kompleks.

4x = 1 (mod 7)

Persamaan di atas ekivalen dengan mencari nilai x dan k seperti berikut:

4x = 7k + 1

Dimana baik x dan k merupakan integer. Masalah umum dalam mencari x adalah seperti berikut ini:

1 = (a . x) mod n Persamaan di atas dapat juga ditulis dengan:

a−1 ≡ x (mod n)

Masalah invers modulo sedikit lebih sulit untuk diselesaikan. terkadang mempunyai solusi dan sebaliknya tidak mempunyai solusi. Sebagai contoh, invers dari 5 modulo 14 adalah 13. Dengan kata lain 2 tidak mempunyai invers modulo 14.

Secara umum, a−1 ≡ x (mod n) mempunyai solusi yang unik dengan syarat a dan n merupakan bilangan prima. Tetapi sebaliknya jika syarat tidak terpenuhi a dan n bukan bilangan prima, maka a−1 ≡ x (mod n) tidak mempunyai solusi.

Jika n adalah bilangan prima, maka setiap nilai dari 1 hingga n − 1 secara relatif prima terhadap n dan tepatnya mempunyai satu invers modulo n dalam range tersebut. Untuk mencari invers dari a modulo n terdapat beberapa cara

(28)

12 diantaranya adalah dengan algoritma Euclid yang kadang kala disebut juga dengan Extended Euclidean Algorithm.

Berikut dilampirkan logika algoritma dari Extended Euclidean Algorithm :

2.2.5 Generator Modulo

Jika p adalah bilangan prima dan g adalah bilangan yang lebih kecil daripada p, maka g adalah generator mod p jika:

Untuk setiap nilai b dari 1 sampai p – 1, terdapat beberapa a dimana ga ≡ b (mod p) dengan kata lain generator modulo merupakan bilangan sisa bagi jika nilai tersebut merupakan bilangan lebih besar dari mop p dan merupakan bilangan itu sendiri jika bilangan tersebut lebih kecil dari bilangan mod p dan hasilnya harus 1 dengan bilangan tunggal.

Cara lain untuk menyatakan hal tersebut yaitu bahwa g adalah primitif dari p.

Sebagai contoh : jika p = 13, maka 7 adalah generator mod 13, karena : 71 = 7 (mod 13)

72 = 10 (mod 13) 73 = 5 (mod 13) 74 = 9 (mod 13) 75 = 11 (mod 13) 76 = 12 (mod 13) 77 = 6 (mod 13) 78 = 3 (mod 13) 79 = 8 (mod 13) 710 = 4 (mod 13) 711 = 2 (mod 13) 712 = 1 (mod 13)

Setiap angka dari 1 sampai 13 dapat diekspresikan dengan 7a (mod p)

(29)

Untuk p = 13, generatornya adalah 2, 6, 7 dan 11. Bilangan lainnya bukan generator. Sebagai contoh, 3 bukan generator karena tidak terdapat solusi pada persamaan berikut:

3ª ≡ 2 (mod 13)

Secara umum, untuk menguji apakah sebuah bilangan yang diberikan merupakan sebuah generator modulo bukanlah sebuah permasalahan. Hal ini sangat mudah apabila anda mengetahui faktorisasi dari p – 1. Anggap q1, q2, …, qn merupakan faktor prima dari p – 1. Untuk menguji apakah bilangan g merupakan generator mod p, hitunglah:

g(p – 1)/q mod p untuk semua nilai q = q1, q2, …, qn.

Jika bilangan yang dihasilkan bernilai 1 untuk beberapa nilai q, maka g bukanlah generator. Sebaliknya, jika bilangan yang dihasilkan tidak ada yang bernilai 1 untuk semua nilai q, maka g adalah generator.

Jika ingin mengetahui sebuah bilangan adalah generator mod p, maka pilihlah sebuah bilangan acak dari 1 sampai p – 1 dan uji apakah merupakan generator sesuai dengan persamaan diatas satu persatu hingga pernyataan tersebut teruji dan menghasilkan bilangan bernilai 1 untuk semua nilai q.

2.2.6 Sistem Kriptografi Kurva Elips

The Elliptic Curce Cryptosystem (ECC) awal mulanya diperkenalkan pada tahun 1985 oleh Neal Koblity dan Victor Miller. ECC pada umumnya sering digunakan untuk permasalahan skema enkripsi contoh nya El-gamal, tanda tangan digital dan dalam pertukaran kunci. Kurva elips mempunyai masalah logaritma yang terpisah yang membuat permasalahannya cukup sulit untuk dipecahkan.

Kriptografi kurva elipsis termasuk sistem kriptografi bersifat kunci publik yang mendasarkan keamanannya pada permasalahan matematis kurva elips. Berbeda dengan halnya jenis permasalahan matematis logaritma diskrit lainnya seperti (Discrete Logarithm Problem, DLP) dan pemfaktoran bilangan bulat (Interger Factorization Problem, IFP), sampai saat ini belum ditemukan algoritma jenis waktu sub-eksponensial yang diketahui untuk dapat memecahkan permasalahan matematis algoritma diskrit kurva elipsis ini (Ellipsis Curve Discrete Logarithm

(30)

14 Problem, ECDLP). Oleh karena itu penggunaan algoritma tersebut mempunyai keuntungan bila dibandingkan algoritma kriptografi kunci publik lainnya, baik dalam hal ukuran kunci yang lebih pendek tetapi mempunya sekuritas tingkat keamanan yang sama.

Kurva Elliptic memiliki sejarah yang panjang dan berliku-liku, kurva elips telah dipelajari oleh banyak sekali matematikawan selama lebih dari 1 abad lamanya dari berbagai bagai Negara yang mencoba memecahkan permasalahan tersebut. kurva elips banyak digunakan untuk memecahkan beragam masalah dan juga dapat digunakan dalam kehidupan sehari hari sehingga membuatnya menjadi yang favourit di selidiki oleh para ilmuan. salah Satu Contohnya adalah permasalahan kongruen dari suatu bilangan yang diklasifikasi dalam bilangan positif. bilangan bulat yang terjadi biasanya ditemukan dari beberapa persamaan segitiga siku-siku, yang memiliki kesamaan atas panjang sisi-sisinya yang disebut bilangan rasional. Contoh lain adalah membuktikan Teorema Fermat's yang terbaru dimana fermat menyatakan menyatakan bahwa persamaan xn + yn = zn tidak memiliki solusi bilangan bulat non-nol untuk x, y dan z ketika bilangan bulat n lebih besar dari 2. Kurva elips sering digunakan untuk penyelesaian persamaan matematis yang cukup rumit tetapi juga digunakan pada beberapa algoritma pemfaktoran integer yang ada digunakan kriptografi untuk menambah tingkat kesulitan dan kompleksitasnya, seperti Lenstra Elliptic Curve Factorization.

Algoritma kriptografi yang menggunakan kunci publik didasarkan pada variasi perhitungan matematis yang terbilang sangat sulit dipecahkan tanpa pengetahuan tertentu mengenai bagaimana perhitungan tersebut dibuat. Pembuat algoritma akan menyimpan kunci rahasia dan membiarkan kunci public dilihat public atau menyebar karena keyakinan bahwa algoritma tersebut kuat. Algoritma kunci publik pada umumnya digunakan untuk mengenkripsi pesan dimana kunci awal pembuatnya atau biasa dikatakan hanya pembuat algoritma yang dapat mendekripsikannya/ memecahkannya kembali kedalam bentuk pesan yang memiliki arti. Salah satu contoh sistem kunci publik yaitu algoritma RSA, algoritma ini menggunakan dua bilangan prima yang sangat besar sehingga membuat nya semakin kuat. Pengguna memilih dua bilangan prima acak yang besar sebagai kunci rahasianya dan mempublikasikan hasil perhitungannya

(31)

sebagai kunci publik. Pemfaktoran dari dasar bilangan – bilangan cukup besar akan membuat nya menjadi sangat sulit dan memakan waktu yang lama untuk memecahkannya sehingga lebih dapat menjaga kerahasiaan kunci rahasia itu dari orang lain menjadi lebih tinggi.

Perhitungan aljabar ab = c, dimana a dan c diketahui. Tentu nya perhitungan matematis seperti persamaan aljabar tersebut menyangkut bilangan-bilangan yang cukup kompleks atau real yang dapat dengan mudah dipecahkan menggunakan algoritma atau menggunakan persamaan matematis yang khusus. Tetapi dalam kumpulan bilangan terbatas dengan nilai yang cukup besar, ditemukan suatu solusi untuk perhitungan semacam itu tetapi sangat sulit dan dikenal sebagai discrete logarithm problem. Kurva elips dapat dapat dijabarkan secara matematis perhitungannya sebagai berikut :

y2 = x3 + ax + b

berikut dilampirkan contoh dari kurva elips yang dapat dilihat pada gambar 2.2 dan gambar 2.3.

Gambar 2.2 Contoh Kurva Elips Untuk Persamaan y2 = x3 - x

(32)

16

Gambar 2.3 Contoh Kurva Elips Untuk Persamaan y2 = x3 + x + 1

2.3 Skema Signature Aman

Tanda tangan digital secara garis besar adalah suatu mekanisme matematis otentikasi unik yang memungkinkan pembuat pesan menambahkan sebuah kode yang dapat mengidentifikasi keaslian dari pengirim atau dalam hal ini bertindak sebagai sebuah tanda tangan dari pengirim yang bersifat absah menyatakan jati diri dari pengirim sebenarnya. Tanda tangan tersebut bersifat sah dan dapat menjamin integritas dari sumber dari sebuah pesan yang dibuat memang berasal dari si pengirim asli atau pengirim asli tidak bisa menyangkal jika tanda tangan itu bukan berasal dari diri nya.

Tanda tangan digital hampir secara umum memiliki kemiripan dalam banyak hal dengan tanda tangan biasa. Ada beberapa fungsi dari tandatangan digital yaitu :

1. Digunakan untuk memverifikasi pengirim pesan pada waktu pesan tersebut ditandatangani dan dilihat.

2. Digunakan untuk mengotentikasi keaslian dari isi pesan pada waktu pesan tersebut ditandatangani dan di dekripsikan.

3. Harus dapat diverifikasi oleh pihak ketiga sebagai hukum yang sah untuk menyelesaikan permasalahan perselisihan mengenai integritas dan sumber pesan.

Dari fungsi-fungsi di atas maka dapat disusun dasar sebagai syarat yang harus dipenuhi oleh sebuah tanda tangan digital yaitu (Stalling, 1999) :

(33)

1. Tanda tangan tersebut haruslah berupa pola atau apa saja yang dapat di konversikan dalam bentuk binner (bit) sehingga dapat diolah oleh komputer sehingga pada pesan tersebut dapat ditandatangani.

2. Untuk mengetahui dan memverifikasi tanda tangan digital harus relatif mudah dan bersifat publik.

3. secara aplikasi signature tidak dapat di palsukan, baik dengan membuat pesan baru dengan signature yang sama maupun membuat signature yang baru dengan pesan yang sama dan bisa jadi dengan kedua dua nya

4. Tanda tangan digital harus menggunakan beberapa informasi sebagai identitas yang menunjukkan keaslian pesan dari pengirimnya, hal ini digunakan mencegah pemalsuan pesan atau pengingkaran dari pesan yang dibuat.

5. Duplikat dari tanda tangan digital yang dibuat harus mudah disimpan.

Sebuah skema signature terdiri dari tiga algoritma, yaitu KeyGen (pembentukan kunci), Sign(penandatanganan) dan Verify (verifikasi), yang digunakan untuk pembuatan signature nya. Dalam sebuat parameter tertentu lgoritma ini bekerja sebagai berikut:

KeyGen menghasilkan pasangan kunci acak (Public Key, Secret Key).

Sign mengambil sebuah Secret Key (SK) dan sebuah pesan M, dan mengembalikan sebuah signature σ.

Verify mengambil sebuah Public Key (PK) dan sebuah pesan yang ditandatangani (M, σ), dan mengembalikan nilai valid atau tidak valid.

2.4 Skema Short Signature

Pada tahun 2001, Boneh, Lynn dan Shacham memperkenalkan ide dari skema short signature dengan menggunakan bilinear pairing. Skema ini berdasarkan pada Weil Pairing dan memerlukan sebuah fungsi hash spesial.

Skema yang dikemukakan ini memiliki panjang sekitar 160 bit dan menyediakan sebuah tingkatan sekuritas yang sama dengan 320-bit DSA signature. Skema signature Boneh ini aman terhadap existential foregery under a chosen message attack dengan mengasumsikan Computational Diffie-Hellman (CDH) problem

(34)

18 susah untuk diselesaikan pada kurva elips tertentu pada sebuah field terbatas.

Menghasilkan sebuah signature adalah hanya dengan menggunakan operasi perkalian pada kurva. Verifikasi signature dapat diselesaikan dengan menggunakan sebuah bilinear pairing pada kurva.

Selama beberapa tahun, terdapat berbagai aplikasi dari bilinear pairing pada skema short signature untuk mengkonstruksi skema baru yang efisien.

Pengembangan utama pada skema short signature adalah penggunaan fungsi hash kriptografi seperti MD5 (Zhang, et al. 2004) untuk menggantikan penggunaan fungsi hash spesial yang bernama operasi hash MapToPoint.

Fungsi dari operasi hash MapToPoint dapat dijabarkan sebagai berikut:

Input : y dan p Output : Titik Q Proses :

x = (y2 – 1)(2p – 1)/3 mod p Q.x = x

Q.y = y (Dan Boneh, et al. 2001)

2.5 Secure Hash Algorithm 1 (SHA-1)

Fungsi hash merupakan fungsi matematis yang mengubah nilai input numerik menjadi nilai numerik yang terkompresi sehingga karakter atau nilai tersebut tersamarkan dengan fungsi matematis atau kode-kode tertentu. Dalam pembuatan sidik jari tentunya harus tersembunyi dan tidak dapat diketahui oleh siapapun tanpa terkecuali sehingga menguatkan tanda tangan atau sidik jari tersebut. Akan tetapi pesan yang telah di berikan sidik jari harus disebar ke public sehingga siapapun dapat melihat isi dari pesan yang telah diberi tanda tangan tersebut, akan tetapi mereka yang melihat mempunyai masalah karna tidak dapat membaca isi pesan tersebut karena tidak memiliki. Tak ada algoritma rahasia dan umumnya tak ada pula kunci rahasia salah satu contoh merupakan MD5 dan SHA.

Secure Hash Algorithm merupakan hasil dari pengembangkan yang dilakukan institusi yang ada diamerika yaitu NIST (National Institue of Standard and Technology). Fungsi hash sangat bermanfaat dan dapat diterapkan untuk

(35)

penggunaan tanda tangan digital. Oleh NIST maka fungsi hash SHA-1 dispesifikasikan dalam tanda tangan digital Standard (DSS). Fungsi hash SHA-1 akan dikonversikan tetapi terlebih dahulu harus menerima masukan berupa string yang akan di konversikan menjadi nilai nilai dalam bentuk bit untuk setiap string karakter akan menghasilkan keluaran sebanyak 160 bit dari string tersebut akan diperoleh sejumlah karakter acak yang telah di enkripsi dengan kata lain sebagai message digest. SHA-1 dikatakan aman karena perhitungan yang dilakukan cukup rumit untuk dihitung secara inflexible dan secara manual karena menghasilkan keluaran 320 bit karakter acak tanpa arti yang memungkinkan membuat enkriper kesulitan untuk mencari string yang sesuai dalam pendekodesiasian dari message digest yang dihasilkan. Dalam fungsi hash string- string yang dihasilkankan akan menghasilkan message digest yang sama kecuali terdapat karakter yang berbeda maka akan menghasilkan message digest yang berbeda pula. Kita akan membuat suatu contoh disaat ada seorang yang hendak mengirimkan sebuah pesan, tentunya untuk mengetahui pesan tersebut berasal dari si pengirim yang sebenarnya maka harus dibuat sebuah tanda tangan atau sidik jari yang menyatakan identitas dari pengirim tersebut, ketika pesan tersebut telah sampai kepada pengirim tentunya si pengirim telah mendapat sebuah clue tentang identitas dari pengirim sehingga si penerima yakin bahwa pesan tersebut memang berasa dari si pengirim dan tidak berasal dari orang lain. Penerima tentunya membuka pesan yang diterima nya dalam bentuk enkripsi atau telah dimasking keasliannya yang pada umumnya disebut pre-image, sedangkan output-nya yang memiliki ukurannya tetap walaupun karakter yang dibuat jumlahnya banyak maupun sedikit biasanya disebut hash-value (nilai hash).

Tentunya Jika isi pesan tersebut dirubah akan ketahuan karena clue yang diterima oleh sipengirim berbeda dan akan mengabaikan pesan tersebut sebagai penyadapan. Nilah hash sangat penting karena pesan-pesan yang dihasilkan tentunya akan menghasilkan nilai hash yang berbeda. (Aryasa, et al 2014).

Gambar 2.4 Fungsi hash satu arah sebagai sidik jari pesan

(36)

20

Tidak ada jaminan dari keamanan sidik jari tetapi tingkat persentasi keamanan nya didasari dari kenyataan bahwa hampir tidak ada dua pre-image yang memiliki hash-value yang sama atau dengan kata lain karakter yang berbeda akan menghasilkan hash value yang berbeda pula. Inilah yang disebut dengan sifat collision free dari suatu fungsi hash yang baik. Selain itu, sangat sulit untuk membuat suatu pre-image jika hanya diketahui hash-valuenya saja. berikut alur kerja dari SHA-1 :

Gambar 2.5. Alur kerja Secure Hash Algorithm (SHA-1)

Sebagai contoh:

Pesan asal adalah huruf V kapital: ”V” = 010101102 = 4216 (panjang pesan asal 8 bit).

Tambahan: 1 000 0000 00 ……. (dalam biner) atau dalam hexa:

W0 = 56 00 00 00 = 01010110000000000000000000000000 W0 = 00 00 00 00 = 00000000000000000000000000000000 W2 = 00 00 00 00 = 00000000000000000000000000000000 W3 = 00 00 00 00 = 00000000000000000000000000000000

(37)

W4 = 00 00 00 00 = 00000000000000000000000000000000 W5 = 00 00 00 00 = 00000000000000000000000000000000 W6 = 00 00 00 00 = 00000000000000000000000000000000 W7 = 00 00 00 00 = 00000000000000000000000000000000 W8 = 00 00 00 00 = 00000000000000000000000000000000 W9 = 00 00 00 00 = 00000000000000000000000000000000 W00 = 00 00 00 00 = 00000000000000000000000000000000 W00 = 00 00 00 00 = 00000000000000000000000000000000 W02 = 00 00 00 00 = 00000000000000000000000000000000 W03 = 00 00 00 00 = 00000000000000000000000000000000 W04 = 00 00 00 00 = 00000000000000000000000000000000 W05 = 00 00 00 00 = 00000000000000000000000000000000

Jumlah bit yang akan di tambahan adalah 440 bit. Bila bit tambahan (440 bit) ditambahkan ke pesan asal (8 bit), maka jumlah totalnya akan menjadi 448 bit dan disebut kongruen dengan 448 (mod 512). Dalam contoh ini n = 1, sehingga k = 512 (1) − 64 = 448.

Untuk memenuhi persyaratan bahwa nilai bit harus merupakan kelipatan 512 bit maka kan terdapat selisih kekurangan dari bit tersebut sebanyak 64 bit. 64 bit ini diberi pesan asli nya sebanyak 8 bit = 816.

Sehingga masukan menjadi (dalam hexa):

5680 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0008

Dalam bit-bit karakter tersebut Proses pengolahan yang dilakukan terhadap setiap blok (512 bit) SHA memerlukan data masukan berupa Yq

sedangkan CVq merupakan nilai hash dari proses sebelumnya. Mula-mula, disediakan 5 buah register (memori) untuk menampung hasil hash akir nanti (register A, B, C, D, dan E). Setiap register diisi dengan konstanta awal sebagai berikut (berlaku bila datanya berupa Y0 bukan Yq):

A = 0x67452301 B = 0xefcdab89 C = 0x98badcfe

(38)

22 D = 0x10325476

E = 0xc3d2e1f0

Karena setiap register berisi 8 bit × 4 bit (32 bit), maka keluaran yang diharapkan dari kelima register nantinya adalah 32 bit × 5 bit= 160 bit.

Fungsi nonlinier yang digunakan SHA adalah:

ft(X, Y, Z) = ( X ∧ Y) ∨ ((~X) ∧ Z), untuk t = 0 sampai 19.

ft(X, Y, Z) = X ⊕ Y ⊕ Z, untuk t = 20 sampai 39.

ft(X, Y, Z) = (X ∧ Y) ∨ (X ∧ Z) ∨ (Y ∧ Z), untuk t = 40 sampai 59.

ft(X, Y, Z) = X ⊕ Y ⊕ Z, untuk t = 60 sampai 79.

Simbol ’<<< 5’ menunjukkan bahwa A digeser 5 bit ke arah kiri.

Empat konstanta Kt yang digunakan pada SHA:

Kt = 0x5a827999, untuk t = 0 hingga 19 (20 tahap pertama) Kt = 0x6rd9eba1, untuk t = 20 hingga 39 (20 tahap kedua) Kt = 0x8f1bbcdc, untuk t = 40 hingga 59 (20 tahap ketiga) Kt = 0xca62c1d6, untuk t = 60 hingga 79 (20 tahap keempat)

Blok pesan ditransformasikan dari 16 word 32-bit (M0 sampai M15) ke 80 word 32-bit menggunakan algoritma berikut:

Wt = Mt, untuk t = 0 hingga 15

Wt = (Wt−3 ⊕ Wt−8 ⊕ Wt−14 ⊕ Wt−16) <<< 1, untuk t = 16 hingga 79.

Bila t merupakan bilangan operasi dari 1 sampai 79, Wt menyatakan sub blok ke-t dari pesan yang diekspansikan, dan <<< s menyatakan pergeseran ke kiri memutar sejauh s bit, maka proses utama setiap tahap akan menjadi bagian berikut:

For t = 0 to 79

TEMP = (a <<< 5) + ft(b,c,d) + e + Wt + Kt

e = d d = c

c = b <<< 30 (lambang S30 berarti b digeser 30 bit ke kiri dan hasilnya dimasukkan ke c) b = a

a = Temp Next i

(39)

Sebagai catatan di sini bahwa tanda + menunjukkan penjumlahan modulo 232

2.6 Bilinear Group

Bilinear group adalah merupakan gabungan dari tiga kelompok aljabar yang abstrak, G1, G2 dan GT, bersama dengan fungsi deterministik e yang disebut bilinear map, yang mengambil sebagai masukan satu elemen dari G1 dan satu elemen dari G2 dan mengeluarkan elemen di GT

Pairing merupakan fungsi yang memetakan dua anggota grup 1 (G1) ke satu anggota pada grup 2 (G2). G1 yang digunakan merupakan grup yang terdefinisi pada operasi penjumlahan, yaitu grup titik pada elliptic curve, sedangkan G2

merupakan grup yang terdefinisi pada operasi perkalian.

Pairing dinotasikan dengan e : G1 . G1  G2. Secara umum pairing memiliki beberapa sifat, yaitu:

1. Bilinear.

Berikut dijabarkan defenisi bilinear dengan teorema yang berlaku pada pemetaan bilinear

Diberikan Q, R, S ∈ G1, maka:

e(Q, R + S) = e(Q, R) . e(Q, S) dan e(Q + R, S) = e(Q, S) . e(R, S)

Operasi penjumlahan ruas kiri pada persamaan di atas merupakan operasi penjumlahan di G1, sedangkan operasi perkalian pada ruas kanan merupakan operasi perkalian di G2.

Misalkan P ∈ G1, maka : e(2P, P) = e(P + P, P)

= e(P, P) . e(P, P) = e(P, P)2 Sama halnya untuk e(3P, P), yaitu:

e(3P, P) = e(2P + P, P) = e(2P, P) . e(P, P)

= e(P, P)2 . e(P, P) = e(P, P)3

Berdasarkan penjelasan di atas, dapat disimpulkan bahwa:

e(aP, bP) = e(P, P)ab = e(abP, P) = e(P, abP)

(40)

24 Karena pairing memenuhi sifat bilinear, maka pairing disebut juga bilinear map yaitu fungsi kombinasi yang menggabung dua buah vektor untuk menghasilkan element vektor ketiga.

2. Non-degenerate, yaitu pairing tidak memetakan setiap pasangan elemen G1 ke elemen identitas G1, kecuali pasangan elemen identitas pada G1.

3. Computable, dalam mengkonstruksi pairing fungsi yang digunakan harus efisien dalam perhitugannya sehingga dapat dengan mudah dalam pengaplikasiannya.

2.7 Strong Diffie Hellman (SDH)

Berikut diberikan definisi formal dari asumsi kompleksitas komputasi SDH. Pertama, definisikan problema q-SDH konkret, dalam sebuah pasangan grup bilinier khusus (G1, G2) dan sebuah parameter q.

Anggap G1 dan G2 adalah dua buah grup siklis dari order prima p, yang dihasilkan dari g1 dan g2. Pada pasangan grup bilinier (G1, G2), problema q-SDH dapat dinyatakan sebagai berikut:

Diberikan input berupa (q + 3)-tuple buah elemen:

(g1, g1x

, g1(x2) ,…,

g1(x)

,g2, g1(x/2)

) ε G1(q+1)

x

menghasilkan sebuah pasangan (c, g11/(x+c)

) ∈ Zp x G1 untuk sebuah nilai yang dipilih secara acak c ∈ Zp \ {x}.

Perlu diketahui bahwa ketika G1 = G2, pasangan (g2, g2x

) adalah redundan karena pada kasus ini, (g2, g2x

) dapat dihasilkan dengan menaikkan (g1, g1x

) menjadi sebuah bilangan pangkat acak. (Wicaksono, 2007, 1-4)

2.8 Skema Signature Boneh, Lynn dan Shacham (BLS)

Berikut dijabarkan skema short signature yang dikemukakan oleh Boneh dan partner:

1. Key Generation

Diberikan salah satu nilai l yang diambil secara acak, anggap E / F3l adalah kurva elips yang digunakan dan anggap q adalah factor prima terbesar dari order pada kurva. Anggap P ∈ E / F3l

adalah sebuah titik dengan order q, pilih

(41)

sebuah nilai acak x ∈ Zq* dan set R  Xp. Kemudian (l, q, P, R) adalah kunci publik dan x adalah kunci privat. Finite Field Zq* maksudnya nilai yang dipilih harus lebih kecil dari q dan harus relatif prima terhadap q dan nilai Xp

adalah nilai koordinat x dari titik P.

2. Signing

Untuk menandatangani sebuah pesan M ∈ {0, 1}* menggunakan algoritma MapToGrouph, untuk memetakan M pada sebuah titik PM ∈ P. Set SM x * PM. Signature adalah koordinat x dari SM.

3. Verification

Diberikan sebuah kunci public (l, q, P, R), sebuah pesan M dan sebuah signature, lakukan proses berikut:

a. Cari sebuah titik S ∈ E / F3l dari order q dimana koordinat x adalah signature dan koordinat y adalah nilai acak untuk beberapa y ∈ F3l. Jika tidak terdapat titik tersebut maka signature TIDAK VALID.

b. Set u  e(P, φ(h(M)), dimana e adalah Weil pairing pada kurva E / F3l

dan φ : E  E adalah automorphism dari kurva.

c. Jika u = v atau u-1 = v, maka signature VALID.

d. Jika tidak, maka signature TIDAK VALID. (Boneh, et al. 2001)

2.9 Short Signature Boneh-Boyen

Berikut akan diberikan konstruksi dari skema full short signature yang aman secara penuh pada model standar dengan menggunakan asumsi SDH.

Anggap (G1, G2) adalah grup bilinier dimana |G1| = |G2| = p untuk beberapa bilangan prima p. Asumsikan juga pesan m yang akan ditandatangani adalah elemen pada Zp, namun domain ini dapat dikembangkan menjadi semua {0, 1}*

dengan menggunakan collision resistant hashing.

1. Proses Pembentukan Kunci

Pilih generator acak g1 ∈ G1 dan g2 ∈ G2, dan bilangan integer acak x, y ∈ Zpx

. Hitunglah u = g2x

∈ G2 dan v = g2y

∈ G2. Hitung juga z = e(g1, g2) ∈ GT. Kunci publik adalah tupple (g1, g2, u, v, z). Kunci privat adalah triple (g1, x, y).

2. Proses Pembuatan Tanda Tangan

(42)

26 Diberikan sebuah kunci rahasia (g1, x, y) dan sebuah pesan m ∈ Zp, pilih sebuah bilangan acak r yang lebih kecil dari p dan relatif prima terhadap nilai p (dihitung dengan menggunakan algoritma Euclidean) dan hitunglah σ = g11/(x+m+yr)

∈ G1. Perhitungan nilai invers 1/(x+m+yr) dalam rumusan σ tersebut akan dihitung dalam modulo p. Signature yang dihasilkan adalah pasangan nilai (σ, r).

3. Proses Verifikasi

Diberikan sebuah kunci publik (g1, g2, u, v, z), sebuah pesan m dan sebuah signature (σ, r), verifikasi bahwa (g1, g2, σ, g2m

vr u) adalah sebuah DDH tupple dengan menguji apakah e(σ, g2m vr u) = z. Jika persamaan tersebut terpenuhi, maka signature adalah valid, jika tidak, maka signature adalah tidak valid.

(Boneh & Boyen, 2006)

2.10 Message Digest algorithm 5 (MD5)

MD5 meupakan salah satu fungsi hashing dalam kriptograpi yang merupakan fungsi hash satu arah yang menghasilkan keluaran yang sama sebanyak 128 bit. MD5 merupakan keluaran terbaru dari pendahulu nya yaitu MD4 dimana perubahannya terdapat pada kecepatan dalam desainnya yang sebelumnya merupakan kecacatan pada pendahulunya.

MD5 akan dibagi menjadi 4 word yang masing-masing bernilai 32 bit yang secara total menghasilkan keluaran sebanyak 128 bit dan bibagi menjadi A,B,C dan D pada setiap word nya. Dalam pengoperasiannya pesan-pesan tersebut akan diinisialisasikan agar tetap stabil dan masing-masing blok akan melakukan pengubahan terhadap berbagai kondisi, setiap kondisi dibagi menjadi 4 tahapan putaran. Tiap putaran akan melakukan 16 kali operasi dan melakukan rotasi dari kir yang serupa dengan fungsi non-liniear yang disebut sebagai F.

(43)

2.11 Riset Terkait

Penelitian sebelumnya penulis himpun dan penulis jadikan sebagai dasar pedoman untuk penelitian ini.

Boneh, Lynn Shackam (2001) mengusulkan skema Short signature yang menghasilkan setangah dari panjang DSA Signature namun tingkat sekuritasnya sama dengan panjang DSA signature karena skema ini bertumpu dengan tingkat sekuritas yang rumit menggunakan random oracle model.

Boneh D & Xavier B (2004) melakukan penelitian dengan mengusulkan metode hor Signature without random oracle dimana skema shor signature dapat menghasilkan tanda tangan digital yang panjangnya setengah dari DSA (Digital Siganture Algorithm) namun tingkat securitas nya sama dengan DSA walaupun tidak menggunakan Random Oracle

Boneh D & Xavier B (2006) kembali melakukan penelitian dengan skema Short signature masih dengan pengaturan yang sama akan tetapi tidak membutuhkan Random oracle dan memiliki panjang yang sama dengan Boneh, Lynn Shackam, dan jauh lebih efisien. Kami membuktikan keamanan skema kami menggunakan kompleksitas yang rumit yang kami sebut Assumption Strong Diffie-Hellman atau SDH for short. Secara kasar untuk beberapa parameter q, asumsi SDH dalam grup G dari bilangan prima p yang akan membuat masalah tersebut sulit dipecahkan.

Subhas, et al. (2015). Melakukan mengusulkan A new short signature with weil pairing dengan menganalisis keamanan dari skema yang diajukan dan efisiensi nya. Kemudian memberitahukan bahwa tingkat keamanan dari skema yang diberikan tergatung dari tingkat kesulitan mengexpresikan titik dalam hal kombinasi linear sebagai basis point dan tingkat efisiensinya sama dengan BLS.

P Victor Pasaribu, et al (2017). Melakukan implementasi dari skema Short Signature tetapi fungsi hash yang dilakukan dengan menggunakan fungsi standard

(44)

28 pada umumnya yaitu menggunakan MD5 maupun tidak menggunakan fungsi hash dengan mengkonver pesan pada binner

Edward E (2017). Menjelaskan bahwa secara praktikal kebanyakan skema signature tanpa random oracle bergantung pada kekuatan dari RSA assumption dan menyajikan sejumlah hasil dari Short signature menggunakan random oracle maupun yang tidak. Hasil utama kami bahwa sepenuh nya short signature yang aman adalah tanpa menggunakan random oracle. Short signature sesingkat DSA signature tetapi aman dalam pemulihan pesan yang terbatas.

Berdasarkan penelitian diatas dapat diambil kesimpulan bahwa dengan berbagai variasi terhadap algoritma Short signature untuk meningkatkan keamanan dapat dimungkinksan agar dapat menghasilkan tingkat sekuritas yang lebih baik dan efisien pengamanan data, selain itu, perbedaan dari penelitian sebelumnya adalah bahwa penelitian ini memanfaatkan nilai titik dari elliptic curve (kurva elips) dan fungsi hash SHA-1 yang menghasilkan keluaran 320 bit walaupun dengan panjang pesan yang berbeda beda.

(45)

BAB III

METODOLOGI PENELITIAN

3.1 Tahapan Penelitian

Pada penelitian ini, seluruh prosedur awal penelitian terlebih dahulu harus sudah dilakukan seperti studi literatur dan melakukan konsultasi dengan pembimbing.

Setelah ditemukan permasalahan dan merumuskannya maka penelitian bisa dilanjutkan pada proses selanjutnya.

3.2 Alur Kerja Penelitian

Langkah – langkah tahapan penyusunan tesis ini antara lain:

a. Mengumpulkan, mempelajari materi dan menidentifikasi masalah yang berhubungan dengan topik dari buku, jurnal, internet dan berbagai referensi berkaitan dengan algoritman Short Signature dan SHA-1.

b. Melakukan tahap analisa terhadap hasil referensi untuk mengetahui dan mendapat pemahaman dengan mendeskripsikan proses kerja dari skema Short signature dengan SHA-1 dengan menggunakan activity diagram.

c. Memodelkan sistem yang akan dirancang dengan menggunakan alat bantu berupa use case diagram.

d. Merancang tampilan antarmuka pemakai (user interface) aplikasi dengan menggunakan bahasa pemrograman Microsoft Visual Basic 2008 menggunakan database Sql Server.

e. Melakukan pengujian terhadap perangkat lunak yang telah dibuat dengan menguji algoritma terhadap berbagai kemungkinan yang dapat terjadi dan mendapatkan kesimpulan. Proses pengujian terhadap berbagai kemungkinan yang akan dilakukan mencakup:

a) Melakukan pengubahan isi pesan dan memverifikasi short signature terdapat pada pesan tersebut, kemudian melihat hasil verifikasi yang diperoleh.

Referensi

Dokumen terkait

d) Selain mendapatkan hadiah, setiap anggota berhak mendapatkan bagi hasil pada akhir periode simpanan. e) Setoran Si Wadiah dapat dilakukan di seluruh kantor

Berdasarkan hal diatas, pada Tugas Akhir ini telah dirancang dan direalisasikan antena slot waveguide , terdiri dari delapan buah slot yang memiliki orientasi vertikal

Hasil penelitian menunjukkan bahwa nilai sukses pemangsaan pada larva ikan kakap merah, umur D- 5 cenderung berfluktuasi, di mana pada pukul 08 00 baru 5O% dari sampel

Setelah tahap inisialisasi data yang sesuai dengan akun Gmail dan pembangkitan kunci, user memasukkan plainteks yang akan dikirim pada textbox pesan yang tersedia

Berdasarkan hasil analisisi probit dan pengamatan secara deskriptif hasil uji efikasi insektisida K-OTHRINE 20 EW ® secara pengasapan menunjukkan bahwa dosis 100 dan 200 ml/ha baik

Berdasarkan hasil penelitian yang telah dilakukan, faktor yang paling optimal untuk mendapatkan respon time machining yang minimal baik secara real atau simulation

Saya, Muhamad Arip Amir Udin, mahasiswa Strata 1 Program Studi Pendidikan Dokter Fakultas Kedokteran Universitas Diponegoro, akan melakukan penelitian dengan judul