• Tidak ada hasil yang ditemukan

Implementasi Algoritma ADFGVX Cipher dan Knapsack Dalam Pengamanan Data Teks

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma ADFGVX Cipher dan Knapsack Dalam Pengamanan Data Teks"

Copied!
10
0
0

Teks penuh

(1)

2.1 Kriptogafi

Kriptografi merupakan bidang ilmu yang mempelajari tentang metode untuk mengirim pesan secara rahasia (yaitu di enkripsi atau disamarkan) sehingga hanya penerima pesan yang dituju yang dapat menghapus penyamaran dan membaca pesan (atau memahaminya). Secara etimologi kriptografi berasal dari bahasa yunani, cryptos yang berarti tersembunyi, dan graphein yang berarti menulis. Dalam kriptografi pesan yang akan dirahasiakan disebut plainteks dan pesan yang sudah dirahasiakan disebut cipherteks. Proses pengubahan plainteks menjadi cipherteks disebut enkripsi, sebaliknya proses pengubahan cipherteks menjadi plainteks yang dilakukan oleh penerima pesan disebut dekripsi (Mollin, R.A. 2007). Skema rangkaian proses enkripsi dan dekripsi secara umum ditunjukkan pada Gambar 2.1.

Gambar 2.1. Skema Proses Enkripsi dan Dekripsi

2.1.1 Tujuan Kriptografi

Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan informasi yaitu:

1) Privacy/Confidentiality yaitu usaha menjaga informasi dari orang yang tidak berhak mengakses.

Enkripsi

Plainteks Cipherteks

(2)

2) Integrity yaitu usaha untuk menjaga data atau sistem tidak bisa diubah oleh pihak yang tidak berhak.

3) Authentication usaha atau metode untuk mengetahui keaslian dari informasi, misalnya apakah informasi yang dikirim dibuka oleh orang yang benar atau layanan dari server yang diberikan benar dari server yang dimaksud.

4) Availability yaitu berhubungan dengan ketersediaan sistem dan data ketika data dibutuhkan.

2.1.2 Jenis-Jenis Algoritma Kriptografi

Ada dua jenis algoritma kriptografi yaitu algoritma simetris dan algoritma asimetris. Pada kriptografi simetris maupun kriptografi asimetris tidak ada keamanan yang bisa terjamin tanpa syarat. Suatu metode enkripsi tidak ada yang praktis. Maka, untuk semua protokol pada kriptografi, keamanan bergantung pada asumsi perhitungan (Pointcheval. David. 2002).

1) Kriptografi Simetris

Algoritma klasik (sebutan untuk algoritma simetris) merupakan algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Algoritma simetris juga sering disebut one key/ private key/ single key karena memiliki kunci yang sama untuk proses enkripsi dan dekripsi (Sembiring, Dira Fahrendy 2013). Kemanan algoritma simetris berada pada kunci, agar komunikasi tetap aman maka kunci harus tetap dirahasiakan. Contoh algoritma simetris One Time Pad, ADFGVX Cipher, Affine Cipher, dan lainnya. Proses enkripsi dan dekripsi

algoritma simetris dapat dilihat pada Gambar 2.2.

Gambar 2.2. Skema Algoritma Simetris (Hayanti, Disa 2013)

2) Kriptografi Asimatris

Enkripsi Dekripsi

Plainteks Cipherteks Plainteks

(3)

Algoritma asimetris (public key) merupakan algoritma kriptografi yang menggunakan sepasang kunci dalam melakukan enkripsi dan dekripsi, yaitu kunci publik (public key) dan kunci privat (private key). Dalam algoritma simetris kunci publik bisa disebar-luaskan sedangkan kunci privat harus tetap dirahasiakan (Kromodimoeljo, S. 2010). Kunci publik digunakan untuk proses enkripsi plainteks, dan kunci privat digunakan untuk proses dekripsi. algoritma yang digunakan untuk kriptografi public key berdasarkan pada relasi matematika (Sachdeva, Komal. 2013).

Hampir semua skema kunci publik hanya digunakan untuk mengenkripsi pesan yang singkat, seperti mengenkripsi kunci. Hal tersebut dikarenakan skema dari kunci publik kurang efisien jika digunakan untuk mengenkripsi data dalam jumlah yang besar. Kemudian data dalam jumlah besar dienkripsi dengan menggunakan algoritma simetris. Pendekatan seperti ini disebut dengan skema enkripsi hybrid (Smart, N.P. 2016). Contoh algoritma asimetris yaitu Rivest-Shamir-Adlenan (RSA), El-gamal, Knapsack, Rabin dan lainnya. Proses enkripsi dan dekripsi dari algoritma asimetris dapat dilihat pada Gambar 2.3.

