BAB 3 METODE PENELITIAN

dokumen-dokumen yang mirip
ANALISIS KEAMANAN PADA KOMBINASI PROTOKOL SECRET SHARING DAN THREE-PASS

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN Latar Belakang

1.1 LATAR BELAKANG MASALAH

ANALISIS KEAMANAN PADA KOMBINASI PROTOKOL SECRET SHARING DAN THREE-PASS TESIS SATRIA PRAYUDI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang


BAB I PENDAHULUAN. Pengiriman informasi yang dilakukan dengan mengirimkan data tanpa melakukan

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB 1 PENDAHULUAN Latar belakang

BAB III METODE PENELITIAN. Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian

BAB I PENDAHULUAN. Dewasa ini teknologi pengiriman pesan teks semakin berkembang,

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB III ANALISA DAN PERANCANGAN

ANALISA DAN PERANCANGAN SISTEM

BAB III PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat

PROGRAM APLIKASI KRIPTOGRAFI PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

BAB III ANALISA MASALAH DAN PERANCANGAN

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

Tanda Tangan Digital Dengan Menggunakan SHA-256 Dan Algoritma Knapsack Kunci-Publik

BAB I PENDAHULUAN. Informasi merupakan suatu hal yang sangat penting dalam. kehidupan kita. Seperti dengan adanya teknologi internet semua

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

HASIL DAN PEMBAHASAN. Algoritma Modular Exponentiation mempunyai kompleksitas sebesar O((lg n) 3 ) (Menezes et al. 1996).

BAB I PENDAHULUAN. dan rahasia telah menjadi suatu hal yang sangat berharga. Data atau informasi

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN DESAIN SISTEM

A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB 2 LANDASAN TEORI

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB IV HASIL DAN UJI COBA

BAB III ANALISA DAN DESAIN SISTEM

III PEMBAHASAN. enkripsi didefinisikan oleh mod dan menghasilkan siferteks c.

BAB III ANALISA DAN PERANCANGAN

BAB Kriptografi

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

BAB III ANALISIS DAN PERANCANGAN SISTEM

Enkripsi dengan Menggunakan Fungsi Polinom Rekursif

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

Bab 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

BAB III BAB III METODE PENELITIAN

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. Kerahasiaan dan keamanan saat melakukan pertukaran. data adalah hal yang sangat penting dalam komunikasi data,

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

Konversi Citra ke dalam Bentuk Teks Terenkripsi dengan Memanfaatkan Chiper Abjad Majemuk

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB 3 METODOLOGI PENELITIAN

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB III METODOLOGI PENELITIAN. ditemukan oleh Rivest, Shamir dan Adleman (RSA) pada tahun

BAB 2 TINJAUAN PUSTAKA

SKRIPSI BILQIS

Cipher yang Tidak Dapat Dipecahkan (Unbreakable Cipher)

BAB I PENDAHULUAN 1.1 Latar Belakang

PERANCANGAN APLIKASI PENYANDIAN PESAN TEKS MENGGUNAKAN VIGENERE CIPHER DAN ALGORITMA ELGAMAL

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Vigènere Cipher dengan Pembangkitan Kunci Menggunakan Bilangan Euler

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna

BAB 2 LANDASAN TEORI

BAB III ANALISA DAN DESAIN SISTEM

Software yang digunakan yaitu: 1. Sistem Operasi Windows 7 2. Bloodshed Dev-C Notepad++ 4. Winmerge

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS. Pada tahap analisis, dilakukan penguraian terhadap topik penelitian untuk

BAB IV. HASIL PENELITIAN DAN PEMBAHASAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

PERANCANGAN APLIKASI KRIPTOGRAFI BERBASIS WEB DENGAN ALGORITMA DOUBLE CAESAR CIPHER MENGGUNAKAN TABEL ASCII

BAB III METODE PENELITIAN

BAB III ANALISA DAN DESAIN SISTEM

RANCANGAN KRIPTOGRAFI HYBRID KOMBINASI METODE VIGENERE CIPHER DAN ELGAMAL PADA PENGAMANAN PESAN RAHASIA

BAB III ANALISIS DAN PERANCANGAN SISTEM

Algoritma Pendukung Kriptografi

METODE PENELITIAN HASIL DAN PEMBAHASAN

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB III PEMBAHASAN. Informasi rahasia yang dikirim ke pihak penerima, jika tidak disandikan bisa

Kompleksitas Waktu Algoritma Kriptografi RC4 Stream Cipher

BAB 4 IMPLEMENTASI DAN EVALUASI. dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1.

Studi dan Implementasi Algoritma Inverse Generator Cipher

BAB I PENDAHULUAN. untuk mencegah informasi tersebut sampai pada pihak-pihak lain yang tidak

Teknik Konversi Berbagai Jenis Arsip ke Dalam bentuk Teks Terenkripsi

Algoritma MAC Berbasis Jaringan Syaraf Tiruan

BAB III METODOLOGI PENELITIAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

ALGORITMA MAC BERBASIS FUNGSI HASH SATU ARAH

Analisis Penggunaan Algoritma RSA untuk Enkripsi Gambar dalam Aplikasi Social Messaging

Transkripsi:

BAB 3 METODE PENELITIAN Dalam bab ini akan dibahas mengenai metode penelitian dalam menyelesaikan permasalahan yang berkaitan dengan penelitian ini. Adapun yang akan dibahas antara lain: prosedur penelitian, rancangan sistem, analisis algoritma, dan analisis keamanan. 3.1. Prosedur Penelitian Adapun prosedur dari pelaksanaan penelitian penulis mengenai analisis kombinasi Protokol Secret Sharing dan Three-Pass dalam mengamankan pertukaran pesan adalah sebagai berikut. Studi Literatur Analisis Literatur Pemahaman Konsep Algoritma Pengujian Konsep Tidak Konsep Sesuai Permasalahan? Ya Analisis Dan Evaluasi Implementasi Permasalahan Pengujian Sistem Perancangan Sistem Gambar 3.1 Prosedur Penelitian Berdasarkan gambar 3.1 diatas, pertama sekali penulis akan mengumpulkan berbagai literatur terkait tema penelitian, kemudian melakukan analisis literatur, apakah permasalahan pada literatur relevan dengan permasalahan pada penelitian ini. Kemudian melakukan pemahaman konsep pada langkah pengimplementasian algoritma nantinya untuk menyelesaikan permasalahan. Setelah memahami konsep, dilakukan pengujian terhadap algoritma yang digunakan.

22 Jika konsep tersebut sesuai untuk menyelesaikan permasalahan pada penelitian ini dilanjutkan dengan perancangan sistem. Agar hasil yang didapatkan sesuai harapan, dilakukan analisis dan evaluasi dari sistem dalam penyelesaian permasalahan. 3.2. Rancangan Sistem Berikut ini adalah rancangan dari sistem yang akan penulis kerjakan untuk menyelesaikan permasalahan. Mulai A Input pesan Output P1...Pn P = pesan Proses Rekonstruksi P1.Pn Proses Secret Sharing P Output P = Pesan Proses Distribusi P1...Pn Selesai A Gambar 3.2 Flowchart Rancangan Sistem Berdasarkan gambar 3.2 proses dimulai dengan input sebuah pesan, kemudian pesan akan masuk kedalam proses secret sharing untuk menciptakan n buah bagian. Kemudian dilakukan proses pendistribusian n buah bagian kepada penerima pesan. Setelah bagian-bagian pesan terdistribusi, pihak penerima dapat melakukan perekonstruksian pesan dengan mendapatkan bagian-bagian dari pesan tersebut dari

