BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar belakang

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN SISTEM

BAB 1 PENDAHULUAN. khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari

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

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB 2 LANDASAN TEORI

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB 2 LANDASAN TEORI

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

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB I PENDAHULUAN. 1.1 Latar Belakang

1.1 LATAR BELAKANG MASALAH

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 2 TINJAUAN PUSTAKA

PERANCANGAN APLIKASI KOMPRESI CITRA DENGAN METODE RUN LENGTH ENCODING UNTUK KEAMANAN FILE CITRA MENGGUNAKAN CAESAR CHIPER

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

BAB 1 PENDAHULUAN Latar Belakang

PERANCANGAN APLIKASI KERAHASIAAN PESAN DENGAN ALGORITMA HILL CIPHER

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

2016 IMPLEMENTASI DIGITAL SIGNATURE MENGGUNAKAN ALGORITMA KRIPTOGRAFI AES DAN ALGORITMA KRIPTOGRAFI RSA SEBAGAI KEAMANAN PADA SISTEM DISPOSISI SURAT

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB 1 PENDAHULUAN Latar Belakang

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

BAB Kriptografi

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN Latar Belakang

Cryptography. Lisa Anisah. Abstrak. Pendahuluan. ::

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

BAB I PENDAHULUAN. 1.1 Latar Belakang

Bab 2: Kriptografi. Landasan Matematika. Fungsi

BAB I PENDAHULUAN. Masalah keamanan suatu data menjadi isu penting pada. era teknologi informasi saat ini. Pengamanan data tidak hanya

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011

PENERAPAN METODA FILE COMPRESSION PADA KRIPTOGRAFI KUNCI SIMETRI

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

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

Sistem Kriptografi Kunci Publik Multivariat

Bab 2 Tinjauan Pustaka

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

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

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java

Pengenalan Kriptografi

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

ENKRIPSI AFFINE CIPHER UNTUK STEGANOGRAFI PADA ANIMASI CITRA GIF

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

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

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Perkembangan dunia digital saat ini membuat lalu lintas pengiriman data elektronik

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 LANDASAN TEORI Keamanan Informasi

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

APLIKASI KRIPTOGRAFI KOMPOSISI ONE TIME PAD CIPHER DAN AFFINE CIPHER

PROGRAM APLIKASI KRIPTOGRAFI PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

BAB I PENDAHULUAN Latar Belakang

Kriptosistem Knapsack

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

2.1 Keamanan Informasi

Transkripsi:

6 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi merupakan sebuah seni penyandian pesan dalam rangka mencapai tujuan keamanan dalam pertukaran informasi. 2.1.1. Definisi Kriptografi Kriptografi berasal dari bahasa Yunani yang terdiri dari dua kata yaitu crypto dan graphia. Crypto berarti rahasia dan graphia berarti tulisan. Jadi secara etimologi kriptografi adalah tulisan rahasia. Secara terminologi kriptografi didefinisikan sebagai seni dan ilmu dalam menyandikan pesan dan menjaga keamanannya ketika pesan tersebut dikirim sampai pesan tersebut diterima (Mollin, 2007). Kriptografi merupakan ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi mengembalikan data asli. Proses enkripsi dilakukan menggunakan suatu algoritma dengan beberapa parameter. Biasanya algoritma tidak dirahasiakan, bahkan enkripsi yang mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia terletak di beberapa parameter yang digunakan, jadi kunci ditentukan oleh parameter. Parameter yang menentukan kunci dekripsi itulah yang harus dirahasiakan (parameter menjadi ekuivalen dengan kunci) (Kromodimoeljo, 2010). Pesan awal dalam sistem kriptografi disebut juga sebagai plaintext (disimbolkan dengan p), yaitu pesan asli yang akan disampaikan pengirim kepada penerima pesan. Sedangkan pesan setelah dienkripsi disebut dengan ciphertext (disimbolkan dengan c). Kunci yang dikirimkan pengirim kepada penerima pesan untuk proses dekripsi disebut dengan key (disimbolkan dengan k). Fungsi enkripsi disimbolkan dengan E(p) sedangkan fungsi dekripsi disimbolkan dengan D(c) (Scheineier, 1996).

