• Tidak ada hasil yang ditemukan

Otentikasi Pesan Menggunakan Elliptical Curve Digital Signature Algorithm

N/A
N/A
Protected

Academic year: 2016

Membagikan "Otentikasi Pesan Menggunakan Elliptical Curve Digital Signature Algorithm"

Copied!
101
0
0

Teks penuh

(1)

OTENTIKASI PESAN MENGGUNAKAN ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM

SKRIPSI

AULIA RAHMAN DALIMUNTHE 071402031

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(2)

OTENTIKASI PESAN MENGGUNAKAN ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

AULIA RAHMAN DALIMUNTHE 071402031

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : OTENTIKASI PESAN MENGGUNAKAN

ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM

Kategori : SKRIPSI

Nama : AULIA RAHMAN DALIMUNTHE

Nomor Induk Mahasiswa : 071402031

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Nopember2013 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Syahriol Sitorus, S.Si., M.I.T. Romi Fadillah Rahmat, B.Comp.Sc., M.sc

NIP 19710310 199703 1 004 NIP 19860303 201012 1 004

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

(4)

PERNYATAAN

OTENTIKASI PESAN MENGGUNAKAN ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM

SKRIPSI

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

Medan, Nopember 2013

(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh ijazah Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Ucapan terima kasih penulis sampaikan kepada:

1. Kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda Habiburrohman Dalimunthe dan Ibunda Tambaia Rangkuti yang selalu sabar dalam mendidik dan membesarkan penulis.

2. Bapak Romi Fadillah Rahmat, B.Comp.Sc.M.Sc selaku pembimbing satu dan Bapak Syahriol Sitorus, S.Si., M.I.T selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.

3. Ucapan terima kasih juga ditujukan kepada Dr. Erna Budhiarti Nababan, M.IT dan Dedy Arisandi, ST., M.Kom yang telah bersedia menjadi dosen pembanding.

4. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT.

5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.

(6)
(7)

ABSTRAK

Dalam konteks keamanan data selalu dihubungkan dengan kriptografi. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan keamanan informasi. Dalam pengiriman pesan, aspek keamanan sangatlah penting karena banyak terjadi penyadapan dan penukaran data oleh orang yang tidak bertanggung jawab. Hal ini bisa menyebabkan perubahan pesan yang dikirim. Untuk menvalidasi pesan itu asli atau tidak ada perubahan maka pesan dibubuhi tanda tangan digital. Dengan tanda tangan digital maka integritas data terjamin. Salah satu metode yang digunakan untuk tanda tangan digital adalah ECDSA (Elliptical Curve Digital Signature Algorithm) yang beroperasi dengan

kelompok kurva elliptik sebagai basis perhitungan. Penelitian ini hanya di aplikasikan untuk pengiriman pesan teks pada email. Maka dari itu hasil dari penelitian ini merupakan sebuah aplikasi yang dapat mengirim pesan teks dan memverifikasi pesan teks.

(8)

AUTHENTICATE THE MESSAGE USING ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM

ABSTRACT

(9)

DAFTAR ISI

Ha l.

PERSETUJUAN i

PERNYATAAN ii

UCAPAN TERIMA KASIH iii

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL ix

DAFTAR GAMBAR x

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 6

2.1 Pengenalan Kriptografi 6

2.2 Enkripsi dan Dekripsi 7

2.3 Algoritma Kriptografi 8

2.3.1 Algoritma Simetrik (Symmetric Algoithms) 8 2.3.2 Algoritma Asimetrik (Asymmetric Algorithms) 9 2.3.3 Perbandingan Algoritma Simetrik dengan

Asimetrik 10

2.4 Serangan Kriptografi 11

2.5 Tanda Tangan Digital 12

2.5.1 Sifat Umum dari Tanda Tangan Digital 12

2.5.2 Penandatanganan Pesan 13

2.5.3 Skenario Tanda Tangan Digital 14

(10)

2.7 DSA 16

2.8 Elgamal 17

2.9 ECC ( Elliptical Curve Cryptography ) 18 2.9.1 Jenis-jenis Elliptic Curve Cryptography 19 2.9.1 Hal –hal yang perlu diperhatikan pada Elliptic

Curve Cryptography 20

2.10 ECDSA ( Elliptical Curve Digital

Signature Algorithm ) 20

2.10.1 Parameter Domain ECDSA 21

2.10.2 Proses ECDSA 21

2.11 Penelitian Terdahulu 22

BAB 3 ANALISIS DAN PERANCANGAN 25

3.1 ECC ( Elliptical Curve Cryptography ) 25 3.1.1 Menentukan Nilai P Bilangan Prima dengan

Syarat P>3 untuk Fp 26

3.1.2 Menentukan Nilai a,b dan Persamaan Kurva

Eliptik 26

3.2.3 Menentukan Nilai G dan n 26

3.2 ECDSA ( Elliptical Curve Digital Signature Algorithm ) 31 3.2.1 Proses Pembentukan Kunci Publik dan Privat 31 3.2.2 Proses Signing (Pemberian Tanda Tangan) 32 3.2.3 Proses Verifying (Verifikasi Tanda Tangan) 32

3.3 Perancangan Flowchart Sistem 33

3.3.1 Flowchart Sistem User Pengirim 33 3.3.2 Flowchart Sistem User Penerima 34

3.3.3 Flowchart Algoritma ECDSA 34

3.4 Use Case Diagram 35

3.5 Perancangan Antar Muka Pemakai 40

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 42

4.1 Implementasi Sistem 42

(11)

4.3 Pengujian dan Tampilan 42

BAB 5 KESIMPULAN DAN SARAN 50

5.1 Kesimpulan 50

5.2 Saran 50

DAFTAR PUSTAKA 51

(12)

Daftar Tabel

Hal.

Tabel 3.1 QRp (quadratic residue modulo) 26

Tabel 3.2 Mencari Elemen E23 (1,4) 27

Tabel 3.3 Spesifikasi Use case User Login 36

Tabel 3.4 Spesifikasi Use case User Daftar Akun 36 Tabel 3.5 Spesifikasi Use case User Lihat Profil 37 Tabel 3.6 Spesifikasi Use case User Lihat Email Masuk 38 Tabel 3.7 Spesifikasi Use case User Kirim Email 38 Tabel 3.8 Spesifikasi Use case User Lihat Email Keluar 39

(13)

Daftar Gambar

Hal.

Gambar 2.1 Proses Enkripsi dan Dekripsi 8

Gambar 2.2 Proses Algoritma Simetrik 8

Gambar 2.3 Proses Algoritma Asimetrik 10

Gambar 3.1 Flowchart Sistem User Pengirim 33

Gambar 3.2 Flowchart Sistem User Penerima 34

Gambar 3.3 Flowchart Algoritma ECDSA 34

Gambar 3.4 Diagram Use Case 35

Gambar 3.5 Rancangan Halaman Login 40

Gambar 3.6 Rancangan Halaman Daftar Email 41

Gambar 3.7 Rancangan Halaman Utama 41

Gambar 4.1 Tampilan Utama 43

Gambar 4.2 Tampilan Form Daftar 43

Gambar 4.3 Tampilan Login 44

Gambar 4.4 Tampilan Beranda 44

Gambar 4.5 Tampilan Halaman Compose 45

Gambar 4.6 Tampilan Penandaan Signature 46

Gambar 4.7 Tampilan Halaman Email Terkirim 46

Gambar 4.8 Tampilan Halaman Sent Email 47

Gambar 4.9 Tampilan Halaman Inbox 47

(14)

ABSTRAK

Dalam konteks keamanan data selalu dihubungkan dengan kriptografi. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan keamanan informasi. Dalam pengiriman pesan, aspek keamanan sangatlah penting karena banyak terjadi penyadapan dan penukaran data oleh orang yang tidak bertanggung jawab. Hal ini bisa menyebabkan perubahan pesan yang dikirim. Untuk menvalidasi pesan itu asli atau tidak ada perubahan maka pesan dibubuhi tanda tangan digital. Dengan tanda tangan digital maka integritas data terjamin. Salah satu metode yang digunakan untuk tanda tangan digital adalah ECDSA (Elliptical Curve Digital Signature Algorithm) yang beroperasi dengan

kelompok kurva elliptik sebagai basis perhitungan. Penelitian ini hanya di aplikasikan untuk pengiriman pesan teks pada email. Maka dari itu hasil dari penelitian ini merupakan sebuah aplikasi yang dapat mengirim pesan teks dan memverifikasi pesan teks.

(15)

AUTHENTICATE THE MESSAGE USING ELLIPTICAL CURVE DIGITAL SIGNATURE ALGORITHM

ABSTRACT

(16)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Dengan meningkatnya penggunaan internet saat ini dengan demikian komunikasi pertukaran data juga marak. Keamanan dalam pertukaran data sangatlah penting dalam penggunaan internet. Hal ini memerlukan suatu mekanisme dalam menjaga keaslian data dalam pertukaran data di internet. Metode yang biasa digunakan dalam hal ini adalah dengan cara menambahkan tanda tangan digital ke dalam data agar dapat membuktikan data itu asli atau tidak. Dengan menggunakan tanda tangan digital data yang akan di kirim akan di uji keaslianya dengan menggunakan banyak metode.

Seperti kita ketahui selama ini dalam pertukaran data banyak terjadi penyadapan dan penukaran data yang dilakukan oleh pihak-pihak yang tidak bertanggung jawab. Di dalam pengiriman pesan teks melalui email sangat dibutuhkan keamanan pesan tersebut agar menjaga keaslian pesan.

Sebagai contoh, dalam kasus dunia saham, dimana seorang pialang A menerima pesan elektronik dari pialang B agar tidak melakukan transaksi. Ternyata dalam proses pengiriman pesan terjadi perubahan yang dilakukan oleh seseorang yang tidak bertanggung jawab yang mengubah pesan menjadi pialang A harus melakukan transaksi. Untuk kasus ini sangat jelas keamanan pesan sangat dibutuhkan agar dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga keduanya dapat memastikan sumber pesan.

(17)

integritas data (data integrity) dan otentikasi (authentication). Sehingga keaslian data dapat terjamin.

Otentikasi (authentication) merupakan sebuah konsep yang di pakai untuk menjaga keaslian data, dipakai untuk membuktikan asli atau tidaknya sebuah data atau pesan oleh orang yang berhak atas data tersebut. Pembuktian sebuah dokumen asli atau tidak merupakan dasar untuk pelayanan keamanan. Karena dalam setiap pengiriman data pasti selalu ada gangguan seperti penyadapan data dan menukar data yang dikirim. Salah satu metode yang di tawarkan dalam konsep otentikasi (authentication) adalah tanda tangan digital (digital signature). Dalam proses tersebut di perlukan suatu tanda tangan digital untuk mengatasi masalah penyadapan dan penukaran data di dalam proses pengiriman data.

Tanda tangan digital merupakan suatu tanda tangan yang di cantumkan pada data digital bukan seperti tanda tangan seseorang di atas kertas yang seperti kita ketahui selama ini. Tanda tangan digital yang diberikan pada suatu data dapat memvalidasi dari mana asal data tersebut. Nilai setiap tanda tangan digital dapat selalu berbeda tergantung data yang ditandatangani. Dengan tanda tangan digital, maka integritas data terjamin. Tanda tangan digital ini menerapkan teori kriptografi asimetrik. Kriptografi asimetrik ini merupakan jenis kriptografi dengan menggunakan konsep dalam mengenkripsi dan mendekripsikan data dengan kunci yang berbeda.

Ada tiga algoritma dari tipe kunci yang biasa di gunakan untuk tanda tangan digital ini yaitu RSA, DSA, ECDSA (elliptic curve digital signature algorithm). ECDSA merupakan salah satu tipe digital signature dari ECC yang

memberikan layanan confidentiality, data integrity, authentication. ECDSA di perkenalkan pada tahun 1992 oleh Scott Vanston dan pada tahun 1998 mendapat standar ISO (International Standards Organization) yaitu ISO 14888-3. Tahun 1999 diterima sebagai standar ANSI (American National Standard Institute) ANSI X9.62 dan pada tahun 2000 sebagai standar IEEE (Institute of Electrical and Electronics Engineers) IEEE 1363-2000, serta standar NIST (National

(18)

Melihat latar belakang di atas, maka penulis tertarik membuat skripsi dengan judul “Otentikasi Pesan menggunakan ECDSA (Elliptical Curve Digital Signature Algorithm)”.

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah yang ada, maka dapat dirumuskan permasalahan yang ada yaitu perlunya mengatasi penyadapan dan penukaran data dalam pengiriman data menggunakan tanda tangan digital sebagai otentikasi keaslian data.

1.3 Batasan Masalah

Agar pembahasan penelitian ini tidak menyimpang dari apa yang telah dirumuskan, maka diperlukan batasan masalah. Dalam penelitian batasan masalah diuraikan sebagai berikut:

1. Algoritma yang digunakan adalah algoritma ECDSA (Elliptical Curve Digital Signature Algorithm)

2. Jenis pesannya merupakan text yang ada dalam pengiriman email.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk otentikasi pesan teks pada email dengan menggunakan Elliptical Curve Digital Signature Algorithm.

(19)

Manfaat dari penelitian ini merupakan untuk mencegah terjadi penyadapan dan penukaran pesan di dalam sebuah proses pegiriman pesan. Agar di dalam sebuah proses pengiriman pesan melalui email terjaga keamanannya.

1.6 Metodologi Penelitian

Metodologi penelitian yang digunakan pada penelitian ini adalah: 1. Studi Literatur

Pada tahap ini dilakukan studi kepustakaan yaitu proses pengumpulan bahan-bahan referensi yang berkaitan dengan kriptografi, elliptic curve cryptogrphy dan elliptic curve digital signature algorithm dari buku, artikel, paper, jurnal, makalah dan sumber lainnya.

2. Analisis

Pada tahap ini dilakukan analisis spesifikasi perangkat lunak yang dibangun pada penelitian ini, seperti perhitungan algoritma.

3. Perancangan

Pada tahap ini dilakukan perancangan perangkat lunak yang dibangun, seperti perancangan proses dan antarmuka.

4. Implementasi

Pada tahap ini dilakukan pengkodean perangkat lunak sesuai dengan spesifikasi yang ditentukan.

5. Pengujian

Pada tahap ini dilakukan pengujian terhadap perangkat lunak yang dibangun, dan bagaimana keakuratan dai sistem yang dibuat.

6. Penyusunan Laporan

(20)

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:

BAB 1 PENDAHULUAN

Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas pada penelitian ini. Pada bab ini dijelaskan tentang kriptografi dan metode elliptical curve digital signature algorithm.

BAB 3: ANALISIS DAN PERANCANGAN

Bab ini membahas tentang perancangan sistem dan program yang mencakup perancangan pangkalan data, perancangan sistem, dan perancangan interface. Dalam perancangan sistem dicantumkan data flow diagram untuk mempermudah penjelasan sistem.

BAB 4: IMPLEMENTASI DAN PENGUJIAN

(21)

BAB 5: KESIMPULAN DAN SARAN

(22)

BAB 2

LANDASAN TEORI

Pada tinjauan pustaka ini akan dibahas tentang konsep dasar dan teori-teori yang mendukung pembahasan yang berhubungan dengan sistem yang akan dibuat.

2.1 Pengenalan Kriptografi

Kriptografi adalah sebuah teknik pengamanan data untuk menjamin kerahasian data, selain itu pengertian kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan keamanan informasi seperti kerahasian data, keabsahan data, integritas data, autentikasi data (Hankerson, et al. 2004).

Menurut (Rinaldi, 2006) kriptrografi mempunyai tujuan sebagai berikut : A. Kerahasiaan Data (confidentiality)

Ancaman atau serangan terhadap kerahasiaan data ini biasanya dilakukan dengan menerobos hak akses, penyadapan data dan penipuan. Di dalam kriptografi layanan ini di realisasikan dengan menyandikan pesan menjadi cipherteks. Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data asli (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang akan dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai pada si penerima ciphertext tersebut diubah lagi ke bentuk asli (plaintext).

B. Nirpeyangkalan (non-repudiation)

(23)

online dan dalam tahap pertama si pembeli mengirimkan sebuah email dalam orderan maka si pembeli tidak dapat menyangkal bahwa dia telah mengirim email.

C. Integritas Data (data integrity)

Layanan yang menjamin bahwa data masih dalam keadaan asli atau belum pernah diubah selama dalam pengiriman. Layanan ini di realisasikan dengan menggunakan tanda tangan digital (digital signature). Data yang dikirim dengan tanda tangan digital menyiratkan bahwa data itu asli. Aspek ini menjamin bahwa data tidak dapat diubah tanpa izin dari yang berhak.

D. Autentikasi Data (authentication)

Layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication). Data yang didapat oleh suatu pihak oleh pihak lain harus di lakukan identifikasi agar memastikan keaslian data tersebut. Identifikasi terhadap data tersebut dapat berupa tanggal pembuatan data, isi informasi, waktu kirim dan hal-hal lainnya yang berhubungan dengan data tersebut.

2.2 Enkripsi dan Dekripsi

Enkripsi (Encryption), adalah proses yang dilakukan untuk mengubah pesan yang tidak disandikan (plaintext) ke dalam bentuk yang tidak dapat dibaca (ciphertext), dekripsi (Decryption) adalah proses yang dilakukan untuk mengubah pesan yang tidak dapat dibaca kedalam bentuk yang dapat dibaca dan dimengerti. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi.(Rinaldi, 2006)

(24)
[image:24.595.191.479.218.266.2]

Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi kriptografi kunci simetri (Symmetric-key Cryptography) dan kriptografi kunci asimetri (Asymmetric-key Cryptography). Proses enkripsi dan dekripsi dapat dilihat pada gambar 2.1. (Rinaldi, 2006)

Gambar 2.1 Proses Enkripsi dan Dekripsi

Cryptographic system atau cryptosystem adalah suatu fasilitas untuk

mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, parameter yang menetukan transformasi pencipheran tertentu di sebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kuci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan. Secara umum proses operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut :

EK (M) = C (Proses Enkripsi) DK (C) = M (Proses Dekripsi)

Pada pesan M kita mengekripsikan menajadi pesan C dengan menggunakan kunci K, sedangkan pada proses dekripsi kita menggunakan kunci K dan melakukan pada pesan C yang sudah di enkripsi dan menghasilkan pesan awal yaitu M.

2.3 Algoritma Kriptografi

2.3.1 Algoritma Simetrik (symmetric algorithms)

Algoritma simetrik adalah algoritma kriptografi berdasarkan kuncinya dibedakan menjadi dua yaitu algoritma aliran (Stream Cipher) dan algoritma blok (Block Cipher). Pada algoritma Stream Cipher, proses penyandiannya berorientasi pada

(25)
[image:25.595.192.510.179.228.2]

terkenal adalah DES (Data Encryption Standard) (Silviana, 2013). Proses algoritma simetrik dapat dilihat pada gambar 2.2.

Gambar 2.2 Proses Algoritma Simetrik

Algoritma ini menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Dalam system kriptografi kunci simetrik, kunci yang digunakan untuk proses enkripsi dan dekripsi pada prinsipnya identik, tetapi satu buah kunci dapat diturunkan dari kunci yang lainnya. Kunci – kunci ini harus dirahasiakan. Oleh sebab itu sistem ini sering disebut sebagai secret key cipher system.

2.3.2 Algoritma Asimetrik (Asymmetric Algortihms)

Algortima kriptografi asimetrik adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi. Algoritma ini sering juga disebut algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat di ketahui oleh setiap orang, tapi kunci dekripsi hanya di ketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key). Contoh algoritma terkenal menggunakan kunci asimetrik adalah ECC dan RSA. Proses algoritma asimetrik dapat dilihat pada gambar 2.3. Syarat-syarat yang harus di penuhi oleh algoritma public-key yaitu :

1. Mudah secara komputasi bagi suatu pihak B untuk mengkrontuksi sepasang kunci asimetrik (kunci publik KU, kunci pribadi KR).

2. Mudah secara komputasi bagi pengirim A, dengan memiliki kunci publik B dan data yang ingin dienkripsi, M, untuk menghasilkan ciphertext (C).

3. Mudah secara komputasi bagi penerima B untuk mendekripsi ciphertext yang dihasilkan menggunakan kunci pribadinya untuk mengembalikan data asli. 4. Tidak bisa secara komputasi bagi pihak ketiga untuk memperoleh kunci pribadi

(26)

5. Tidak bisa secara komputasi bagi pihak ketiga untuk mengembalikan data asli M hanya dengan mengetahui kunci publik KUb dan ciphertext C.

6. Fungsi enkripsi dan dekripsi bisa diterapkan dengan urutan yang dibalik. Kegunaan persyaratan yang keenam adalah untuk penerapan tanda tangan digital (digital signature) yang digunakan memecahkan isu otentikasi dalam masalah keamanan data.

Proses enkripsi publik key sederhana melibatkan empat tahap berikut : 1. Setiap user didalam jaringan membuat sepasang kunci untuk digunakan

sebagai kunci enkripsi dan dekripsi dari pesan yang akan diterima.

2. User kemudian mempublikasikan kunci enkripsinya dengan menempatkan kunci publiknya ke tempat umum. Pasangan kunci yang lain tetap dijaga kerahasiaannya.

3. Jika user A ingin mengirimkan data ke user B, ia akan mengenkripsikan data dengan menggunakan kunci publik user B.

[image:26.595.193.493.471.541.2]

4. Pada saat user B mendekripsikan data dari user A, ia akan menggunakan kunci pribadinya sendiri. Tidak ada pihak lain yang bisa mendekripsikan data itu karena hanya B sendiri yang mengetahui kunci pribadi B.

Gambar 2.3 Proses Algoritma Asimetrik

2.3.3 Perbandingan Algoritma Simetrik dengan Asimetrik

Algoritma simetrik dan asimetrik sama-sama mempunyai kelebihan dan kekurangan msaing-masing.

Kelebihan kriptografi kunci simetrik :

(27)

2. Ukuran kunci simetrik relatif pendek. Algoritma simetrik dapat digunakan membangkitkan bilangan acak.

3. Algoritma kunci simetrik dapat disusun untuk menghasilkan cipher yang lebih kuat.

4. Otentikasi pengiriman data langsung diketahui dari ciphertext yang diterima, karena kunci hanya diketahui pengirim dan penerima saja.

Kekurangan kriptografi kunci simetrik :

1. Kunci simetrik harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci.

2. Kunci harus sering diubah, mungkin setiap komunikasi.

Kelebihan kriptografi kunci asimetrik :

1. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomunikasi. Tidak ada kebutuhan untuk mengirim kunci privat sebagaimana kriptografi kunci simetrik.

2. Pasangan kunci public tidak perlu diubah, bahkan dalam periode waktu yang panjang.

3. Dapat digunakan dalam pengiriman kunci simetrik.

4. Beberapa algoritma kunci publik dapat digunakan untuk member tanda tangan digital pada data.

Kekurangan kriptografi kunci asimetrik :

1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem kriptografi simetrik, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar.

2. Ukuran ciphertext lebih besar dari plaintext.

3. Ukuran kunci relatif lebih besar daripada ukuran kunci simetrik.

(28)

2.4 Serangan Pada Kriptografi

Setiap penyerangan dalam kriptografi seorang kriptanalis berusaha untuk menemukan kunci atau menemukan plaintext dari ciphertext dengan asumsi kriptanalis mengetahui algoritma kriptografi yang digunakan. Menurut prinsip Kerckhoff semua algoritma kriptografi harus publik, hanya kunci yang rahasia (Silviana, 2013).

Jenis-jenis serangan dalam kriptografi berdasarkan keterlibatan penyerang dalam komunikasi :

1. Serangan pasif (passive attack)

Penyerang tidak terlibat komunikasi langsung dengan pengirim dan penerima dan hanya melakukan penyadapan untuk memperoleh data atau informasi sebanyak-banyaknya.

2. Serangan aktif (active attack)

Penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan dirinya dan penyerang mengubah aliran pesan seperti :

1. Menghapus sebagian ciphertext 2. Mengubah ciphertext

3. Menyisipkan ciphertext palsu 4. Me-replay pesan lama

Jenis-jenis serangan dalam kriptografi berdasarkan teknik yang digunakan untuk menemukan kunci :

1. Exhaustive attack

Penyerang menggunakan cara untuk menemukan kunci dengan mencoba semua kemungkinan kunci, pasti berhasil menemukan kunci jika ada waktu yang cukup.

2. Analytical attack

(29)

dengan cara memecahkan persamaan-persamaan matematika. Metode ini biasanya lebih cepat menemukan kunci dibandingkan dengan exhaustive attack. Sebuah algoritma kriptografi dikatakan aman bila memenuhi tiga kriteria berikut :

1. Persamaan matematis yang menggambarkan operasi algoritma kriptografi sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik.

2. Biaya untuk memecahkan ciphertext melampui nilai informasi yang terkandung di dalam ciphertext tersebut.

3. Waktu yang diperlukan untuk memcahkan ciphertext melampaui lamanya waktu informasi tersebut harus dijaga kerahasiaannya.

2.5 Tanda Tangan Digital

Tanda tangan digital atau Digital Signature merupakan suatu tanda tangan (penanda) yang dibubuhkan pada data digital. Tanda tangan digital bukan merupakan hasil scan atau input tanda tangan melalui interface tertentu. Tanda tangan digital adalah suatu nilai kriptografis yang bergantung pada isi data itu sendiri serta kunci yang digunakan untuk membangkitkan nilai kriptografisnya. Sehingga nilai setiap tanda tangan digital dapat selalu berbeda tergantung data yang ditanda tangani. Dengan tandatangan digital maka integritas data dapat dijamin, disamping itu juga digunakan untuk membuktikan asal pesan (keabsahan pengirim), dan nir penyangkalan (Silviana, 2013).

2.5.1 Sifat umum dari tanda tangan digital

Beberapa sifat umum dari tanda tangan digital adalah sebagai berikut :

(30)

2. Sah (integrity) untuk dokumen (pesan) itu saja atau salinannya yang sama persis. Tanda tangan itu tidak bisa dipindahkan ke dokumen lainnya, meskipun dokumen lain itu hanya berbeda sedikit. Ini juga berarti bahwa jika dokumen itu diubah, tanda tangan digital dari pesan tersebut tidak lagi sah.

3. Nirpenyangkalan (Non Repudiation), non repudiation ini timbul dari keberadaan digital signature yang menggunakan enkripsi asimetris (asymmetric encryption). Enkripsi asimetris ini melibatkan keberadaan dari kunci prifat dan kunci public. Suatu pesan yang telah dienkripsi dengan menggunakan kunci prifat maka ia hanya dapat dibuka/dekripsi dengan menggunakan kunci public dari pengirim. Jadi apabila terdapat suatu pesan yang telah dienkripsi oleh pengirim dengan menggunakan kunci prifatnya maka ia tidak dapat menyangkal keberadaan pesan tersebut karena terbukti bahwa pesan tersebut dapat didekripsi dengan kunci publik pengirim. Keutuhan dari pesan tersebut dapat dilihat dari keberadaan hash function dari pesan tersebut, dengan catatan bahwa data yang telah di-sign akan dimasukkan kedalam digital envelope.

4. Dapat diperiksa dengan mudah, termasuk oleh pihak-pihak yang belum pernah bertatap muka langsung dengan penandatangan.

2.5.2 Penandatanganan Pesan

Menandatangani pesan dapat dilakukan dengan salah satu dari dua cara, yaitu : 1. Enkripsi pesan

Mengenkripsi pesan dengan sendirinya juga menyediakan ukuran otentikasi. Pesan yang terenkripsi juga sudah menyatakan bahwa pesan tersebut telah ditandatangani.

2. Tanda tangan digital dengan fungsi hash

(31)

kunci-publik dan menggunakan kunci privat pengirim. Hasil enkripsi inilah yang disebut dengan tanda tangan digital. Selanjutnya tandatangan digital dilekatkan dengan ke pesan dengan cara menyambung (append) lalu dikirim melalui saluran komunikasi. Kemudian di tempat penerima, tandatangan digital dibuktikan keotentikannya dengan melakukan verifikasi pesan, yaitu dengan cara sebagai berikut:

1. Tandatangan digital didekripsi dengan menggunakan kunci public pengirim pesan yang menghasilkan message digest (MD) semula.

2. Penerima pesan mengubah pesan menjadi message digest (MD’) menggunakan fungsi hash satu arah yang sama dengan fungsi hash yang digunakan pengirim. 3. Jika MD’ = MD, maka pesan dan tandatangan yang diterima memang benar

berasal dari pengirim pesan.

2.5.3 Skenario Tanda Tangan Digital

Tanda tangan digital didalam kriptografi mempunyai skenario atau proses penandatanganan. Misalnya Alice ingin mengirim document bertandatangan secara digital pada Bob. Alice terlebih dahulu membangkitkan sepasang kunci asimetrik miliknya, yaitu kunci privat ( ) dan kunci public ( ). Kemudian Alice menandatangani dokumen M dengan memanggil algoritma sign sebagai berikut:

Untuk menghasilkan tandatangan, alice kemudian mengirim (M, ) kepada Bob. Bob pada akhirnya memanggil algoritma verify sebagai berikut:

Untuk memverifikasi tandatangan, bob menerima pasangan (M, ) bila nilai terima adalah true (benar).

2.6 Fungsi Hash

(32)

(di mana, h = H(m)). Fungsi hash sederhana ini memiliki berbagai jenis kegunaan komputasi, tetapi ketika digunakan untuk masalah kriptografi, fungsi hash selalu ditambahkan dengan sejumlah properti tambahan (Liao & Shen 2006).

Yang dibutuhkan untuk fungsi kriptografi hash, yaitu: 1. Input dengan panjang sembarang

2. Hasilnya mempunyai keluaran dengan panjang yang fixed 3. H(x) umumnya mudah dikalkulasi untuk sembarang nilai x 4. H(x) adalah satu arah

5. H(x) tidak pernah bermasalah dengan yang lain

Fungsi hash H merupakan fungsi satu-arah sebab sulit untuk dibalikkan yang berarti untuk nilai fungsi hash h, kita sulit menemukan nilai input x yang memenuhi persamaan H(x) = h. Nilai dari fungsi hash menyatakan sebuah pesan atau dokumen yang lebih panjang yang berasal dari proses komputasi. Hal ini menarik sebab dengan fungsi hash, kita dapat membuat sebuah digital fingerprint untuk sebuah dokumen. Contoh yang paling terkenal dari fungsi hash adalah MD2, MD5 dan SHA.

Mungkin penggunaan yang umum dari fungsi kriptografi hash adalah pembuatan digital signatures. Karena fungsi hash umumnya lebih cepat daripada algoritma digital signature lainnya, fungsi hash lebih sering digunakan untuk mendapatkan nilai fungsi hash dengan mengkalkulasikan signature yang menghasilkan sebuah nilai hash yang lebih kecil daripada dokumen itu sendiri. Selain itu, publik dapat memberikan sebuah saran atau pendapat tanpa membeberkan isi dari pendapat yang terdapat di dalamnya. Cara ini digunakan dalam memberikan tanggal pada sebuah dokumen dimana dengan menggunakan fungsi hash, setiap orang dapat memberikan tanggal pada dokumen tanpa memperlihatkan isi dari dokumennya pada saat proses pemberian tanggal.

(33)

Sifat-sifat fungsi hash kriptografi : 1. Preimage resistant

Bila diketahui nilai hash h maka sulit (secara komputasi tidak layak) untuk mendapatkan m dimana h = hash(m).

2. Second Preimage resistant

Bila diketahui input m1 maka sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan hash(m1)=hash(m2)

3. Collision-resistant

Sulit mencari dua input berbeda m1 dan m2 yang menyebabkan hash(m1) = hash(m2)

Beberapa contoh algoritma fungsi hash kriptografi yaitu MD4, MD5, SHA-0, SHA-1, SHA-256, SHA-512.

2.7 DSA

DSA dikembangkan dari algoritma ElGamal. DSA tidak dapat digunakan untuk enkripsi tetapi di spesifikasikan khusus untuk tanda tangan digital. Pada DSA, algoritma signature dan verifikasi berbeda. DSA menggunakan dua buah kunci, yaitu kunci publik dan kunci privat. Pembentukan tanda tangan menggunakan kunci rahasia privat, sedangkan verifikasi tanda tangan menggunakan kunci publik pengirim.

DSA menggunakan fungi hash SHA (Secure Hash Algorithm) untuk mengubah pesan menjadi message digest yang berukuran 160 bit. Tingkat keamanan DSA bergantung kepada dua masalah logaritma yang jauh akan tetapi saling berkaitan. Pertama adalah masalah logaritma di Zp dimana metode index kalkulus yang kuat diterapkan. Yang kedua adalah masalah logaritma pada cyclic subgroup pada urutan q, dimana metode berjalan pada waktu yang “square-root

(Wizanajani, 2013).

(34)

2. Ambil t dimana 0 ≤ t ≤ 8

3. Ambil bilangan prima p dimana 2511 + 64t < q < 2512 + 64t , dengan tambahan bahwa q dapat dibagi oleh (p-1)

4. Pilih sebuah generator α dari uniqe cyclic group berdasar urutan q di Zp* 5. Ambil bilangan integer acak dimana 1 ≤ a ≤ q-1

6. Hitung y = αa mod p

Kunci publik mengandung p, q, α, y, dan kunci privat adalah a.

2.8 Elgamal

Algoritma ElGamal dibuat oleh Taher ElGamal pada tahun 1984. Algoritma ini pada mulanya digunakan untuk tanda tangan digital atau digital signature. Namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan dekripsi. ElGaMal digunakan dalam perangkat lunak yang dikembangkan oleh GNU, program PGP, dan pada program keamanan jaringan lainnya. Keamanan algoritma ini terletak pada sulitnya menghitung algoritma diskrit. Masalah algoritma diskrit adalah, jika p adalah bilangan prima dan g dan y adalah sembarang bilangan bulat. Carilah x sedemikian sehingga gx ≡ y (mod p). (Rinaldi, 2006).

Besaran - besaran yang digunakann dalam algoritma ElGamal adalah : 1. Bilangan Prima p (Publik)

2. Bilangan acak, g (g<p) (Publik) 3. Bilangan acak,x (x<p-3) (Privat) 4. y = gx mod p (Publik)

5. m (Plainteks) (Privat)

6. a dan b (Chiperteks) (Publik)

Prosedur Membuat Pasangan Kunci : 1. Pilih sembarang bilangan prima p.

(35)

4. Kunci publik adalah y, kunci rahasia adalah x. Nilai g dan p tidak dirahasiakan dan dapat diumumkan kepada anggota kelompok.

Enkripsi :

1. Plainteks disusun menjadi blok-blok m1, m2, …, sedemikian sehingga setiap

blok merepresentasikan nilai di dalam rentang 0 sampai p – 1.

2. Pilih bilangan acak k, yang dalam hal ini 0 k p – 1, sedemikian sehingga k relatif prima dengan p – 1.

3. Setiap blok m dienkripsi dengan rumus : a = gk mod p b = ykm mod p

Pasangan a dan b adalah cipherteks untuk blok pesan m. Jadi, ukuran cipherteks dua kali ukuran plainteksnya.

Dekripsi :

Untuk mendekripsi a dan b digunakan kunci rahasia, x, dan plainteks m diperoleh kembali dengan persamaan :

m = b/ax mod p karena : ax gkx (mod p)

maka :

b/ax ykm/ax gxkm/gxk m (mod p)

yang berarti bahwa plainteks dapat ditemukan kembali dari pasangan cipherteks a dan b.

2.9 ECC (Elliptical Curve Cryptography)

Pendekatan yang dilakukan untuk menghasilkan algoritma Elliptic Curve Cryptography adalah dengan meggunakan struktur matematika yang sangat unik

(36)

sebuah kurva eliptik dan menghasilkan sebuah titik lain yang ada pada kurva tersebut. Struktur yang unik ini memberikan keuntungan dalam kriptografi dikarenakan kesulitan untuk menemukan 2 buah titik yang menentukan sebuah titik tertentu tersebut tidak dapat ditemukan dengan mudah. Tingkat kesulitan untuk menemukan 2 buah titik termasuk dalam golongan yang rumit sama seperti kesulitan untuk memperhitungkan variasi eksponensial yang digunakan dalam algoritma RSA yang telah banyak diimplementasikan. Untuk memecahkan Elliptic Curve Cryptography sendiri dibutuhkan perhitungan matematis yang sangat tinggi. Elliptic Curve Cryptography terdiri dari beberapa operasi basic dan juga aturan yang mendefinisikan penggunaan dari operasi operasi basic seeperti penambahan, pengurangan, perkalian dan perpangkatan yang didefinisikan sesuai dengan kurvakurva yang ada. Berikut adalah operasi matematika yang digunakan pada Elliptical Curve Cryptography didefinisikan dengan persamaan :

y2 = x3 + ax + b

dengan

4a3 + 27b2≠ 0

Setiap perubahan nilai dari a dan b akan menghasilkan elliptic curve yang berbeda (Hankerson, et al. 2004).

2.9.1 Jenis-jenis Elliptic Curve Cryptography

Elliptical Curve Cryptography mempunyai beberapa jenis-jenis algoritma yaitu : 1. ECDSA (Elliptical Curve Digital Siganature Algortihm)

Algoritma penandatanganan pesan menggunakan ECC yang disebutkan sebagai ECDSA adalah salah satu variasi dari Digital Signature Algorithm yang beroperasi dengan kelompok kurva elliptic sebagai basis perhitungan dari proses penandatanganan. Agar dapat menyamakan suatu tandatangan digital dari sebuah pesan yang dikirim oleh dua orang, maka kedua orang tersebut harus memiliki kurva elliptic yang sama.

2. Elliptical Curve Diffie Hellman

(37)

masing-masing memiliki kurva eliptik sepasang kunci publik-swasta masing – masing, dan mengirimkan sebuah kunci rahasia bersama melalui saluran yang tidak aman. Berbagi rahasia ini mungkin langsung digunakan sebagai tombol, atau lebih baik lagi, untuk mendapatkan kunci lain yang kemudian dapat digunakan untuk mengenkripsi komunikasi berikutnya menggunakan cipher kunci simetris.

2.9.2 Hal –hal yang perlu diperhatikan pada Elliptic Curve Cryptography

Pada Elliptical Curve Cryptography ini ada hal-hal yang harus diperhatikan untuk menyandikan pesan, yaitu :

1. Domain Parameter Kurva Ellips yang digunakan dalam ECC

Pembuatan parameter domain tidak dilakukan oleh masing-masing pengirim atau penerima karena ini melibatkan menghitung jumlah titik pada kurva yang memakan waktu dan sulit untuk diterapkan. Akibatnya dipilih beberapa standar parameter domain kurva eliptik untuk beberapa ukuran.

2. Panjang kunci

Skema ECC terkuat yang sudah berhasil diretas sampai saat ini memiliki sebuah kunci 112-bit untuk kasus dengan penggunaan umum dan sebuah kunci 109-bit untuk kasus dengan operasi biner. Untuk kasus pengenkripsian secara biasa rusak pada bulan Juli 2009 dengan menggunakan sekelompok lebih dari 200 PlayStation 3 game konsole dan bisa selesai dalam 3,5 bulan menggunakan cluster saat menjalankan terus menerus .Untuk kasus dengan pengoperasian biner, itu rusak pada bulan April 2004 dengan menggunakan 2.600 komputer selama 17 bulan operasi komputer.

3. Lisensi dan ijin

(38)

eliptik telah dipatenkan oleh berbagai orang dan perusahaan di seluruh dunia. Terutama perusahaan Kanada, Inc Certicom memegang lebih dari 130 paten yang berkaitan dengan kurva eliptik dan kriptografi kunci publik pada umumnya.

2.10 ECDSA (Elliptical Curve Digital Signature Algorithm)

ECDSA (Elliptical Curve Digital Signature Algorithm) adalah kurva elliptik analog dari Digital Siganature Algorithm (DSA). ECDSA merupakan salah satu jenis dari metode tanda tangan digital yang beroperasi dengan kelompok kurva elliptik sebagai basis perhitungan.

Skematik ECDSA adalah part penghitung digital untuk menulis penandaan. Skematik penandaan digital dapat diklasifikasikan berdasarkan pada permasalahan matematika yang menyediakan dasar untuk keamanan :

1. Integer Faktorisasi (IF)

Dasar keamanan pada intrektabiliti dari permasalahan faktorisasi integer. 2. Diskrit Logaritma (DL)

Dasar keamanan dititik beratkan pada permasalahan logaritma dalam sebuah daerah terbatas.

3. Skema kurva elliptic

Dasar keamanan dititik beratkan pada permasalahan curva elliptic logaritma diskrit (Hankerson, et al. 2004).

2.10.1 Parameter-parameter domain ECDSA

Parameter-parameter domain ECDSA terdiri dari sebuah pilihan yang sesuai dengan kurva elliptik E yang didefinisikan melebihi bidang tak hingga Fq dari karateristik p, dan sebuah titik dasar G € E(Fq). Untuk menyimpulkan, parameter-parameter domain terdiri dari :

(39)

b. Sebuah inidkasi FR (field representation) dari representasi yang digunakan untuk elemen dari Fq

c. Sebuah string bit seedE dari ukuran minimal 160 bit

d. Dua elemem bidang xg dan yg dalam Fq yang mendefinisikan sebuah titik tak

hingga G = (xg,yg) dari orde prima dalam E(Fq)

e. Orde n dari titik G, dengan n>2160 dan n > f. Kofaktor h = ≠E(Fq)/n

2.10.2 Proses ECDSA

Dalam protokol ECDSA, pihak yang akan melakukan tanda tangan digital mempunyai parameter domain kurva eliptik berupa D = { p, FR, a, b, G, n } dan pasangan kunci-kunci rahasia dA dan kunci publik QA. Kemudian pihak yang akan melakukan verifikasi terhadap tanda tangan , memiliki salinana dokumen D yang otentik dan kunci publik QA. Proses-proses yang terjadi adalah sebagai berikut :

Key generation :

1. Memilih sebuah bilangan bulat random dA yang nilainya diantara ( 1,n-1) 2. Menghitung QA = dA * G = ( X1, Y1)

3. Kunci rahasia = dA, dan kunci publik = QA

Signing ( Pemberian Tanda Tangan ) :

1. Memilih sebuah bilangan bulat random k, yang nilainya diantara ( 1, n-1 ) 2. Menghitung QA = k * G = ( X1, Y1 ) dan r = X1 mod n, jika r = 0, maka

kembali ke langkah 1 3. Menghitung k-1 mod n 4. Menghitung e = Hash (m)

5. Menghitung s = k-1 { e+dA * r } mod n Tanda tangan untuk pesan m adalah ( r,s ).

Verifying ( Verifikasi tanda tangan digital ) :

(40)

2. Menghitung e = Hash (m) 3. Menghitung w = s-1 mod n

4. Menghitung u1 = ew mod n dan u2 = rw mod n

5. Menghitung u1 * G + u2 * QA = ( X1, Y1)

6. Menghitung v = X1 mod n

7. Menerima tanda tangan jika dan hanya jika v = r

2.11 Penelitian Terdahulu

Pualam Sendi A P dan temannya menghasilkan kesimpulan bahwa Algoritma ECDSA yang diimplementasikan pada email client dalam proyek akhir ini dapat memberikan informasi tentang keaslian pesan yang diterima dengan syarat penerima sudah memiliki kunci publik milik pengirim. Kemudian, penggunaan fungsi trim pada saat pengambilan data dari luar program sangat penting karena sering terjadi perubahan saat proses pengambilan data dilakukan. Serta penggunaan tanda tangan digital akan mempengaruhi ukuran email (Sendi, et al. 2010).

Wizanajani menyimpulkan bahwa algoritma ECC memiliki banyak keunggulan dibandingkan dengan algritma RSA dan DSA. Kecepatan algoritma berbasis ECC dalam proses pemberian dan verifikasi tanda tangan digital jauh lebih cepat dibandingkan dengan algoritma DSA dan RSA. Ukuran dari Algoritma berbasis ECC juga lebih kecil dari RSA dan DSA akan tetapi tidak dalam nilai yang besar. Yang paling utama adalah penyelesaian masalah algoritma berbasis ECC dilakukan secara eksponensial penuh dan lebih sulit dipecahkan daripada masalah DSA dan RSA, hal ini membuktikan bahwa ECC lebih kuat daripada DSA dan RSA. Pada implementasinya ECC cocok digunakan untuk aplikasi pada mobile phone, PDA, karena aplikasi tersebut membutuhkan ukuran kunci dan kecepatan pemberian tanda tangan serta verifikasi yang cepat (Wizanajani, 2013).

(41)

meminimalisir adanya penyadapan data, hal ini dikarenakan tanda tangan digital dapat memenuhi syarat keamanan data antara pengirim dan penerima pesan melalui tanda tangan yang diembed (dibawa) beserta data yang dikirim (Adam, 2009).

Triwinarko pada tahun 2010 melakukan penelitian pada ECDSA dan menyimpulkan bahwa ECDSA dengan panjang kunci 160 bit mempunyai tingkat keamanan yang relatif sama dengan RSA dengan panjang kunci 1024 bit. Jadi algoritma kriptografi kurva eliptik mempunyai keuntungan berupa ukuran panjang kunci yang lebih kecil jika dibandingkan dengan algoritma kunci publik lainnya (RSA) tetapi sudah memiliki tingkat keamanan yang relatif sama, sehingga algoritma kriptografi kurva eliptik cocok untuk diimplementasikan pada peralatan perangkat keras yang memiliki daya dan memori yang terbatas. Dari kriteria ukuran panjang tanda tangan digital, algoritma kriptografi kurva eliptik memiliki performansi yang lebih baik karena menghasilkan tanda tangan digital yang mempunyai ukuran lebih kecil. Sedangkan dari kriteria kecepatan proses signing dan verifying, performansi kriptografi kurva eliptik akan lebih baik jika proses signing lebih sering dilakukan. Sebaliknya performansi kriptografi RSA akan lebih baik jika proses verifying lebih sering dilakukan (Triwinarko, 2010).

(42)

BAB 3

ANALISIS DAN PERANCANGAN

Bab ini menjelaskan tentang proses pembuatan otentikasi pesan dengan menggunakan ECDSA (elliptical curve digital signature algorithm) dan menganalisis kebutuhan perangkat lunak yang akan dibangun serta perancangan sistem.

3.1 ECC (Elliptical Curve Cryptography)

Kurva elpitik pada kriptografi merupakan sebuah algoritma kriptografi kunci asimetris yaitu, algoritma dimana setiap pihaknya memiliki sepasang kunci privat dan kunci publik. Kunci privat hanya dimiliki oleh pribadi-pribadi yang berkepentingan, sedangkan kunci publik disebarluaskan ke semua pihak. Kriptografi kurva eliptik menggunakan masalah logaritma diskrit pada titik-titik kurva eliptik yang disebut dengan ECDLP (Elliptical Curve Discrete Logarithm Problem) (Triwinarko, 2004).

Parameter-parameter pada ECC :

1. Penentuan nilai p, dimana nilai p adalah sebuah bilangan prima dengan syarat p > 3.

2. Penentuan nilai a dan b dilakukan dengan memilih nilai dengan syarat a,b € p. koefesien a dan b menentukan kurva elips E(Fp) yang memenuhi persamaan y2

= x3 + ax + b (mod p), keduanya terletak pada interval [0,p-1] dan memenuhi 4a3 + 27b2≠ 0 (mod p).

3. Penentuan titik G dilakukan dengan mengambil titik koordinat pada kurva eliptik E(Fp), dimana G = (xG,yG), xG dan yG merupakan integer pada selang

[0, p-1].

(43)

3.1.1 Menentukan nilai p bilangan prima dengan syarat p > 3 untuk Fp

Dalam menetukan bilangan prima dilakukan dengan memilih sembarang nilai bilangan prima, misalkan diambil nilai bilangan prima 23, p = 23. Lakukan pengujian terhadap nilai p yang sudah ditentukan apakah merupakan bilangan prima atau tidak dengan cara ambil nilai PBB atau pembagi bersama terbesar n = 2. Pengujian dilakukan dengan menggunakan np - 1 = 1 (mod p) = 223 - 1 = 8388608 – 1 = 8388607 = 1 (mod 23). Maka 23 adalah bilangan prima karena tidak habis dibagi, sehingga nilai p = 23.

3.1.2 Menentukan nilai a, b dan persamaan kurva eliptik

Persamaan kurva eliptik y2 = x3 + ax + b (mod p) dan nilai a, b ditentukan dengan syarat a,b € p. Missalkan nilai a = 1, b = 4 dan p = 23 maka persamaan kurva eliptik menjadi :

y2 = x3 + x + 4 (mod 23) = 4a3 + 27b2≠ 0 (mod p) = 4.13 + 27.42≠ 0 (mod 23) = 436 ≠ 0 (mod 23)

= 22 ≠ 0 (mod 23)

Persyaratan persamaan kurva eliptik terpenuhi karena 22 ≠ 0 (mod 23).

3.1.3 Menentukan nilai G dan n

Sebelum menentukan nilai G dan n terlebih dahulu menentukan grup eliptik kurva E pada Fp. Dalam menentukan grup eliptik kurva dilakukan dengan menggunakan

nilai p sehingga Fp= { 0, 1, 2, 3….. p-1}. Nilai p = 23 maka Fp = {0, 1, 2, 3, 4, 5,

6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}. Setelah nilai grup eliptik sudah dibuat, maka sekarang menentukan elemen-elemen kurva eliptik Ep

(a,b), terlebih dahulu mencari quadratic residue modulo p (QRp). Dalam mencari

(44)
[image:44.595.196.429.165.696.2]

Tabel 3.1 QRp (quadratic residue modulo)

Fp Y2 (mod p) QRp

0 02 (mod 23) 0

1 12 (mod 23) 1

2 22 (mod 23) 4

3 32 (mod 23) 9

4 42 (mod 23) 16

5 52 (mod 23) 2

6 62 (mod 23) 13

7 72 (mod 23) 3

8 82 (mod 23) 18

9 92 (mod 23) 12

10 102 (mod 23) 8 11 112 (mod 23) 6 12 122 (mod 23) 6 13 132 (mod 23) 8 14 142 (mod 23) 12 15 152 (mod 23) 18 16 162 (mod 23) 3 17 172 (mod 23) 13 18 182 (mod 23) 2 19 192 (mod 23) 16 20 202 (mod 23) 9 21 212 (mod 23) 4 22 222 (mod 23) 1

(45)

elemen grup eliptik E23 (1,4) dapat di tentukan dengan persamaan = x3 + x + 4

[image:45.595.147.517.210.732.2]

(mod 23), untuk x € F23 dan y2€ QR23.

Tabel 3.2 Mencari Elemen E23 (1,4)

x € F23 y2 = x3 + x + 4 (mod 23) y2€ QR23 (x,y)x € E23 (1,4)

0 4 Ya (0,2) dan (0,21)

1 6 Ya (1,11) dan (1,12)

2 14 Tidak -

3 11 Tidak -

4 3 Ya (4,7) dan (4,16)

5 19 Tidak -

6 19 Tidak -

7 9 Ya (7,3) dan (7,20)

8 18 Ya (8,8) dan (8,15)

9 6 Ya (9,11) dan (9.12)

10 2 Ya (10,5) dan (10,18)

11 12 Ya (11,9) dan (11,14)

12 19 Tidak -

13 6 Ya (13,11) dan (13,12)

14 2 Ya (14,5) dan (14,18)

15 13 Ya (15,6) dan (15,17)

16 22 Tidak -

17 12 Ya (17,9) dan (17,14)

18 12 Ya (18,9) dan (18,14)

19 5 Tidak -

20 20 Tidak -

21 17 Tidak -

(46)

Berdasarkan tabel 3.2 untuk nilai x = 0, maka diperoleh y2 = 03 + 1.0 + 4 = 4 sehingga diperoleh nilai y = 2, y= 21. Karena berdasarkan tabel 3.1 diatas 22 (mod 23) = 4 dan 212 (mod 23) = 4. Perhitungan untuk nilai x dan y selanjutnya dilakukan dengan cara yang sama. Sehingga didapatkan elemen-elemen grup eliptik modulo 23 atas F23 yaitu F23 (1,4) = {(0,2), (0,21), (1,11), (1,12), (4,7),

(4,16), (7,3), (7,20), (8,8), (8,15), (9,11), (9,12), (10,5), (10,18), (11,9), (11,14), (13,11), (13,12), (14,5), (14,18), (15,6), (15,17), (17,9), (17,14), (18,9), (18,14), (22,5), (22,18)}. Penentuan nilai G ditentukan secara acak dalam grup eliptik F23

(1,4). Misalkan titik yang dipilih (0,2), maka nilai G = (0,2).

Menentukan nilai n dilakukan dengan mencari nilai order dari titik G yang sudah di tentukan dengan syarat n.G = O, dimana O adalah titik infinity. Titik infinity itu adalah titik tak hingga dimana P + - P = O, -P = (xp,-yp) sehingga O =

(0,0).

Dalam penjumlahan titik pada kurva eliptik digunakan operasi aritmatika penjumlahan, pengurangan, perkalian dan invers. Operasi-operasi aritmatika tersebut didefinisikan sebagai berikut :

1. Operasi penjumlahan (addtion) : Jika a, b € Fp maka a+b = r, dengan r adalah

sisa pembagian ketika a+b dibagi dengan p dan 0 ≤ r ≤ p-1. Operasi ini dikenal operasi penambahan modulo p.

2. Operasi pengurangan (subraction) : Jika a, b € Fp maka a-b = r, dengan r

adalah sisa pembagian ketika dibagi dengan p bila a-b > 0, sedangkan bila a-b < 0 maka r adalah (a-b)+p. Operasi ini dikenal sebagai operasi pengurangan dengan modulo p.

3. Operasi perkalian (multiplication) : Jika a,b € Fp maka a.b = s, dengan s adalah

sisa pembagian ketika a.b dibagi dengan p dan 0 ≤ s ≤ p. Operasi ini dikenal sebagai operasi perkalian modulo p.

4. Invers (inversion) : Jika a adalah elemen tidak nol dalam Fp, maka invers a

modulo p, yang dinyatakan sebagai simbol a-1adalah suatu integer unik c € Fp

dengan a.c = 1 mod p.

(47)

1. Penjumlahan titik (point addition) : P = (x1,y1) € Ep dan Q = (x2,y2) € EP

dimana P ≠ Q. Maka P + Q = (x3,y3), dimana :

x3 = λ2– x1– x2

y3 = λ (x1 – x3) – y1

dimana

λ = (y2– y1) / (x2– x1)

2. Penggandaan dua titik (point doubling) : P = (x1,y1) € Ep dimana P ≠ -P. Maka

2P = (x3,y3) :

x3= λ2– 2x1

y3= λ (x1– x3) – y1

dimana λ = ( 3x12 + a ) / 2y1

Dengan menggunakan operasi aritmatika dapat ditentukan nilai dari penggandaan titik 2G sampai menemui titik infinity. 2G = (13,12), 3G = (11,9), 4G = (1,12), 5G = (7,20), 6G = (9,11), 7G = (15,6), 8G = (14,5), 9G = (4,7), 10G = (22,5), 11G = (10,5), 12G = (17,9), 13G = (8,15), 14G = (18,9), 15G = (18,14), 16G = (8,8), 17G = (17,14), 18G = (10,18), 19G = (22,18), 20G = (4,16), 21G = (14,18), 22G = (15,17), 23G = (9,12), 24G = (7,3), 25G = (1,11), 26G = (11,14), 27G = (13,11), 28G = (0,21), 29G = O.

Dari hasil tersebut diketahui nilai n adalah 29, karena menghasilkan nilai titik infinity. Nilai dari 2G = (13,12) ditentukan dengan penggandaan titik G. G = (0,2), 2G = (x3,y3)

λ = ( 3.02 + 1 ) / 2.2 = 1 / 4 mod 23 = 1.4-1 mod 23 = 1.6 mod 23 = 6 mod 23 = 6

x3 = λ2– 2x1

(48)

= 36 mod 23 = 13

y3 = λ (x1– x3) – y1

= 6 (0 – 13) – 2 = -78 – 2 mod 23 = -80 mod 23 = 12

Jadi titik 2G = (13,12). Dan untuk menentukan titik 3G dapat dilakukan dengan cara 2G + G, 3G = 2G + G, 2G = (13,12), G = (0,2), 3G = (x3,y3).

λ = (y2– y1) / (x2– x1)

= (12-2) / (13-0) = 10 / 13 mod 23 = 10.13-1 mod 23 = 22

x3 = λ2– x1– x2

= 222– 0 – 13 = 471 mod 23 = 11

y3 = λ (x1 – x3) – y1

= 22 (0 – 11) – 2 = -244 mod 23 = 9

Jadi titik 3G = (11,9). Perhitungan untuk selanjutnya dilakukan dengan cara yang sama sampai mendapatkan titik infinity n.G = (0,0). Parameter-parameter kurva eliptik sudah ditentukan dengan persamaan kurva y2 = x3 + x + 4 yang menghasilkan nilai a = 1, b = 4, p = 23, G = (0,2), n = 29.

(49)

Dalam proses ECDSA terdapat 3 tahap yaitu pembentukan kunci publik dan kunci privat, proses signing (pemberian tanda tangan) dan proses verifying (verifikasi tanda tangan digital).

3.2.1 Proses pembentukan kunci publik dan privat

Dalam proses pembentukan kunci privat = dA dan kunci publik = QA dilakukan dengan tahap berikut ini :

1. Memilih bilangan bulat random yang nilainya diantara (1,n-1) = dA, misalnya 14, jadi nilai dA = 14.

2. Menghitung QA = dA.G = 14 (0,2) = (18,9) jadi nilai QA = (18,9). 3. dA = 14, QA = (18,9)

3.2.2 Proses Signing (pemberian tanda tangan)

Dalam proses ini akan menghasilkan tanda tangan pesan (r,s). Dalam tahap ini ada beberapa proses yang dilakukan antara lain :

1. Memilih sebuah bilangan random k yang nilainya diantara (1,n-1)

2. Menghitung QA = k G = (x1,y1) dan r = x1 mod n, jika r = 0, maka kembali ke

langkah 1.

3. Menghitung k-1 mod n 4. Menghitung e = Hash (m)

5. Menghitung s = k-1 (e+(dA. r)) mod n Tanda tangan untuk pesan m adalah (r,s).

Setelah parameter kurva elpitik ditentukan yang menghasilkan nilai p = 23, a = 1, b = 4, G = (0,2), n = 29 dan kunci privat dA = 14, kunci publik QA = (18,9) pesan m = worldof. Proses Signing adalah sebagai berikut :

1. Menentukan nilai k diantara (1-28) adalah k = 7 2. Menghitung k G = 7 (0,2) = (15,6), maka nilai r = 15 3. Menghitung k-1 mod n = 7-1 mod 29 = 7.25 = 1 mod 29

(50)

5. Menghitung s = k-1 (e+dA.r) mod n = 25 (1789679805 + (14.15)) mod 29 = 25 (1789680015) = 44742000375 mod 29 = 4

Tanda tangan untuk pesan m adalah (15,4)

3.2.3 Proses Verifying (verifikasi tanda tangan)

Proses verifikasi merupakan proses untuk menentukan tanda tangan asli atau tidak dan mempunyai beberapa tahap sebagai berikut :

1. Memverifikasi bahwa r dan s adalah bilangan bulat yang diantara (1, n-1) 2. Menghitung e = Hash (m)

3. Menghitung w = s-1 mod n

4. Menghitung u1 = ew mod n dan u2 = rw mod n

5. Menghitung u1.G + u2.QA = ( x1,y1)

6. Menghitung v = x1 mod n

7. Menerima tanda tangan jika dan hanya jika v = r

Setelah nilai r dan s diketahui maka dilakukan proses verifikasi tanda tangan sebagai berikut :

1. r = 15, s = 4 adalah bilangan bulat diantara (1-28). (valid)

2. Menghitung e = Hash (worldof) = 1789679805 dengan menggunakan SHA-1(m) dan mengkonversi ke integer

3. Menghitung w = s-1 mod n = 4-1 mod 29 = 4.22 = 1 mod 29, maka w = 22 4. Menghitung u1 = ew mod n = 1789679805.22 mod 29 = 39372955710 mod 29

= 27 dan u2 = rw mod n = 15.22 mod 29 = 330 mod 29 = 11

5. Menghitung u1.G + u2.QA = 27 (0,2) + 11 (18,9) = (13,11) + (4,7) = (15,6)

6. Menghitung v = x1 mod n = 15 mod 29 = 15

7. Tanda tangan diterima karena r = 15, v = 15, v = r

3.3 Perancangan Flowchart Sistem

Flowchart program untuk proses tandatangan digital dan proses verifikasi tandatangan digital adalah sebagai berikut:

(51)

Proses untuk user pengirim direpresentasikan ke dalam flowchart pada gambar 3.1.

Mulai

Login Register

Apakah data sudah valid?

Compose

Isi Form Email Tujuan, Subjek dan

Pesan yang akan dikirim

Send Email Signature Submit Pesan telah

terkirim

Belum

Validasi

Salah

Home Benar

End Halaman Utama

Apakah sudah mendaftar?

Input Username dan Password

Sudah Belum

Sudah

[image:51.595.116.516.170.491.2]

Isi form register

Gambar 3.1 Flowchart Sistem User Pengirim 3.3.2 Flowchart Sistem User Penerima

(52)

Inbox

Verifikasi Pesan

Verifikasi Pesan Benar

Verifikasi Pesan Salah Salah

Benar Login

Validasi Salah

Home Benar

End Mulai

Input username

[image:52.595.257.365.104.429.2]

dan password

Gambar 3.2 Flowchart Sistem User Penerima

3.3.3 Flowchart Algoritma ECDSA

Proses Algoritma Elliptical Curve Digital Signature Algorithm (ECDSA) dapat di lihat pada gambar 3.3.

[image:52.595.114.529.544.729.2]
(53)

3.4 Use case diagram

Diagram use case merupakan diagram yang memodelkan aspek-aspek perilaku sistem. Diagram use case memiliki aktor, use case, dan hubungannya.

Use case diagram di dalam pembuatan perangkat lunak berfungsi untuk

[image:53.595.149.476.276.547.2]

mempermudah pemakai yang kurang menguasai komputer untuk mengerti sistem yang akan dikembangkan. Diagram use case dapat di lihat pada gambar 3.4.

Gambar 3.4 Diagram Use case

Spesifikasi use case merupakan gambaran lengkap spesifikasi tekstual pada use case. Spesifikasi use case sistem dilakukan berdasarkan kasus yang ada pada

use case diagram yang telah digambarkan . Berikut ini adalah tabel spesifikasi

(54)
[image:54.595.114.520.140.734.2]

Tabel 3.3 Spesifikasi Use case User Login

Tipe Use Case Penjelasan

Nama Use Case Login

User

Login

Penjelasan singkat Use case ini digunakan oleh user untuk login ke dalam sistem.

Pra-kondisi User harus login terlebih dahulu ke dalam sistem. Karakteristik Tindakan dan eksekusi tergantung dari permintaan

pengguna.

Skenario (Flow of Events) Skenario dasar (basic flow):

a. Use case ini dimulai ketika user menekan tombol Login.

b. Selanjutnya user mengisi username dan password.

c. Kemudian user akan menekan tombol ‘Login’

Kondisi Akhir User berada di halaman utama.

Tabel 3.4 Spesifikasi Use case User Daftar Akun

Tipe Use Case Penjelasan

(55)
[image:55.595.116.530.87.800.2]

Penjelasan singkat Use case ini digunakan oleh user untuk mendaftarkan user id, password dan email ke dalam sistem.

Tabel 3.4 Spesifikasi Use case User Daftar Akun (Lanjutan)

Tipe Use Case Penjelasan

Pra-kondisi User tidak harus login terlebih dahulu ke dalam sistem.

Karakteristik Tindakan dan eksekusi tergantung dari permintaan pengguna.

Skenario (Flow of Events) Skenario dasar (basic flow):

a. Use case ini dimulai ketika user menekan tombol Daftar.

b. Selanjutnya user mengisi username dan password dan email

c. Kemudian user akan menekan tombol ‘Daftar’

Kondisi Akhir User berada di halaman utama.

Tabel 3.5 Spesifikasi Use case User Lihat Profil

Tipe Use Case Penjelasan

Nama Use Case Lihat Profil

Penjelasan singkat Use case ini digunakan oleh user untuk melihat profil user.

(56)

pengguna.

Skenario (Flow of Events) Skenario dasar (basic flow):

a. Use case ini dimulai ketika user memilih menu halaman Find User.

Kondisi Akhir User berada di halaman utama.

Tabel 3.6 Spesifikasi Use case User Lihat Email Masuk

Tipe Use Case Penjelasan

Nama Use Case Lihat Email Masuk

Penjelasan singkat Use case ini digunakan oleh user untuk melihat email user.

Pra-kondisi User harus login terlebih dahulu ke dalam sistem. Karakteristik Tindakan dan eksekusi tergantung dari permintaan

pengguna.

Skenario (Flow of Events) Skenario dasar (basic flow):

b. Use case ini dimulai ketika user memilih menu halaman Inbox.

[image:56.595.115.528.77.706.2]

Kondisi Akhir User berada di halaman utama.

Tabel 3.7 Spesifikasi Use case User Kirim Email

Tipe Use Case Penjelasan

(57)

Penjelasan singkat Use case ini digunakan oleh user untuk mengirim email.

Pra-kondisi User harus login terlebih dahulu ke dalam sistem. Karakteristik Tindakan dan eksekusi tergantung dari permintaan

pengguna.

Skenario (Flow of Events) Skenario dasar (basic flow):

a. Use case ini dimulai ketika user akan mengirim Email

[image:57.595.122.525.89.797.2]

Kondisi Akhir User berada di halaman utama.

Tabel 3.8 Spesifikasi Use case User Lihat Email Keluar

Tipe Use Case Penjelasan

Nama Use case Lihat Email Keluar

Penjelasan singkat Use case ini digunakan oleh user untuk mengirim email.

Pra-kondisi User harus login terlebih dahulu ke dalam sistem. Karakteristik Tindakan dan eksekusi tergantung dari permintaan

pengguna.

Skenario (Flow of Events) Skenario dasar (basic flow):

a. Use case ini dimulai ketika user memilih menu Sent email.

Kondisi Akhir User berada di halaman utama.

Tabel 3.9 Spesifikasi Use case User Logout

(58)

Nama Use Case Logout

Penjelasan singkat Use case ini digunakan oleh user untuk mengirim email.

Pra-kondisi User harus login terlebih dahulu ke dalam sistem.

Karakteristik Tindakan dan eksekusi tergantung dari permintaan pengguna.

Skenario (Flow of Events)

Skenario dasar (basic flow):

a. Use case ini dimulai ketika user memilih menu Logout.

b. Sistem akan menampilkan halaman login Kondisi Akhir User berada di halaman utama.

3.5 Perancangan Antarmuka Pemakai

Dalam perancangan antarmuka pemakai bagian sistem yang dikendalikan oleh user untuk mencapai dan melaksanakan fungsi-fungsi suatu sistem. Perancangan antarmuka pemakai yang akan dibuat adalah dari sisi user.

(59)
[image:59.595.178.466.113.329.2]

Gambar 3.5 Rancangan Halaman Login

2. Rancangan Halaman Daftar Email, di dalam sistem ini terdapat fasilitas bagi user yang belum terdaftar untuk melakukan pendaftaran melalui form. Rancangan Halaman Daftar Email dapat dilihat pada gambar 3.5.

[image:59.595.149.493.438.706.2]
(60)
[image:60.595.166.477.152.353.2]

3. Rancangan Halaman Utama, di dalam sistem ini terdapat halaman utama. Rancangan Halaman Utama dapat dilihat pada gambar 3.6.

(61)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Implementasi sistem merupakan tahap akhir dalam pembuatan sistem setelah tahap perancangan sistem. Setiap sistem harus diuji agar mengetahui kelemahan dan kesalahan dalam sistem tersebut untuk dievaluasi atau berjalan dengan baik dan sempurna.

4.2 Tahap-Tahap Implementasi

Dalam pembuatan suatu sistem tahap-tahap dalam pembuatan harus di jelaskan terlebih dahulu, yaitu sebagai berikut :

1. Melakukan tahap persiapan, yaitu menganalisa hal-hal yang dibutuhkan dalam mendukung implementasi dari sistem. Persiapan yang dilakukan meliputi aspek perangkat lunak dan perangkat keras yang digunakan.

2. Melakukan tahap pengujian, yaitu dengan menguji setiap fungsi yang ada pada sistem apakah sudah berjalan dengan baik atau tidak.

4.3 Pengujian dan Tampilan

(62)
[image:62.595.128.514.111.304.2]

Gambar 4.1 Tampilan Utama

(63)
[image:63.595.120.523.117.373.2]

Gambar 4.2 Tampilan Form Daftar

(64)

Gambar 4.3 Tampilan Login

[image:64.595.126.478.239.417.2]

Setelah melakukan login, user akan ditampilkan ke halaman beranda yang mempunyai fitur compose, inbox, sent email, find user dan logout. Berikut tampilan beranda di sistem otentikasi pesan.

Gambar 4.4 Tampilan Beranda

(65)
[image:65.595.127.493.117.326.2]

Gambar 4.5 Tampilan Halaman Compose

Setelah mengklik tombol kirim email, sistem akan melanjutkan dengan menampilkan hash message dengan menggunakan hash SHA-1, pesan yang akan di kirim adalah “percobaan otentikasi pesan dengan ECDSA” memiliki hash SHA-1 55407a6c48592ff0d99dac55526ce6b413f03124, kemudian hasil dari hash pesan SHA-1 diubah ke dalam bentuk integer dan menghasilkan E, 443950116884455485100777209562297365857001867710186854462664788598 677425590507651397216923365940.0000000000, setelah itu sistem akan memproses hasil integer dari hasil pesan hash dan menghasilkan signature (r,s) (4111385755471869119846890053857612538322676216602056968618),

(66)
[image:66.595.127.520.110.399.2]

Gambar 4.6 Tampilan Penandaan Signature

(67)
[image:67.595.117.523.115.319.2]

Gambar 4.7 Tampilan Halaman Email Terkirim

Untuk melihat pesan yang terkirim user harus masuk ke fitur sent email. Berikut tampilan halaman sent email.

[image:67.595.125.523.422.622.2]
(68)
[image:68.

Gambar

Gambar 2.1 Proses Enkripsi dan Dekripsi
Gambar 2.2 Proses Algoritma Simetrik
Gambar 2.3 Proses Algoritma Asimetrik
Tabel 3.1 QRp (quadratic residue modulo)
+7

Referensi

Dokumen terkait

[r]

[r]

Pada penelitian ini peneliti akan mencoba memamfaatkan kombinasi energi angin dan enegi matahari sebagai penghasil tenaga listrik, yang mana saat siang hari energi

Dan hasil penelitian didapatkan kesimpulan bahwa opini pendengar terhadap lagu “Udin Sedunia” dari Sualudin mendapatkan respon netral karena masyarakat sudah menganggap biasa

Membaca 3.1 Menentukan makna kata tertentu dalam kamus secara cepat dan tepat sesuai dengan konteks yang diinginkan melalui kegiatan membaca memindai.. Mampu

perhitungan harga pokok produksi menurut sistem akuntansi biaya tradisional dengan Activity Based Costing System (ABC system ) yang hasilnya adalah kesemua produk

4.1 Kesimpulan Berdasarkan pembahasan yang terdapat pada bab III mengenai spektrum laplace graf konjugasi dari grup dihedral bilangan ganjil, maka dapat diperoleh kesimpulan

Ada hubungan yang signifikan secara bersama-sama antara kekuatan tungkai dan kelentukan dengan kemampuan menendang bola dalam permainan sepakbola pada Mahasiswa