23 penerima lainnya, langkah tersebut masuk kedalam proses rekonstruksi. Kemudian output dari proses rekonstruksi adalah pesan awal. 3.3. Analisis Algoritma Pada bab ini, akan dibahas analisis dari algoritma-algoritma yang berkaitan dengan penelitian. Algoritma yang akan dianalisis antara lain Protokol Secret Sharing, dan Protokol Three-Pass. Didalam Protokol Secret Sharing, juga akan dibahas mengenai algoritma fungsi pemecahan pesan split dan fungsi penggabungan ulang pesan reconstruct. Sedangkan pada algoritma three-pass akan dibahas mengenai algoritma One-Time Pad sebagai pembangkit bilangan acak, fungsi enkripsi pesan, dan fungsi dekripsi pesan. Analisis algoritma dibutuhkan untuk menghitung kompleksitas waktu komputasi Tn dalam menyelesaikan proses dengan nilai n yang digunakan sebagai input dalam algoritma tersebut. Dalam penelitian penulis menggunakan notasi O big- Oh dalam menghitung kompleksitas Cormen et al, 2009. 3.3.1. Analisis protokol secret sharing Untuk dapat mengetahui kompleksitas waktu dari algoritma secret sharing, penulis menggunakan pseudocode dari algoritma secret sharing untuk dianalisis. Berikut ini penulis lampirkan pseudocode dari Protokol Secret Sharing untuk dihitung kompleksitasnya menggunakan notasi O. Terdapat dua buah function yang digunakan dalam Protokol Secret Sharing, yaitu fungsi untuk proses membagikan pesan split kedalam beberapa bagian, dan fungsi untuk menggabungkan kembali pesan reconstruct. a. Function Split t = input jumlah penerima m = input pesan dalam bentuk ascii k[] = input array koeffisien p = input modulo koeffisien = jumlah seluruh koeffisien P[] = array polinomial FOR i = 0 to t

24 FOR j = 1 to t-1 koeffisien += k[i] * i^j END FOR P[i] = m + koeffisien % p END FOR Penjelasan: Pada penggalan pseudocode dari function split diatas, terjadi proses untuk membagi m kedalam t bagian. Langkah-langkahnya sebagai berikut: 1. Terima masukkan berupa t banyaknya share yang dibutuhkan, m secret yang akan dipecah, k koeffisien-koeffisien yang akan digunakan, p bilangan prima 2. Hitung koeffisien dengan cara, menjumlahkan ki * i j misalnya: k1 = 7, i = 1, j = 2, sehingga menjadi 7 * 1 2 3. Setelah melakukan penjumlahan koeffisien, tambahkan dengan m dan dimodulokan dengan p 4. Kemudian simpan hasil penjumlahan itu kedalam array P, dimana nilai Pi akan diterima oleh setiap penerima pesan. Berikut ini adalah analisis notasi O dari function split. Tabel 3.1 Analisis Function Split Code Cost Times t = input jumlah penerima C1 1 m = input pesan dalam bentuk ASCII C2 1 k = input array koeffisien C3 1 p = input modulo C4 1 koeffisien = jumlah seluruh koeffisien C5 1 P[] = array polinomial C6 1 FOR i = 0 to t C7 2 logn FOR j = 1 to t-1 C8 2 logn m koeffisien += k[i] * i ^ j C9 2 logn m END FOR C10 2 logn m P[i] = m + koeffisien % p C11 2 logn END FOR C12 2 logn

25 Sehingga didapat nilai Tn adalah sebagai berikut: Tn = C1+C2+C3+C3+C4+C5+C6+C7 2 logn+c8 2 logn m + C9 2 logn m +C10 2 logn m +C11 2 logn+c12 2 logn = C7 2 logn+c8 2 logn m +C9 2 logn m +C10 2 logn m +C11 2 logn + C12 2 logn = C8 2 logn m +C9 2 logn m +C10 2 logn m log n m = C8 + C9 + C10 log 2 C8 + C9 + C10 = log n log 2 Tn = log n m = Ologn m m Penjelasan: Setiap baris code pada function split tabel 3.1 akan dihitung berdasarkan biaya cost dan berapa kali diproses times. Waktu yang dihitung pada C1 hingga C6 dilakukan sebanyak satu kali, sedangkan C7, C11, dan C12 dilakukan sebanyak n dimana n = t, dan untuk C8, C9, dan C10 dilakukan sebanyak n m dimana m = t-1, dikarenakan C8, C9, dan C10 akan dilakukan ulang sebanyak n kali. b. Function Reconstruct shares[] = input array shares n = input panjang shares Li0 = 0 LiX = 0 Li = 0 P = 0 FOR i = 0 to n FOR j = 0 to n IF j == i THEN j_awal = j+1 ELSE j_awal = j END IF IF j+1 >= n THEN j_akhir = 0

26 ELSE j_akhir = j+1 END IF Li0 = 0 - shares[j_awal][0] * 0 -shares[j_akhir][0] LiX = shares[j][0] - shares[j_awal][0] * shares[j][0] - shares[j_akhir][0] Li = Li0 / LiX END FOR P <- P + Li * shares[i][1] END FOR Penjelasan: Pada penggalan pseudocode dari function reconstruct diatas, terjadi proses untuk menggabungkan sejumlah shares. Sebagaimana terlampir pada bentuk umum dari algoritma secret sharing 6 pada bab sebelumnya, langkah-langkahnya sebagai berikut: 1. Terima masukkan berupa shares sejumlah share yang akan dibentuk ulang, dan panjang dari shares. 2. Deklarasikan variabel Li0 dan LiX dimana variabel ini digunakan pada algoritma secret sharing 7 dimana Li0 adalah Li0, LiX adalah Li, dan P adalah P. 3. Lakukan perulangan sebanyak n kali untuk i yang berfungsi untuk menghitung nilai P. Dalam perulangan ini, dilakukan perulangan kembali sebanyak n kali untuk j, yang berfungsi untuk mencari nilai dari Li. 4. Setelah perulangan selesai, maka hasil dari penggabungan shares disimpan pada variabel P. Berikut ini adalah analisis notasi O dari function reconstruct. Tabel 3.2 Analisis Function Reconstruct Code Cost Times shares[] = input array shares C1 1 n = input panjang shares C2 1

27 Tabel 3.2 Analisis Function Reconstruct lanjutan Code Cost Times Li0 = 0 C3 1 LiX = 0 C4 1 Li = 0 C5 1 P = 0 C6 1 FOR i = 0 to n C7 2 logn FOR j = 0 to n C8 2 logn 2 IF j == i THEN j_awal = j+1 C9 2 logn 2 ELSE j_awal = j C10 2 logn 2 END IF C11 2 logn 2 IF j+1 >= n THEN j_akhir = 0 C12 2 logn 2 ELSE j_akhir = j+1 C13 2 logn 2 END IF C14 2 logn 2 Li0 = 0 - shares[j_awal][0] * 0 - shares[j_akhir][0] C15 2 logn 2 LiX = shares[j][0] - shares[j_awal][0] * shares[j][0] - shares[j_akhir][0] C16 2 logn 2 Li = Li0 / LiX C17 2 logn 2 END FOR C18 2 logn 2 P = P + Li * shares[i][1] C19 2 logn END FOR C20 2 logn Sehingga didapat nilai Tn adalah sebagai berikut: Tn = C1+C2+C3+C4+C5+C6+C7 2 logn+c8 2 logn 2 +C9 2 logn 2 +C10 2 logn 2 +C11 2 logn 2 +C12 2 logn 2 +C13 2 logn 2 +C14 2 logn 2 +C15 2 logn 2 +C16 2 logn 2 +C17 2 logn 2 +C18 2 logn 2 +C19 2 logn +C20 2 logn = C7 2 logn+c8 2 logn 2 +C9 2 logn 2 +C10 2 logn 2 +C11 2 logn 2 +C12 2 logn 2 +C13 2 logn 2 +C14 2 logn 2 +C15 2 logn 2 +C16 2 logn 2 +C17 2 logn 2 +C18 2 logn 2 +C19 2 logn +C20 2 logn = C8 2 logn 2 +C9 2 logn 2 +C10 2 logn 2 +C11 2 logn 2 +C12 2 logn 2 +C13 2 logn 2 +C14 2 logn 2 +C15 2 logn 2 +C16 2 logn 2