Gambar 2.3. Skema Algorima Asimetris

2.2 ADFGVX Cipher

Algoritma ADFGVX Cipher ini merupakan algoritma yang ditemukan oleh seorang petugas radio tentara Jerman yang bernama Fritz Nebel (1891-1967) (Sihotang, Rajab. 2014). untuk menggunakan ADFGVX Cipher, dimulai dengan sebuah matriks 6x6. Matriks tersebut diisi dengan alphabet dan nomor 0-9 yang disusun secara acak. ADFGVX chiper dipertimbangkan sebagai algoritma yang cukup aman karena algoritma ini mengkombinasikan dua kelebihan rata-rata algoritma kriptografi, yaitu substitusi yang baik dan transposisi yang unggul dalam sebuah sistem (Manoharan,

Enkripsi Dekripsi

Plainteks Cipherteks Plainteks

(4)

karena refresentatif huruf-huruf tersebut sangatlah berbeda dalam sandi morse (Mollin, R.A. 2007).

2.2.1 Enkripsi ADFGVX Cipher

Berikut adalah langkah-langkah dalam melakukan enkripsi dengan menggunakan algoritma ADFGVX Cipher:

1) Tentukan kata yang akan dienkripsi (plainteks) yang terdiri dari angka dan

hurup misal “HARAHAP289”

2) Buat sebuah tabel 6x6 yang berisi 26 huruf dan 10 angka, seperti pada Tabel

2.1.

Tabel 2.1. Tabel ADFGVX Cipher

A D F G V X

A F E D C B A

D G H I J K L

F R Q P O N M

G S T U V W X

V 3 2 1 0 Z Y

X 4 5 6 7 8 9

3) Setiap huruf dalam plainteks disubstitusi menjadi dua huruf berdasarkan baris dan kolom, misal huruf K menjadi DV. Jika plainteks-nya adalah

“HARAHAP289” maka hasil substitusinya adalah DD AX FA AX DD AX FF

VD XV XX.

4) Tentukan kata kunci yang terdiri dari huruf saja. Kunci ini akan digunakan pada proses tranposisi. Misal kunci yang digunakan adalah ILKOM. Maka buatlah sebuah tabel baru dan tuliskan kata kunci di baris pertama. Kemudian tulis hasil substitusi plainteks dibawahnya berurutan dari kanan kemudian kebawah jika ada sisa maka diisi dengan huruf x atau sesuai dengan kesepakatan, seperti pada Tabel 2.2.

Tabel 2.2 Tabel Kunci Enkripsi ADFGVX Cipher

(5)

1 2 3 4 5

D D A X F

D D X A A

A X F F V

X X V X D

5) Selanjutnya urutkan kolom pada kata kunci berdasarkan alphabet. Maka ILKOM menjadi IKLMO sehingga menjadi seperti pada Tabel 2.3.

Tabel 2.3. Perubahan Posisi Kunci ADFGVX Cipher

I K L M O

1 3 2 5 4

D A D F X

D X D A A

A F X V F

X V X D X

6) Cipherteksnya adalah huruf-huruf yang berada dikolom pertama dan seterusnya. Maka cipherteks dari HARAHAP289 adalah DDAXAXFVDDXX FAVDXAFX.

2.2.2 Dekripsi ADFGVX Cipher

1) Lakukan pemisahan cipherteks dengan cara membagi jumlah huruf yang ada pada cipherteks dengan jumlah huruf yang ada pada kunci. Kita memiliki pesan cipherteks DDAXAXFVDDXXFAVDXAFX dan misalkan kita memiliki kunci ILKOM. Maka kita dapat membagi tiap kelompok terdiri dari 20/5= 4 huruf, menjadi DDAX AXFV DDXX FAVD XAFX

2) Selanjutnya, urutkan kunci sesuai alphabet, maka ILKOM menjadi IKLMO, seperti pada Tabel 2.4.

Tabel 2.4 Tabel Kunci Dekripsi ADFGVX Cipher

(6)

1 3 2 5 4

D A D F X

D X D A A

A F X V F

X V X D X