7 2.1.2. Tujuan Kriptografi Ada beberapa tujuan kriptografi, diantaranya adalah sebagai berikut: 1. Kerahasiaan (Secrecy) Secrecy bermakna kerahasiaan. Setiap informasi yang dikirim atau diterima hanya dapat diakses oleh pihak yang berkepentingan. Enkripsi pesan bertujuan untuk tetap merahasiakan pesan sampai kepada penerima dengan aman. Selanjutnya pesan yang telah diterima akan didekripsi oleh penerima dengan algoritma yang telah disepakati dan kunci yang telah dikirimkan dengan jalur yang lebih aman (Scheineier, 1996). 2. Integritas (Integrity) Integritas dalam kriptografi berhubungan dengan menjaga keaslian data, artinya data yang diterima tidak rusak, berkurang, bertambah atau telah dimanipulasi oleh pihak lain sebelum diterima oleh penerima data (Scheineier, 1996). 3. Autentikasi (Authentication) Autentikasi berkaitan dengan identifikasi dan verifikasi, baik secara sistem maupun informasi itu sendiri. Salah satu sarana proses autentikasi adalah melalui password. Apabila proses ini menggunakan password, maka protocol autentikasi harus aman dalam proses pengirimannya dan tidak digunakan oleh pihak-pihak yang tidak bertanggung jawab. Teknik kriptografi sangat diperlukan untuk permasalahan ini (Scheineier, 1996). 4. Non-Repudiation Non-Repudiation adalah usaha untuk memastikan bahwa baik pesan maupun kunci yang sampai adalah benar-benar pesan atau kunci yang diharapkan. Selain itu, non-repudiation juga adalah usaha untuk menghindari adanya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh pengirim pesan (Scheineier, 1996). 2.1.3. Penggunaan Kriptografi Dalam ilmu kriptografi digunakan sebuah teknik matematika untuk menjaga keamanan sebuah informasi. Keamanan yang dimaksud adalah terdapat beberapa unsur seperti kerahasiaan, keutuhan data dan otentikasi entitas (Sadikin, 2012).

8 Pada teknik penyandian pesan dalam ilmu kriptografi, salah seorang mengirim pesan kepada orang lainnya dengan melakukan pengkodean pesan asli disebut enkripsi. Pesan yang telah dirahasiakan tersebut hanya dapat dibaca oleh penerima pesan. Penerima pesan akan mengembalikan kode kode yang telah diterimanya kedalam pesan asli disebut dekripsi. Pesan awal dalam sistem kriptografi disebut juga sebagai plaintext (disimbolkan dengan p), yaitu pesan asli yang akan disampaikan pengirim kepada penerima pesan. Sedangkan pesan setelah dienkripsi disebut dengan ciphertext (disimbolkan dengan c). Kunci yang dikirimkan pengirim kepada penerima pesan untuk proses dekripsi disebut dengan key (disimbolkan dengan k). Fungsi enkripsi disimbolkan dengan E(p) sedangkan fungsi dekripsi disimbolkan dengan D(c) (Scheineier, 1996). 2.1.4. Kriptografi Klasik Kriptografi klasik dibagi menjadi dua jenis yaitu jenis subtitusi dimana sebuah karakter atau sekelompok karakter diubah menjadi sebuah karakter atau kelompok karakter lain, dan jenis transposisi dimana karakter karakter yang ada diubah posisinya. Kriptografi jenis ini berorientasi pada karakter (Sadikin,2012). Pada pemaparan (Sadikin,2012) Kriptografi Klasik digunakan untuk mengirimkan pesan rahasia pada 400 sebelum masehi diperlihatkan pada gambar 2.1 dibawah ini : Gambar 2.1 Scytale 2.1.5. Kriptografi Modern Kriptografi modern menggunakan prinsip kunci untuk menenkripsikan dan mendekripsikan pesan. Menurut (Sadikin,2012) kriptografi modern terbagi menjadi dua jenis yaitu : 1. Algoritma simetris, yaitu algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsi.