28 +C17 2 logn 2 +C18 2 logn 2 = C8+C9+C10+C11+C12+C13+C14+C15+C16+C17+C18 log n 2 log 2 C8 + C9 + C10 + C11+ C12 + C13 + C14 + C15 + C16 + C17 + C18 = log n log 2 Tn = log n 2 = Ologn 2 2 Penjelasan: Setiap baris kode pada function reconstruct tabel 3.2 akan dihitung berdasarkan biaya cost dan berapa kali diproses times. Waktu yang dihitung pada C1, C2, C3, C4, C5, dan C6 dilakukan hanya sekali, sedangkan C7, C19, dan C20 sebanyak n dimana n = panjang shares, sedangkan C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, dan C18 dilakukan sebanyak n 2 dikarenakan perulangannya akan dilakukan kembali sebanyak n kali. Adapun gambaran dari proses secret sharing adalah sebagai berikut. T1 mendapat P1 T1 menggabungkan P1, P2, P3, P4 P P = Pesan asli P = Pesan asli T = 4 Penerima T1, T2, T3, T4 P dipecah menjadi t buah P1, P2, P3, P4 P1 P2 P3 P4 T2 mendapat P2 T3 mendapat P3 T4 mendapat P4 T2 menggabungkan P1, P2, P3, P4 T3 menggabungkan P1, P2, P3, P4 T4 menggabungkan P1, P2, P3, P4 P P P P = Pesan asli P = Pesan asli P = Pesan asli Gambar 3.3 Proses Protokol Secret Sharing Dari gambar 3.3 dapat dijelaskan bahwasanya, pesan asli akan dibagi kedalam T buah atau 4 orang sebagaimana dalam gambar, kemudian pecahan tersebut P1, P2, P3 dan P4 akan dibagikan masing-masing kepada T1, T2, T3 dan T4. Kemudian agar T1 dapat mengetahui pesan asli, T1 harus menggabungkan P1 miliknya dengan P2, P3 dan P4 dari masing-masing penerima.

29 Setelah proses pemecahan pesan split berhasil dilakukan, pecahan pesan tersebut akan didistribusikan dengan suatu cara sehingga masing-masing penerima menerima pecahan tersebut masing-masing. Terdapat dua tahapan yang akan dilakukan agar penerima mendapatkan pesan yang dipecahkan tersebut, yaitu proses distribusi pecahan pesan shares dan proses rekonstruksi pecahan pesan shares. 3.3.1.1. Analisis distribusi share Setelah pecahan pesan berhasil dilakukan, pecahan pesan shares tersebut akan didistribusikan kepada tiap-tiap penerima. Adapun gambaran dari proses pendistribusian shares kepada setiap penerima adalah sebagai berikut. Secret SharingP Menghasilkan P1, P2, P3, P4 P1 P2 P3 P4 T1 mendapat P1 T2 mendapat P2 T3 mendapat P3 T4 mendapat P4 Gambar 3.3 Proses Distribusi Shares Dari gambar 3.4 dapat dilihat bahwasanya, pecahan pesan dibagi sebanyak T penerima, kemudian pecahan tersebut yang berupa P1, P2, P3 dan P4 akan dibagikan masing-masing kepada T1, T2, T3 dan T4. 3.3.1.2. Analisis rekonstruksi secret Setelah setiap penerima mendapatkan pecahan pesan, langkah berikut yang akan dilakukan adalah melakukan rekonstruksi secret, hal ini memerlukan pertukaran shares kepada setiap penerima lainnya. Adapun proses rekonstruksi secret adalah sebagai berikut.

30 Request P2 Three-Pass[P2] T2 T1 Request P3 Three-Pass[P3] T3 Three-Pass[P4] Request P4 T4 Gambar 3.4 Proses Rekonstruksi Secret Berdasarkan gambar 3.5 bahwasanya setiap penerima T1, T2, T3, dan T4 akan meminta share kepada penerima lainnya, kemudian penerima tersebut mengirimkan share miliknya melalui protokol three-pass. Seperti gambar, T1 meminta P2 kepada T2, kemudian T2 mengirimkan P2 menggunakan protokol threepass kepada T1. T1 meminta P3 kepada T3, kemudian T3 mengirimkan P3 menggunakan protokol three-pass kepada T1. T1 meminta P4 kepada T4, kemudian T4 mengirimkan P4 menggunakan protokol three-pass kepada T1. Setelah T1 memiliki keseluruhan shares, T1 dapat membentuk ulang secret menggunakan Protokol Secret Sharing. Pada proses pertukaran shares, penulis memanfaatkan protokol three-pass guna mengamankan proses pertukaran tersebut dari upaya pencurian share oleh pihak lain, dalam hal ini dapat berupa pihak dari luar protokol, yang bukan termasuk penerima. Maupun pihak dari dalam protokol penerima lain yang ingin merekonstruksi secret tanpa harus memberi tahukan share miliknya kepada penerima lain. 3.3.2. Analisis protokol three-pass Implementasi Protokol Three-Pass terdapat dalam proses pertukaran shares antar penerima, yang gunanya untuk mengamankan shares dari upaya pencurian oleh pihak lain. Adapun proses rekonstruksi pecahan pesan shares adalah sebagai berikut.

31 Gambar 3.6 Proses Protokol Three-Pass Berdasarkan gambar 3.6 bahwasanya pesan yang akan dikirimkan terlebih dahulu harus dienkripsi oleh T1 pengirim pesan menggunakan suatu kriptografi simetris, kemudian T2 penerima pesan mengenkripsikan kembali pesan terenkripsi yang sudah diterima dan dikirimkan kembali kepada T1, T1 mendekripsi pesan terenkripsi dari penerima dengan kunci miliknya dan mengirimkan kembali ke T2, T2 mendekripsi pesan dengan kunci yang miliknya, dengan begitu T2 mendapatkan pesan asli yang dikirim oleh T1. Proses ini terjadi kembali untuk t berikutnya yang terlibat dalam proses pembagian secret pada proses secret sharing sebelumnya. Dapat diketahui bahwasanya dalam protokol three-pass terdapat 2 proses yang terjadi dalam upaya mengamankan share, yaitu proses enkripsi dan proses dekripsi. 3.3.2.1. Analisis proses enkripsi Berikut ini adalah flowchart untuk menggambarkan alur dari proses enkripsi share pada protokol three-pass.

32 Gambar 3.7 Proses Enkripsi Dari gambar 3.7 dapat dijelaskan bahwasanya pertama sekali akan dilakukan pembentukan bilangan acak menggunakan Algoritma One-Time Pad sepanjang n, dimana nilai n adalah panjang dari karakter pesan. Setelah mendapatkan bilangan acak sepanjang n, maka dilakukan prosedur enkripsi dengan cara menambahkan setiap karakter pesan dengan kuncinya. Terdapat dua buah function dalam proses enkripsi yang digunakan yaitu fungsi menghasilkan bilangan acak untuk enkripsi menggunakan One-Time Pad dan fungsi untuk mengenkripsi share. a. Function One-Time Pad panjang_karakter = input panjang karakter yang dibutuhkan key[] = array kunci yang dihasilkan

