Sunday, July 3, 2016

IMPLEMENTASI ALGORITMA KRIPTOGRAFI KLASIK PADA APLIKASI CHAT DENGAN METODE DES




ABSTRAK
Kemajuan teknologi di bidang komputer memungkinkan ribuan orang dan komputer di seluruh dunia terhubung dalam satu dunia maya yang dikenal sebagai cyberspace atau Internet. Begitu juga ratusan organisasi seperti perusahaan, lembaga negara, lembaga keuangan, militer dan sebagainya.Tetapi sayangnya, kemajuan teknologi selalu diikuti dengan sisi buruk dari teknologi itu sendiri. Salah satunya adalah rawannya keamanan data sehingga menimbulkan tantangan dan tuntutan akan tersedianya suatu sistem pengamanan data yang sama canggihnya dengan kemajuan teknologi komputer itu sendiri. Ini adalah latar belakang berkembangnya sistem keamanan data untuk melindungi data yang ditransmisikan melalui suatu jaringan komunikasi. Ada beberapa cara melakukan pengamanan data yang melalui suatu saluran, salah satu diantaranya adalah kriptografi. Dalam kriptografi, data yang dikirimkan melalui jaringan akan disamarkan sedemikian rupa sehingga kalaupun data itu bisa dibaca maka tidak bisa dimengerti oleh pihak yang tidak berhak. Data yang akan dikirimkan dan belum mengalami penyandian dikenal dengan isitilah plaintext , dan setelah disamarkan dengan suatu cara penyandian, maka plaintext ini akan berubah menjadi ciphertext . Kriptografi mempunyai sejarah yang panjang, mulai dari kriptografi Caesar yang berkembang pada zaman sebelum Masehi sampai kriptografi modern yang digunakan dalam komunikasi antar komputer di abad 20. Kata kriptografi sendiri berasal dari bahasa Yunani, yaitu kryptós yang berarti tersembunyi, dan gráphein yang berarti menulis. Jadi Kriptografi berarti penulisan rahasia. Ada dua cara yang paling dasar pada kriptografi klasik. Yang pertama adalah transposisi. Transposisi adalah mengubah susunan huruf pada plaintext sehingga urutannya berubah. Contoh yang paling sederhana adalah mengubah suatu kalimat dengan menuliskan setiap kata secara terbalik. 



ABSTRAK  ................................................................................................................ iv
DAFTAR ISI ..............................................................................................................  ii
BAB I             PENDAHULUAN  ....................................................................................  1
                       1.1.        Latar Belakang  ..........................................................................  1
                       1.2.        Rumusan Masalah  .....................................................................  2
                       1.3.        Batasan Masalah  .......................................................................  2
                       1.4.        Tujuan Penelitian  .......................................................................  2
                        1.5.       Manfaat Penelitian  ....................................................................  2
BAB II           PEMBAHASAN      .................................................................................. 2
                       2.1.        pengertian Kriptografi................................................................. 2 
                       2.2.        Enkripsi (DES).............................................................................. 3
                       2.3.        Algoritma Kriptografi Klasik......................................................... 4
                       2.4.        Implementasi Kriptografi Klasik Pada Aplikasi Chat   ...................... 6
                       BAB III METODE PENELITIAN    ............................................................... 18   
                       3.1.        Metode Penelitian  ..................................................................... 18
                       3.2.        Estimasi    .................................................................................. 18
BAB IV KESIMPULAN  .............................................................................................. 20
DAFTAR PUSTAKA    ................................................................................................. ... 21






BAB 1.            PENDAHULUHAN
1.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 kerahasiaan pesan.
Oleh karena itu pada pembahasan ini dibuat suatu aplikasi sistem “Implementasi Algoritma Kripografi Klasik Pada Aplikasi Chat dengan metode DES”


1.2  Rumusan Masalah
Berdasarkan latar belakang di atas, maka yang menjadi rumusan masalah dalam penelitian ini adalah untuk melakukan pengamanan kerahasian informasi.
1.3  Batasan Masalah
Adapun batasan masalah dalam penelitian ini adalah : mendekteksi masalah jaringan dengan menggunakan aplikasi CHAT.
1.4  Tujuan Proposal.
Adapun tujuan dalam proposal ini adalah :
Tujuan dalam proposal ini adalah membuat Sistem Implementasi Algoritma Kripografi Klasik Pada Aplikasi Chat Untuk Pengamanan Kerahasian informasi.
1.5  Manfaat Penelitian
1.     Untuk mengetahui masalah pada sistem informasi.
2.     Untuk mengetahui kegiatan-kegiatan yang mencurigakan didalam sebuah sistem informasi.
3.     Untuk pendeteksi dan pemberi peringatan terhadap gangguan yang datang dari luar dan dalam sistem informasi.
4.     Untuk pengamanan suatu sistem informasi.

BAB 2.            PEMBAHASAN
2.1  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.
2.2 Enkripsi (DES)
DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit [2]. Skema global dari algoritma DES adalah sebagai berikut :
1.     Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP).
2.     Hasil permutasi awal kemudian di-enciphering– sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda.
3.     Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.




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


http://4.bp.blogspot.com/-GB_BXW1QvA4/UJK8L-iCxBI/AAAAAAAAAbc/vdg12qQOrr0/s1600/1.png

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.


http://4.bp.blogspot.com/-UmzrhjzWUu0/UJK8h0hNQSI/AAAAAAAAAcs/g_H0YmanNTs/s1600/2.png
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

