• Tidak ada hasil yang ditemukan

IMPLEMENTASI KEAMANAN DATA TEKS DENGAN ALGORITMA MODIFIKASI CAESAR CIPHER DAN MENGKOMPRESI FILE MENGGUNAKAN ALGORITMA SHANNON FANO

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI KEAMANAN DATA TEKS DENGAN ALGORITMA MODIFIKASI CAESAR CIPHER DAN MENGKOMPRESI FILE MENGGUNAKAN ALGORITMA SHANNON FANO"

Copied!
5
0
0

Teks penuh

(1)

69

IMPLEMENTASI KEAMANAN DATA TEKS DENGAN ALGORITMA

MODIFIKASI CAESAR CIPHER DAN MENGKOMPRESI FILE

MENGGUNAKAN ALGORITMA SHANNON FANO

Sinar Perkasa1, Muhammad Syahrizal2, Pandi Barita Nauli Simangunsong3

1 Mahasiswa Teknik Informatika, STMIK Budi Darma 2 Dosen Tetap STMIK Budi Darma

3 Dosen Tetap AMIK STIEKOM Sumatera Utara 1,2 Jl. Sisimangaraja No.338 Simpang Limun Medan

3 Jl. Abdul Haris Nasution NO. 19 Medan

ABSTRAK

Caesar cipher adalah sebuah algoritma klasik pada kriptografi yang ditemukan oleh Julius Caesar pada zaman Romawi kuno. Algoritma ini memiliki konsep merubah pesan awal berdasarkan kunci yang ditambahkan, dan jauh pergeseran symbol tergantung pada nilai dari kunci tersebut. Shannon fano adalah algoritma untuk megkompresi suatu pesan (teks)yang mana proses kompresi sangat bergantung pada probabilitas dari setiap symbol yang muncul berdasarkan urutan kehadirnya,kemudian akan membentuk sebuah pohon (tree) untuk mengetahui panjang kode dari setiap symbol.

Kata kunci: Kriptografi, Kompresi, Caesar Cipher, Shannon Fano, pesan teks.

I. PENDAHULUAN

Kriptografi adalah cara menyembunyikan pesan dengan menyisipkan kunci kedalam setiap karakter pesan yang akan diamankan, agar orang tidak dapat dengan mudah membacanya bahkan,orang tidak akan menduga bahwa itu adalah karakter yang memiliki arti. Tujuanya adalah menjaga keaslian,dan keamanan dari pesan tersebut dari penyadap. Namun kriptografi ini dapat dipelajari secara umum, jadi tidak menutup kemungkinan penyadap juga mengetahui banyak jenis-jenis algoritma dari kriptografi. Walaupun demikian,ia tidak mengetahui kunci apa yang kita gunakan dalam proses enkripsi pesan tersebut sehingga dibutuhkan waktu yang cukup lama untuk ia apat menebak algoritma apa yang diterapkan pada pesan dan kuncinya.

Kompresi adalah metode untuk memperkecil ukuran suatu pesan, namun tanpa merubah bentuk dan makna dari pesan tersebut. Kompresi ini sangat diperlukan untuk memperkecil pesan yang telah diamankan (Ciphertext), karena Ciphertext

merupakan pesan awal yang telah ditambahkan dengan kunci,secara otomatis ukuran pesan akan bertambah besar. Solusi yang tepat adalah dengan metode kompresi.

Penerapan kedua metode ini sangat baik untuk mengamankan pesan, karena setelah menerapkan kedua metode ini pesan dapat terjaga keamananya dan juga memiliki ukuran yang kecil

sehingga dapat menghemat memori

penyimpanandan biaya pengiriman dari pesan tersebut.

Caesar cipher adalah jenis algoritma subsitusi, yang setiap karakter yang dilakukan proses enkripsi akan berganti pada karakter yang lain tergantung pada nilai kunci yang ditambahkan pada karakter pesan awal (plaintext), agar penerima dapat membaca pesan tersebut maka ia harus melakukan proses dekripsi yaitu pengembalian

Ciphertext (karakter yang telah ter-enkripsi) ke bentuk semula (plaintext).

II. TEORITIS 1. Kriptografi