33 m = 25, a = 11, c = 17, X = 1 FOR i = 0 to panjang_karakter-1 t = milidetik_saat_ini X = a * X + c + t % M key[i] = X END FOR Penjelasan: Pada penggalan pseudocode dari function One-Time Pad diatas, terjadi proses untuk membangkitkan bilangan acak sebanyak panjang_karakter. Sebagaimana terlampir pada bentuk umum dari algoritma Linear Congruent Generator 4 pada bab sebelumnya, langkah-langkahnya sebagai berikut: 1. Terima masukkan berupa panjang_karakter banyaknya karakter yang dibutuhkan 2. Lakukan perulangan sebanyak panjang_karakter-1, gunanya agar jumlah bilangan acak tidak melebihi panjang_karakter. 3. Dalam setiap perulangan lakukan penjumlahan untuk X, dengan nilai a * X + c + t % M 4. Kemudian simpan X itu kedalam array key, dimana nilai key tersebut akan digunakan dalam enkripsi maupun dekripsi pesan. Berikut ini adalah analisis notasi O dari function One-Time Pad. Tabel 3.3 Analisis One-Time Pad Code Cost Times panjang_karakter = input panjang karakter yang dibutuhkan C1 1 key[] = array dari kunci yang dihasilkan C2 1 m = 25 C3 1 a = 11 C4 1 c = 17 C5 1 X = 1 C6 1 FOR i = 0 to panjang_karakter-1 C7 2 logn t = milidetik_saat_ini C8 2 logn

34 Tabel 3.3 Analisis One-Time Pad lanjutan Code Cost Times X = a * X + c + t % M C9 2 logn key[i] = X C10 2 logn END FOR C11 2 logn Sehingga didapat nilai Tn adalah sebagai berikut: Tn = C1+C2+C3+C4+C5+C6+C7 2 logn+c8 2 logn+c9 2 logn+ C10 2 logn + C11 2 logn = C7 2 logn+c8 2 logn+c9 2 logn+c10 2 logn + C11 2 logn = C7+C8+C9+C10+C11 log n log 2 C7 + C8 + C9 + C10 + C11 = log n log 2 Tn = log n = Ologn Penjelasan: Setiap baris code pada function One-Time Pad tabel 3.3 akan dihitung berdasarkan biaya cost dan berapa kali diproses times. Waktu yang dihitung pada C1, C2, C3, C4, C5, C6 dilakukan sebanyak 1 kali, sedangkan C7, C8, C9, C10, dan C11 dilakukan sebanyak n dimana n = jumlah karakter. b. Function Encrypt p[] = input array pesan dalam bentuk ascii key[] = input array kunci modulo = input modulo panjang_karakter = panjang karakter pesan c[] = array ciphertet FOR i = 0 to panjang_karakter-1 c[i] = p[i] + key[i] % modulo END FOR

35 Penjelasan: Pada penggalan pseudocode dari function encrypt diatas, terjadi proses untuk mengenkripsi share. Sebagaimana terlampir pada bentuk umum dari algoritma One- Time Pad 1 pada bab sebelumnya, langkah-langkahnya sebagai berikut: 1. Terima masukkan berupa p share yang akan dienkripsi, key sekumpulan kunci yang digunakan untuk enkripsi, modulo nilai untuk dilakukan operasi mudulo, panjang_karakter banyaknya karakter yang akan dienkripsi 2. Lakukan perulangan sebanyak panjang_karakter-1, gunanya agar operasi dalam perulangan tidak menghitung karakter diluar indeks array. 3. Dalam setiap perulangan lakukan penjumlahan untuk c, dengan menambahkan karakter p ke-i dengan karakter key ke-i kemudian dimodulokan dengan modulo. 4. Kemudian simpan c itu kedalam array c, dimana array c tersebut adalah pesan terenkripsi. Berikut ini adalah analisis notasi O dari function encrypt. Tabel 3.4 Analisis Function Encrypt Code Cost Times p[] = input array pesan dalam bentuk ASCII C1 1 key[] = input array kunci C2 1 modulo = input modulo C3 1 panjang_karakter = panjang karakter pesan C4 1 c[] = array ciphertet C5 1 FOR i = 0 to panjang_karakter-1 C6 2 logn c[i] = p[i] + key[i] % modulo C7 2 logn END FOR C8 2 logn Sehingga didapat nilai Tn adalah sebagai berikut: Tn = C1+C2+C3+C4+C5+C6 2 logn+c7 2 logn+c8 2 logn = C6 2 logn+c7 2 logn+c8 2 logn = C6+C7+C8 log n log 2 C6 + C7 + C8 = log n log 2 Tn = log n = Ologn

36 Penjelasan: function encrypt tabel 3.4 dihitung berdasarkan biaya dan berapa kali diproses times. Waktu yang dihitung pada C1 hingga C6 dilakukan sebanyak sekali, sedangkan C7, C8, dan C9 dilakukan sebanyak n dimana n = panjang_karakter-1. 3.3.2.2. Analisis proses dekripsi Berikut ini adalah flowchart untuk menggambarkan alur dari proses dekripsi share pada protokol three-pass. Gambar 3.8 Proses Dekripsi Dari gambar 3.8 dapat dijelaskan bahwasanya proses dekripsi dilakukan dengan mengurangkan setiap karakter dari pesan terenkripsi dengan kunci One-Time Pad sesuai urutan pasangannya. Dalam melakukan proses dekripsi hanya menggunakan satu fungsi yaitu function decrypt. Berikut ini adalah analisis dari fungsi decrypt.

37 c. Function decrypt c[] = input array ciphertet dalam bentuk ASCII key[] = input array kunci modulo = input modulo panjang_karakter = panjang karakter ciphertet p = [] FOR i = 0 to panjang_karakter-1 p[i] = c[i] - key[i] % modulo END FOR Penjelasan: Pada penggalan pseudocode dari function decrypt diatas, terjadi proses untuk mendekripsi share. Sebagaimana terlampir pada bentuk umum dari algoritma One- Time Pad 2 pada bab sebelumnya, langkah-langkahnya sebagai berikut: 1. Terima masukkan berupa c share yang terenkripsi, key sekumpulan kunci yang digunakan pada saat enkripsi, modulo nilai untuk dilakukan operasi mudulo, panjang_karakter banyaknya karakter yang akan dienkripsi 2. Lakukan perulangan sebanyak panjang_karakter-1, gunanya agar operasi dalam perulangan tidak menghitung karakter diluar indeks array. 3. Dalam setiap perulangan lakukan penjumlahan untuk p, dengan menambahkan karakter c ke-i dengan karakter key ke-i kemudian dimodulokan dengan modulo. 4. Kemudian simpan p itu kedalam array p, dimana array p tersebut adalah pesan terenkripsi. Berikut ini adalah analisis notasi O dari function decrypt. Tabel 3.5 Analisis Function Decrypt Code Cost Times c[] = input array ciphertet dalam bentuk ASCII C1 1 key[] = input array kunci C2 1 modulo = input modulo C3 1 panjang_karakter = panjang karakter ciphertet C4 1 p[] = array plaintet C5 1

