• Tidak ada hasil yang ditemukan

Implementasi Algoritma Massey-Omura dan Algoritma Elias Gamma pada Simulasi Three-Pass Protocol

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Massey-Omura dan Algoritma Elias Gamma pada Simulasi Three-Pass Protocol"

Copied!
18
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1Kriptografi

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).

(2)

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

(3)

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 :

(4)

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 :

(5)

b. Pada saat menerima pesan, Bob mengirimkan MeAeB kembali ke Alice (perhatikan bahwa saat ini, Bob tidak bisa membaca pesan Alice M)

c. Alice mengirim MeAeBdA = MeB kepada Bob, Bob kemudian menghitung

MdBeB = 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 :

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 :

(6)

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 3. Tentukan pesan yang akan dikirim, lalu konversikan dengan tabel

ASCII.

Plaintext = “ANDIKA MULIA UTAMA”

(7)

Untuk T : C1 = 8421 mod 101 = 84 Untuk A : C1 = 6521 mod 101 = 65 Untuk M : C1 = 7721 mod 101 = 45 Untuk A : C1 = 6521 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

(8)
(9)

Untuk 64 : C3 = 6481 mod 101 = 23 3. Kemudian dikirim C3 kepada penerima

(10)

Untuk 17 : M= 1793 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

(11)

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

� � � � = � %

2. Ratio of Compression

Compression Factor adalah rasio antara file asli dan file setelah dikompresi

� � � =

3. Space savings (sc)

Space savings adalah persentase selisih antara data yang belum dikompresi dengan besar data yang dikompresi.

� = � − ℎ �� %

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

(12)

(β). 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

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 :

(13)

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

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)

(14)
(15)

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 = 2n + L

(16)

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 merupakansuatu 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 (� ) kepada penerima pesan, yaitu Bob.

2. Bob menerima � dan kemudian melakukan enkripsi � menggunakan kunci pribadi miliknya. Bob kemudian mengirimkan pesan � yang telah dienkripsi (� ) kepada Alice.

3. Alice yang menerima � kemudian mendekripsikan pesan � menggunakan kunci pribadi miliknya. Alice kemudian mengirimkan pesan � yang telah didekripsi (� ) kepada Bob. Selanjutnya Bob melakukan dekripsi pesan � . Hasil dekripsi pesan � tersebut merupakan plaintext yang dikirimkan Alice. Pada pemaparan (sujiono,2016), cara kerja Three-Pass Protocol tersebut dapat diilustrasikan seperti pada gambar 2.4 :

(17)

Keterangan gambar 2.4 pada halaman 21:

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.

(18)

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

Gambar

Gambar 2.2 Simulasi Algoritma Simetris
Tabel 2.1 Perhitungan nilai dA
Tabel 2.3 Kode Elia Gamma(Salomon, 20007)
Tabel 2.5 Perhitungan panjang biner
+2

Referensi

Dokumen terkait

Setiap orang berhak atas pekerjaan, atas pilihan pekerjaan secara bebas, atas kondisi-kondisi kerja yang adil dan menguntungkan serta atas perlindungan dari pengangguran. Setiap

Skripsi yang berjudul “Pengaruh Inflasi, Suku Bunga, dan Nilai Tukar Terhadap Indeks Jakarta Islamic Index (JII) periode Januari 2010- November 2015” ini ditulis

Pada plant 3 tersebut diperlukan pengukuran kapasitas yang akurat, sehingga perlu dilakukan perhitungan kapasitas pada moulding center dan pouring center serta

Sebaliknya instrumen observasi mempunyai keterbatasan dalam menggali informasi yang berupa pendapat dari subjek yang diteliti, untuk memaksimalkan hasil

Hasil penelitian menunjukkan terselenggarnya penerapan metode pekerja sosial yang dilakukan oleh pekerja sosial di Unit Pelaksana Teknis Pelayanan Anak dan Remaja yang

Angket ini saya maksudkan sebagai alat pengumpulan data dalam rangka menyusun skripsi yang berjudul “ Etos Kerja Penenun dalam Meningkatkan Status Ekonomi (Studi Deskriptif

Online game and quiz ini merupakan aplikasi yang didasarkan pada: (a) karakteristik user , karena user nya adalah mahasiswa maka model butir soal yang digunakan disesuaikan

Dari hasil tersebut, diduga konsentrasi 7 mL/100 mL dan 8 mL/100 mL infusa daun sirih secara statistik merupakan konsentrasi optimal dan paling efektif untuk membunuh