9 2. Algoritma asimetris, yaitu algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi. Pada penelitian ini, dilakukan pengujian algoritma Massey-Omura yang merupakan kategori algoritma kriptografi modern pada jenis asimetris. Pada gambar 2.2 dibawah ini diperlihatkan simulasi Algoritma Simetris. Gambar 2.2 Simulasi Algoritma Simetris Pada gambar 2.3 dibawah ini diperlihatkan simulasi Algoritma Asimetris Gambar 2.3 Simulasi Algoritma Asimetris 2.1.6. Massey-Omura Massey-Omura Cryptosystem adalah salah satu cryptosystem kunci publik yang berdasarkan pada logaritma diskrit. Diusulkan oleh James Massey dan Jim K. Omura pada tahun 1982 sebagai pengembangan atas Three Pass Protocol oleh Shamir pada tahun 1980, dimana pengirim dan penerima tidak bertukar kunci namun protocol ini memerlukan pengirim dan penerima yang memiliki dua kunci untuk mengenkripsi dan mendekripsi pesan (Yan, 2013). Pada penjelasan (Yan, 2013) berikut cara kerja dari Algoritma Massey-Omura : 1. Semua pengguna telah mensepakati kelompok batasan atas bidang tetap batasan Fp dengan p sebagai kekuatan utama 2. Setiap pengguna secara rahasia memilih acak bilangan bulat e antara 0 dan p 1 seperti GCD (e, p 1) = 1, dan menghitung d = e 1 mod (p 1) dengan menggunakan algoritma eucludean 3. Sekarang anggaplah bahwa Alice ingin mengirim pesan M yang aman untuk Bob, kemudian mereka ikuti prosedur berikut : a. Alice pertama mengirimkan M e A kepada Bob,

10 b. Pada saat menerima pesan, Bob mengirimkan M eaeb kembali ke Alice (perhatikan bahwa saat ini, Bob tidak bisa membaca pesan Alice M) c. Alice mengirim M eaebda = M eb kepada Bob, Bob kemudian menghitung M dbeb = M, dan terbukalah pesan Alice M Berikut ini adalah contoh penggunaan algoritma Massey-Omura dalam merahasiakan sebuah pesan : a. Terdapat pesan yang akan dikirim oleh pengirmim kepada penerima yaitu ANDIKA MULIA UTAMA. b. Sepakati tabel encoding yang digunakan. Dalam hal ini menggunakan tabel ASCII. c. Sepakati sebuah bilangan prima p dimana pada tahap ini menggunakan Algoritma Lehmann yaitu L = a p-1/2 mod p Dipilih p = 101, apakah 101 adalah bilangan prima? Pembuktian : p = 101 aϵ{2,3,...,101} a = 2 a = 5 2 50 mod 101 = -1 5 50 mod 101 = -1 a = 99 a = 100 99 50 mod 101 = -1 100 50 mod 101 = 1 101 adalah prima d. Proses 1 untuk pengirim 1. Tentukan sebuah bilangan ea dengan syarat: 2 < ea < p-1 dan ea relatif prima dengan p-1 dipilih ea = 21 untuk membuktikan apakah 21 relatif prima dengan 101, maka digunakan Euclidean GCD sebagai berikut : 100 mod 21 = 16 21 mod 16 = 5 16 mod 5 = 1

11 5 mod 1 = 0 Sehingga GCD (21,100) = 1 2. Hitung da sebagai invers dari ea sebagai berikut : Pada tabel 2.1 dibawah ini diperlihatkan perhitungan nilai da : Tabel 2.1 Perhitungan nilai da da da * ea 1 (mod p -1) 1 21 2 42 3 63 81 1 STOP, da = 81 3. Tentukan pesan yang akan dikirim, lalu konversikan dengan tabel ASCII. Plaintext = ANDIKA MULIA UTAMA M = 65 78 68 73 75 65 32 77 85 76 73 65 32 85 84 65 77 65 4. Enkripsi pesan dengan rumus C1 = M ea mod p..................(1) Untuk A : C1 = 65 21 mod 101 = 65 Untuk N : C1 = 78 21 mod 101 = 37 Untuk D : C1 = 68 21 mod 101 = 24 Untuk I : C1 = 73 21 mod 101 = 67 Untuk K : C1 = 75 21 mod 101 = 74 Untuk A : C1 = 65 21 mod 101 = 65 Untuk Space : C1 = 32 21 mod 101 = 32 Untuk M : C1 = 77 21 mod 101 = 45 Untuk U : C1 = 85 21 mod 101 = 70 Untuk L : C1 = 76 21 mod 101 = 47 Untuk I : C1 = 73 21 mod 101 = 67 Untuk A : C1 = 65 21 mod 101 = 65 Untuk Space : C1 = 32 21 mod 101= 32 Untuk U : C1 = 85 21 mod 101 = 70