38 Tabel 3.5 Analisis Function Decrypt lanjutan Code Cost Times FOR i = 0 to panjang_karakter-1 C6 2 logn p[i] = c[i] - key[i] % modulo C7 2 logn END FOR C8 2 logn Sehingga didapat nilai Tn adalah sebagai berikut: Tn = C1+C2+C3+C4+C5+C6 2 logn+c7 2 logn+c8 2 logn = C6 2 logn+c7 2 logn+c8 2 logn = C6+C7+C8 log n log 2 C6 + C7 + C8 = log n log 2 Tn = log n = Ologn Penjelasan: Setiap baris code pada function encrypt tabel 3.4 akan dihitung berdasarkan biaya cost dan berapa kali diproses times. Waktu yang dihitung pada C1 hingga C5 dilakukan sebanyak sekali, sedangkan C6, C7, dan C8 dilakukan sebanyak n dimana n = panjang_karakter-1. 3.4. Analisis Keamanan Pada penelitian ini dilakukan penerapan protokol three-pass kedalam protokol secret sharing, pada bab sebelumnya diketahui bahwasanya protokol secret sharing memungkinkan terjadinya upaya pencurian informasi. Untuk menutupi upaya pencurian informasi tersebut, digunakan protokol three-pass. Pentingnya dilakukan analisis keamanan dari protokol three-pass tersebut, agar hasil dari penelitian ini menunjukkan keamanan dari secret sharing setelah dikombinasikan dengan threepass. Dalam melakukan proses enkripsi dan dekripsi, protokol three-pass menerapkan Algoritma One-Time Pad sebagai kriptografi simetris. One-Time Pad menggunakan suatu kunci dengan bilangan yang benar-benar acak, dan panjangnya sama dengan panjang pesan yang akan dienkripsi.

39 Diasumsikan pesan m sepanjang 6 karakter, dengan kunci k 6 karakter, dimana setiap karakternya terdapat dalam 255 ASCII. Dengan demikian penyerang akan mendapatkan 255 6 = 274.941.996.890.625 bilangan acak, dimana penyerang tidak mengetahui bilangan acak yang merupakan pesan m. Shannon 1949 dalam publikasinya menyatakan, One-Time Pad termasuk ke dalam kategori perfect secrecy keamanan yang sempurna, karena ciphertet yang dihasilkan tidak memberikan informasi tambahan mengenai plaintet. Informasi mengenai plaintet yang dimaksud seperti, persentasi penggunaan huruf vokal, konsonan, atau kata-kata yang berulang. Hal ini terjadi karena setiap karakter pesan dienkripsi dengan kunci yang acak. Dengan demikian, jika One-Time Pad digunakan secara tepat, seperti penggunaan bilangan yang benar-benar acak sebagai kunci, dan hanya menggunakan kunci tersebut sekali dalam setiap pengiriman pesan, maka keamanan pesan akan terjamin walaupun penyerang memiliki sumber daya komputer yang tidak terbatas. Keamanan yang diberikan oleh One-Time Pad terletak pada bilangan acak yang digunakan sebagai kunci, walaupun komputer yang tersedia memiliki sumber daya yang memadai, penyerang harus menebak sendiri plaintet dari sekumpulan bilangan acak yang dihasilkan Shannon, 1949.

BAB 4 HASIL DAN PEMBAHASAN Bab ini membahas mengenai hasil penelitian dan pembahasan, dari hasil penelitian tersebut akan diambil suatu kesimpulan mengenai keamanan dari proses pengiriman pesan. Adapun yang akan dibahas antara lain: proses analisis, analisis big O, dan analisis keamanan. 4.1. Proses Analisis Sebelum membuat program simulasi perlu dilakukan proses analisis dengan perhitungan manual pada proses pemecahan pesan untuk mendapatkan share, pertukaran share antar penerima dalam protokol three-pass termasuk ke dalamnya proses enkripsi dan dekripsi share, dan rekonstruksi secret. Hasil dari perhitungan yang benar, menjadi dasar pada pembuatan program untuk melakukan simulasi. Pada tahapan ini juga dimaksudkan untuk mempermudah dalam perbaikan ataupun penambahan pada program simulasi. 4.1.1. Proses pemecahan secret menggunakan protokol secret sharing Langkah-langkah dalam proses pemecahan secret oleh pengirim pesan dalam protokol secret sharing adalah sebagai berikut: 1. Pesan m : FASILKOMTI 2. Jumlah penerima t : 3 3. Modulo p : 997 4. Lakukan perhitungan untuk mendapatkan polinomial dari pesan. Konversikan pesan kedalam bentuk ASCII Tabel 4.1 Tabel Konversi F A S I L K O M T I 70 65 83 73 76 75 79 77 84 73 m1 m2 m3 m4 m5 m6 m7 m8 m9 m10

41 Lakukan perhitungan untuk mendapatkan share dari m1 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 15, k2 = 19 P1 = 70 + 151 + 1912 mod 997 = 104 P2 = 70 + 152 + 1922 mod 997 = 176 P3 = 70 + 153 + 1932 mod 997 = 286 Lakukan perhitungan untuk mendapatkan share dari m2 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 11, k2 = 8 P1 = 65 + 111 + 812 mod 997 = 84 P2 = 65 + 112 + 822 mod 997 = 119 P3 = 65 + 113 + 832 mod 997 = 170 Lakukan perhitungan untuk mendapatkan share dari m3 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 12, k2 = 12 P1 = 83 + 121 + 1212 mod 997 = 107 P2 = 83 + 122 + 1222 mod 997 = 155 P3 = 83 + 123 + 1232 mod 997 = 227 Lakukan perhitungan untuk mendapatkan share dari m4 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 9, k2 = 11 P1 = 73 + 91 + 1112 mod 997 = 93 P2 = 73 + 92 + 1122 mod 997 = 135 P3 = 73 + 93 + 1132 mod 997 = 199 Lakukan perhitungan untuk mendapatkan share dari m5 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 6, k2 = 3 P1 = 76 + 61 + 312 mod 997 = 85 P2 = 76 +62 + 322 mod 997 = 100 P3 = 76 + 63 + 332 mod 997 = 121

42 Lakukan perhitungan untuk mendapatkan share dari m6 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 12, k2 = 12 P1 = 75 + 121 + 1212 mod 997 = 99 P2 = 75 + 122 + 1222 mod 997 = 147 P3 = 75 + 123 + 1232 mod 997 = 219 Lakukan perhitungan untuk mendapatkan share dari m7 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 5, k2 = 13 P1 = 79 + 51 + 1312 mod 997 = 97 P2 = 79 + 52 + 1322 mod 997 = 141 P3 = 79 + 53 + 1332 mod 997 = 211 Lakukan perhitungan untuk mendapatkan share dari m8 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 16, k2 = 18 P1 = 77 + 161 + 1812 mod 997 = 111 P2 = 77 + 162 + 1822 mod 997 = 181 P3 = 77 + 163 + 1832 mod 997 = 287 Lakukan perhitungan untuk mendapatkan share dari m9 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 6, k2 = 17 P1 = 84 + 61 + 1712 mod 997 = 107 P2 = 84 + 62 + 1722 mod 997 = 164 P3 = 84 + 63 + 1732 mod 997 = 255 Lakukan perhitungan untuk mendapatkan share dari m10 Ambil secara acak nilai untuk koeffisien k sebanyak t-1, k=2 k1 = 19, k2 = 17 P1 = 73 + 191 + 1712 mod 997 = 109 P2 = 73 + 192 + 1722 mod 997 = 179 P3 = 73 + 193 + 1732 mod 997 = 283