3) Urutkan kolom-kolom yang ada pada tabel 2.4 menjadi kata kunci yang kita miliki, seperti pada Tabel 2.5.

Tabel 2.5 Tabel Kunci Dekripsi ADFGVX Cipher sesuai Urutan

I L K O M

1 2 3 4 5

D D A X F

D D X A A

A X F F V

X X V X D

4) Lakukan pembacaan secara berurutan kekanan kemudian kebawah DDAXFAAXDDAXFFVDXVXX.

5) Langkah terakhir adalah mencari padanan karakter dari dua huruf yang kita dapatkan dengan tabel ADFGVX, seperti pada Tabel 2.6.

Tabel 2.6. Tabel ADFGVX Cipher

A D F G V X

A F E D C B A

D G H I J K L

F R Q P O N M

G S T U V W X

(7)

X 4 5 6 7 8 9

6) Dengan mencari padanan karakter pada Tabel 2.6 maka kita dapatkan pesan HARAHAP289.

2.3 Algoritma Knapsack

Algoritma knapsack merupakan algoritma kunci publik (asimetris) yang keamanannya terletak pada sulitnya memecahkan persoalan knapsack (knapsack problem). Knapsack problem merupakan permasalahan bagaimana cara mengisi knapsack (ransel) yang mempunyai kapasitas tertentu dengan sekumpulan benda yang berbeda-beda ukurannya sehingga knapsack terisi penuh sesuai dengan kapasitas (Kromodimoeljo, S. 2010). Masing-masing benda memiliki nilai dan berat yang sudah diasosiasikan di dalamnya. Jadi, nilai pada seluruh item dapat dimaksimalkan dan beratnya tidak menambah kapasitas total pada knapsack (Agarwal, Ashish. 2011).

2.3.1 knapsack problem

Jika m adalah bobot knapsack dan n adalah banyaknya objek yang masing-masing mempunyai bobot W1, W2, …, Wn. tentukan nilai bi untuk i = 1, 2, 3, …, n sedemikian sehingga

M = b1W1 + b2W2 + …. + bnWn……… (Pers 1)

Yang dalam hal ini bi hanya bernilai 0 dan 1. Jika b = 1 maka objek i dimasukkan kedalam knapsack, sebaliknya jika b = 0, maka tidak dimasukkan ke dalam knapsack (Sembiring, Dira Fahrendy. 2013). Ada dua jenis algoritma knapsack, yaitu:

a) Algoritma knapsack sederhana

Ide dasar dari knapsack ini adalah mengkodekan pesan sebagai rangkaian solusi dari persoalan knapsack. Setiap bobot W1 dalam persoalan knapsack merupakan kunci privat sedangkan bit-bit plainteks merupakan b1.

(8)

Algoritma yang digunakan untuk membangkitkan kunci publik dan kunci privat dalam Superincreasing knapsack:

1) Tentukan barisan superincreasing dimana setiap nilai di dalam barisan lebih besar daripada jumlah semua nilai sebelumnya.

2) Jumlahkan semua nilai di dalam barisan, kemudian bandingkan total nilai dengan nilai terbesar di dalam barisan. Jika nilai terbesar lebih kecil atau sama dengan total nilai maka ia dimasukkan ke dalam knapsack, jika tidak maka ia tidak dimasukkan.

3) Kurangi total nilai dengan nilai terbesar yang telah dimasukkan. Kemudian bandingkan total nilai sekarang dengan nilai terbesar selanjutnya, demikian seterusnya sampai semua nilai dalam barisan selesai dibandingkan.

4) Jika bobot total sama dengan nol maka terdapat solusi persoalan superincreasing knapsack. sebaliknya jika bobot total tidak sama dengan nol

maka tidak ada solusinya.

2.3.2 Enkripsi superincreasing knapsack

Mula-mula plainteks dipecah menjadi blok bit yang panjangnya sama dengan kardinalitas barisan kunci publik. Kalikan setiap bit di dalam blok dengan elemen yang berkoresponden dengan nilai di dalam kunci publik.

Contoh:

Kita gunakan kunci ADFGVX cipher diatas sebagai barisan plainteks yaitu : ILKOM Misal A = 0, B = 1, …. Z = 25, maka:

Sehingga didapatkan plainteks: 0100001011010100111001100 yang akan di enkripsi menggunakan kunci privat sebagai berikut:

Barisan superincreasing (w) ={1, 2, 4, 8, 16} m = 75

