PENGAMANAN FILE TYPE TEXT DENGAN CRIPTOGRAPHY CAESAR CHIPER Yuli Praptomo PHS Jurusan Teknik Informatika STMIK El Rahma Jl. Sisingamangaraja No. 76 Yogyakarta
Abstract Criptography is the art and science to maintain information security. The opposite of criptography is cryptanalysis, the art and science to solve the ciphertext into plaintext without going through the way it should be. Criptography using encryption Caesar Chiper has a pretty good pace. This is due to the encryption process is quite simple and only involves only a few operations per bytenya. Keyword : kriptografi, enkripsi, dekripsi, chipertext, dechiper. A. Pendahuluan Masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu informasi. Terkait dengan pentingnya informasi tersebut, pihak yang terkait mempertanyakan apakah informasi tersebut masih asli atau sudah merupakan informasi bajakan. Karena informasi tersebut tidak akan berguna lagi apabila sudah diakses oleh orang yang tidak berkepentingan. Dalam menjaga kerahasiaan data, kriptography mentransformasikan data jelas/asli (plaintext) ke dalam bentuk sandi (ciphertext) yang tidak dapat dikenali oleh orang lain. Ciphertext inilah yang akan dikirim oleh pengirim kepada penerima. Setelah informasi sampai kepada penerima, ciphertext itu kan ditramsformasikan kembali ke dalam bentuk plaintext agar dapat dikenali kembali. Pengamanan informasi tersebut selain bertujuan untuk meningkatkan keamanan, juga berfungsi untuk melindungi pesan atau informasi agar tidak dapat di akses, menyisipkan dan atau menghapus pesan oleh orang yang tidak berhak. Kriptography merupakan seni dan ilmu pengetahuan untuk menjaga keamanan informasi. Kebalikan dari kriptography adalah kryptanalysis, yaitu seni dan ilmu untuk memecahkan ciphertext menjadi plaintext tanpa melalui cara yang seharusnya. Kriptography menggunakan metode Caesar Chiper memiliki kecepatan enkripsi yang cukup baik. Hal ini disebbkan proses enkripsinya cukup sederhana dan hanya melibatkan beberapa operasi saja per bytenya. B. Gambaran Umum Kriptografi. Kriptografi merupakan sebuah ilmu yang digunakan untuk penyandian data. Kriptografi telah dikenal dan dipakai cukup lama sejak kurang lebih tahun 1900 sebelum masehi pada prasasti-prasasti kuburan. Ilmu Kriptografi sebenarnya sudah mulai dipelajari manusia sejak tahun 400 SM, yaitu pada zaman Yunani kuno. Dari catatan bahwa “penyandian transposisi” merupakan kriptografi pertama yang digunakan atau dimanfaatkan. Bidang ilmu ini terus berkembang seiring dengan kemajuan peradaban manusia, dan memegang peranan penting dalam strategi peperangan yang terjadi dalam sejarah manusia, mulai sistem kriptografi “Caesar Chiper” yang terkenal pada zaman romawi kuno, dan “Playfair” yang digunakan oleh inggris hingga algoritma-algoritma kriptografi rotor
yang populer pada Perang Dunia II , seperti Sigaba / M-134 (Amerika Serikat), Typex ( Inggris ), Purple (Jepang), dan mesin kriptografi legendaris Enigma (Jerman). Sejarah telah dipenuhi oleh contoh-contoh orang yang berusaha merahasiakan informasi rahasia mereka dari orang lain (Raharjo, B., 1998). Seiring dengan perkembangan zaman, kebutuhan akan metode yang lebih canggih tidak dapat dihindari. Sekarang, dengan adanya era informasi, kebutuhan itu menjadi lebih penting lagi. Dengan adanya fasilitas internet, maka permintaan akan pelayanan informasi semakin meningkat dengan seiringnya perkembangan teknologi. Pertukaran data yang sensitif seperti nomor account kartu kredit, sudah sering dilakukan dan menjadi hal yang biasa di dalam dunia internet. Karena itu, melindungi data sudah menjadi hal penting yang sangat kruisal di dalam hidup. Ada tiga istilah yang berkaitan dengan proteksi data yaitu kriptografi, kriptologi, dan kriptanalisis. Arti ketiganya kurang lebih sama. Secara teknis, kriptologi adalah ilmu yang mempelajari tentang komunikasi pada jalur yang tidak aman beserta masalah-masalah yang berhubungan dengan itu. Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. (Cryptography is the art and science of keeping messages secure ). “Crypto” berarti “secret” (rahasia) dan “graphy” berarti “writing” (tulisan). Jadi, dapat dikatakan bahwa kriptografi adalah tulisan yang tersembunyi. Dengan adanya tulisan yang tersembunyi orang-orang tidak mengetahui bagaimana tulisan tersebut disembunyikan dan tidak mengetahui bagaimana cara membaca maupun menerjemahkan tulisan tersebut. William Stallings (2006) mendefinisikan kriptografi sebagai “The art and science of keeping messages secures”. Kriptografi berbasis pada algoritma pengkodean data informasi yang mendukung kebutuhan dari dua aspek keamanan informasi, yaitu secrecy (perlindungan terhadap kerahasiaan data informasi) dan authenticity (perlindungan terhadap pemalsuan dan pengubahan informasi yang tidak diinginkan. Kriptografi menjadi dasar bagi keamanan komputer dan jaringan karena merupakan sarana bagi distribusi data dan informasi. Sehingga data dan informasi tersebut harus diamankan agar hanya orang-orang yang berhak mengaksesnya yang dapat mengetahui maupun menggunakan data tersebut. Salah satu cara yang paling banyak digunakan dalam mengamankan data adalah dengan kriptografi. Data-data tersebut diamankan dengan sedemikian rupa oleh pengirim sehingga orang lain tidak dapat mengenali data tersebut. Pembakuan penulisan pada kriptografi dapat ditulis dalam bahasa matematika. Fungsi-fungsi yang mendasar dalam kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah proses mengubah suatu pesan asli (plaintext) menjadi suatu pesan dalam bahasa sandi (ciphertext). C = E (M), (1) dimana : M = pesan asli E = proses enkripsi C = pesan dalam bahasa sandi (untuk ringkasnya disebut sandi) Sedangkan dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi pesan asli kembali. M = D (C) (2) Dimana : D = proses dekripsi Umumnya, selain menggunakan fungsi tertentu dalam melakukan enkripsi dan dekripsi, seringkali fungsi itu diberi parameter tambahan yang disebut dengan istilah kunci.
C.
Tujuan Kriptografi Dalam teknologi informasi, telah dan sedang dikembangkan cara untuk menangkal berbagai bentuk serangan semacam penyadapan dan pengubahan data yang dikirimkan. Salah satu cara yang ditempuh mengatasi masalah ini ialah dengan menggunakan kriptografi yang menggunakan transformasi data sehingga data yang dihasilkan tidak dapat dimengerti oleh pihak yang tidak berhak mengakses. Transformasi ini memberikan solusi pada dua macam masalah keamanan data, yaitu masalah privasi (privacy) dan keotentikan (authenticatioan). Privaci mengandung arti bahwa data yang dikirimkan hanya dapat dimengerti informasinya oleh penerima yang sah atau berhak. Sedangkan keotentikan mencegah pihak ketiga untuk mengirimkan data yang salah atau mengubah data yang dikirimkan. Kriptografi yang baik tidak ditentukan oleh kerumitan dalam mengolah data atau pesan yang akan disampaikan. Ada 4 syarat yang perlu dipenuhi, yaitu: a. Kerahasiaan. Pesan (plaintext) hanya dapat dibaca oleh pihak yang memliki kewenangan. b. Autentikasi. Pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup harus dipastikan tidak bisa berpura-pura menjadi orang lain. c. Integritas. Penerima pesan harus dapat memastikan bahwa pesan yang dia terima tidak dimodifikasi saat dalam proses transmisi data. d. Non-Repudiation. Pengirim pesan harus tidak bisa menyangkal pesan yang dia kirimkan.
D.
Enkripsi dan Dekripsi Proses menyandikan plainteks menjadi chiperteks disebut enkripsi ( encryption) atau enciphering (standard nama menurut ISO 7498-2) sedangkan proses mengembalikan chiperteks mejadi plainteks disebut dekripsi ( decryption) atau dechiphering (standard ISO 7498-2). Enkripsi adalah transformasi data dalam bentuk yang tidak dapat terbaca dengan sebuah kunci tertentu. Tujuannya adalah untuk meyakinkan privasi dengan menyembunyikan informasi dari orang-orang yang tidak ditujukan, bahkan mereka yang memiliki akses ke data terenkripsi. Sedangkan dekripsi merupakan kebalikan dari enkripsi, yaitu transformasi data terenkripsi kembali ke bentuknya semula. Enkripsi dilakukan pada saat pengiriman dengan cara mengubah data asli menjadi data rahasia, sedangkan dekripsi dilakukan pada saat penerimaan dengan cara mengubah data rahasia menjadi data asli. Jadi data yang dikirimkan selama proses pengiriman adalah data rahasia, sehingga data asli tidak dapat diketahui oleh pihak yang tidak berkepentingan. Data asli hanya dapat diketahui oleh penerima dengan menggunakan kunci rahasia. Enkripsi dan dekripsi pada umumnya membutuhkan penggunaan sejumlah informasi rahasia, disebut sebagai kunci. Untuk beberapa mekanisme enkripsi, kunci yang sama digunakan baik untuk enkripsi dan dekripsi berbeda.
Gambar 1. Skenario Komunikasi Dasar Kriptografi Di dalam skenario komunikasi dasar, seperti yang diperlihatkan pada Gambar 1, terdapat dua belah pihak, sebut saja A dan B, yang ingin berkomunikasi satu sama lain. Kemudian pihak ketiga, C, adalah seorang eavesdropper (orang yang mengakses informasi rahasia tanpa izin). Ketika A ingin mengirimkan informasi, yang disebut plaintext, kepada B, dia mengenkripsi plaintext tersebut dengan menggunakan metode yang telah dirancang oleh B. Biasanya, metode enkripsi diketahui oleh si eavesdropper, dalam hal ini adalah C. Yang membuat pesan tersebut tetap bersifat rahasia adalah key-nya. Ketika B menerima pesan yang telah dienkripsi, yang disebut dengan ciphertext, dia mengubahnya kembali menjadi plaintext dengan menggunakan key dekripsi.
E.
Algoritma Kriptografi
Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan. Kriptosistem terdiri dari sebuah algoritma, plaintext, chipertext dan kunci-kunci. Secara umum, kriptosistem digolongkan menjadi 2 buah, yaitu: 1. Kriptosistem simetri 2. Kriptosistem asimetri Dalam kriptosystem simetri, algoritma yang digunakan hanya membutuhkan satu kunci untuk proses enkripsi dan dekripsi. Sedang dalam kriptografi asimetri, algoritma yang digunakan membutuhkan dua kunci yang berbeda dalam proses enkripsi dan dekripsi pesan. Kriptosistem dengan menggunakan symmetric cryptography kadang disebut sebagai Secret-key cryptography merupakan bentuk kryptografi yang lebih tradisional, dimana sebuah kunci tunggal dapat digunakan untuk mengenkrip dan mendekrip pesan. Secret-key cryptography tidak hanya berkaitan dengan enkripsi tetapi juga berkaitan dengan otentikasi, disebut juga message authentication codes. Masalah utama yang dihadapi secret-key cryptography adalah membuat pengirim dan penerima menyetujui kunci rahasia tanpa ada orang lain yang mengetahuinya. Ini membutuhkan metode dimana dua pihak dapat berkomunikasi tanpa takut akan disadap. Kelebihan secret-key cryptography dari public-key cryptography adalah lebih cepat. Teknik yang paling umum dalam secret-key cryptography adalah block
ciphers, stream ciphers, dan message authentication codes. Berdasarkan jenis kunci
yang digunakannya, algoritma kriptografi dikelompokan menjadi dua bagian, yaitu : a. Symmetric Algorithm Symmetric algorithm atau disebut juga secret key algorithm adalah algoritma yang kunci enkripsinya dapat dihitung dari kunci dekripsi dan begitu pula sebaliknya, kunci dekripsi dapat dihitung dari kunci enkripsi. Pada sebagian besar symmetric algorithm kunci enkripsi dan kunci dekripsi adalah sama. Symmetric algorithm memerlukan kesepakatan antara pengirim dan penerima pesan pada suatu kunci sebelum dapat berkomunikasi secara aman. Keamanan symmetric algorithm tergantung pada rahasia kunci. Pemecahan kunci berarti memungkinkan setiap orang dapat mengenkripsi dan mendekripsi pesan dengan mudah. Symmetric algorithm dapat dikelompokkan menjadi dua jenis, yaitu stream cipher dan block cipher. Stream cipher beroperasi bit per bit (atau byte per byte) pada satu waktu. Sedangkan block cipher beroperasi per kelompok-kelompok bit yang disebut blok (block) pada satu waktu. b. Asymmetric Algorithm Asymmetric algorithm atau disebut juga public key algorithm didesain agar memudahkan dalam distribusi kunci yang digunakan untuk enkripsi dan dekripsi. Kunci dekripsi pada public key algorithm secara praktis tidak dapat dihitung dari kunci enkripsi. Algoritma ini disebut “public key” karena kunci dapat dibuat menjadi publik. Setiap orang dapat menggunakan kunci enkripsi untuk mengenkripsi pesan, tetapi hanya orang yang memiliki kunci dekripsi yang dapat mendekripsi pesan tersebut. Pada sistem ini kunci enkripsi sering disebut kunci publik ( public key), dan kunci dekripsi disebut kunci rahasia (private key). Metode kriptosystem simetri disebut juga dengan enkripsi simetri atau enkripsi konvensional. Gambar di bawah ini mengilustrasikan kinerja dari proses enkripsi konvensional.
Gambar 2 : Ilutrasi Kinerja Proses Enkripsi Konvensional Proses enkripsi terdiri dari sebuah algoritma dan sebuah kunci. Kunci adalah sebuah nilai yang terlepas dari pesan asli (plaintext) dan mengontrol algoritma yang dipakai. Penerapan algoritma akan menghasilkan output yang berbeda sesuai dengan kunci yang digunakan. Mengubah kunci berarti mengubah output dari algoritma yang dipakai. Setelah chipertext dihasilkan, chipertext tersebut dapat diubah kembali menjad pesan asli dengan algoritma dekripsi dan dengan kunci yang sama seperti yang digunakan pada saat enkripsi. Keamanan dari enkripsi konvensional ini terdiri dari beberapa faktor. Pertama, algoritma enkripsi harus benar-benar teruji, sehingga tidak dimungkinkan untuk mendekripsi sebuah pesan hanya dalam bentuk ciphertext. Kedua, keamanan enkripsi konvensional juga ditentukan oleh kerahasiaan kunci yang digunakan, bukan kerahasiaan algoritma yang digunakan. Jadi, kita juga harus yakin bahwa dekripsi tidak dimungkinkan hanya dengan mengetaui ciphertext dan algoritma yang digunakan tanpa mengetahui kunci yang digunakan.
Bentuk umum enkripsi konvensional dapat dilihat dari contoh berikut : user A akan mengenkripsi plaintext X = [x1, x2, .. ,xm] , (m elemen dari X merupakan huruf dari alphabet pesan) dengan kunci K = [K1, k2, .. , kj], dengan pesan X dan kunci K tersebut akan dihasilkan cipertext Y = [Y1, Y2, .. , yn], maka kita dapat menuliskan rumus :
Y=Ek(X)
(3)
Selanjutnya, chipertext tersebut dikirimkan ke user B. User B akan mendekripsi chipertext tersebut agar menjadi pesan asli dengan algoritma dekripsi dan kunci yang sama seperti yang digunakan pada saat enkripsi. Hal ini dapat dirumuskan sebagai berikut:
X=Dk(Y) F.
(4)
Algoritma Sandi Kaisar (Caesar Cipher) Substitusi kode yang pertama dalam dunia penyandian dikenal dengan Kode Kaisar, karena penyandian ini terjadi pada saat pemerintahan Yulius Caesar. Dengan mengganti posisi huruf awal dengan alphabet atau disebut dengan algoritma ROT3. Caesar Cipher merupakan salah satu algoritma cipher tertua dan paling diketahui dalam perkembangan ilmu kriptografi. Caesar cipher merupakan salah satu jenis cipher substitusi yang membentuk cipher dengan cara melakukan penukaran karakter pada plainteks menjadi tepat satu karakter pada chiperteks. Teknik seperti ini disebut juga sebagai chiper abjad tunggal. Algoritma kriptografi. Caesar Cipher sangat mudah untuk digunakan. Inti dari algoritma kriptografi ini adalah melakukan pergeseran terhadap semua karakter pada plainteks dengan nilai pergeseran yang sama. Adapun langkah-langkah yang dilakukan untuk membentuk chiperteks dengan Caesar Cipher adalah : a. Menentukan besarnya pergeseran karakter yang digunakan dalam membentuk cipherteks ke plainteks. b. Menukarkan karakter pada plainteks menjadi cipherteks dengan berdasarkan pada pergeseran yang telah ditentukan sebelumnya. Misalnya diketahui bahwa pergeseran = 3, maka huruf A akan digantikan oleh huruf D, huruf B menjadi huruf E, dan seterusnya.
Gambar 3 : Proses penggantian huruf Teknik penyandian ini termasuk sandi tersubtitusi pada setiap huruf pada plaintext digantikan oleh huruf lain yang dimiliki selisih posisi tertentu dalam alphabet. Secara detail table dibawah ini menjelaskan pergeseran yang terjadi pada huruf alphabet.
Tabel 1. Posisi abjad awal
A
B
C
D
E
F
G
H
I
J
K
L
M
0
1
2
3
4
5
6
7
8
9
10
11
12
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
13
14
15
16
17
18
19
20
21
22
23
24
25
Menjadi :
Tabel 2. Posisi abjad setelah pergeseran
D
E
F
G
H
I
J
K
L
M
N
O
P
0
1
2
3
4
5
6
7
8
9
10
11
12
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
13
14
15
16
17
18
19
20
21
22
23
24
25
Jika pergeseran yang dilakukan sebanyak tiga kali, maka kunci untuk dekripsinya adalah 3. Pergeseran kunci yang dilakukan tergantung keinginan pengiriman pesan. Bisa saja kunci yang dipakai a = 7, b = 9, dan seterusnya. Cara kerja sandi ini dapat diilustrasikan dengan membariskan dua set alfabet; alfabet sandi disusun dengan cara menggeser alfabet biasa ke kanan atau ke kiri dengan angka tertentu (angka ini disebut kunci). Misalnya sandi Caesar dengan kunci 3, adalah sebagai berikut:
Tabel 3. Pergerseran dengan kunci 3 Alfabet Biasa: ABCDEFGHIJKLMNOPQRSTUVWXYZ Alfabet Sandi: DEFGHIJKLMNOPQRSTUVWXYZABC Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut.
Tabel 4. Contoh plaintext dan cipertext pergerseran dengan kunci 3 teks terang : kirim pasukan ke sayap kiri teks tersandi : NLULP SDVXNDQ NH VDBDS NLUL Proses penyandian (enkripsi) dapat secara matematis menggunakan operasi modulus dengan mengubah huruf-huruf menjadi angka, A = 0, B = 1,…, Z = 25. Sandi (En) dari “huruf” x dengan geseran n secara matematis dituliskan dengan, Sedangkan pada proses pemecahan kode (dekripsi), hasil dekripsi (Dn) adalah Setiap huruf yang sama digantikan oleh huruf yang sama di sepanjang pesan, sehingga sandi Caesar digolongkan kepada, substitusi monoalfabetik, yang berlawanan dengan substitusi polialfabetik. G. Pembahasan 1. Permasalahan Masalah yang akan dibahas pada makalah ini adalah : a. Bagaimana mekanisme kerja enkripsi dan dekripsi data dengan menggunakan algoritma Caesar Chiper ? b. Bagaimana mengimplementasikan algoritma Caesar Chiper dalam enkripsi dan dekripsi data ? c. Bagaimana menganalisis dan membandingkan algoritma Caesar Chiper dalam enkripsi dan dekripsi data ?
2. Desain Menu a. Menu Utama Menu utama terdiri dari menu file dan about. Menu file terdiri dari 3 sub menu yaitu Enkripsi, Dekripsi,dan Exit. Sub menu Enkripsi digunakan untuk mengakses form Enkripsi. Sub menu Dekripsi digunakan untuk mengakses form Dekripsi. Sub menu Exit digunakan untuk keluar dari sistem secara keseluruhan. Sedangkan Menu About digunakan untuk mengakses form About. Tampilan awal ini adalah tampilan pertama kali ketika program dijalankan. Seperti yang digambarkan diatas, pada tampilan awal ini terdapat dua menu yaitu menu file dan about didalam menu file terdapat submenu yang langsung memanggil form-form dalam program seperti sub menu Enkripsi yang memanggil form Enkripsi, menu Dekripsi yang memanggil form Dekripsi, sum menu About yang memanggil form About dan yang terakhir sub menu keluar yang memerintahkan program untuk keluar. File
About
Gambar 4. Desain Menu Utama
Pengamanan File Type Text b.
Sub Menu File Dengan Cryptography Caesar Chyper Sub Menu File terdiri dari tiga buah sub menu, yaitu Enkripsi (Untuk Memanggil form Enkripsi) untuk melakukan enkripsi dari file text, Dekripsi (Untuk Memanggil form Dekripsi), untuk melakukan dekripsi dari file text, Keluar untuk keluar dari program. File
About
Enkripsi Dekripsi Keluar
Pengamanan File Type Text Dengan Cryptography Caesar Chyper
Gambar 5. Desain Sub Menu Data
3. Struktur Navigasi Struktur Navigasi di gunakan untuk mengetahui urut-urutan dari sebuah program dari pengamanan data ini. Dalam program ini struktur navigasi yang di gunakan hierarcical model, adapun susunannya adalah sebagai berikut : Pengamanan File Text Dengan Caesar Cyper
FILE
About Enkripsi Dekripsi Keluar
Gambar 6. Struktur Navigasi 4. Flowchar Caesar Chiper START MENU UTAMA TIDAK
TIDAK
TIDAK
PLIH ENKRI PSI
TIDAK
PILIH DEKRI PSI PILIH KELUA R YA
YA
PROSES ENKRIPSI
YA
PROSES DEKRIPSI
YA
YA
ULAN G PROSE ULAN S G
TIDAK
PROSE S
END
Gambar 7. Flowchart Caesar Chiper 5. Use Case Caesar Chiper Use case diagram diperlukan untuk menggambarkan fungsionalitas yang diharapkan dari prespektif pengguna. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Use case mempresentasikan sebuah interaksi antara aktor dengan sistem. Dalam aplikasi ini Use case Diagram digambarkan seperti pada gambar 8.
Sy stem
Enkripsi
FILE
De kripsi
Ke luar USER
A bout
Gambar 8. Use Case Caesar Chiper 6. Sequence Diagram Caesar Chiper Sequence Diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem berupa message yang digambarkan terhadap waktu. Sequence Diagram digunakan untuk menggambarkan rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Rancangan Sequence Diagram yang dibuat seperti pada gambar 9. User
Menu
Enkripsi
Dekripsi
About
1 : Buka Form Utama() 2 : Tampil Form() 3 : Pilih Enkripsi() 4 : Tampil Form Enkripi() 5 : Pilih Dekripsi() 6 : Tampil Form Dekripsi() 7 : Pilih About()
8 : Tampil Form ABout()
Gambar 9. Use Case Caesar Chiper 7. Rancangan Tampilan Dalam pembuatan program perlu dibuat sebuah rancangan tampilan agar program lebih terencana dengan baik, untuk itu media pembelajaran ini pun dilengkapi dengan desain tampilan yang diharapkan dapat mewakili dari program yang akan dibuat dalam hal tampilannya, dan program ini sengaja dibuat sesederhana mungkin dengan tujuan untuk memudahkan seorang user dalam penggunaannya, sebab program ini didesain untuk semua kalangan yang walaupun belum terbiasa memakai program. a. Tampilan awal File
About Pengamanan File Type Text Dengan Cryptography Caesar Chyper
Gambar 10. Rancangan Tampilan Awal Tampilan awal ini adalah tampilan pertama kali ketika program dijalankan. Seperti yang digambarkan diatas, pada tampilan awal ini terdapat dua menu yaitu menu file dan Help didalam menu file terdapat submenu yang langsung
memanggil form-form dalam program seperti sub menu Enkripsi yang memanggil form enkrpsi, menu Dekripsi yang memanggil form dekripsi, dan yang terakhir sub menu keluar yang memerintahkan program untuk keluar. b. Tampilan Form Enkripsi
PROGRAM ENKRIPSI Catatan : Spasi akan dihilangkan pada saat proses enkripsi dan dekripsi
Masukkan Kalimat : Jumlah Putaran
:
Ju mlah Putaran 1-25 Kalimat Awal
Hasil ENKRIPSI
ULANGI
BACK
Gambar 11. Rancangan Tampilan Form Enkripsi Tampilan form Enkripsi ini adalah tampilan yang muncul ketika menjalan kan submenu enkripsi yang ada di menu file, form ini didalamnya terdapat empat kotak dialog text file dan tiga tombol untuk mengeksekusi form ini. Didalam form Enkripsi terdapat kotak dialog text file untuk memasukkan kalimat/text yang akan dienkripsi, kotak dialog text file untuk memasukkan jumlah putaran enkripsi, kotak dialog text file untuk kalimat awal sebelum dienkripsi dan kotak dialog text file untuk hasil text yang sudah dilakukan proses enkripsi, dimana dialog text kalimat awal dan hasil akan terisi secara otomatis. Sedangan tombol enkripsi digunakan untuk mengeksekusi proses enkripsi setelah kita memasukkan kalimat dan jumlah putaran, tombol Ulangi untuk mengulangi proes enkripsi dari awal, dan yang terakhir adalah tombol back yang digunakan kembali ke menu utama.
c. Tampilan Form Dekripsi
PROGRAM DEKRIPSI Catatan : Spasi akan dihilangkan pada saat proses enkripsi dan dekripsi
Masukkan Kalimat : Jumlah Putaran
:
Jumlah Putaran 1-25 Kalimat Awal
Hasil DEKRIPSI
ULANGI
BACK
Gambar 12. Rancangan Tampilan Form Dekripsi
Tampilan form Dekripsi ini adalah tampilan yang muncul ketika menjalan kan submenu dekripsi yang ada di menu file, form ini didalamnya terdapat empat kotak dialog text file dan tiga tombol untuk mengeksekusi form ini. Didalam form dekripsi terdapat kotak dialog text file untuk memasukkan kalimat/text yang akan didekripsi, kotak dialog text file untuk memasukkan jumlah putaran dekripsi, kotak dialog text file untuk kalimat awal sebelum didekripsi dan kotak dialog text file untuk hasil text yang sudah dilakukan proses dekripsi, dimana dialog text kalimat awal dan hasil akan terisi secara otomatis. Sedangan tombol enkripsi digunakan untuk mengeksekusi proses dekripsi setelah kita memasukkan kalimat dan jumlah putaran, tombol Ulangi untuk mengulangi proes dekripsi dari awal, dan yang terakhir adalah tombol back yang digunakan kembali ke menu utama. H.
HASIL Program ini di buat dengan harapan dapat memudahkan dalam mengamankan file atau untuk melindungi data-data kita dari orang yang tidak berhak, dan tidak bertanggung jawab. pada saat menjalankan program tampilan pertama yang akan muncul adalah tampilan form Menu. a. Menu Utama
Gambar 13. Tampilan Menu Utama Tampilan awal ini adalah tampilan pertama kali ketika program dijalankan. Seperti yang digambarkan diatas, pada tampilan awal ini terdapat dua menu yaitu menu File dan About, didalam menu file terdapat submenu yang langsung memanggil form-form dalam program seperti sub menu Enkripsi yang memanggil form enkripsi, menu Dekripsi yang memanggil form dekripsi, dan yang terakhir sub menu keluar yang memerintahkan program untuk keluar. b. Menu File Menu file terdiri dari 3 sub menu yaitu enkripsi, dekripsi, dan Keluar. Menu enkripsi digunakan untuk mengakses form enkripsi. Menu dekripsi digunakan untuk mengakses form dekripsi. Menu Keluar digunakan untuk keluar dari sistem secara keseluruhan.
1)
Sub Menu Enkripsi
Gambar 14. Tampilan Sub Menu Enkripsi Ini adalah tampilan Enkripsi, didesain dengan sederhana yang bertujuan agar semua kalangan dapat dengan mudah dalam penggunaannya dan diharapkan dengan secepatnya merasa familiar sehingga tidak memerlukan waktu banyak untuk memahami cara penggunaanya. Program ini di buat untuk mengetahui cara merubah text asli yang di enkripsi menjadi symbol-simbol dengan cara mengetikan atau memasukan text pada text area yang ada di sebelah text masukkan kalimat, mengetikan atau memasukan jumlah putaran pada text area yang ada di sebelah text jumlah putaran kemudian di klik tombol enkripsinya maka secara otomatis akan muncul kalimat awal yang akan dienkripsi pada text area kalimat awal, dan hasil dari enkripsinya akan muncul tepat di text area hasil. Untuk mengulangi proses enkripsi dengan cara klik tombol ulangi, maka proses akan diulangi dari awal seperti langkah-langkah diatas. Sedangkan untuk kembali ke menu utama di klik tombol back. Pada saat proses enkripsi berjalan, langkah awal dalam melakukan enkripsi adalah membuat aray untuk membuat indeks dari semua abjad yang digunakan, seperti terlihat dalam Gambar 5.15.
Gambar 15. Pembuatan indeks abjad Proses akan melanjutkan dengan membaca input kalimat yang akan diproses dan jumlah putaran yang akan digunakan untuk enkripsi, kemudian merubah kalimat yang ada dengan hruf kapital untuk menyamakan dengan indeks yang sudah dibuat, seperti terlihat dalam gambar 5.16.
Gambar 16. Pembacaan karakter dan jumlah putaran Perintah untuk membandingkan karakter yang dimasukkan dengan array abjad yang sudah dibuat adalah :
if(namaChar.get(j).toString().equals(abjad.get(i) )) Untuk memastikan, bahwa hasil proses indeks tidak lebih besar dari 25 sehingga akan tetap sesuai dengan indeks, dapat digunakan perintah :
if(indeksEnkripsi > 24) indeksEnkripsi = indeksEnkripsi % 25; Proses enkripsi selengkapnya dapat dilihat dalam gambar17.
Gambar 17. Sintax proses enkripsi 2)
Sub Menu Dekripsi
Gambar 18. Tampilan Sub Menu Dekripsi
Ini adalah tampilan Dekripsi, sama dengan tampilan enkripsi, tampilan dekripsi juga didesain dengan sederhana yang bertujuan agar semua kalangan dapat dengan mudah dalam penggunaannya dan diharapkan dengan secepatnya merasa familiar sehingga tidak memerlukan waktu banyak untuk memahami cara penggunaanya. Program ini di buat untuk mengetahui cara merubah symbolsimbol / text terenkripsi yang di deskripsi menjadi text asli dengan cara mengetikan atau memasukan symbol-simbol / text terenkripsi pada text area yang ada di sebelah text masukkan kalimat, mengetikan atau memasukan jumlah putaran pada text area yang ada di sebelah text jumlah putaran kemudian di klik tombol dekripsinya maka secara otomatis akan muncul kalimat symbolsimbol / text terenkripsi yang akan didekripsi pada text area kalimat awal, dan hasil dari dekripsinya akan muncul tepat di text area hasil. Untuk mengulangi proses dekripsi dengan cara klik tombol ulangi, maka proses akan diulangi dari awal seperti langkah-langkah diatas. Sedangkan untuk kembali ke menu utama di klik tombol back. Proses Enkripsi pada dasarnya tidak jauh berbeda dengan proses enkripsi, langkah awal dalam melakukan dekripsi adalah membuat aray untuk membuat indeks dari semua abjad yang digunakan, seperti terlihat dalam Gambar 5.15. Proses akan melanjutkan dengan membaca input kalimat yang akan diproses dan jumlah putaran yang akan digunakan untuk dekripsi, kemudian merubah kalimat yang ada dengan hruf kapital untuk menyamakan dengan indeks yang sudah dibuat, seperti terlihat dalam gambar 5.16. Perintah untuk membandingkan karakter yang dimasukkan dengan array abjad yang sudah dibuat adalah :
if(namaChar.get(j).toString().equals(abjad.get(i)
)) Untuk memastikan, bahwa hasil proses indeks tidak lebih besar dari 25 sehingga akan tetap sesuai dengan indeks, dapat digunakan perintah :
if(indeksEnkripsi > 24) indeksEnkripsi = indeksEnkripsi % 25; Proses dekripsi seperti terlihat dalam gambar 20.
Gambar 5.19. Sintax proses dekripsi Dari proses enkripsi dan dekripsi secara umum sintax yang digunakan adalah sama. Perbedaan dalam kedua proses tersebut dapat terlihat pada perbandingan sintak berikut ini : Enkripsi :
if(indeksEnkripsi > 24) indeksEnkripsi = indeksEnkripsi % 25; Dekripsi
if(indeksEnkripsi < 0) indeksEnkripsi = indeksEnkripsi + 25; Dapat terlihat bahwa penggantian abjad input dengan indeks array adalah jika indeks sudah pada titik maksimal maka digunakan sisa hasil bagi ( modulo ) untuk mendapatkan hasil enkripsi , dan jika indeks sudah pada titik minimal maka digunakan penambahan dengan 25 ( jumlah karakter yang digunakan ) untuk mendapatkan hasil dekripsi. I.
Kesimpulan Dari apa yang sudah dilakukan, dapat diambil kesimpulan sebagai berikut. 1. Algoritma cipher dapat digunakan sebagai salah satu teknik pengamanan data terhadap penyerangan dari pihak-pihak yang tidak bertanggung jawab 2. Caesar cipher yang merupakan salah satu jenis teknik kriptografi yang dapat dijalankan dengan panjang kunci yang variabel, yaitu sebanyak 26 kunci. 3. Teknik pemecahan kata kunci tersebut dapat dilakukan dengan cara melakukan pengecekan terhadap semua kunci yang ada yang berjumlah 26 tersebut.
J. Daftar Pustaka Raharjo, B., 1998, Keamanan Sistem Informasi Berbasis Internet , PT Insan, Bandung. Darius, D., 2006, Kriptografi Keamanan Data dan Komunikasi, Graha Ilmu, Yogyakarta. Darius, D., 2008, Pengantar Ilmu Kriptografi Teori Analisis dan Implementasi , Andi Offset, Yogyakarta. Martin, (2005), UML Distilled Panduan Singkat Bahasa Pemodelan Objek Standard , Gramedia, Jakarta.
Munir, M., 2004, Algoritma Kriptografi Klasik, Departemen Teknik Informatika Institut Teknologi Bandung, Bandung. Munir, M., 2006, Kriptografi, Informatika, Bandung. Sadikin, R., 2012, Kriptografi untuk Keamanan Jaringan, Andi Offset, Yogyakarta. Hartati, S., 2006, Pemrograman GUI Swing dengan NetBeans 5 , Andi Offset, Yogyakarta. Stallings, Williams, 1995, Cryptography and Network Security : Principles and Practices, 2nd edition, Upper Saddle River : Prentice Hall Inc. Stallings, Williams, 2006, Cryptography and Network Security : Principles and Practices, 4th edition, Upper Saddle River : Prentice Hall Inc. Utami, Ema dan Sukrisno. 2007, Implementasi Steganografi EoF dengan Gabungan Ekripsi Rijndael, Shift Chiper dan Fungsi Hash. Yogyakarta. Kurniawan, Y., 2014, KRIPTOGRAFI Keamanan Internet dan Jaringan Komunikasi , Informatika, Bandung.
Biodata Penulis Yuli Praptomo PHS, S.Kom adalah dosen tetap STMIK El Rahma Yogyakarta, lahir di Kulon Progo, 7 Juli 1972. Memperoleh gelar Sarjana Komputer, jurusan Teknik Informatika STMIK AKAKOM Yogyakarta pada tahun 1999, jabatan akademik terakhir Lektor, Teknik Informatika.