12 Untuk T : C1 = 84 21 mod 101 = 84 Untuk A : C1 = 65 21 mod 101 = 65 Untuk M : C1 = 77 21 mod 101 = 45 Untuk A : C1 = 65 21 mod 101 = 65 5. Setelah didapat C1 = 65 37 24 67 74 65 32 45 70 47 67 65 32 70 84 65 45 65, kemudian dikirim kepada penerima. e. Proses 1 untuk penerima 1. Terima Ciphertext dari Pengirim 2. Tentukan sebuah bilangan eb dengan syarat: 2 < eb < p-1 dan eb relatif prima dengan p-1 dipilih eb = 57 untuk membuktikan apakah 57 relatif prima dengan 101, maka digunakan Euclidean GCD sebagai berikut : 100 mod 57 = 43 57 mod 43 = 14 43 mod 14 = 1 14 mod 1 = 0 Sehingga GCD (57,100) = 1 3. Hitung db sebagai invers dari eb sebagai berikut : Pada tabel 2.2 dibawah ini diperlihatkan perhitungan nilai db : Tabel 2.2 Perhitungan nilai db db db * eb 1 (mod p -1) 1 57 2 14 3 71 93 1 STOP, da = 93

13 4. Hitung C2 = C1 eb mod p.................................. (2) Untuk 65 : C2 = 65 57 mod 101 = 17 Untuk 37 : C2 = 37 57 mod 101 = 58 Untuk 24 : C2 = 24 57 mod 101 = 16 Untuk 67 : C2 = 67 57 mod 101 = 75 Untuk 74 : C2 = 74 57 mod 101 = 50 Untuk 65 : C2 = 65 57 mod 101 = 17 Untuk 32 : C2 = 32 57 mod 101 = 62 Untuk 45 : C2 = 45 57 mod 101 = 70 Untuk 70 : C2 = 70 57 mod 101 = 9 Untuk 47 : C2 = 47 57 mod 101 = 64 Untuk 67 : C2 = 67 57 mod 101 = 75 Untuk 65 : C2 = 65 57 mod 101 = 17 Untuk 32 : C2 = 32 57 mod 101 = 62 Untuk 70 : C2 = 70 57 mod 101 = 9 Untuk 84 : C2 = 84 57 mod 101 = 87 Untuk 65 : C2 = 65 57 mod 101 = 17 Untuk 45 : C2 = 45 57 mod 101 = 70 Untuk 65 : C2 = 65 57 mod 101 = 17 didapat C2 = 17 58 16 75 50 17 62 70 9 64 75 17 62 9 87 17 70 17 f. Proses 2 untuk pengirim 1. Terima C2 dari Penerima 2. Hitung C 3 = C da 2 mod p...............................(3) Untuk 17 : C 3 = 17 81 mod 101 = 17 Untuk 58 : C3 = 58 81 mod 101 = 97 Untuk 16 : C3 = 16 81 mod 101 = 5 Untuk 75 : C3 = 75 81 mod 101 = 61 Untuk 50 : C3 = 50 81 mod 101 = 3 Untuk 17 : C3 = 17 81 mod 101 = 17 Untuk 62 : C3 = 62 81 mod 101 = 62 Untuk 70 : C3 = 70 81 mod 101 = 85 Untuk 9 : C3 = 9 81 mod 101 = 21

