17
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

PENGAMANAN FILE TYPE TEXT DENGAN CRIPTOGRAPHY …jurnal.stmikelrahma.ac.id/assets/file/Yuli Praptomo PHS-27... · metode yang telah dirancang oleh B. Biasanya, metode enkripsi diketahui

Embed Size (px)

Citation preview

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) (4)

F. 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.

Gambar 4. Desain Menu Utama

b. Sub Menu File

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.

Gambar 5. Desain Sub Menu Data

File About

Pengamanan File Type Text

Dengan Cryptography Caesar Chyper

File About

Pengamanan File Type Text

Dengan Cryptography Caesar Chyper

Enkripsi

Dekripsi

Keluar

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 :

Gambar 6. Struktur Navigasi

4. Flowchar Caesar Chiper

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.

Pengamanan File Text

Dengan Caesar Cyper

FILE About

Enkripsi

Dekripsi

Keluar

START

MENU

UTAMA

PLIH

ENKRI

PSI

PILIH

DEKRI

PSI

PILIH

KELUA

R

END

PROSES

ENKRIPSI YA

YA

YA

TIDAK

TIDAK

TIDAK

ULAN

G

PROSE

S

YA

TIDAK

PROSES

DEKRIPSI YA

ULAN

G

PROSE

S

YA TIDAK

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.

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

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

System

USER

FILE

Enkripsi

Dekripsi

Keluar

About

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()

File About

Pengamanan File Type Text Dengan Cryptography Caesar Chyper

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

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

Gambar 12. Rancangan Tampilan Form Dekripsi

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

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

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 symbol-

simbol / 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 symbol-

simbol / 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.