Sabtu, 05 Januari 2013

PENGAMANAN DATA MENGGUNAKAN METODA ENKRIPSI SIMETRI DENGAN ALGORITMA WAKE


BAB I

PENDAHULUAN

1.1 Latar Belakang

Masalah keamanan merupakan suatu aspek penting dalam pengiriman data maupun informasi melalui jaringan. Hal ini disebabkan karenakemajuan di bidang jaringan komputer dengan konsep open system-nya sehingga memudahkan seseorang untuk masuk ke dalam jaringan tersebut. Hal tersebut dapat mengakibatkan proses pengiriman data menjadi tidak aman dan dapat saja dimanfaatkan oleh orang maupun pihak lain yang tidak bertanggung jawab, untuk mengambil data ataupun informasi ditengah jalan. Oleh karena itu, dibutuhkan suatu sistem keamanan yang dapat menjaga kerahasiaan suatu data maupun informasi, sehingga data tersebut dapat dikirimkan dengan aman. Salah satu cara untuk menjaga keamanan dan kerahasiaan suatu data maupun informasi adalah dengan teknik enkripsi dan dekripsi dengan memanfaatkan algoritma WAKE guna membuat data, maupun informasi agar tidak dapat di baca atau di mengerti oleh sembarang orang, kecuali untuk penerima yang berhak.

1.2 Perumusan masalah.

Permasalahan yang diangkat pada penelitian ini adalah :
1.      Bagaimana merancang aplikasi enkripsi dan diskripsi dalam iplementasikan ke sebuah text
2.      Bagaimana mengimplementasikan pendekatan rumus algoritma WAKE dalam enkripsi simentri untuk melindungi teks berupa kode yang telah dibuat dengan algoritma wake 
3.      Membuat data text, maupun informasi agar tidak dapat di baca atau di mengerti oleh sembarang orang, kecuali untuk penerima yang berhak.

1.3 Batasan masalah.

Untuk menyelesaikan permasalahan di atas diberikan batasan-batasan sebagai berikut:
1.      Desain sistem aplikasi ini  dibatasi dengan menggunakan metode algoritma WAKE
2.      Implementasi dilakukan pada proses pembentukan kunci berupa banyaknya putaran yang telah ditentukan
3.      Hanya mengacu pada pemrosesan sebuah text
4.      Menggunakan Operating system windows 7 ultimate
5.      Menggunakan bahasa pemrograman java dengan menggunakan netBean 7.1 0

1.4. Tujuan Penelitian

            Tujuan dari pembuatan proposal  ini adalah:
1.      Untuk menjaga keamanan file yang dirahasiakan.
2.      Untuk menyembunyikan keberadaan file rahasia sehingga tidak dapat dideteksi.
3.      Untuk memberikan pandangan bahwa kriptografi juga memiliki tingkat keamanan yang cukup tinggi dibandingkan dengan steganografi
1.5 Manfaat Penelitian
Manfaat dari pembuatan proposal ini adalah :

1.      Agar keamanan data bisa terlinddungi dari akses luar yang tidak di inginkan
2.      Agar bisa menjadi aplikasi yang mampu menjaga kerahasiaan dan keamanan sebuah file.
3.      Agar bisa mengerti tentang rumus algoritma WAKE dalam penyembuyian sebuah text 