14 Untuk 64 : C3 = 64 81 mod 101 = 23 Untuk 75 : C3 = 75 81 mod 101 = 61 Untuk 17 : C3 = 17 81 mod 101 = 17 Untuk 62 : C3 = 62 81 mod 101 = 62 Untuk 9 : C3 = 9 81 mod 101 = 21 Untuk 87 : C3 = 87 81 mod 101 = 87 Untuk 17 : C3 = 17 81 mod 101 = 17 Untuk 70 : C3 = 70 81 mod 101 = 85 Untuk 17 : C3 = 17 81 mod 101 = 17 Diapat C3 = 17 97 5 61 3 17 62 85 21 23 61 17 62 21 87 17 85 17 3. Kemudian dikirim C3 kepada penerima g. Prorses 2 untuk penerima 1. Terima C3 dari pengirim 2. Dekripsi pesan dengan rumus M = C3 db mod p............... (4) Kemudian konversikan ke tabel ASCII. Untuk 17 : M = 17 93 mod 101 = 65 Untuk 97 : M = 97 93 mod 101 = 78 Untuk 5 : M = 5 93 mod 101 = 68 Untuk 61 : M = 61 93 mod 101 = 73 Untuk 3 : M = 3 93 mod 101 = 75 Untuk 17 : M = 17 93 mod 101 = 65 Untuk 62 : M = 62 93 mod 101 = 32 Untuk 85 : M = 85 93 mod 101 = 77 Untuk 21 : M = 21 93 mod 101 = 85 Untuk 23 : M = 23 93 mod 101 = 76 Untuk 61 : M = 61 93 mod 101 = 73 Untuk 17 : M = 17 93 mod 101 = 65 Untuk 62 : M = 62 93 mod 101 = 32 Untuk 21 : M = 21 93 mod 101 = 85 Untuk 87 : M = 87 93 mod 101 = 84 Untuk 17 : M = 17 93 mod 101 = 65 Untuk 85 : M = 85 93 mod 101 = 77

15 Untuk 17 : M = 17 93 mod 101 = 65 Didapat M = 65 78 68 73 75 65 32 77 85 76 73 65 32 85 84 65 77 65 maka Plaintext = ANDIKA MULIA UTAMA 2.2. Kompresi Pada pembahasan dibawah ini akan dipaparkan mengenai kompresi terkait definisi kompresi, penggunaan kompesi, dan Elias Gamma kompresi. 2.2.1. Definisi Kompresi Kompresi data adalah suatu proses yang dapat mengubah sebuah aliran data masukan (data asli) ke dalam aliran data yang lain (data yang dimampatkan) yang memiliki ukuran yang lebih kecil (Salomon & Motta, 2010). Kompresi merupakan sebuah seni untuk merepresentasikan informasi yang tersusun lebih padat dari pada aslinya atau disebut terkompresi (Kodituwakku & Amarasinghe, 2010). 2.2.2. Penggunaan Kompresi Secara umum terdapat dua golongan kompresi : 1. Kompresi Lossless Algoritma kompresi Lossless adalah jika pada saat proses kompresi tidak ada data yang hilang dan berhasil mengembalikan data dengan utuh. Kompresi ini cocok untuk basis data, dokumen atau spreadsheet (Bhattacharjee et al, 2013). Beberapa algoritma lossless compression yang sudah umum diterapkan antara lain algoritma Huffman, Shannon Fano, RLE LZ77, LZSS, Elias Delta dan Elias Gamma. Dalam hal ini, Elias Gamma merupakan algoritma yang akan digunakan dalam penelitian. 2. Kompresi Lossy Algoritma kompresi Lossy secara umum digunakan untuk melakukan kompresi gambar, suara dan juga video. Pada saat setelah kompresi akan ada data yang hilang. Dengan kata lain, data yang kita kompresi tidak akan utuh seperti semula (Bhattacharjee et al, 2013).