http://1.bp.blogspot.com/-w2asI0ap5CM/UJK8jRYL3WI/AAAAAAAAAc0/BJUGGM8nDlM/s1600/3.png


    2.4.      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 :

http://4.bp.blogspot.com/-khFKVTpwOZ4/UJK8kZRLsAI/AAAAAAAAAc4/qu0F3VdUZE4/s320/4.png

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:

http://1.bp.blogspot.com/-F8naCy2NtWQ/UJK8lu1vtUI/AAAAAAAAAdE/_c80cugYUyg/s320/5.png

http://2.bp.blogspot.com/-Gznrf8V01-w/UJK8mRy7tEI/AAAAAAAAAdI/7U5rFvNh7AI/s1600/6.png


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


http://2.bp.blogspot.com/-Oyd3491YYfo/UJK8nrwHDdI/AAAAAAAAAdU/wcog1S8VTNU/s320/7.png

  
2.     Klik Interface List

http://4.bp.blogspot.com/-EvEL0g9sZs8/UJK8pPQ_e9I/AAAAAAAAAdc/QM9gLb33j8E/s400/8.png


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

http://2.bp.blogspot.com/-lfcxiHc4vxI/UJK8qOKLC0I/AAAAAAAAAdk/3yGkqf2rfVc/s320/9.png


4.      Setelah itu akan muncul tampilan seperti ini

http://2.bp.blogspot.com/-cLe4HtVWXGM/UJLIfgGS3gI/AAAAAAAAAec/t1ptX3v9JXg/s400/10.png

5.  Kemudian untuk melihat perbedaan antara aplikasi yang menggunakan kriptografi dan yang memakai kriptografi adalah pertama – tama jalankan aplikasi chat yang tanpa menggunakan kriptografi.
http://3.bp.blogspot.com/-Xwy34TkUjeI/UJLJqlRhdCI/AAAAAAAAAek/dI-QQ8Q1EKE/s320/11.png

6.      Setelah itu lihat apakah isi pesan terlihat pada wireshark

http://3.bp.blogspot.com/-0PPv2aOMtjQ/UJLJvRp_OrI/AAAAAAAAAes/1LiWbEsm5E8/s400/12.png


http://4.bp.blogspot.com/-uGNzp2VH_NU/UJLJytSGLPI/AAAAAAAAAe0/K94iAmvwKZY/s400/13.png

7.      Kemudian jalankan aplikasi chat yang menggunakan kriptografi

Gambar Aplikasi Chat Caesar Cipher

http://4.bp.blogspot.com/-Th-0QBovPNc/UJLJ0FFcOPI/AAAAAAAAAe8/DCz1Y7VPgtU/s320/14.png

Gambar Aplikasi Chat Vigenere Cipher

http://1.bp.blogspot.com/-2vFZyyd7VGM/UJLJ1YzhwEI/AAAAAAAAAfE/R8W8SOQWxyw/s320/15.png


8.      Lihat apakah isi pesan terlihat pada wireshark

http://2.bp.blogspot.com/-y9rlRNMZl4E/UJLJ5dVJ7UI/AAAAAAAAAfM/Nicedhbdjao/s400/16.png


http://2.bp.blogspot.com/-yAljZdROrLE/UJLJ9C8t1II/AAAAAAAAAfU/XNKEq3eUq6A/s400/17.png


http://3.bp.blogspot.com/-WXTHOlzSQf4/UJLJ97L8FlI/AAAAAAAAAfY/eKcF1-VfMYM/s1600/18.png


Maka terlihatlah perbedaan antara chat yang menggunakan kriptografi dan yang tidak menggunakan kriptografi, bahwa isi pesan sulit dibaca karena sudah dienkripsi.



BAB 3.            METODE PENELITIAN
3.1  Metode Penelitian
             Dalam penyusunan penulisan proposal ini, penulis melakukan penelitian dengan metode eksperimen dengan langkah-langkah sebagai berikut
1.1.  Metode pertama yang digunakan penulis yaitu perencanaan
1.2. Metode analisa, penulis memilihan software dan database yang digunakan dalam pembuatan program dengan cara mempelajari buku-buku/peper-peper serta literature-literatur yang berhubungan dengan pembahasan dalam penulisan ini.
1.                       3.         Perancangan system
2.                       4.         Pembuatan sistem
3.                       5.         Testing dan Implementasi aplikasi.
4.                       6.         Evaluasi
5.                       7.         Penyusun Laporan

3.2  Estimasi Biaya
1.     Total Biaya Pengembangan Sistem Aplikasi ………………………….. Rp 15.000.000,-
2.     Meliputi :
3.     – Transportasi dan akomodasi…………………………………………….. = Rp 200.000
4.     – Analisa dan Desain software…………………………………………….. = Rp 1.000.000
5.     – Testing dan debugging (Uji coba dan penyesuaian)……………….. = Rp 1.000.000
6.     – Training (Pelatihan user pengguna software)………………………… = Rp 1.000.000
7.     – Implementasi (Penerapan lapangan)…………………………………… = Rp 500.000
8.     – Biaya pemasangan sistem informasi……………………………………. = Rp 10.000.000
9.     – PPh (10%) dan PPn (1,5%)…………………………………………….. = Rp 500.000

Payment (Pembayaran) :
– 30 % pada waktu tanda tangan kontrak
– 30 % pada waktu testing dan training
– 40 % pada waktu Implementasi
Jangka Waktu Penyelesaian : 4 bulan
Garansi Program : 6 bulan



BAB IV.          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 Pustaka

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