Sekuritas-Komputer-1277017

19
Implementasi Algoritma Kriptografi Klasik Pada Aplikasi Chat Tugas Sekuritas Komputer Disusun Oleh: Ridla Fadilah 1277017 UNIVERSITAS KRISTEN MARANATHA FAKULTAS TEKNOLOGI INFORMASI JURUSAN TEKNIK INFORMATIKA BANDUNG 2012

Transcript of Sekuritas-Komputer-1277017

Implementasi Algoritma Kriptografi Klasik Pada Aplikasi Chat

Tugas Sekuritas Komputer

Disusun Oleh:

Ridla Fadilah 1277017

UNIVERSITAS KRISTEN MARANATHA

FAKULTAS TEKNOLOGI INFORMASI

JURUSAN TEKNIK INFORMATIKA

BANDUNG

2012

Pendahuluan

1. Latar Belakang

Keamanan dalam kehidpuan saat ini adalah hal yang sangat penting. Arti dari

keamanan itu sendiri adalah menjaga suatu unsur yang sangat penting dari tindakan yang

tidak diinginkan, beberapa contohnya adalah informasi dan pesan. Jika kita bertukar

pesan (misal surat), maka kita tentu ingin pesan yang kita kirim sampai ke pihak yang

dituju dengan aman. Maksud aman itu sendiri berarti bahwa selama pengiriman tentu kita

tidak ingin isi pesan dibaca oleh orang yang tidak berhak karena mungkin pesan yang kita

kirim adalah pesan rahasia.

Contoh lain dalam dunia teknologi saat ini cara pengiriman pesan mungkin tidak

harus lagi memakai secarik kertas sebagai media pesan, sekarang kita bisa menggunakan

banyak aplikasi untuk bertukar pesan seperti email,chating, dan lain sebagainya.

Maka secara riil hubungannya jika pesan pada email atau chat itu sangat penting

dan harus dijaga kerahasiaannya maka pencegahaannya adalah menerapkan sistem

keamanan pada chat tersebut untuk mencegah dari orang yang tidak berhak misalnya

sniffing.

Dalam masalah keamanan yang disebutkan tersebut bisa diselesaikan dengan

menggunakan kriptografi. Kriptografi tidak hanya menyediakan alat untuk keamanan

pesan, tetapi juga merupakan suatu kumpulan teknik dalam menyembunyikan kerhasiaan

pesan.

Oleh karena itu pada pembahasan ini dibuat suatu aplikasi sistem “Implementasi

Algoritma Kripografi Klasik Pada Aplikasi Chat”

2. Pengertian Kriptografi

Kriptografi (Cryptography) berasal dari bahasa yunani yaitu “cryptos” artinya

rahasia, sedangkan “graphien” artinya tulisan, jadi kriptografi itu adalah tulisan rahasia.

Dengan kata lain kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan

dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti maknanya.

Dalam kriptografi ada beberapa istilah yang sering ditemukan yaitu “Plainteks,

dan Cipherteks”. Plainteks ada pesan atau teks jelas. Pesan bisa berisi data atau informasi

yang dikirim oleh kurir, saluran telekomunikasi dan lain sebagainya. Cipherteks adalah

pesan yang tersandi.

Proses merubah plainteks menjadi cipherteks disebut enkripsi. Sedangkan proses

kebalikannya disebut dekripsi.

Kriptografi dibuat adalah untuk menghindari dari penyadap. Penyadap adalah

orang yang mencoba melihat pesan saat dikirim.

3. Tujuan Kriptografi

Beberapa tujuan kriptografi adalah :

a. Menjaga kerahasiaan informasi.

b. Untuk menjamin bahwa informasi masih utuh dan belum pernah dimanipulasi.

c. Untuk mencegah bahwa pihak yang berkomunikasi tidak melakukan penyangkalan.

4. Jenis – jenis Kriptografi

Berdasarkan sejarah ada dua jenis kriptografi :

a. Kriptografi Klasik

b. Kriptografi Modern

Pembahasan

1. Algoritma Kriptografi Klasik