16 Pada suatu teknik yang digunakan dalam proses kompresi data terdapat beberapa faktor atau variabel yang biasa digunakan untuk mengukur kualitas dari suatu teknik kompresi data tersebut (Bhattacharjee et al, 2013), yaitu : 1. Compression Ratio Compression Ratio adalah rasio perbandingan antara file terkompresi dan file asli Compression Ratio = ukuran data setelah dikompresi ukuran data sebelum dikompresi X 100% 2. Ratio of Compression Compression Factor adalah rasio antara file asli dan file setelah dikompresi Compression Factor = ukuran data sebelum dikompresi ukuran data setelah kompresi 3. Space savings (sc) Space savings adalah persentase selisih antara data yang belum dikompresi dengan besar data yang dikompresi. space saving = ukuran data asli ukuran data setelah kompresi x 100% ukuran data asli 4. Waktu Kompresi dan Dekompresi Waktu kompresi dan dekompresi adalah waktu yang dibutuhkan oleh sebuah sistem untuk melakukan proses kompresi dan dekompresi dari mulai pembacaan data hingga proses encoding pada data tersebut. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi itu. 2.2.3. Elias Gamma Elias Gamma Code adalah sebuah algoritma kompresi yang dibuat oleh Peter Elias. Untuk membuat tabel kode Elias Gamma, Elias menambah panjang kode dalam unary(u). Dalam kode berikutnya, E ditambahkan pada panjang kode (M) dalam biner

17 (β). Dengan demikian, Elias Gamma Code, yang juga untuk bilangan bulat positif, sedikit lebih kompleks untuk dibangun (Salomon, 2007). Kode Elias Gamma tampak pada tabel 2.3 dibawah ini : Tabel 2.3 Kode Elia Gamma(Salomon, 20007) N Kode Elias Gamma n Kode Elias Gamma 1 1 10 0001010 2 010 11 0001011 3 011 12 0001100 4 00100 13 0001101 5 00101 14 0001110 6 00110 15 0001111 7 00111 16 000010000 8 0001000 17 000010001 9 0001001 18 000010010 Keterangan tabel 2.3 diatas : n = nilai index karakter Adapun aturan untuk mengkodekan sebuah bilangan dengan menggunakan Elias Gamma (Salomon & Motta, 2010) adalah sebagai berikut : 1. Tulis bilangan (n) tersebut dalam bentuk biner (β), 2. Hitung jumlah bit β(n) sebagai (M) dan hapus satu bit β(n) paling kiri. 3. Bentuk kode unary u(m) adalah (M-1) dikali dengan bit nol ditambah bit satu 4. Gabungkan kode u(m) dan β(n). Sebagai contoh ambil sebuah n = 13. Nilai biner dari 13 adalah β(13) = 1101. Maka dihitung panjang biner n = 13 sebagai nilai M yaitu 4. Dihapus satu bit paling kiri dari β(13) sehingga sama dengan 101. Dihitung nilai u(m) = 0001, gabungkan kode u(m) dan β(13) yaitu 0001101 (Salomon & Motta, 2010). Berikut ini adalah contoh perhitungan kompresi dengan menggunakan Elias Gamma Code. Dalam hal ini, string yang akan dikompresi ANDIKA MULIA UTAMA. Perhitungan seperti terlihat dibawah ini : 1. Dilakukan pembacaan string ANDIKA MULIA UTAMA

18 2. Dilakukan pengurutan karakter dari tertinggi ke terendah menurut frekuensi kemunculan karakter 3. Dilakukan konversi nilai karakter pada tabel ASCII kedalam bentuk bilangan biner. Pada tabel 2.4 dibawah ini diperlihatkan perhitungan karakter : Tabel 2.4 Perhitungan karakter sebelum kompresi n Char ASCII ASCII(2) Bit F bit x F 1 A 65 1000001 8 5 40 2 I 73 1001001 8 2 16 3 Space 32 0100000 8 2 16 4 M 77 1001101 8 2 16 5 U 85 1010101 8 2 16 6 N 78 1001110 8 1 8 7 D 68 1000100 8 1 8 8 K 75 1001011 8 1 8 9 L 76 1001100 8 1 8 10 T 84 1010100 8 1 8 Jumlah 144 bit Keterangan tabel 2.4 diatas : n = nilai index karakter Char = karakter yang muncul ASCII = nilai ASCII karakter dalam desimal ASCII(2) = nilai ASCII karakter dalam biner F = frekuensi kemunculan karakter 4. Proses kompresi algoritma Elias Gamma sebagai berikut : a. Ubah bilangan n kedalam bentuk biner (n) Untuk n = 1 kode biner = 12 (karakter A) Untuk n = 2 kode biner = 102 (karakter I) Untuk n = 3 kode biner = 112 (karakter Space) Untuk n = 4 kode biner = 100 2 (karakter M) Untuk n = 5 kode biner = 1012 (karakter U)

