Anda di halaman 1dari 4

Jurnal Pelita Informatika, Volume 16, Nomor 3, Juli 2017

ISSN 2301-9425 (Media Cetak)


Hal: 263-266

PERANCANGAN APLIKASI PENYANDIAN DATA TEXT


MENGGUNAKAN METODE SYMMETRIC
STREAM CIPHER
Dedek Irwansyah Putra 1, Garuda Ginting 2
1
Mahasiswa Teknik Informatika STMIK Budi Darma
2
Dosen Tetap STMIK Budi Darma
1,2
Jl. Sisingamangaraja No. 338 Simpang Limun Medan

ABSTRAK
Keamanan data merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi terutama yang berisi informasi
sensitif yang hanya boleh diketahui isinya oleh pihak yang berhak saja, apalagi jika pengirimannya dilakukan melalui
jaringan publik, apabila data tersebut tidak diamankan terlebih dahulu, akan sangat mudah disadap dan diketahui isi
informasinya oleh pihak-pihak yang tidak berhak. Dalam prakteknya, pencurian data dapat berwujud dalam pembacaan suatu
data file teks oleh pihak yang tidak berwenang, memanipulasi data file teks, kerusakan data akibat buruknya konektivitas
fisik ataupun keamanan dari data tersebut. Untuk mengatasi permasalahan di atas, maka penulis mencoba untuk merancang
suatu aplikasi yang dapat digunakan untuk melakukan penyandian terhadap pesan yang sifatnya rahasia dengan cara
melakukan enkripsi dan dekripsi pesan tersebut menggunakan metode symmetric stream cipher. Metode ini dikembangkan
dengan mengkombinasikan algoritma kompresi data Huffman dengan algoritma kriptografi menggunakan tripple
transposition key untuk menambah keamanan algoritma kriptografi ini.

Kata Kunci : Algoritma Simmetric Stream Cipher, Algoritma Super Enkripsi, Kriptografi.

I. PENDAHULUAN Algoritma yang dikembangkan pada metode


Sistem informasi tidak terlepas dari keamanan symmetric stream ciper ini dapat menerima 2 jenis
data, beberapa informasi umumya hanya ditujukan kunci yaitu kunci utama dan PrivateCrypto Code
bagi sekelompok orang tertentu, oleh karena itu (kunci khusus yang hanya bisa dibuka yang memiliki
keamanan data sangat diperlukan untuk mencegah kunci tersebut).
informasi agar tidak sampai kepada pihak-pihak lain Stream cipher digunakan untuk
yang tidak berkepentingan sehingga kemungkinan mengenkripsi plaintext menjadi ciphertext bit per
terjadinya kebocoran dapat dihindari dengan bit (1 bit setiap kali transformasi) atau byte per byte
merancang suatu sistem keamanan yang berfungsi (1 karakter = 1 byte). Stream cipher pertama
untuk melindungi sistem informasi tersebut. Berbagai diperkenalkan oleh Vernam yang diadopsi dari one-
macam masalah yang sering ditemukan dalam hal time pad cipher, yaitu tiap karakter diganti dengan bit
keamanan informasi antara lain penyadapan pasif, 0 atau 1 (Endro Ariyanto, Dkk, 2008). Ciphertext
penyadapan aktif, penipuan dan lain-lain. Dalam diperoleh dengan rumus:
prakteknya, pencurian data dapat berwujud dalam ci – pi
pembacaan suatu data file teks oleh pihak yang tidak ki...........................................................(i)
berwenang, memanipulasi data file teks, kerusakan Sedangkan untuk proses dekripsi diperoleh rumus :
data akibat buruknya konektivitas fisik ataupun pi – ci
keamanan dari data tersebut. ki..........................................................(ii)
Salah satu cara yang digunakan untuk Dimana
pengamanan data adalah menggunakan sistem pi : bit plainteks
kriptografi yaitu dengan menyandikan isi informasi ci : bit Cipherteks
(plaintext) tersebut menjadi isi yang tidak dipahami ki : bit kunci
melalui proses enkripsi dan untuk memperoleh B. Proses Pembentukan Kunci
kembali informasi yang asli, dilakukan proses Algoritma pembentukan kunci K1 adalah :
dekripsi, disertai dengan menggunakan kunci yang 1. Variabel KEY1 diset dengan nilai dari kunci
benar. Namun, sejalan dengan perkembangan ilmu utama
penyandian atau kriptografi, usaha-usaha untuk 2. Variabel KEYLen diset dengan panjang kunci
memperoleh kunci tersebut dapat dilakukan oleh siapa utama
saja, termasuk pihak yang tidak sah untuk memiliki 3. Matrix K1(0)..K1(462) direset dengan nilai
informasi tersebut. Oleh karena itu, penelitian tentang menaik dari 0 sampai dengan 462
kriptografi akan selalu berkembang untuk memperoleh 4. Mengacak K1(0)..K1(462) dengan rumus ”j=(j +
algoritma kriptografi yang makin kuat, sehingga K1(i) + KEY1(i Mod KEYLen)) Mod 463”
usaha-usaha untuk memecah kode kriptografi secara sebanyak 463 kali.
tidak sah menjadi lebih sulit.
Algoritma untuk pembentukan kunci K2 sebagai
II. LANDASAN TEORI berikut:
A. Algoritma Symmetric Stream Cipher
263
Jurnal Pelita Informatika, Volume 16, Nomor 3, Juli 2017
ISSN 2301-9425 (Media Cetak)
Hal: 263-266