Kriptografi (cryptography) berasal dari bahasa Yunani yaitu dari kata Crypto dan graphia yang berarti “penulisan rahasia”. Kriptografi adalah ilmu ataupun seni yan mempelajari bagaimana membuat suatu pesan yang dikirim oleh pengirim dapat sampai kepada penerima dengan aman. Kriptografi bagian dari suatu cabang ilmu matematika yang disebut dengan kriptologi (cryptology). (Emy Setyaningsih, 2015).

Kriptografi bertujuan menjaga kerahasiaan informasi yang terkandung dalam data sehingga informasi tersebut tidak diketahui oleh pihak yang tidak sah. Kriptanalisis (cryptanalysis) adalah suatu ilmu dan seni membuka (breacking) ciphertext

menjadi plaintext tanpa mengetahui kunci yang digunakan. Pelaku kriptanalisis disebut dengan kriptanalis (cryptanalyst). Kriptanalis merupakan “lawan” dari kriptografer. Persamaan kriptanalis dan kriptografer adalah sama-sama menerjemahkan

ciphertext menjadi plaintext. Sementara perbedaan antara kriptanalis dengan kriptografer adalah kriptanalis bekerja atas nama penyadap yang tidak berhak, kriptografer bekerja atas legimitasi pengirim atau penerima pesan (Emy Setyaningsih, 2015).

2. File Teks

File teks merupakan file yang berisi informasi-informasiyang disajikan dalam bentuk teks yang merupakan kumpulan dari karaktek-karakter atau string yang menjadi satu kesatuan sedangkan string merupakantipe data yang digunakan untuk menggambarkan atau mempresentasikan kumpulan karakter (huruf,angka,symbol) (Josua Marinus

(2)

70

Silaen. Pelita Informatika Budi Darma, Volume : VII, Nomor: 1, Juli 2014).

3. Caesar Cipher

Caesar cipher merupakan teknik kriptografi dan enkripsi yang sudah ada sejak zaman Julius Caesar. Cipher ini dirancang sendiri oleh Julius Caesar untuk mengirim pesan kepada Cleopatra. Enkripsinya menggunakan pergeseran karakter 3 langkah ke kiri dari karakter A-Z

A D

B E

C F dan seterusnya

Jadi untuk setiap Cipher pergeseran karakter ke-i pada alphabet menjadi karakter ke-i+kpada urutan alphabet inilah yang disebut Caesar Cipher

𝑃𝑖 : A B C D E F G H I J K L M N O P Q R S

T U V W X Y Z

𝐶𝑖 :D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Caesar cipher merupakan contoh sederhana dari teknik enkripsi, dimana setiap karakter alphabet digantikan dengan karakter lain dengan panjang alphabet sebanyak 26 karakter.teknologi diatas tidak dapat lagi digunakan dizaman sekarang karena terlalu sederhana. Secara umum rumus pergeseran Caesar cipher adalah sebagai berikut. Jika diketahui

P = C =K =𝑍26.(x,y ϵ𝑍26),dimana 0 ≤ K≤ 25;

1. Formula encipher adalah 𝐸𝑘(x) = x+K mod 26 2. Formua decipher adalah 𝐷𝑘(x) = y-K mod 26

Jika setiap karakter dapat diasumsikan sebagai salah satu ordinal dengan menggunakan modulo 26, karakter dapat diilustarasikan seperti tabel dibawah:

Tabel 1. konversi karakter ke i dari 0-25 A B C D E F G H I J K L M N O 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 P Q R S T U V W X Y Z 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 Sumber: Emy Setyaningsih, 2015, 74.

Jika digunakan 256 karakter ASCII: 1. Enkripsi: 𝐶𝑖= E(𝑃𝑖) =(𝑃𝑖+ K) mod 256

2. Dekripsi : 𝑃𝑖= D (𝐶𝑖) = (𝐶𝑖− 𝐾)𝑚𝑜𝑑 256. Keterangan:

K = Kunci (key)

𝐶𝑖 = Ciphertext (hasil enkripsi) 𝑃𝑖 = Plaintext (pesan awal)

D= Dekripsi (pengembalian Ciphertext ke

Plaintext)