43 Jadi hasil proses pembentukan polinomial dari m adalah sebagai berikut: Tabel 4.2 Tabel Shares m F A S I L K O M T I ASCII 70 65 83 73 76 75 79 77 84 73 Share 1 104 84 107 93 85 99 97 111 107 109 Share 2 176 119 155 135 100 147 141 181 164 179 Share 3 286 170 227 199 121 219 211 287 255 283 Kemudian, setiap penerima akan menerima shares sebagai berikut: Penerima 1 = 104, 84, 107, 93, 85, 99, 97, 111, 107, 109 Penerima 2 = 176, 119, 155, 135, 100, 147, 141, 181, 164, 179 Penerima 3 = 286, 170, 227, 199, 121, 219, 211, 287, 255, 283 4.1.2. Proses pertukaran shares menggunakan three-pass Pada tahapan sebelumnya pesan telah terbagi kedalam beberapa secret dan telah diterima oleh masing-masing penerima, langkah selanjutnya yang dilakukan adalah setiap penerima akan melakukan pertukaran secret. Adapun langkah-langkah yang akan dilakukan agar Penerima 1 dapat merekonstruksi pesan adalah sebagai berikut: 1. Lakukan permintaan kepada penerima 2, sehingga penerima 2 akan mengirim secret miliknya melalui protokol three-pass - Penerima 2 mengenkripsi share miliknya. Share penerima 2 m = 176, 119, 155, 135, 100, 147, 141, 181, 164, 179 Kunci ka = 19, 17, 20, 3, 16, 9, 7, 10, 18, 6 e1 = 176+19 mod 997 = 195 e2 = 119+17 mod 997=136 e3 = 155+20 mod 997=175 e4 = 135+3 mod 997=138 e5 = 100+16 mod 997=116 e6 = 147+9 mod 997=156 e7 = 141+7 mod 997=148 e8 = 181+10 mod 997=191 e9 = 164+18 mod 997=182 e10 = 179+6 mod 997=185 c1 = 195, 136, 175, 138, 116, 156, 148, 191, 182, 185

44 - Penerima 1 mengenkripsi c1 c1 = 195, 136, 175, 138, 116, 156, 148, 191, 182, 185 Kunci kb = 0, 14, 18, 12, 21, 20, 9, 13, 7, 16 e1 = 195+0 mod 997=195 e2 = 136+14 mod 997=150 e3 = 175+18 mod 997=193 e4 = 138+12 mod 997=150 e5 = 116+21 mod 997=137 e6 = 156+20 mod 997=176 e7 = 148+9 mod 997=157 e8 = 191+13 mod 997=204 e9 = 182+7 mod 997=189 e10 = 185+16 mod 997=201 c2 = 195, 150, 193, 150, 137, 176, 157, 204, 189, 201 - Penerima 2 mendekripsi c2 c2 = 195, 150, 193, 150, 137, 176, 157, 204, 189, 201 Kunci ka = 19, 17, 20, 3, 16, 9, 7, 10, 18, 6 d1 = 195-19 mod 997=176 d2 = 150-17 mod 997=133 d3 = 193-20 mod 997=173 d4 = 150-3 mod 997=147 d5 = 137-16 mod 997=121 d6 = 176-9 mod 997=167 d7 = 157-7 mod 997=150 d8 = 204-10 mod 997=194 d9 = 189-18 mod 997=171 d10 = 201-6 mod 997=195 c3 = 176, 133, 173, 147, 121, 167, 150, 194, 171, 195 - Penerima 1 mendekripsi c3 c3 = 176, 133, 173, 147, 121, 167, 150, 194, 171, 195 Kunci kb = 0, 14, 18, 12, 21, 20, 9, 13, 7, 16

45 d1 = 176-0 mod 997=176 d2 = 133-14 mod 997=119 d3 = 173-18 mod 997=155 d4 = 147-12 mod 997=135 d5 = 121-21 mod 997=100 d6 = 167-20 mod 997=147 d7 = 150-9 mod 997=141 d8 = 194-13 mod 997=181 d9 = 171-7 mod 997=164 d10 = 195-16 mod 997=179 m = 176, 119, 155, 135, 100, 147, 141, 181, 164, 179 Dengan demikian penerima 1 mengetahui share milik penerima 2 adalah 176, 119, 155, 135, 100, 147, 141, 181, 164, 179 Sedangkan yang diketahui oleh publik adalah c1 = 195, 136, 175, 138, 116, 156, 148, 191, 182, 185 c2 = 195, 150, 193, 150, 137, 176, 157, 204, 189, 201 c3 = 176, 133, 173, 147, 121, 167, 150, 194, 171, 195 2. Lakukan permintaan kepada penerima 3, sehingga penerima 3 akan mengirim share miliknya melalui protokol three-pass. - Penerima 3 mengenkripsi share miliknya. Share penerima 3 m = 286, 170, 227, 199, 121, 219, 211, 287, 255, 283 Kunci ka = 15, 2, 9, 11, 8, 0, 12, 19, 21 e1 = 286+23 mod 997=309 e2 = 170+15 mod 997=185 e3 = 227+2 mod 997=229 e4 = 199+9 mod 997=208 e5 = 121+11 mod 997=132 e6 = 219+8 mod 997=227 e7 = 211+0 mod 997=211 e8 = 287+12 mod 997=299

46 e9 = 255+19 mod 997=274 e10 = 283+21 mod 997=304 c1 = 309, 185, 229, 208, 132, 227, 211, 299, 274, 304 - Penerima 1 mengenkripsi c1 c1 = 309, 185, 229, 208, 132, 227, 211, 299, 274, 304 Kunci kb = 23, 15, 2, 9, 11, 8, 0, 12, 19, 21 e1 = 309+23 mod 997=332 e2 = 185+15 mod 997=200 e3 = 229+2 mod 997=231 e4 = 208+9 mod 997=217 e5 = 132+11 mod 997=143 e6 = 227+8 mod 997=235 e7 = 211+0 mod 997=211 e8 = 299+12 mod 997=311 e9 = 274+19 mod 997=293 e10 = 304+21 mod 997=325 c2 = 332, 200, 231, 217, 143, 235, 211, 311, 293, 325 - Penerima 3 mendekripsi c2 c2 = 332, 200, 231, 217, 143, 235, 211, 311, 293, 325 Kunci ka = 23, 15, 2, 9, 11, 8, 0, 12, 19, 21 d1 = 332-23 mod 997=309 d2 = 200-15 mod 997=185 d3 = 231-2 mod 997=229 d4 = 217-9 mod 997=208 d5 = 143-11 mod 997=132 d6 = 235-8 mod 997=227 d7 = 211-0 mod 997=211 d8 = 311-12 mod 997=299 d9 = 293-19 mod 997=274 d10 = 325-21 mod 997=304 c3 = 309, 185, 229, 208, 132, 227, 211, 299, 274, 304

47 - Penerima 1 mendekripsi c3 c3 = 309, 185, 229, 208, 132, 227, 211, 299, 274, 304 Kunci kb = 23, 15, 2, 9, 11, 8, 0, 12, 19, 21 d1 = 309-23 mod 997=286 d2 = 185-15 mod 997=170 d3 = 229-2 mod 997=227 d4 = 208-9 mod 997=199 d5 = 132-11 mod 997=121 d6 = 227-8 mod 997=219 d7 = 211-0 mod 997=211 d8 = 299-12 mod 997=287 d9 = 274-19 mod 997=255 d10 = 304-21 mod 997=283 m = 286,170,227,199,121,219,211,287,255,283 Dengan demikian penerima 1 mengetahui share milik penerima 3 adalah 286,170,227,199,121,219,211,287,255,283 Sedangkan yang diketahui oleh publik adalah c1 = 309, 185, 229, 208, 132, 227, 211, 299, 274, 304 c2 = 332, 200, 231, 217, 143, 235, 211, 311, 293, 325 c3 = 309, 185, 229, 208, 132, 227, 211, 299, 274, 304