j = (68 + 1 + KEY1(1)) Mod 463


1. KEY2(0..16) dibentuk dengan j = (68 + 1 + 69) Mod 463
For i = 0 To 463 - 1 j = (138) Mod 463
KEY2(i Mod 17) = KEY2(i Mod j = 138
17) Xor (K1(i) And 255) TUKARKAN K1(138) DENGAN K1(1) = 1
Next DENGAN 138
2. Mereset nilai dari K2(0..250)=0..250
3. Kemudian nilai K2 saling dipertukarkan dengan B. Perhitungan Proses Pembentukan Dummy
cara yang sama seperti K1 yaitu String
For i = 0 To 251 - 1 Dummy String dibentuk secara random. Dalam
j = (j + K2(i) + KEY2(i Mod 17)) proses pembentukannya Dummy String dapat
Mod 251 menerima input Seed String sebagai nilai yang
tmp = K2(i) membantu untuk mengacak dan menjamin tingkat
K2(i) = K2(j) random Dummy String. Misalkan Seed String =
K2(j) = tmp ‘ULTRA’ maka proses pembentukan Dummy String
Next adalah sebagai berikut :
C. Pembentukan Dummy String 1. SeedString : “ULTRA”
Dummy String merupakan teks yang tambahan SeedString : (66, 85, 68, 73, 32, 68, 66, 82, 77, 65)
yang panjangnya random antara 16 sampai dengan Panjang string 10
255 byte. 2. Inisialisasi Random Size Dummy
SizeDummy = Int(224*rnd)+32
III. ANALISA DAN PEMBAHASAN SizeDummy = 34
Proses penyelesaian dari kriptografi metode 3. Rubahnilai Variable Size Dummy dengan
Symmetric Stream Cipher dapat dibagi menjadi tiga Size Dummy = Size Dummy Xor
bagian, yaitu : Asc(Mid(SeedString, k, 1)
1. Proses Pembentukan Kunci. sebanyak Len(seedstring) kali
2. Proses Pembentukan Dummy String 01. Size Dummy = 34 Xor 85 = 119
3. Proses Enkripsi dan Dekripsi. 02. Size Dummy = 119 Xor 76 = 59
03. Size Dummy = 59 Xor 84 = 111
A. Penerapan Algoritma Symmetric Stream Cipher 04. Size Dummy = 111 Xor 82 = 61
Perhitungan Proses PembentukanKunci 05. Size Dummy = 61 Xor 65 = 124
Adapun proses pembentukan kunci ini 06. Size Dummy = 124 Xor 32 = 92
memerlukan input berupa kunci utama adalah sebagai 07. Size Dummy = 92 Xor 49 = 109
berikut. 08. Size Dummy = 109 Xor 46 = 67
Misalkan Kunci Utama : ”DEDEK”, dan kunci PCC : 09. Size Dummy = 67 Xor 48 = 115
STMIK maka proses pembentukan kunci adalah 10. Size Dummy = 115 Xor 51 = 64
sebagai berikut : Size Dummy = 64
1. Kunci Utama : DEDEK Jika Size Dummy > 255 maka Size Dummy = Size
2. Inisialisasi KEY 1 (Key = Kunci Utama) Dummy - X*224
KEY 1 : DEDEK Jika Size Dummy < 32 maka Size Dummy = Size
KEY 1 : 68,69,68,69,75 Dummy + 224
KEY1Len : 5 Size Dummy = 64
3. Inisialisasi Nilai K1(), P1, S1 C. Perhitungan Proses Enkripsi
K1(0 .. 462) diberi nilai terurut menaik 0 s/d 462 Misalkan diambil hasil pembentukan kunci
P1 = 0 serta pembentukan dummy di atas dan plaintext =
S1 = 0 SKRIPSI, maka proses enkripsinya adalah sebagai
Pertukarkan K1(j) dengan K1(i) sebanyak 463 berikut :
Kali 1. Plaintext = SKRIPSI
j = (j + K1(i) + KEY1(i Mod KEY1Len)) Mod KunciUtama = DEDEK
463 Kunci PCC = STMIK
Perulangan Ke - 0 2. Kompresidengan ASCII
j = (0 + K1(0) + KEY1(0 Mod 8)) Mod 463 CompressedString :
j = (0 + 1 + KEY1(0)) Mod 463 DalamASCII : (83, 75, 82, 73, 80, 83, 73, 68, 69,
j = (0 + 1 + 68) Mod 463 68, 69, 75, 83, 84, 77, 73, 75)
j = (69) Mod 463 3. MembentukDummyString
j = 69 4. SeedString =
TUKARKAN K1(68) DENGAN K1(0) = 0 ULTRA
DENGAN 68 DummyString =
Perulangan Ke - 1 DalamASCII :
j = (68 + K1(1) + KEY1(1 Mod 8)) Mod 463

264
Jurnal Pelita Informatika, Volume 16, Nomor 3, Juli 2017
ISSN 2301-9425 (Media Cetak)
Hal: 263-266

(244, 4, 101, 141, 61, 88, 213, 222, 60, 12, 199, (!, Ϊ, ẻ, 9, Ṅ, ӧ , z, Y, b, |, nbsp, (, ‘, ^, é, K, 0, ®,
170,131, 182, 31, 225, 181, 54, 96, 53, 65, 89, 136, space, : , 1, ṅ , R, Ṹ , H, Ỏ)
56, 64,213, 59, 10, 106, 93, 248, 123, 100, 130, 70, D. Perhitungan Proses Dekripsi
37, 30,216, 29, 93, 117, 172, 249, 45, 128, 30, 188, Proses dekripsi merupakan kebalikan dari proses
87, 230, 147, 255, 222, 64, 245, 232, 206, 136, enkripsi. Proses dekripsi dari metode Symmetric
176, 244, 87, 14,201, 154, 179, 153, 234, 92, 247, Stream Cipher menggunakan algoritma yang sama
89, 15, 173, 6, 23,135, 189, 184, 46, 160, 12, 79, dengan proses enkripsi.
116, 49, 109, 236, 159,240, 91, 239, 38, 159, 200,
49, 184, 169, 232, 71, 236,151, 208, 88, 99, 34, IV. IMPLEMENTASI
157, 125, 58, 48, 26, 117, 208,38,191, 100, 11, Implementasi adalah suatu tindakan atau pelaksanaan
135, 251, 17, 180, 182, 5, 222, 249, 188,151, 127, dari sebuah rencana yang sudah disusun secara
58, 229, 175, 108, 101, 142, 152, 242, 91, 88, terperinci. Implementasi biasanya dilakukan setelah
60, 190, 112, 21, 245, 149, 77, 173, 50, 44, 91, perencanaaan sudah dianggap selesai.
253,113, 208, 133, 155, 19, 39, 122, 88, 13, 69, 1. Tampilan Form Menu Utama
213, 201,27, 56, 104, 22, 96, 143, 60, 84, 215, 235, Form pembuka hanya berfungsi sebagai form
186, 20,234,29, 211, 233, 204, 206, 170, 238, 219, tampilan awal untuk memberikan informasi atau
226, 37, 51, 183,27, 251, 46, 105, 59, 103, 8, 53, juga keterangan tentang penulis dan judul dari
72, 93, 44, 168, 177,6, 250, 246, 103, 19, 99, 150, perancangan aplikasi ini. Belum ada terdapat
253, 229, 150, 182, 19,221, 215, 90, 9,239, 141, fungsi khusus yang digunakan dalam proses
147, 137, 225, 0, 147, 30, 235, 13,67, 22, 158, 53, pengamanan pada form tampilan ini. Untuk
66, 49, 99, 104, 43, 215, 25). masuk ke form berikutnya bisa dilakukan dengan
5. MenggabungkanDummyStringdenganCompressed meng-klik tampilan ini.
String
NewPlainText =
DummyString&CompressedString& (2
byteterakhirDummyString)
NewPlainText =
DalamASCII :
(244, 4, 101, 141, 61, 88, 213, 222, 60, 12, 199,
170,131, 182, 31, 225, 181, 54, 96, 53, 65, 89, 136,
56, 64,213, 59, 10, 106, 93, 248, 123, 100, 130, 70,
37, 30,216, 29, 93, 117, 172, 249, 45, 128, 30, 188,
87, 230,147, 255, 222, 64, 245, 232, 206, 136, 176,
244, 87, 14,201, 154, 179, 153, 234, 92, 247, 89,
Gambar 1. Tampilan Form Menu Utama
15, 173, 6, 23,135, 189, 184, 46, 160, 12, 79, 116,
49, 109, 236, 159,240, 91, 239, 38, 159, 200, 49,
2. Tampilan Form Pembentukan Kunci
184, 169, 232, 71, 236,151, 208, 88, 99, 34, 157,
Proses pertama yang akan dilakukan adalah
125, 58, 48, 26, 117, 208,38,191, 100, 11, 135,
pembentukan dari kunci. Adapun ketika menu
251, 17, 180, 182, 5, 222, 249, 188,151, 127, 58,
pembentukan kunci di jalankan akan muncul
229, 175, 108, 101, 142, 152, 242, 91, 88,
tampilan pemilihan file yang akan disandikan.
60, 190, 112, 21, 245, 149, 77, 173, 50, 44, 91,
253,113, 208, 133, 155, 19, 39, 122, 88, 13, 69,
213, 201,27, 56, 104, 22, 96, 143, 60, 84, 215, 235,
186, 20,234,29, 211, 233, 204, 206, 170, 238, 219,
226, 37, 51, 183,27, 251, 46, 105, 59, 103, 8, 53,
72, 93, 44, 168, 177,6, 250, 246, 103, 19, 99, 150,
253, 229, 150, 182, 19,221, 215, 90, 9,239, 80,
121, 79, 14, 14, 140, 73, 33,103, 218, 34, 141, 147,
137, 225, 0, 147, 30, 235, 13,
67, 22, 158, 53, 66, 49, 99, 104, 43, 215, 25, 72,
69,51, 13, 69, 21, 0, 0, 0, 13, 0, 32, 4, 40, 4, 41, 4,
65,4, 71, 4, 72, 4, 73, 3, 75, 4, 80, 4, 82, 3, 83, 3,
84,4, 85, 4, 135, 176, 162, 121, 99, 125, 0, 62, 178,
189,125, 13, 15, 251, 140, 53, 0, 215, 25).
EncryptedString =
Dalam ASCII : Gambar 2. Tampilan Open File
(21, 216, 138, 57, 165, 148, 122, 89, 98, 124, 255,
40, 39, 94, 130, 75, 48, 169, 32, 58, 251, 164, 82, Setelah memilih file maka otomatis akan muncul
234, 72, 149). form pebentukan kunci seperti yang terlihat
Karakter : dibawah berikut.

265
Jurnal Pelita Informatika, Volume 16, Nomor 3, Juli 2017
ISSN 2301-9425 (Media Cetak)
Hal: 263-266

memiliki tingkat keamanan yang tinggi karena


diadaptasi dari one time pad cipher yang dikenal
sebagai metode yang sukar untuk dipecahkan.
3. Perancangan aplikasi keamanan data teks
menggunakan microsoft visual studioo 2008 serta
menerapkan metode symmetric stream cipher
dalam proses enkripsi dan dekripsinya. Aplikasi
ini berguna untuk merubah pesan teks asli
menjadi teks sandi atau sebaliknya dengan tujuan
agar pesan tersebut tidak dapat dibaca oleh pihak
Gambar 3. Tampilan Form Pembentukan Kunci yang tidak bertanggung jawab, selain itu aplikasi
ini juga mempercepat proses enkripsi dan dekripsi
3. Tampilan Form Enkripsi dibandingkan dengan menggunakan cara manual.
Pada kotak plainteks, pengguna dapat
memasukkan kalimat yang diinginkan dan DAFTAR PUSTAKA
1. Booth, Paul A.“ An Introduction to Human-Computer
hasil cipherteksnya akan keluar pada kotak Interaction “ Lawrence Erlbaum Associates Ltd., Inggris,
cipherteks setelah dilakukannya proses pada 1989.
kotak proses. Dibawah ini merupakan tampilan 2. Rinaldi Munir,2008, ”Belajar Ilmu Kriptografi” Penerbit
Andi, Yogyakarta.
dari form file enkripsi yang telah dirancang.
3. Andi Kristanto, 2004, ”Memahami Model Enkripsi dan
Keamanan Data Kerja sama Wahana Komputer Semarang
dengan Andi Offset Yokyakarta.
4. Sadeli Muhammad, Aplikasi Penjualan Dengan Visual Basic
2008, Penerbit Andi, Yogyakarta, 2009

Gambar 4. Tampilan Form File Enkripsi

4. Tampilan Form Dekripsi


Pada Rancangan Proses dekripsi ini kotak
cipherteks diletakkan diatas kotak plainteks,
karena pada tampilan ini cipherteks telah
ditentukan sebelumnya melalui proses enkripsi.
Untuk tampilan form file dekripsi yang telah
dirancang seperti gambar dibawah ini.

Gambar 5. Tampilan Form File Dekripsi

V. KESIMPULAN
Setelah melalui proses penyelesaian, maka penulis
menarik beberapa kesimpulan sebagai berikut :
1. Proses enkripsi dan dekripsi symmetric stream
cipher diawali dengan pembentukan kunci dimana
dalam pembentukan kunci ini menggunakan
bantuan 3 buah tranposition key.
2. Penerapan metode symmetric stream cipher
dilakukan dengan cara mengenkripsi data teks
rahasia. Metode ini merupakan metode yang

266

Anda mungkin juga menyukai