ABSTRAK
Kesulitan pembelajaran kriptografi adalah bagaimana menjelaskan tahapan tahapan proses yang terjadi
pada pembentukan kunci, enkripsi dan dekripsi. Tahapan tahapan yang dimiliki oleh setiap metoda kriptografi
berbeda-beda dan memiliki tingkat kesulitannya berbeda-beda pula. Dengan kesulitan yang ada maka diperlukan
suatu perangkat lunak pembelajaran yang menunjang kemudahan dalam memahami metoda-metoda kriptografi,
dalam hal ini khususnya metoda Symmetric Stream Cipher.
Metoda Symmetric Stream Cipher merupakan algoritma stream cipher yang memiliki 4 proses utama
yaitu proses pembentukan kunci, proses pembentukan dummy, enkripsi dan dekripsi. Proses enkripsi dan
dekripsi metoda ini memiliki 3 tahapan utama yaitu kompresi data Huffman, kriptografi dengan Triple
Transposition Key dan pengkodean basis 64.
Perangkat lunak pembelajaran kriptografi metoda Symmetric Stream Cipher mampu menampilkan
tahapan penyelesaian untuk proses pembentukan kunci, pembentukan dummy, enkripsi dan dekripsi secara
langkah demi langkah. Perangkat lunak pembelajaran ini juga menampilkan teori dan algoritma dari metoda
Symmetric Stream Cipher. Perangkat lunak pembelajaran kriptografi metoda Symmetric Stream Cipher
dirancang sedemikian rupa untuk membantu pemahaman terhadap cara kerja algoritma dari metoda Symmetric
Stream Cipher.
Perancangan Aplikasi Penyandian Data Text Menggunakan Metode Symmetric Stream Cipher. 155
Oleh : Rahmadhana Tanjung
Pelita Informatika Budi Darma, Volume : IX, Nomor: 3, April 2015 ISSN : 2301-9425
3. Kunci, Plaintext dan ciphertext yang berfungsi teknik-teknik matematika yang berhubungan dengan
sebagai data input bertipe data string (text) aspek keamanan informasi seperti kerahasiaan data,
4. menggunakan bahasa pemrograman Visual Basic keabsahan data, integritas data, serta autentikasi data
6.0 Ilmu atau seni ini banyak diterapkan disemua bidang,
khususnya bidang militer dan agen rahasia.
1.4. Tujuan dan Manfaat Penelitian Sebenarnya ilmu ini sudah diterapkan sejak dahulu
Tujuan yang diambil dari penulisan skripsi dan sampai kini terus dikembangkan dan diteliti
ini adalah : penggunaannya.
1. Untuk mengetahui proses kerja Symmetric Kriptografi merupakan suatu bidang ilmu
Stream Cipher. yang mempelajari tentang bagaimana merahasiakan
2. Untuk membentuk 3 transposition key. suatu informasi penting ke dalam suatu bentuk yang
3. Untuk merancang aplikasi peroses penyandian tidak dapat dibaca oleh siapapun serta
data text dengan menerapkan metode symmetric mengembalikannya kembali menjadi informasi
stream cipher. semula dengan menggunakan berbagai macam teknik
yang telah ada sehingga informasi tersebut tidak
Manfaat yang diambil dari penulisan skripsi dapat diketahui oleh pihak manapun yang bukan
ini adalah : pemilik atau yang tidak berkepentingan. Sisi lain dari
1. Untuk melindungi peroses penyandian data agar kriptografi ialah kriptanalisis yang merupakan studi
tidak dapat di baca oleh orang-orang yang tidak tentang bagaimana memecahkan mekanisme
berhak.. kriptografi.
2. Mencegah agar orang-orang yang tidak berhak, Kriptografi mempunyai 2 (dua) bagian yang penting,
mengubah atau menghapus data penyandian. yaitu enkripsi dan dekripsi. Enkripsi adalah proses
penyandian dari pesan asli menjadi pesan yang tidak
1.5. Metode Penelitian dapat diartikan seperti pesan aslinya. Dekripsi sendiri
Agar mendapat keterangan-keterangan data berarti merubah pesan yang sudah disandikan
yang diperlukan guna memperoleh suatu menjadi pesan aslinya. Pesan asli biasanya disebut
pembenaran ilmiah, maka penulis melakukan plaintext, sedangkan pesan yang sudah disandikan
penelitian dengan metode penelitian sebagai berikut : disebut ciphertext. Adapun algoritma matematis yang
1. Studi Kepustakaan (library search) digunakan pada proses enkripsi yakni disebut chiper
Untuk mendapatkan hasil teori yang valid untuk dan sistem yang memanfaatkan Kriptografi untuk
dijadikan sebuah landasan, penulis mencari mengamankan sitem informasi disebut kriptosistem
beberapa buku referensi dari beberapa
perpustakaan. 2.2. Symmetric Stream Cipher
2. Pengumpulan data melalui surfing (field Metode symmetric stream ciper dengan
research) varible leght key yang dikembangkan oleh seseorang
Pencarian atau penjelajahan melalui internet. yang bernama Dirk Rijmenants. Metode ini
3. Analisa Sistem dikembangkan dengan mengkombinasikan algoritma
Menganalisis atau mendefinisikan solusi untuk kompresi metode Huffman dengan algoritma
sistem informasi dan proses organisasi. kriptografi menggunakan tripple transposition key
4. Perancangan Sistem untuk menambah keamanan algoritma kriptografi ini.
Merancang input,output,struktur Algoritma yang dikembangkan pada metode
file,program,prosedur,perangkat keras dan symmetric stream ciper ini dapat menerima 2 jenis
perangkat lunak yang diperlukan untuk kunci yaitu kunci utama dan Private Crypto Code.
mendukung sistem informasi. Kunci kedua adalah optional yang berfungsi sebagai
5. Pengujian Sistem kunci eksklusif untuk menentukan jenis user group.
Membangun perangkat lunak yang diperlukan Algoritma ini akan membentuk 3 transposition key
untuk mendukung sistem dan melakukan testing yang berukuran 463,251,181.
secara akurat. Metode symmetric stream ciper saling
6. Implementasi Sistem berhubungan dengan algoritma huffman dan base64.
Beralih dari sistem lama ke sistem baru, Algoritma huffam digunakan dalam proses enkripsi
melakukan pelatihan dan panduan seperlunya.. dan dekripsi pada symmetric stream ciper yaitu
7. Penulisan Laporan Penelitian digunakan untuk mengkomprensi data input sebelum
Ini adalah tahap akhir dari penelitian. melakukan proses enkripsi dan dekripsi.
Perancangan Aplikasi Penyandian Data Text Menggunakan Metode Symmetric Stream Cipher. 156
Oleh : Rahmadhana Tanjung
Pelita Informatika Budi Darma, Volume : IX, Nomor: 3, April 2015 ISSN : 2301-9425
Perancangan Aplikasi Penyandian Data Text Menggunakan Metode Symmetric Stream Cipher. 157
Oleh : Rahmadhana Tanjung
Pelita Informatika Budi Darma, Volume : IX, Nomor: 3, April 2015 ISSN : 2301-9425
j = (161) Mod 463 (188, 126, 90, 141, 22, 195, 207, 161, 187, 108, 73,
j = 161 21, 250, 31, 38, 220,203,128,204, 215, 87, 164, 71,
TUKARKAN K1(161) DENGAN K1(1) = 1 237, 186, 200, 51, 94, 7, 67, 221, 84, 140, 185, 165,
DENGAN 161 187,88,146,167, 83, 251, 170, 154, 4, 141, 74, 247,
113, 242, 88, 94, 207, 91, 202, 54, 248, 16, 96,148,
Perulangan Ke - 2 187, 109, 147, 95).
j = (161 + K1(2) + KEY1(2 Mod 8)) Mod 463
j = (161 + 161 + KEY1(2)) Mod 463 Perhitungan Proses Enkripsi
j = (161 + 161 + 68) Mod 463
j = (390) Mod 463 Misalkan diambil hasil pembentukan kunci
j = 231 serta pembentukan dummy di atas dan plaintext =
‘TUGAS AKHIR (SKRIPSI)’, maka proses
. 4. Kunci PCC = BEME enkripsinya adalah sebagai berikut :
Kunci PCC = 1. PlainText = TUGAS AKHIR (SKRIPSI)
(73,83,84,80) Kunci Utama = TANJOENG
PCCLen = 4 Kunci PCC = BEME
Perancangan Aplikasi Penyandian Data Text Menggunakan Metode Symmetric Stream Cipher. 158
Oleh : Rahmadhana Tanjung
Pelita Informatika Budi Darma, Volume : IX, Nomor: 3, April 2015 ISSN : 2301-9425
ZuIng0zoTYDtHOOZJkUqvqSR8YFoBZTT11MPjg i=i+1
kfu7uoIPuOX6 Ulangi Proses hingga i > 15
--- END OF MESSAGE -- Bentuk Kunci Enkripsi dengan
Kunci Utama = TANJOENG input Kunci Utama = RndKey
Kunci PCC = BEME Kunci PCC=””
Plaintext = TUGAS AKHIR (SKRIPSI) k=0
q = RandomDummy(k)
2 . Hilangkan DummyString Jika j mod 3 = 0 maka lakukan proses
SizeDummy = 57 RandomDummy(k) = Decode(q) selain itu
checkByte1 = 125 RandomDummy(k) = Encode(q)
checkByte2 = 6 k=k+1
DecryptedString(Len(DecryptedString)) = 6 Ulangi Proses 19 s/d 21 hingga k >=
CompressedString = SizeDummy - 1
Dalam ASCII : j=j+1
(72, 69, 51, 13, 69, 21, 0, 0, 0, 13, 0, 32, 4, 40, 4,41, Ulangi Proses hingga j > 15
4, 65, 4, 71, 4, 72, 4, 73, 3, 75, 4, 80, 4, 82, 3,83, 3, RandomDummy = SizeDummy &
84, 4, 85, 4, 135, 176, 162, 121, 99, 125, 0, 62,178, RandomDummy
189, 125, 13,15, 251, 140, 53, 0). Proses Pembentukan Dummy Selesai
Next i
3. Dekompresi dengan ASCII
PlainText = TUGAS AKHIR (SKRIPSI) 3. Algoritma Proses Enkripsi.
Input : X = Plaintext
4. Algoritma dan Implementasi X = Compress(X)
4.1. Algoritma X = Compress(X)
Algoritma adalah merupakan kumpulan DummyString =
perintah untuk menyelesaikan suatu masalah. CreateDummyString(SeedString)
Perintah-perintah ini dapat diterjemahkan secara LenDummy = Panjang DummyString
bertahap dari awal hingga akhir. X = DummyString & X & 2 byte
Pada bagian ini akan dijelaskan algoritma terakhir DummyString
yang dipakai dalam proses perancangan program. Output : PrepareKey(Kunci_Utama,
Adapun algoritma perancangan dari kriptografi Kunci_PCC)
metoda Symmetric Stream Cipher dibagi menjadi 4 Proses : i=0,LenX = Panjang X
bagian yaitu, X(i) = X(i) Xor FnUltra(FeedBack)
1. Algoritma Proses Pembentukan Kunci. FeedBack = X(i)
Input : Kunci Utama & Kunci PCC i=i+1
KEY1 = Kunci Utama Ulangi Proses 9 s/d 11 hingga I > LenX – 1
KEY1Len = Panjang Kunci X = EncodeStr64(X)
K1(0 s/d 462) = 0 s/d 462 TEXT_BEGIN = "--- BEGIN ULTRA
K2(0 s/d 250) = 0 s/d 250 MESSAGE ---"
K3(0 s/d 180) = 0 s/d 180 TEXT_VERSION = "Version: ULTRA
Output : P1,P2,P3,S1,S2,S3,FeedBack = 0 v1.0.3"
Proses : i=0 TEXT_END = "--- END OF MESSAGE ---
j = (j + K1(i) + KEY1(i Mod "
KEY1Len)) Mod 463 CipherText = TEXT_BEGIN & vbcrlf &
Pertukarkan K1(j) dengan K1(i) TEXT_VERSION & vbcrlf
i=i+1 & X & vbcrlf & TEXT_END
Ulangi Proses hingga i > 180 Proses Enkripsi Selesai
Proses Penbentukan Kunci Selesai Next i
Next i
4. Algoritma Proses Dekripsi
2. Algoritma Proses Pembentukan Dummy. Input : X = CipherText
Input : SeedString HL = Len(TEXT_BEGIN & vbcrlf &
LenSeedString = Panjang SeedString TEXT_VERSION & vbcrlf)
Output : SizeDummy = Int(224*rnd)+32 TL = Len(vbCrLf & TEXT_END)
Proses : i= 0 X = Mid(X, HL + 1, Len(X) - HL -
SizeDummy = SizeDummy Xor TL)
SeedString(i) X = DecodeStr64(X)
i=i+1 Output : PrepareKey(Kunci_Utama,
Ulangi proses hingga I > LenSeedString Kunci_PCC)
Ulangi Proses Jika SizeDummy > 255 Proses : i=0
Perancangan Aplikasi Penyandian Data Text Menggunakan Metode Symmetric Stream Cipher. 159
Oleh : Rahmadhana Tanjung
Pelita Informatika Budi Darma, Volume : IX, Nomor: 3, April 2015 ISSN : 2301-9425
4.2. Implementasi Sistem Gambar4 Form Input Data untuk Proses Enkripsi
Desain implementasi sistem merupakan
gambran program ketika di rancang di dalam bahasa Input Seedstring, klik tombol ‘Ok’ untuk
pemograman,di sini aplikasi di rancang mengunakan melanjutkan dan memunculkan form ‘Pembentukan
Microsoft Visual Basic 6.0. Dummy’. Klik tombol ‘Play’ untuk memulai proses
Lingkungan sistem operasi yang pembentukan dummy.
direkomendasikan penulis adalah Microsoft-Windows
XP..
Proses
BEME
Input kunci utama pada textbox ‘Kunci Utama’ serta
Kunci PCC pada textbox ’PCC – Private Crypto
Code’, klik tombol ‘Ok’ untuk memunculkan form
‘Proses Pembentukan Kunci’. Klik tombol ‘Play’
untuk memulai proses pembentukan kunci. Gambar 6 Form Input untuk Enkripsi
2. Inisialisai KEY (KEY1=Kunci Utama) Input plaintext dan kedua kunci, klik tombol ‘Ok’
KEY 1 = TANJOENG untuk melanjutkan dan memunculkan form ‘Proses
KEY = Enkripsi’. Klik tombol ‘Play’ untuk memulai proses
(87,73,68,73,65,82,84,73)
KEY1 Len = 8 enkripsi.
3. Inisialisasi NILAI K1 () , P1 , S1
K1(0….462) diberi nilai terurut menaik 0 s/d
462
Perancangan Aplikasi Penyandian Data Text Menggunakan Metode Symmetric Stream Cipher. 160
Oleh : Rahmadhana Tanjung
Pelita Informatika Budi Darma, Volume : IX, Nomor: 3, April 2015 ISSN : 2301-9425
5.2. Saran
Penulis ingin memberikan beberapa saran yang
1 . PlainText = TUGAS AKHIR (SKRIPSI)
Kunci Utama = TANJOENG
mungkin dapat membantu dalam pengembangan
Kunci Pcc = BEME perangkat lunak metoda kriptografi yaitu :
2 . Kompresi dengan ASCII
CompressedString =
1. Dapat dipertimbangkan untuk menambahkan
Dalam ASCII :
(72, 69, 51, 13, 69, 21, 0, 0, 0, 13, 0, 32, 4, 40, 4,41, 4, 65, 4, 71, 4,
bentuk yang lebih menarik dan lebih sederhana
72, 4, 73, 3, 75,4,
80, 4, 82, 3,83, 3, 84, 4, 85, 4, 135, 176, 162, 121, 99, 125, 0,
agar lebih mudah di menggerti.
62,178, 189, 125, 13,
115, 251, 140, 53, 0).
2. Perangkat lunak pembelajaran ini dapat
3 . Membentuk DummyString dikembangkan untuk menampilkan proses
SeedString =
ULTRA 1.03 enkripsi dan dekripsi untuk file.
DummyString =
Dalam ASCII :
(179 , 219 , 70 , 68 , 73 , 147 , 190 , 41 , 200 , 242 , 116 , 225 ,
3. Perangkat lunak pembelajaran ini dapat
ditambahkan suara untuk memperjelas dan
mempermudah dalam proses pembelajaran.
Gambar 7 Form Proses Data Enkripsi DAFTAR PUSTAKA
Untuk proses dekripsi, maka lakukan proses berikut 1. Kurniawan J., Ir., M.T.,”Kriptografi, Keamanan
ini : Internet dan Jaringan Komunikasi ”,Penerbit
Muncul form ‘Input untuk Dekripsi’. Informatika Bandung, April 2004.
2. Booth, Paul A.“ An Introduction to Human-
Computer Interaction “ Lawrence Erlbaum
Associates Ltd., Inggris, 1989.
3. Rinaldi Munir,2008, ”Belajar Ilmu Kriptografi”
Penerbit Andi, Yogyakarta
4. Ir. Yusuf Kurniawan, MT., 2004“Kriptografi:
Keamanan Internet dan Jaringan Komunikasi”
Penerbit Informatika Bandung, Yogyakarta.
Gambar 8 Form Input Data untuk Proses Dekripsi
5. Andi Kristanto, 2004, ”Memahami Model
Enkripsi dan Keamanan Data Kerja sama
Input ciphertext dan kedua kunci, klik tombol ‘Ok’ Wahana Komputer Semarang denganAndi
untuk memunculkan form ‘Proses Dekripsi’.
Offset Yokyakarta..
6. Schneier B., Applied Crytography :
CipherText = Protocols,Algorithm,andSource Code in C
--- BEGIN ULTRA MESSAGE ---
Version: ULTRA v1.0.3 Second Edition, John Wiley & Sons, Inc., 1996.
wW2GC/4B6HKFo4IN+qXlvN5p6/Fvi79hxBOKBigGggOOBo5g5QrvL/
7. http://datacompression.info/Huffman.shtml,
BJATdfDP6StAR7IHC+fmXUkKkhbrgUg0cgodqH6I5l8E30newmQMC8
Tanggal akses 28 Mey 2014.
3w8mvKlt9vXbpaiet4IlsFI9KPg+nmiO+xVtmDfq1uOfY/ASHy6KEeSNa
8. http://www.softpanorama.org/Algorithms.shtml,
aWNrAMmE+7YR1vzJGJyC8+Bd7+/imUgwO5ANeUHNRcEsC1XXYu
Tangga lakses 28 Mei 2014.
SsGkEPtBvemW626UIvJljlLWEIO23n299LD4DDr3wE2+Fy0dpJIag3uh
v2xUtuCg5bLVE+yTOEn2krEbcyJ80a93NVmcTflJKHMOkX0A7qBP5j
+38reDV
Perancangan Aplikasi Penyandian Data Text Menggunakan Metode Symmetric Stream Cipher. 161
Oleh : Rahmadhana Tanjung