48 4.1.3. Proses rekonstruksi secret menggunakan secret sharing Langkah-langkah yang akan dilakukan untuk merekonstruksi secret adalah sebagai berikut: Tabel 4.3 Tabel Shares m m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 Share milik penerima 1 104 84 107 93 85 99 97 111 107 109 Share milik penerima 2 176 119 155 135 100 147 141 181 164 179 Share milik penerima 3 286 170 227 199 121 219 211 287 255 283 Untuk m1 = {1, 104, 2, 176, 3, 286} 0 = 1, y0 = 104 1 = 2, y1 = 176 2 = 3, y2 = 286 p = 997 1 0 2 2 0 1 2 1 0 L L L = = = mod 997 2 2 1 286 1 3 1 176 2 3 2 104 mod 997 2 13 3 2 1 286 3 12 2 3 1 176 3 21 1 3 2 104 mod 997 286 176 104 mod 1 2 0 2 1 0 2 1 0 1 2 0 2 0 1 0 2 1 2 2 2 2 1 1 1 1 0 0 0 0 + + = + + = + + = + + = P P P p L L y L L y L L y P Diketahui bahwasanya adalah nilai dari share. Maka, dari bentuk diatas dimasukkan =0.

49 0 20 3 0 10 3 0 10 2 = 104 + 176 + 286 mod 997 2 1 2 6 3 2 = 104 + 176 + 286 mod 997 2 1 2 = 104 3 + 176 3 + 286 1 mod 997 = 312 + 528 + 286 mod 997 = 216 + 286 mod107 = 70 Untuk m2 = {1, 84, 2, 119, 3, 170} 0 20 3 0 10 3 0 10 2 = 84 + 119 + 170 mod 997 2 1 2 = 252 + 357 + 170 mod 997 = 65 Untuk m3 = {1, 107, 2, 155, 3, 227} 0 20 3 0 10 3 0 10 2 = 107 + 155 + 227 mod 997 2 1 2 = 321 + 465 + 227 mod107 = 83 Untuk m4 = {1, 93, 2, 135, 3, 199} 0 20 3 0 10 3 0 10 2 = 93 + 135 + 199 mod 997 2 1 2 = 279 + 405 + 199 mod107 = 73 Untuk m5 = {1, 85, 2, 100, 3, 121} 0 20 3 0 10 3 0 10 2 = 85 + 100 + 121 mod 997 2 1 2 = 255 + 300 + 121 mod 997 = 76 Untuk m6 = {1, 99, 2, 147, 3, 219} 0 20 3 0 10 3 0 10 2 = 99 + 147 + 219 mod 997 2 1 2 = 297 + 441 + 219 mod 997 = 75

50 Untuk m7 = {1, 97, 2, 141, 3, 211} 0 20 3 0 10 3 = 97 + 141 + 2 1 = 291 + 423 + 211 mod 997 = 79 Untuk m8 = {1, 111, 2, 181, 3, 287} = 77 0 211 10 2 mod 997 2 0 20 3 0 10 3 0 10 2 = 111 + 181 + 287 mod 997 2 1 2 = 333 + 543 + 287 mod 997 Untuk m9 = {1, 107, 2, 164, 3, 255} 0 20 3 0 10 3 = 107 + 164 + 2 1 = 321 + 492 + 255 mod 997 = 84 Untuk m10 = {1, 109, 2, 179, 3, 283} 0 20 3 0 10 3 = 109 + 179 + 2 1 = 327 + 537 + 283 mod 997 = 73 0 255 0 283 10 2 mod 997 2 10 2 mod 997 2 m1 = {1, 104, 2, 176, 3, 286} = 70 => F m2 = {1, 84, 2, 119, 3, 170} = 65 => A m3 = {1, 107, 2, 155, 3, 227} = 83 => S m4 = {1, 93, 2, 135, 3, 199} = 73 => I m5 = {1, 85, 2, 100, 3, 121} = 76 => L m6 = {1, 99, 2, 147, 3, 219} = 75 => K m7 = {1, 97, 2, 141, 3, 211} = 79 => O m8 = {1, 111, 2, 181, 3, 287} = 77 => M m9 = {1, 107, 2, 164, 3, 255} = 84 => T m10 = {1, 109, 2, 179, 3, 283} = 73 => I

51 Dengan demikian penerima 1 dapat mengetahui secret yang dikirimkan, setelah merekonstruksi shares dari penerima 2 dan penerima 3. Proses ini juga dilakukan oleh penerima 2 dan penerima 3 untuk mengetahui secret yang dikirimkan. 4.2. Analisis Kompleksitas Analisis kompleksitas dibutuhkan untuk menghitung kompleksitas waktu komputasi Tn dalam menyelesaikan proses dengan nilai n yang digunakan sebagai input dalam algoritma tersebut. Dalam penelitian penulis menggunakan notasi O big-oh dalam menghitung kompleksitas Cormen et al, 2009. Pada bab sebelumnya telah diketahui mengenai big O dari setiap algoritma yang digunakan, sebagaimana terlampir sebagai berikut. Tabel 4.4 Analisis Kompleksitas Algoritma big O Secret Sharing Split Ologn m Secret Sharing Reconstruct Ologn 2 Three-pass One Time Pad Ologn Three-pass Encrypt Ologn Three-pass Decrypt Ologn 4.3. Analisis Keamanan Berdasarkan pengujian sebelumnya untuk secret m = FASILKOMTI, dengan penerima t = 3, dan modulo = 997, dapat diketahui beberapa poin setelah dilakukan pengamanan pada kombinasi protokol secret sharing dan three-pass. Adapun poinpoin tersebut antara lain: 1. Secret yang dikirimkan melalui protokol secret sharing, akan terpecah sebanyak 3 buah shares, dimana shares tersebut tidak dapat dibaca oleh siapapun, yaitu: Share 1 = 104, 84, 107, 93, 85, 99, 97, 111, 107, 109 Share 2 = 176, 119, 155, 135, 100, 147, 141, 181, 164, 179 Share 3 = 286, 170, 227, 199, 121, 219, 211, 287, 255, 283 2. Dari ketiga buah shares tersebut, dihasilkan share tersandi melalui protokol threepass. Dimana setiap share yang melalui protokol three-pass akan terdapat 3 buah

52 bilangan acak yang dapat diketahui publik, untuk setiap kali penerima melakukan pertukaran share. Pertukaran share 2 menghasilkan: c1 = 195, 136, 175, 138, 116, 156, 148, 191, 182, 185 c2 = 195, 150, 193, 150, 137, 176, 157, 204, 189, 201 c3 = 176, 133, 173, 147, 121, 167, 150, 194, 171, 195 Pertukaran share 3 menghasilkan: c1 = 309, 185, 229, 208, 132, 227, 211, 299, 274, 304 c2 = 332, 200, 231, 217, 143, 235, 211, 311, 293, 325 c3 = 309, 185, 229, 208, 132, 227, 211, 299, 274, 304 3. Sehingga, jika pihak penyerang yang ingin melakukan serangan brute-force terhadap share tersandi tersebut, untuk setiap kali penerima melakukan pertukaran share akan menghasilkan: C1 = 997 10 bilangan acak. C2 = 997 10 bilangan acak. C3 = 997 10 bilangan acak. 4.4. Pembahasan Berdasarkan pembahasan pada bab sebelumnya, penelitian ini bertujuan untuk menganalisa keamanan pengiriman pesan dalam kombinasi protokol secret sharing dan three-pass. Adapun yang menjadi fokus dalam analisa penelitian ini adalah waktu yang diperlukan serta keamanan yang diberikan dari penggunaan kombinasi protokol tersebut. 4.4.1. Analisis Waktu Pada tahapan ini, akan dilakukan proses pengujian kombinasi protokol secret sharing dan three-pass terhadap beberapa variasi pesan. Pengujian ini bertujuan untuk mengetahui seberapa lama waktu yang digunakan untuk mengamankan pesan, mulai dari pesan dengan panjang 163 karakter, 590 karakter, hingga 1008 karakter. Kemudian juga dilakukan pengujian terhadap banyaknya penerima pesan, mulai dari 3 penerima hingga 10 penerima.