n = 14

(9)

Sehingga:

(1 x 14) mod 75 = 14 (2 x 14) mod 75 = 28 (4 x 14) mod 75 = 56 (8 x 14) mod 75 = 37 (16 x 14) mod 75 = 74

Maka kunci publik yang didapatkan adalah {14, 28, 56, 37, 74}.

Kemudian plainteks dibagi menjadi blok dengan panjang 5 (panjang kunci publik), kemudian setiap bit di dalam blok dikalikan dengan elemen yang berkoresponden dengan kunci publik, sebagai berikut:

Blok plainteks 1: 01000 Kriptogram: (1 x 28) = 28 Blok plainteks 2: 01011

Kriptogram: (1 x 28) + (1 x 37) + (1 x 74) = 139 Blok plainteks 3: 01010

Kriptogram: (1 x 28) + (1 x 37) = 65 Blok plainteks 4: 01110

Kriptogram: (1 x 28) + (1 x 56) + (1 x 37) = 121 Blok plainteks 5: 01100

Kriptogram: (1 x 28) + (1 x 56) = 84

Jadi, cipherteks yang dihasilkan: 28, 139, 65, 121, 84

2.3.3 Dekripsi superincreasing knapsack

(10)

Tabel 2.7. Perhitungan Inversi n modulo m

n-1 n.n-1 (mod m) 1 14.1 (mod 75) = 14 2 14.2 (mod 75) =24 3 14.3 (mod 75) = 42 4 14.4 (mod 75) = 56

. . . .

59 14.59 (mod 75) = 1

Dapatlah n-1 yaitu 59. Maka plainteks yang berkoresponden dengan {1, 2, 4, 8, 16} diperoleh kembali dengan cara menggunakan algoritma superincreasing sebagai berikut:

Temp : (cipherteks x n-1) mod m

(28 x 59) mod 75 = 2 = 2, berkoresponden dengan 01000

(139 x 59) mod 75 = 26 = 16 + 8 + 2, berkoresponden dengan 01011 (65 x 59) mod 75 = 10 = 8 + 2, berkoresponden dengan 01010 (121 x 59) mod 75 = 14 = 8 + 4 + 2, berkoresponden dengan 01110 (84 x 59) mod 75 = 6 = 4 + 2, berkoresponden dengan 01100

Sehingga painteks yang dihasilkan adalah 0100001011010100111001100, dimana

01000 = 8, berkoresponden dengan huruf “I” 01011 = 11, berkoresponden dengan huruf “L” 01010 = 10, berkoresponden dengan huruf “K”

01110 = 14, berkoresponden dengan huruf “O”

Gambar

Gambar 2.2.  Skema Algoritma Simetris (Hayanti, Disa 2013)
Gambar 2.3. Skema Algorima Asimetris
Tabel 2.1. Tabel ADFGVX Cipher
Tabel 2.3. Perubahan Posisi Kunci ADFGVX Cipher
+3

Referensi

Dokumen terkait

Algoritma kriptografi Rijndael bersifat simetris itu artinya kunci yang digunakan pada saat enkripsi dan dekripsi sama, oleh sebab itu pengguna harus terlebih dahulu menyepakati

Dapat dilihat ciphertext yang dihasil dari algoritma Playfair Cipher klasik dengan Playfair Cipher Modifikasi teknik pemutaran kunci dua arah memiliki

Algoritma asimetris atau biasa disebut algoritma kunci publik dirancang sedemikian sehingga kunci yang digunakan untuk mengenkripsi dan mendekripsi berbeda.Kunci dekripsi tidak

Penggunaan kunci ditunjukkan sebagai berikut, dalam contoh ini kunci yang digunakan adalah “SITEPU” maka matriks yang dihasilkan dari kunci tersebut dapat dilihat pada gambar

Algoritma Caesar cipher akan mengenkripsi plainteks dengan cara menggeser posisi plainteks sebanyak jumlah kunci yang biasanya menggunakan huruf alfabetik dari A ± Z

Teknik transposisi menggunakan permutasi karakter, yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaca kecuali orang yang memiliki kunci untuk

Perancangan Aplikasi Pembelajaran Kriptografi Kunci Publik ElGamal Untuk Mahasiswa. Universitas

Pada penelitian ini kriptografi hibrida menggunakan algoritma affine cipher.. sebagai session key, dan untuk mengamankan kunci affine cipher