Beberapa contoh algoritma kriptografi klasik yang dibahas adalah Caesar Cipher

dan Vigenère Cipher.

a. Caesar Cipher

Pada pengujian kriptografi Caesar Cipher, tiap huruf ditukar atau

disubstitusikan dengan huruf ketiga berikutnya dari susunan alfabet yang

sama, atau dengan kata lain pergeseran 3 huruf selanjutnya.

Tabel substitusi :

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

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

b. Vigenère Cipher

Vigenère Cipher sangat dikenal karena mudah dipahami dan mudah juga

untuk diimplementasikan. Pada proses enkripsi Vigenère Cipher

menggunakan bujursangkar Vigenère. Setiap baris dalam bujur sangkar

menyatakan huruf – huruf Cipherteks yang diperoleh dengan Caesar Cipher.

Bujursangkar Vigenère digunakan untuk memperoleh Cipherteks dengan

menggunakan kucni yang sudah ditentukan. Jika panjang kunci lebih pendek

daripada panjang plainteks, maka kunci diulang penggunaannya.

Tabel Vigenère

Contoh :

Plainteks : SEKURITAS KOMPUTER

Kunci : UKM

Plainteks S E K U R I T A S

Kunci U K M U K M U K M

Cipherteks M O W O B I N K E

2. Implementasi Kriptografi Klasik Pada Aplikasi Chat

a. Pengertian Chat

Chat bisa diartikan adalah komunikasi melalui jalur internet yang transmisinya

realtime atau langsung dari pesan berbasis teks. Chat dapat berkomunikasi multicast atau

dari satu pengirim ke banyak penerima.

b. Tujuan

Tujuan penerapan kriptografi pada chat yaitu untuk pencegahan dari penyadap

atau sniffing karena transmisi yang dikeluarkan chat berupa teks langsung dan

komunikasinya bisa multicast, artinya kemungkinan pihak ke tiga untuk menyadap sangat

mudah.

c. Implementasi

Pada pembuatan aplikasi chatnya menggunakan java sebagai bahasa

pemrogramannya dan wireshark sebagai uji hasil sebagai sniffing.

Berikut output dari Chat yang menggunakan Algoritma Caesar Cipher :

Berikut adalah potongan program dari Caesar Cipher.

..........

abjadY = new char[teks[1].length()];

de = new int[teks[1].length()];

dekripsi = new char[teks[1].length()];

for(int i=0;i<teks[1].length();i++){

abjadY=teks[1].toCharArray();

}

for(int i=0;i<teks[1].length();i++){

de[i]=(int)abjadY[i];

de[i]=(de[i]-3)%127;

dekripsi[i]=(char)de[i];

}

.......................

//////////// Enkripsi ////////////

str = chatc.length();

abjadX = new char[str];

en = new int[str];

enkripsi = new char[str];

for(int i=0;i<str;i++){

abjadX=chatc.toCharArray();

}

for(int i=0;i<str;i++){

en[i]=(int)abjadX[i];

en[i]=(en[i]+3)%127;

enkripsi[i]=(char)en[i];

}

chatc="";

for(int i=0;i<str;i++){

chatc+=Character.toString(enkripsi[i]);

}

//////////////////////////////////

Berikut output dari Chat yang menggunakan Algoritma Vigenère Cipher:

Berikut adalah potongan program pada aplikasinya :

private String enkripsi(String plain, String key){

if(plain.length()==0 || key.length()==0) return null;

else{

for(int i=0;i<key.length();i++)

if(key.charAt(i)==' ')

return null;

char[] temp = new char[plain.length()];

int arr=0;

for(int i=0;i<plain.length();i++){

if(plain.charAt(i)==' ')

temp[i] = ' ';

else{

temp[i] = key.charAt(arr);

if(arr+1==key.length())

arr = 0;

else

arr++;

}

}

key = new String(temp);

char[] Cipher = new char[plain.length()];

for(int i=0;i<Cipher.length;i++){

int r = vAlfa.indexOf(key.charAt(i));

int c = vAlfa.indexOf(plain.charAt(i));

if(plain.charAt(i)==' ') Cipher[i] = ' ';

else Cipher[i] = matriks[r][c];

}

System.out.println("Enkripsi");

System.out.println("Plain Text : "+plain);

System.out.println("Key : "+key);

System.out.println("Cipher Text : "+new

String(Cipher)+"\n");

return (new String(Cipher));

}

}