BAB 2
TINJAUAN PUSTAKA
2.1   Data
Data merupakan bentuk jamak dari datum, berasal dari bahasa Latin yang berarti "sesuatu yang diberikan". Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa adanya. Pernyataan ini adalah hasil pengukuran atau pengamatan suatu variabel yang bentuknya dapat berupa angka, kata-kata, atau citra.
2.1.1        Jenis-jenis data
a.       Data nominal
Data nominal adalah ukuran yang paling sederhana, dimana angka yang diberikan kepada objek mempunyai arti sebagai label saja, dan tidak menunjukkan tingkatan apapun. Ciri-ciri data nominal adalah hanya memiliki atribut, atau nama, atau diskrit
b.      Data ordinal
Bagian lain dari data kontinum adalah data ordinal. Data ini, selain memiliki nama (atribut), juga memiliki peringkat atau urutan. Angka yang diberikan mengandung tingkatan. Ia digunakan untuk mengurutkan objek dari yang paling rendah sampai yang paling tinggi, atau sebaliknya.
c.       Data interval
Pemberian angka kepada set dari objek yang mempunyai sifat-sifat ukuran ordinal dan ditambah satu sifat lain, yakni jarak yang sama pada pengukuran dinamakan data interval. Data ini memperlihatkan jarak yang sama dari ciri atau sifat objek yang diukur. Akan tetapi ukuran interval tidak memberikan jumlah absolut dari objek yang diukur
d.      Data ratio
Ukuran yang meliputi semua ukuran di atas ditambah dengan satu sifat yang lain, yakni ukuran yang memberikan keterangan tentang nilai absolut dari objek yang diukur dinamakan ukuran ratio (data rasio). Data ratio, yang diperoleh melalui mengukuran dengan skala rasio memiliki titik nol.

2.2 Kriptografi
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data. Tidak semua aspek keamanan informasi ditangani oleh kriptografi.
            Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
Ø  Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
Ø  Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
Ø  Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
Ø  Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