53 Spesifikasi dari komputer yang digunakan untuk melakukan pengujian ini adalah sebagai berikut: 1. Sistem Operasi Microsoft Windows 8.1 2. Prosessor Intel Core i5-3317u @1.70GHz 3. RAM 4 GB Tabel 4.5 Analisis waktu terhadap pengiriman pesan kepada 3 penerima. No. Panjang Pesan Jumlah Waktu Penerima milidetik 1 163 3 606.48 2 590 3 1928 3 1008 3 3334.45 Tabel 4.6 Analisis waktu terhadap pengiriman pesan kepada 4 penerima. No. Panjang Pesan Jumlah Waktu Penerima milidetik 1 163 4 750.64 2 590 4 2762.18 3 1008 4 4902.1 Tabel 4.7 Analisis waktu terhadap pengiriman pesan kepada 5 penerima. No. Panjang Pesan Jumlah Waktu Penerima milidetik 1 163 5 936.93 2 590 5 3557.67 3 1008 5 6314.86

54 Tabel 4.8 Analisis waktu terhadap pengiriman pesan kepada 6 penerima. No. Panjang Pesan Jumlah Waktu Penerima milidetik 1 163 6 1637.7 2 590 6 6276.38 3 1008 6 11138.3 Tabel 4.9 Analisis waktu terhadap pengiriman pesan kepada 7 penerima. No. Panjang Pesan Jumlah Waktu Penerima milidetik 1 163 7 1344.72 2 590 7 5122.49 3 1008 7 9314.19 Tabel 4.10 Analisis waktu terhadap pengiriman pesan kepada 8 penerima. No. Panjang Pesan Jumlah Waktu Penerima milidetik 1 163 8 2443.81 2 590 8 9548.69 3 1008 8 17250 Tabel 4.11 Analisis waktu terhadap pengiriman pesan kepada 9 penerima. No. Panjang Pesan Jumlah Waktu Penerima milidetik 1 163 9 1745.36 2 590 9 6698.79 3 1008 9 12004.1

55 Tabel 4.12 Analisis waktu terhadap pengiriman pesan kepada 10 penerima. No. Panjang Pesan Jumlah Waktu Penerima milidetik 1 163 10 4666.33 2 590 10 18126.48 3 1008 10 32175.34 Berdasarkan pengujian terhadap panjang pesan mulai dari 100 karakter, 500 karakter, dan 1000 karakter pesan. Dapat disimpulkan bahwasanya lamanya waktu eksekusi dalam proses pemecahan pesan hingga rekonstruksi pesan, berbanding lurus dengan panjang pesan. Begitu juga dengan banyaknya penerima, jika penerima pesan semakin bertambah, maka lamanya proses eksekusi akan bertambah lama. 4.4.2. Analisis Keamanan Pada tahapan ini akan dilakukan proses pengujian terhadap keamanan pada kombinasi protokol yang digunakan. Pengujian ini akan dilakukan terhadap pesan dengan panjang yang bervariasi, mulai dari 163 karakter, 590 karakter, hingga 1008 karakter. Juga pengujian ini akan dilakukan terhadap banyaknya penerima pesan, mulai dari 3 penerima, hingga 10 penerima. Hasil dari analisis keamanan ini akan memberikan jaminan terhadap keamanan pesan dari ancaman pihak ketiga yang melakukan serangan brute-force terhadap shares pada saat proses pertukaran share berlangsung. Tabel 4.13 Analisis keamanan terhadap pengiriman pesan kepada 3 penerima. No. Panjang Pesan Jumlah Penerima Bilangan acak yang dihasilkan 1 163 3 997 163 3 2 590 3 997 590 3 3 1008 3 997 1008 3

56 Tabel 4.14 Analisis keamanan terhadap pengiriman pesan kepada 4 penerima. No. Panjang Pesan Jumlah Penerima Bilangan acak yang dihasilkan 1 163 4 997 163 4 2 590 4 997 590 4 3 1008 4 997 1008 4 Tabel 4.15 Analisis keamanan terhadap pengiriman pesan kepada 5 penerima. No. Panjang Pesan Jumlah Penerima Bilangan acak yang dihasilkan 1 163 5 997 163 5 2 590 5 997 590 5 3 1008 5 997 1008 5 Tabel 4.16 Analisis keamanan terhadap pengiriman pesan kepada 6 penerima. No. Panjang Pesan Jumlah Penerima Bilangan acak yang dihasilkan 1 163 6 997 163 6 2 590 6 997 590 6 3 1008 6 997 1008 6 Tabel 4.17 Analisis keamanan terhadap pengiriman pesan kepada 7 penerima. No. Panjang Pesan Jumlah Penerima Bilangan acak yang dihasilkan 1 163 7 997 163 7 2 590 7 997 590 7 3 1008 7 997 1008 7

57 Tabel 4.18 Analisis keamanan terhadap pengiriman pesan kepada 8 penerima. No. Panjang Pesan Jumlah Penerima Bilangan acak yang dihasilkan 1 163 8 997 163 8 2 590 8 997 590 8 3 1008 8 997 1008 8 Tabel 4.19 Analisis keamanan terhadap pengiriman pesan kepada 9 penerima. No. Panjang Pesan Jumlah Penerima Bilangan acak yang dihasilkan 1 163 9 997 163 9 2 590 9 997 590 9 3 1008 9 997 1008 9 Tabel 4.20 Analisis keamanan terhadap pengiriman pesan kepada 10 penerima. No. Panjang Pesan Jumlah Penerima Bilangan acak yang dihasilkan 1 163 10 997 163 10 2 590 10 997 590 10 3 1008 10 997 1008 10 Berdasarkan pengujian terhadap panjang pesan dan penerima pesan yang bervariasi dapat disimpulkan, semakin panjang pesan yang diberikan maka usaha penyerang untuk melakukan brute-force terhadap pesan akan semakin lama, dan semakin mustahil karena banyaknya jumlah bilangan acak yang dihasilkan setelah dilakukan proses enkripsi.

BAB 5 KESIMPULAN DAN SARAN 5.1. Kesimpulan Berdasarkan analisis dari pengujian sistem secara menyeluruh yang dilakukan pada bab 4, maka ada beberapa hal yang dapat dijadikan kesimpulan pada penelitian ini, antara lain: 1. Kombinasi protokol Secret Sharing dan Three-Pass berhasil mengamankan pesan dan mengirimkan pesan tersebut kepada setiap penerimanya. 2. Protokol Three-Pass berhasil mengamankan shares yang dihasilkan melalui Protokol Secret Sharing dari upaya perekonstruksian ulang oleh pihak yang tidak berhak menerima pesan. 3. Panjang share yang diterima oleh setiap penerima, sama dengan panjang pesan yang dikirimkan, hanya saja setiap penerima akan melakukan proses 2 kali enkripsi dan 1 kali dekripsi dalam mengamankan pertukaran share. 4. Setiap penerima diharuskan untuk aktif dalam melakukan pertukaran shares, agar secret dapat direkonstruksi. Artinya jika salah satu saja penerima tidak melakukan pertukaran share, maka tidak satupun penerima akan menerima pesan yang dikirim. 5.2. Saran Untuk pengembangan dari penelitian selanjutnya mengenai kombinasi Protokol Secret Sharing dan Three-Pass dalam mengamankan pesan, disarankan untuk melakukan pengembangan pada beberapa hal sebagai berikut: 1. Protokol Secret Sharing dapat mengetahui penerima yang tidak memberikan share miliknya dengan benar, hal ini dapat dimanfaatkan oleh penerima yang melakukan kecurangan tersebut untuk memanfaatkan pesan demi kepentingan dirinya sendiri. 2. Protokol Three-Pass juga diimplementasikan pada saat pendistribusian shares kepada setiap penerima, sehingga keamanan dari shares lebih terjaga.