19 Untuk n = 6 kode biner = 1102 (karakter N) Untuk n = 7 kode biner = 1112 (karakter D) Untuk n = 8 kode biner = 10002 (karakter K) Untuk n = 9 kode biner = 10012 (karakter L) Untuk n = 10 kode biner = 11002 (karakter T) b. Dihitung panjang bilangan biner (n) sebagai M dan dihapus satu bit paling kiri dari (n). Pada tabel 2.5 dibawah ini diperlihatkan perhitungan panjang biner Tabel 2.5 Perhitungan panjang biner N Char M (n) 1 A 1 {} 2 I 2 0 3 Space 2 1 4 M 3 00 5 U 3 01 6 N 3 10 7 D 3 11 8 K 4 000 9 L 4 001 10 T 4 100 c. Menghitung kode unary u(m) dengan menggunkan rumus u(m) = (M- 1)* 0 + 1 dan kemudian membentuk kode Elias Gamma dengan menggabungkan u(m) + (n). Perhitungan u(m) seperti terlihat pada tabel 2.6 dibawah ini : Tabel 2.6 Perhitungan u(m) dan kode Elias Gamma n char M (n) u(m) =(M-1)* 0 + 1 Elias Gamma code 1 A 1 {} 1 1 2 I 2 0 01 010 3 Space 2 1 01 011 4 M 3 00 001 00100

20 n char M (n) u(m) =(M-1)* 0 + 1 Elias Gamma code 5 U 3 01 001 00101 6 N 3 10 001 00110 7 D 3 11 001 00111 8 K 4 000 0001 0001000 9 L 4 001 0001 0001001 10 T 4 010 0001 0001010 Sehingga didapat hasil komresi per karakter string sebagai berikut : A N D I K A Sp M U L I A Sp U 1 00110 00111 010 0001000 1 011 00100 00101 0001001 010 1 011 00101 T A M A 0001010 1 00100 1 5. Proses dekompresi Elias Gamma sebagai berikut : a. Masukan kode Elias Gamma karakter n sebagai Ei b. Ambil jumlah digit 0 sebelum digit 1 pertama Ei sebagai N c. Ambil bit biner setelah digit 1 sebagai bilangan bulat desimal L d. Menghitung keluaran karakter n dengan menggunakan n = 2 n + L Untuk E(1) = 1 maka n = 2 0 + 0 = 1 (karakter A) Untuk E(2) = 010 maka n = 2 1 + 0 = 2 (karakter I) Untuk E(3) = 011 maka n = 2 1 + 1 = 3 (karakter Space) Untuk E (4) = 00100 maka n = 2 2 + 0 = 4 (karakter M) Untuk E(5) = 00101 maka n = 2 2 + 1 = 5 (karakter U) Untuk E(6) = 00110 maka n = 2 2 + 2 = 6 (karakter N) Untuk E(7) = 00111 maka n = 2 2 + 3 = 7 (karakter D) Untuk E(8) = 0001000 maka n = 2 3 + 0 = 8 (karakter K) Untuk E(9) = 0001001maka n = 2 3 + 1 = 9 (karakter L) Untuk E(10) = 0001010 maka n = 2 3 + 2 = 10 (karakter T)