2.2.1        Algoritma Sandi
Algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):
·         konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya
·         difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
Sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang /plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.
Enkripsi :
Dekripsi : atau
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
·         kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik
·         kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
·         algoritma sandi klasik classic cryptography
·         algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
·         algoritma sandi kunci rahasia secret-key
·         algoritma sandi kunci publik publik-key
Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.
2.2.1.1  Algoritma Sandi Kunci-Simetris
Skema algoritma sandi akan disebut kunci-simetris apabila untuk setiap proses enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher dan stream-cipher.
1.      Block-Cipher
Block-cipher adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama. Pada umumnya, block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci. Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :
·         ECB, Electronic Code Book
·         CBC, Cipher Block Chaining
·         OFB, Output Feed Back
·         CFB, Cipher Feed Back
2.      Stream-Cipher
Stream-cipher adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per lima bit(saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data digunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum.
3  Algoritma Sandi Kunci-Asimetris
Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi kunci publik karena kunci untuk enkripsi dibuat untuk diketahui oleh umum (public-key) atau dapat diketahui siapa saja, tapi untuk proses dekripsinya hanya dapat dilakukan oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsinya, disebut private-key. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi[4].
Ø  Fungsi Enkripsi dan Dekripsi Algoritma Sandi Kunci-Asimetris
Apabila Ahmad dan Bejo hendak bertukar berkomunikasi, maka:
1.      Ahmad dan Bejo masing-masing membuat 2 buah kunci
1.      Ahmad membuat dua buah kunci, kunci-publik dan kunci-privat
2.      Bejo membuat dua buah kunci, kunci-publik dan kunci-privat
2.      Mereka berkomunikasi dengan cara:
1.      Ahmad dan Bejo saling bertukar kunci-publik. Bejo mendapatkan dari Ahmad, dan Ahmad mendapatkan dari Bejo.
2.      Ahmad mengenkripsi teks-terang ke Bejo dengan fungsi
3.      Ahmad mengirim teks-sandi ke Bejo
4.      Bejo menerima dari Ahmad dan membuka teks-terang dengan fungsi
Hal yang sama terjadi apabila Bejo hendak mengirimkan pesan ke Ahmad
1.      Bejo mengenkripsi teks-terang ke Ahmad dengan fungsi
2.      Ahmad menerima dari Bejo dan membuka teks-terang dengan fungsi


2.1  Algoritma WAKE
WAKE merupakan singkatan dari Word Auto Key Encryption ditemukan pertama kali oleh David J. Wheeler pada tahun 1993. Tujuannya adalah untuk mendesain sebuah system enkripsi yang berkecepatan sedang dan berkeamanan tinggi. Inti dari mtode WAKE adalah di dalam proses pembentukan S-box dan pembangkitan kunci[1].
Secara keseluruhan proses dalam algoritma wake adalah sebagai berikut:
1.      Proses pembentukan table S-box
2.      Pembentukan kunci
3.      Proses enkripsi
4.      Proses dekripsi
2.2.1.            Proses Pembentukan S-box
Langkah-langkah di dalam proses pembentukan table  S-box :
1.      Inisialisasi nilai TT[0] … TT[7] :
TT[0] : 726a8f3b (dalam heksadesimal)
TT[1] : e69a3b5c (dalam heksadesimal)
TT[2] : d3c71fe5 (dalam heksadesimal)
TT[3] : ab3c73d2 (dalam heksadesimal)
TT[4] : 4d3a8eb3 (dalam heksadesimal)
TT[5] : 0396d6e8 (dalam heksadesimal)
TT[6] : 3d4c2f7a (dalam heksadesimal)
TT[7] : 9ee27cf3 (dalam heksadesimal)
2.      Inisialisasi untuk nilai awal T[0]…T[3] :
T[0] = K[0]
T[1] = K[1]
T[2] = K[2]
T[3] = K[3]
K[0]…K[3] merupakan inputan kunci yang dipecah menjadi empat bagian.
3.      Untuk T[4] sampai T[255], lakukan proses berikut :
            X = T[n-4] + T[n-1]
            T[n] = X >> 3 XOR TT(X AND 7)
4.      Untuk T[0] sampai T[22], lakukan proses berikut :
            T[n] = T[n] + T[n+89]
5.      Set nilai untuk beberapa variabel di bawah ini :
            X = T[33]
            Z = T[59] OR (01000001h)
            Z = Z AND (FF7FFFFFh)
            X = (X AND FF7FFFFFh) + Z
6.      Untuk T[0] … T[255], lakukan proses berikut :
            X = (X AND FF7FFFFFh) + Z
            T[n] = T[n] AND 00FFFFFFh XOR X
7.      Inisialisasi nilai untuk beberapa variabel berikut ini :
            T[256] = T[0]
            X = X AND 255
8.      Untuk T[0] … T[255], lakukan proses berikut :
            Temp = (T[n XOR X] XOR X) AND 255
            T[n] = T[Temp]
            T[X] = T[n+1]
2.2.2.            Proses Pembentukan Kunci
Di dalam WAKE proses pembentukan kunci ditentukan dalam banyaknya n putaran. Jadi semakin banyak putaran dalam pembentukan kunci maka keamanan akan semakin meningkat. fungsi dalam pembentukan kunci adalah M(X,Y)=(X+Y)>>8 XOR t[(X+Y) & 255].
Proses yang pertama dilakukan adalah memecah inputan kunci menjadi 4 bagian yang dijadikan inputan nilai awal pada variable A0, B0, C0, D0 yang selanjutnya diproses melalui langkah berikut :
Ai+1      = M(Ai, Di)
Bi+1      = M(Bi, Ai+1)
Ci+1      = M(Ci, Bi+1)
Di+1      = M(Di, Ci+1)
Nilai dari Di merupakan nilai dari kunci Ki.

2.2.3.            Proses Enkripsi
Proses enkripsi dari metode wake adalah dengan melakukan operasi perhitungan XOR pada plainteks dengan kunci untuk menghasilkan chiperteks.

P Å K = C


Keterangan :
P = plainteks
K = kunci
C = chiperteks

2.2.4.            Proses Dekripsi
Proses dekripsi dalam metode WAKE adalah  melakukan operasi perhitungan XOR pada chiperteks dengan kunci untuk mendapatkan plainteks.
C Å K = P

Tidak ada komentar:

Posting Komentar