private String dekripsi(String plain, String key){

if(plain.length()==0 || key.length()==0) return null;

else{

for(int i=0;i<key.length();i++)

if(key.charAt(i)==' ')

return null;

char[] temp = new char[plain.length()];

int arr=0;

for(int i=0;i<plain.length();i++){

if(plain.charAt(i)==' ')

temp[i] = ' ';

else{

temp[i] = key.charAt(arr);

if(arr+1==key.length())

arr = 0;

else

arr++;

}

}

key = new String(temp);

char[] Cipher = new char[plain.length()];

for(int i=0;i<Cipher.length;i++){

int r = vAlfa.indexOf(key.charAt(i));

int c = vAlfa.indexOf(plain.charAt(i));

if(plain.charAt(i)==' ')

Cipher[i] = ' ';

else{

int x = (c-r) % 128;

if(x>=0)

Cipher[i]=vAlfa.charAt(x);

else

Cipher[i]=vAlfa.charAt(x+128);

}

}

System.out.println("Dekripsi");

System.out.println("Plain Text : "+plain);

System.out.println("Key : "+key);

System.out.println("Cipher Text : "+new String(Cipher)+"\n");

return (new String(Cipher));

}

}

Berikut adalah pengujian menggunakan wireshak :

1. Jalankan Program Wrieshark

2. Klik Interface List

3. Pilih interface yang berjalan pada aplikasi chat ini, klik start

4. Setelah itu akan muncul tampilan seperti ini

5. Kemudian untuk melihat perbedaan antara aplikasi yang menggunakan

kriptografi dan yang memakai kriptografi adalah pertama – tama jalankan

aplikasi chat yang tanpa menggunakan kriptografi.

6. Setelah itu lihat apakah isi pesan terlihat pada wireshark

7. Kemudian jalankan aplikasi chat yang menggunakan kriptografi

Gambar Aplikasi Chat Caesar Cipher

Gambar Aplikasi Chat Vigenere Cipher

8. Lihat apakah isi pesan terlihat pada wireshark

Gambar tampilan enkripsi pada aplikasi console

Maka terlihatlah perbedaan antara chat yang menggunakan kriptografi dan yang

tidak menggunakan kriptografi, bahwa isi pesan sulit dibaca karena sudah dienkripsi.

Kesimpulan

Dari seluruh pembahasan ditarik beberapa kesimpulan, bahwa :

1. Kriptografi sangat diperlukan dalam teknologi saat terutama pada jalur

komunikasi internet untuk mencegah dari bahaya sniffing atau penyadapan.

2. Setiap sistem keamanan hanya dapat meminimalisir pencegahan dari yang tidak

diinginkan dalam artian bahwa suatu sistem keamanan apapun tidak seluruhnya

aman pasti ada titik lemahnya. Dalam bahasan ini karena yang dipakai adalah

metode kriptografi klasik, jadi kekuranganya adalah :

a. Kriptanalis dapat dengan mudah untuk mendekripsi dari Cipherteks tanpa

harus mengetahui kuncinya.

b. Tidak dapat menghindari dari serangan Fabrication, Modification dan

penyangkalan oleh pihak kedua bahwa pesan yang dikirim bukan berasal dari

pihak kedua, kecuali jika diterapkan metode Sign Digital atau Tanda Tangan

Digital pada enkripsinya.

Daftar Referensi

Rinaldi Munir. “Kriptografi". Informatika, Bandung, Oktober 2006.

http://en.wikipedia.org/wiki/Caesar_cipher

http://en.wikipedia.org/wiki/Vigenère_cipher

http://en.wikipedia.org/wiki/Online_chat