E= Enkripsi(merubah plaintext ke Ciphertext). (Emy Setyaningsih,2015).

4. Shannon Fano

Suatu metode yang dikenal pertama kali ,mampu melakukan pengkodean terhadap symbol secara efektif adalah metode Shannon fano. Metode ini dikembangkan secara bersamaan oleh Claude Shannon dari Bell Labs dan RM Fano dari MIT. Metode ini tergantung apada probabilitas dari setiap symbol yang hadir pada suatu data (pesan). Berdasarkan probabilitas tersebut kemudian dibebtuk daftar kode setiap symbol dengan ketentuan senagai berikut:

1.Setiap symbol berbeda memiliki symbol berbeda.

2.Symbol yang memilki jumlah probabilitas yang rendah memiliki kodejumlah bit yang lebih pendek.

3.Meskipun memiliki panjang kode yang bereda, symbol tetap dapat didekode dengan unik.

Berikut adalah langkah langkah algoritma Shannon Fano:

1. Buatlah daftar peluang atau frekuensi kehadiran setiap symbol dari data(pesan) yang akan didekodekan.

2. Urutkan daftar tersebut menurut frekuensi kehadiran symbol secara menurun(dari symbol yang frekuensi kemunculanya paling banyak sampai dengan frekunsi kemunculanya paling sedikit

3. Bagilah daftar tersebut menjadi dua bagian

denganpembagiandidasari pada jumlah

totalfrekunsi suatun bagian (disebut bagian atas) sedekat mungkin dengan jumlah total frekuensi dengan bagian yang lain (disebut bagian bawah).

4. Daftar bagian atas ditandai dengan digit 0 dan bagian bawah ditandai dengan digit 1. Hal tersebutberarti kode untuk symbol-simbol pada bagian atas akan dimula dengan 0 dan kode untuk symbol-simbol pada bagian bawah akan dimulaidengan 1.

5. Lakukanlah proses secara rekursif langkah 3 dan 4pada bagian atas dan bagian bawah. Bagilah menjadi kelompok kelompokdan tambahkan pada bit-bit pada kode sampai setiap symbol mempunyai kode yang bersesuaian pada pohon tersebut.

III. ANALISA dan PEMBAHASAN

Pengamanan pesan dengan cara menambahkan karakter kunci yang berproses pada setiap bilangan decimal dari setiap karakter pesan teks yang akan diamankan,pesan pesan yang di amankan adalah pesan yang yang rahasia atau hanya dapat diketahui oleh orang-orang yang berwenang atas hal itu, namun dalam peroses penambahahan karakter tersebut terjadi sebuah penambahan memori juga , hal ini sangat mengganggu bila pesan yang disimpan sangat banyak ataupun pesan yang akan

(3)

71

dikirim memiliki ukuran yang besar sehingga bila dibiarkan aka memakan memori penyimpinan terlebih lagi memori yang dimiliki sangat terbatas dan pembengkakan biaya biaya pengiriman juga, maka sangat perlu menerapkan algoritma kriptografi dan algoritma kompresi.

Proses Enkripsi pada pesan teks

Kriptografi memiliki banyak jenis algoritma diantaranya adalah Caesar cipher. Adapun konsep dari Caesar Cipher adalah

1. Semua karakter plaintext diubah menjadi bilangan decimal

2. Lalu dimasukan kedalam rumus Enkripsi: 𝐶𝑖=

E(𝑃𝑖) =(𝑃𝑖+ K) mod 256 maka akan diperoleh

Ciphertext. (pesan ini yang akan dikompresi lalu dikirimkann).

3. Ketika pesan sampai ke penerima, maka penerima harus mengembalikan pesanke bentuk semula atau yang disebut dengan Dekripsi.

4. Proses dekripsi tetap dilakukan pada bilangan decimal dari setiap karakter pesan dengan rumus Dekripsi : 𝑃𝑖= D (𝐶𝑖) = (𝐶𝑖−

𝐾)𝑚𝑜𝑑 256. Contoh kasus:

Amankan sebuah pesan dengan algoritma Caesar Cipher (modular 256) SINAR PERKASA Kunci = 17.

Jawab: Enkripsi: 𝐶𝑖= E(𝑃𝑖) =(𝑃𝑖+ K) mod 256

Keterangan:

K = Kunci (key)

𝐶𝑖 = Ciphertext (hasil enkripsi)

𝑃𝑖 = Plaintext (pesan awal)

D= Dekripsi (pengembalian Ciphertext ke

Plaintext)

E= Enkripsi(merubah plaintext ke Ciphertext). Tabel 2. Bilangan desimal pada setiap simbol

Plaintext Plai nte xt S I N A R P E R K A S A Des ima l 8 3 7 3 7 8 6 5 8 2 8 0 6 9 8 2 7 5 6 5 8 3 7 5 Setelah simbol dirubah ke bilangan decimal maka langkah selanjutnya adalah

1. Enkripsi: 𝐶𝑖= E(𝑃𝑖) =(𝑃𝑖+ K) mod 256 𝐶1= E(𝑃1) =(𝑃1+ K) mod 256 = S + K mod 256 = 83 +17 mod 256 =100 mod 256 = 100 = d 𝐶2= E(𝑃2) =(𝑃1+ K) mod 256 = I + K mod 256 = 73 +17 mod 256 =90 mod 256 = 90 = Z 𝐶3= E(𝑃3) =(𝑃3+ K) mod 256 = N + K mod 256 = 78 +17 mod 256 =95 mod 256 = 95 = _ 𝐶4= E(𝑃4) =(𝑃4+ K) mod 256 = A + K mod 256 = 65 +17 mod 256 =82 mod 256 = 82 = R 𝐶5= E(𝑃5) =(𝑃5+ K) mod 256 = R + K mod 256 = 82 +17 mod 256 =99 mod 256 = 99 = c 𝐶6= E(𝑃6) =(𝑃6+ K) mod 256 = P + K mod 256 = 80 +17 mod 256 =97 mod 256 = 97 = a 𝐶7= E(𝑃7) =(𝑃7+ K) mod 256 = E + K mod 256 = 69 +17 mod 256 =86 mod 256 = 86 = V 𝐶8= E(𝑃8) =(𝑃8+ K) mod 256 = R + K mod 256 = 82 +17 mod 256 =99 mod 256 = 99 = c 𝐶9= E(𝑃9) =(𝑃9+ K) mod 256 = K + K mod 256 = 75 +17 mod 256 =92 mod 256 = 92 = \ 𝐶10= E(𝑃10) =(𝑃10+ K) mod 256 = A + K mod 256 = 65 +17 mod 256 =82 mod 256 = 82 = R 𝐶11= E(𝑃11) =(𝑃11+ K) mod 256 = S + K mod 256 = 83 +17 mod 256 =100 mod 256 = 100 = d 𝐶12= E(𝑃12) =(𝑃12+ K) mod 256 = A + K mod 256 = 65 +17 mod 256 =82 mod 256 = 82 = R

Maka diperoleh Ciphertext dZ_RcaVc\RdR

Proses Dekripsi pada Pesan Teks

Jika penerima ingin mengetahui isi pesan tersebut maka ia harus melakukan proses dekripsi.

Dekripsi: 𝑃𝑖= D (𝐶𝑖) = (𝐶𝑖− 𝐾)𝑚𝑜𝑑 256.

Tabel 3. Bilangan desimal pada setiap simbol

Ciphertext

Cip hert

(4)

72

ext Dec imal 1 0 0 9 0 9 5 8 2 9 9 9 6 8 6 9 9 9 2 8 2 1 0 0 8 2 𝑃1= D (𝐶1) = (𝐶1− 𝐾)𝑚𝑜𝑑 256. = d- K mod 256 =100 – 17 mod 256 =83 mod 256 =83 = S 𝑃2= D (𝐶2) = (𝐶2− 𝐾)𝑚𝑜𝑑 256. = Z- K mod 256 =90 – 17 mod 256 =73 mod 256 =83 = I 𝑃3= D (𝐶3) = (𝐶3− 𝐾)𝑚𝑜𝑑 256. = _- K mod 256 =95 – 17 mod 256 =78 mod 256 =78 = N 𝑃4= D (𝐶4) = (𝐶4− 𝐾)𝑚𝑜𝑑 256. = R - K mod 256 =82 – 17 mod 256 =65 mod 256 =65 = A 𝑃5= D (𝐶5) = (𝐶5− 𝐾)𝑚𝑜𝑑 256. = c- K mod 256 =99 – 17 mod 256 =99 mod 256 =82 = R 𝑃6= D (𝐶6) = (𝐶6− 𝐾)𝑚𝑜𝑑 256. = a - K mod 256 =96 – 17 mod 256 =79 mod 256 =79 = P 𝑃7= D (𝐶7) = (𝐶7− 𝐾)𝑚𝑜𝑑 256. = V - K mod 256 =86 – 17 mod 256 =69 mod 256 =69 = E 𝑃8= D (𝐶8) = (𝐶8− 𝐾)𝑚𝑜𝑑 256. = c- K mod 256 =99 – 17 mod 256 =99 mod 256 =82 = R 𝑃9= D (𝐶9) = (𝐶9− 𝐾)𝑚𝑜𝑑 256. = \ - K mod 256 =92 – 17 mod 256 =75 mod 256 =75 = K 𝑃10= D (𝐶10) = (𝐶10− 𝐾)𝑚𝑜𝑑 256. = R - K mod 256 =82 – 17 mod 256 =65 mod 256 =65 = A 𝑃11= D (𝐶11) = (𝐶11− 𝐾)𝑚𝑜𝑑 256. = d- K mod 256 =100 – 17 mod 256 =83 mod 256 =83 = S 𝑃12= D (𝐶12) = (𝐶12− 𝐾)𝑚𝑜𝑑 256. = R - K mod 256 =82 – 17 mod 256 =65 mod 256 =65 = A

Maka diperoleh plaintext SINAR PERKASA. Berikut adalah Ciphertext yang akan di kompresi dZ_RcaVc\RdR Symbol frekuensi_______________________________ _______________ R 3______________________pembagian ketiga d 2_____________pembagian kedua c 2_________________pembagian pertama Z 1________________________pembagian keenam V 1________________________________pembagia n kelima \1____________________________________pem bagian keempat _ 1__________________________ ___pembagian ketujuh a 1

Gambar 1. Pembagian karakter pada Shannon Fano Semua symbol diurutkan dari frekuensi yang terbesar hingga yang terkecildan berdasarkan urutan kehadiranya. Setelah pembagian selesai maka proses selanjutnya adalah membuat pohon Shannon Fano.

IV. IMPLEMENTASI

Implementasi adalah proses lanjutan dari analisa, yang setiap proses yang da di analisa akan diterapkan kedalam bahasa pemrograman matlab. Berikut adalah implementasi dari algoritma Caesar Cipher dan Shannon fano.

1. Ketikan nama file “SINAR2” pada Command window untuk memanggil programnya lalu enter, dan masukan kunci.

Gambar 2. Memanggil Program dan Input Kunci 2. kemudian akan muncul tampilan seperti gambar

3.4 dan kita dapat memilih proses yang kita inginkan dengan menginputkan no urut dari prosesnya.

(5)

73

Gambar 3. Tampilan Menu

3. Kita asumsikan akan melakukan proses Enkripsi dengan menginputkan angka 1.

Gambar 4. Input no urut 1 untuk proses enkripsi 4. Lalu inputkan plaintext dan enter, maka akan

muncul ciphertextnya.

Gambar 5. Proses Enkripsi

5. Kemudian tekan sembarang tombol untuk melanjutkan proses dekripsi kemudian inputkan angka 2.

Gambar 6. Input 2 untuk proses dekripsi 6. Lalu masukan ciphertextnya seperti gambar

dibawah.

Gambar 7. Proses Dekripsi

7. Input 4 untuk keluar seperti gambar dibawah.

Gambar 8. Proses Keluar

V. KESIMPULAN

Dari hasil penulisan dan analisa dari bab-bab sebelumnya, maka dapat diambil kesimpulan, dimana kesimpulan tersebut kiranya dapat berguna bagi para pembaca,sehingga penulisan skripsi dapat lebih bermanfaat. Adapun kesimpulan tersebut sebagai berikut:

1. Pengamanan pesan dengan algoritma

modifikasi Caesar Cipher adalah teknik kriptografi dengan cara menambahkan karakter kunci pada setiap karakter plaintext

yang beroprasi pada bilangan desimal setiap karakter tersebut sehingga dapat berubah menjadi karakter baru yang unik.

2. Kompresi Shannon Fano juga sangat penting dalam hal ini karena setiap karakter pesan yang ditambahkan dengan kunci otomatis akan memiliki ukuran yang bertambah besar, maka dari itu dilakukan penerapan algoritma kompresi Shannon Fano, guna memperkecil ukuran pesan terlebih apabila pesan-pesan tersebut akan di simpan pada memori yang

terbatas seangkan pengiriman dan

penyimpanan dilakukan secara rutin atau harian.

3. Penerapan algoritma kriptohgrafi dan kompresi pada matlab ini bertujuan mempermudah penggunaanya sehingga lebih praktis dalam proses pengamanan pesan teks.

DAFTAR PUSTAKA

1. Josua Marinus Silaen. Pelita Informatika Budi Darma, Volume : VII, Nomor: 1, Juli 2014

2. Peranginangin ,Kasiman. Pengenalan Matlab. Yogyakarta:Andi.

3. Putra,Dharma.2010. Pengolahan citra digital.Yogyakarta: Andi.

4. Rita Rio Arjumi Gurning. Pelita Informatika Budi Darma, Volume : VII, Nomor: 1, Juli 2014.

5. Rosa A.S M. Shalahuddin, 2011.Modul pembelajaran Rekayasa Perangkat

6. Sadikin ,Rifki,2012. Kriptografi untuk Keamanan Jaringan.Yogyakarta:Andi.

7. Setyaningsih,Emy.2015. Kriptografi & Implementasinya menggunakan matlab.Yogyakarta: Andi.

Gambar

Tabel 1.  konversi karakter ke i dari 0-25  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  0  1  2  3  4  5  6  7  8  9  1 0  1 1  1 2  1 3  1 4  P  Q  R  S  T  U  V  W  X  Y  Z  1 5  1 6  1 7  1 8  1 9  2 0  2 1  2 2  2 3  2 4  2 5  Sumber: Emy Setyaningsih
Gambar 2. Memanggil Program dan Input Kunci  2.  kemudian akan muncul tampilan seperti gambar
Gambar 3. Tampilan Menu  3.  Kita asumsikan akan melakukan proses Enkripsi

Referensi

Dokumen terkait

Surrogate mother adalah perjanjian antara seorang wanita yang mengikatkan diri melalui suatu perjanjian dengan pihak lain (suami-isteri) untuk menjadi hamil terhadap

Simpulan yang diperoleh dari penelitian yang telah dilakukan yaitu: 1) Subtitusi tepung sorgum dengan penambahan slurry buah naga merah pada pembuatan mie

(catatan: peneliti bisa turun lapangan setiap saat bersamaan proses pembuatan desain, misalnya untuk menggali data yang bisa memerkaya kerangka teori. Data di

Percepatan transfer teknologi juga dilakukan melalui 6 (enam) Prima Tani di enam kabupaten/kota dan supervisi serta pendampingan PUAP. Selain mendapat dana dari APBN,

Siklus II merupakan pembelajaran lanjutan dari materi dan mengulang pembelajaran pada siklus pertama yaitu menyambung benang, pengenalan bahan dan alat ATBM serta

Berdasarkan Tabel 4.9 maka dapat diambil kesimpulan bahwa hasil pengamatan terhadap respon siswa dalam proses pembelajaran dengan menggunakan metode penggunaan

Hasil Analisis Statistik Data Responden SMA N 1 Sewon Bantul Tentang Tingkat Pemahaman Taktik Dan Strategi Siswa Atlet Bola Basket Kelas Khusus Olahraga Tingkat

ditandai dengan redaksi-redaksi hadis mereka yang mengindikasikan ketidakpercayaan kaum Syi’ah Imamiyah dengan keotentikan al-Qur’an, Rukun Iman yang berbeda, adanya