21 2.3. Three-Pass Protocol Three-Pass Protocol adalah sebuah skema kerja yang memungkinkan dua orang melakukan pertukaran pesan tanpa melakukan pertukaran kunci enkripsi. Protokol ini pertama kali dikembangkan oleh Adi Shamir pada tahun 1980 ( Hasdiana,2015). Three-Pass Protocol merupakan suatu cara yang memungkinkan dua orang melakukan penguncian pesan rahasia secara ganda dengan tetap merahsiakan kunci masing masing (Kanamori et al,2009). Pada penjelasan (Kanamori,2009), terdapat tiga tahap pertukaran pesan dalam skema Three-Pass Protocol. Berikut adalah cara kerja Three-Pass Protocol: 1. Alice sebagai pengirim pesan melakukan enkripsi pesan dengan kunci pribadi miliknya. Alice kemudian mengirimkan pesan yang telah dienkripsi (C 1 ) kepada penerima pesan, yaitu Bob. 2. Bob menerima C 1 dan kemudian melakukan enkripsi C 1 menggunakan kunci pribadi miliknya. Bob kemudian mengirimkan pesan C 1 yang telah dienkripsi (C 2 ) kepada Alice. 3. Alice yang menerima C 2 kemudian mendekripsikan pesan C 2 menggunakan kunci pribadi miliknya. Alice kemudian mengirimkan pesan C 2 yang telah didekripsi (C 3 ) kepada Bob. Selanjutnya Bob melakukan dekripsi pesan C 3. Hasil dekripsi pesan C 3 tersebut merupakan plaintext yang dikirimkan Alice. Pada pemaparan (sujiono,2016), cara kerja Three-Pass Protocol tersebut dapat diilustrasikan seperti pada gambar 2.4 : Gambar 2.4 Skema Kerja Three-Pass Protocol

22 Keterangan gambar 2.4 pada halaman 21: : kunci enkripsi oleh Alice : kunci dekripsi oleh Alice : kunci enkripsi oleh Bob : kunci dekripsi oleh Bob 2.4. Black Box Testing Black-Box Testing merupakan pengujian yang berfokus pada spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program (Pressman, 2012). Black Box menentukan perilaku sistem atau bagian sistem. Cara ini melihat bagaiman sistem merespon user dalam menerima inputan yang berbeda (Pressman, 2012). 2.5. Penelitian yang Relevan Beberapa penelitian terdahulu yang relevan dengan penelitian yang akan dilakukan oleh penulis antara lain adalah sebagai berikut: - Arjana, dkk (2012) mengimplementasikan penggunaan algoritma Vignere Cipher untuk mengamankan data pelanggan. Penelitian tersebut membuktikan bahwa algoritma Vignere Cipher berhasil meningkatkan keamanan data dan keakuratan informasi. - Haramaini (2014) telah berhasil mengimplementasikan algoritma One Time Pad dengan menggunakan Three-Pass Protocol. Pada penelitian tersebut dijelaskan bahwa algoritma One Time Pad tidak cukup aman jika diimplementasikan dengan Three-Pass Protocol sehingga diperlukan sedikit pengembangan yang dilakukan untuk meningkatkan keamanan algoritma ini. Pengembangan yang dilakukan peneliti adalah dengan menambah panjang range bilangan prima yang akan diacak, sehingga perulangan kunci yang digunakan akan semakin sulit untuk ditebak. - Implementasi algoritma One Time Pad dapat menjaga keamanan dan kerahasiaan data yang tersimpan pada sebuah aplikasi berbasis web. Selain itu, pengimplementasian algoritma ini juga mampu memastikan bahwa user yang

23 menggunakan aplikasi adalah user yang benar-benar memiliki wewenang untuk mengakses informasi tersebut (Mulyono & Rodiah, 2013). - Sebayang (2014) berhasil mengimplementasikan kombinasi dua algoritma kriptografi klasik pada Three-Pass Protocol, kedua algoritma tersebut adalah Beaufort Cipher dan Affine Cipher. Penelitian ini membuktikan bahwa mekanisme Three-Pass Protocol dapat diimplementasikan menggunakan dua algoritma sekaligus. - Widiasari (2012) mengombinasikan algoritma kriptografi Advanced Encryption Standard (AES) dan One Time Pad dalam mengamankan data. Kombinasi kedua algoritma menghasilkan keamanan data yang baik dengan ukuran file yang sama baik sebelum maupun setelah proses enkripsi. - Hardiyana (2013) berhasil mengimplementasikan algoritma Massey-Omura dengan teknik steganografi kombinasi END OF FILE (EOF) dan FIRST OF FILE (FOF) untuk keamanan data.