• Tidak ada hasil yang ditemukan

Implementasi Algoritma Rc4 Dan Metode Modified Lsb Untuk Pengamanan Text File

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Rc4 Dan Metode Modified Lsb Untuk Pengamanan Text File"

Copied!
15
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

Kriptografi berasal dari bahasa Yunani, yaitu “kryptos” yang berarti tersembunyi dan “graphein” yang berarti menulis. Kriptografi adalah bidang ilmu yang mempelajari teknik pengiriman pesan dengan rahasia, yaitu dengan cara sebelum melakukan pengiriman pesan, pesan tersebut disamarkan terlebih dahulu sehingga pesan tersebut tidak dapat diketahui maknanya sebelum pesan yang telah disamarkan itu dikembalikan ke bentuk pesan yang semula (Mollin, 2007).

Setiap orang yang terlibat dalam kriptografi disebut kriptografer sedangkan sebaliknya orang-orang yang berusaha memecahkan metode kriptografi disebut dengan kriptanalisis (Schneier, 1996).

Beberapa istilah yang berkaitan dengan kriptografi (Munir, 2006) diantaranya, 1. Pesan disebut juga dengan plainteks. Pesan merupakan data atau informasi yang dapat dibaca dan dimengerti maknanya. Pesan dapat berupa data atau informasi yang dikirim atau yang disimpan di dalam media perekaman. Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berupa citra, suara, dan video.

2. Cipherteks merupakan pesan yang telah disamarkan ke dalam bentuk lain sehingga pesan tersebut tidak dapat dimengerti maknanya. Untuk dapat mengetahui maknanya maka cipherteks harus ditransformasikan ke dalam bentuk yang semula.

3. Enkripsi merupakan proses untuk menyamarkan plainteks menjadi cipherteks. 4. Dekripsi merupakan proses untuk mengembalikan cipherteks menjadi plainteks

dalam bentuk semula.

(2)

Skema kriptografi ditunjukkan pada gambar 2.1.

Gambar 2.1. Skema Enkripsi dan Dekripsi (Munir, 2006)

2.2 Tujuan Kriptografi

Sebagai penyedia layanan keamanan komunikasi, menurut Menejes (1996) kriptografi memberikan layanan sebagai berikut

1. Kerahasiaan (Confidentiality) yaitu layanan yang memberikan perlindungan terhadap pesan sehingga hanya orang berhak yang dapat memahami informasi dari pesan yang di kirimkan. Dalam kriptografi layanan ini direalisasikan dengan menyandikan pesan menjadi cipherteks. Pihak lain mungkin saja mendapatkan cipherteks namun mereka tidak dapat mengetahui maksud dari pesan tersebut. 2. Integritas data (Data Integrity) yaitu layanan yang memberikan jaminan

keorisinalan dari pesan, bahwa pesan tersebut belum pernah dimanipulasi selama pengiriman. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan dari pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan dan pensubsitusian data lain ke dalam data yang sebenarnya.

3. Otentikasi (Authentication) yaitu layanan yang berhubungan identifikasi, baik mengindentifikasi kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan. Dua pihak yang saling berkomunikasi harus dapat mengotentifikasi satu sama lain sehingga ia dapat memastikan sumber pesan.

(3)

2.3 Jenis Algoritma Kriptografi 2.3.1. Kriptografi kunci simetri

Algoritma kunci simetri adalah algoritma kriptografi yang mana kunci untuk mengenkripsinya sama dengan kunci untuk mendekripsinya (Munir, 2006). Algoritma ini juga disebut algoritma kunci privat dikarenakan pengirim dan penerima sebelum dapat berkomunikasi harus mengetahui kunci yang digunakan. Kunci algoritma ini harus tetap dijaga kerahasiaannya untuk dapat melakukan komunikasi dengan aman (Schneier, 1996). Skema kriptografi kunci simetri ditunjukkan pada gambar 2.2.

Gambar 2.2 Skema Kriptografi Kunci Simetri (Schneier, 1996)

Terdapat tiga cara yang pada umumnya digunakan sebagai dasar dari algoritma kriptografi kunci simetri (Cole, 2003) yaitu

1. Subsitusi, yaitu proses mengambil sebuah karakter kemudian menukarkannya dengan karakter yang lain. Untuk itu dibutuhkan tabel pemetaan satu-satu karakter. Contoh tabel pemetaan karakter ditunjukkan pada tabel 2.1.

Tabel 2.1. Contoh Tabel Pemetaan Karakter

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 H S N U W B J M T A V Y F Q L X D Z G P E R C O I K

Misalkan kita mempunyai pesan “SUBSITUSI” maka S digantikan dengan huruf G, U dengan huruf E dan seterusnya, sehingga “SUBSITUSI” menjadi “GESGTPEGT”.

(4)

blok karakter dengan ukuran yang tetap sesuai panjang kunci. Contoh tabel permutasi karakter ditunjukkan pada tabel 2.2.

Tabel 2.2. Contoh Tabel Permutasi Karakter 2 3 1

P E R M U T A S I Kunci

Pesan

Misalkan kita mempunyai pesan “PERMUTASI” dengan kunci 231. Maka huruf -huruf pada pesan disusun ulang sesuai dengan kunci. Huruf pertama pesan menjadi huruf kedua, huruf kedua menjadi huruf ketiga dan seterusnya, sehingga “PERMUTASI” menjadi “RPETMUIAS”.

3. XOR, merupakan operasi matematika yang beroperasi pada tingkat binary, sehingga pesan harus terlebih dahulu diubah ke dalam bentuk binary-nya. XOR memiliki ciri yang unik yaitu ketika sebuah pesan dikenakan XOR dengan sebuah kunci, maka akan menghasilkan cipherteks dan jika cipherteks tersebut dikenakan XOR dengan kunci yang sama maka akan mengembalikan pesan tersebut ke dalam bentuk yang semula.

Misalkan kita mempunyai pesan rahasia “XOR” dan kunci “ABC”, maka terlebih dahulu kita mengubah pesan dan kunci tersebut ke dalam bentuk binary-nya,

X = 01011000 A = 01000001

O = 01001111 B = 01000010

R = 01010010 C = 01000011

Kemudian kita melakukan operasi XOR antara pesan dengan kunci Pesan = 01011000 01001111 01010010 Kunci = 01000001 01000010 01000011 Ciphertext = 00011001 00001101 00010001

Untuk mengembalikan pesan ke dalam bentuk semula, kita melakukan XOR antara pesan dengan kunci yang sama, maka akan dihasilkan pesan semula.

(5)

Schneier (1996) membagi kriptografi kunci simetri dalam dua kategori yaitu block cipher dan stream cipher. Block cipher beroperasi dalam satuan blok plainteks dan cipherteks, biasanya blok tersebut berukuran 64 bit namun terkadang dapat lebih besar. Sedangkan stream cipher beroperasi dalam satuan bit atau byte pada satu waktu.

2.3.2. Kriptografi kunci asimetri

Kriptografi kunci simetri menggunakan dua buah kunci yaitu kunci publik dan kunci privat. Apapun yang dienkripsi menggunakan satu kunci, maka hanya dapat didekripsi oleh kunci yang lain. Cara kerja kriptografi kunci asimetri adalah sebagai berikut, kita membebaskan setiap orang untuk mengetahui kunci publik kita, namun kita harus menjaga kunci privat kita agar hanya kita yang mengetahuinya. Ketika seseorang ingin mengirim pesan pada kita, maka ia harus mengenkripsinya dengan kunci publik kita. Sehingga pesan tersebut hanya dapat diketahui oleh kita yang memiliki kunci privat untuk mendekripsi pesan tersebut. Skema kriptografi kunci asimetri ditunjukkan pada gambar 2.3.

Gambar 2.3. Skema Kriptografi Kunci Asimetri (Schneier, 1996)

(6)

mengenkripsi pesan dengan kunci privat kita, maka setiap orang dapat mengetahui pesan kita dengan mendekripsinya dengan kunci publik kita, namun hanya kitalah satu-satunya orang yang mungkin mengirim pesan karena kunci publik kita hanya dapat digunakan pada pesan yang dienkripsikan dengan kunci privat kita. Algoritma yang menggunakan kriptografi kunci asimetri diantaranya RSA dan Elgamal (Cole, 2003).

2.3.3. Hash

Algoritma Hash adalah transformasi satu arah pada pesan plainteks, artinya setelah mengalami hash pesan tidak dapat dikembalikan ke bentuk semula. Hash menerima plainteks dalam ukuran apapun dan menghasilkan keluaran dengan ukuran yang lebih kecil dalam ukuran yang tetap. Hash sangat berguna dalam penyimpanan password dan dalam tanda tangan dikarenakan tidak adanya kunci. Beberapa algoritma hash diantaranya MD5, MD4, HMAC dan SHA (Cole, 2003).

2.4. RC4

RC4 adalah algoritma kriptografi berjenis stream cipher yang dibangun oleh Ron Rivest untuk Laboratorium RSA Security. RC4 sendiri merupakan kepanjangan dari Ron Code (Munir, 2006). Algoritma ini tidak pernah dipublikasikan oleh RSA Security, namun pada September 1994 ada seseorang yang tak dikenal yang mengirimkan source code yang diyakini sebagai algoritma RC4 ke milis Cyperpunks. Kemudian algoritma ini tersebar dengan cepat melalui internet (Kromodimoeljo, 2009).

2.4.1. Algoritma RC4

Tahapan dalam RC4 dibagi menjadi dua bagian (Stalling, 2005) yaitu, 1. Inisiasi vector S

Langkah pertama adalah menginisilisasi vector S dengan nilai 0 sampai 255, sehingga S[0]=0, S[1] = 1, ... , S[255] = 255. Sebuah vector sementara T, diisi dengan kunci secara berulang hingga vector T terisi penuh. Kemudian dilakukan permutasi terhadap nilai-nilai di dalam vector S. Langkah tersebut dituliskan sebagai berikut,

/* Inisialisasi */

(7)

S[i] = i;

T[i] = K[i mod keylen];

/* Permutasi vector S */

j = 0;

for i = 0 to 255 do

j = (j + S[i] + T[i]) mod 256;

Swap (S[i], S[j]);

2. Stream Generation (Pembangkitan aliran kunci)

Kemudian melakukan pembangkitan aliran kunci dengan aturan sebagai berikut, /* Stream Generation */

i, j = 0;

while (true)

i = (i + 1) mod 256;

j = (j + S[i]) mod 256;

Swap (S[i], S[j]);

t = (S[i] + S[j]) mod 256;

k = S[t];

Untuk proses enkripsi dilakukan operasi XOR pada byte plainteks dengan k, sedangkan untuk melakukan dekripsi dilakukan operasi XOR pada byte cipherteks dengan k.

2.4.2. Contoh Enkripsi RC4

Untuk menunjukkan bagaimana cara kerja algoritma RC4 kita menggunakan vector berukuran 4 byte. Hal ini dikarenakan akan sangat sulit menggambarkan proses RC4 secara manual dengan vector berukuran 256 byte (Suryani 2009). Misalkan kita akan mengenkripsi kata “RC4” dengan kunci 2314. Maka pertama kita menginisialisasi vector S dan vector T.

0 1 2 3 2 3 1 4 array S =

array T =

Kemudian menginisiasi i dan j dengan 0 dan melakukan permutasi vector S. - Iterasi 1 ( j = 0 ; i = 0)

(8)

= (0+ 0 + 2 ) mod 4

(9)

= 3

Setelah menemukan kunci untuk setiap karakter, maka dilakukan proses enkripsi dengan melakukan operasi XOR antara karakter pada plainteks dengan kunci yang dihasilkan. Tabel ASCII untuk tiap-tiap karakter pada plainteks ditunjukkan pada tabel 2.3.

Tabel 2.3. ASCII untuk karakter yang digunakan

(10)

Proses XOR antara plainteks dengan kunci ditunjukkan pada tabel 2.4. Tabel 2.4. Proses XOR plainteks dengan kunci

plainteks 01010010 01000000 00110111 kunci 00000001 00000011 00000011 cipherteks 01010011 01000000 00110111

Cipherteks tersebut menghasilkan kata “S@7”. Untuk mengembalikan cipherteks ke dalam bentuk plainteks, maka dilakukan proses dekripsi dengan melakukan operasi XOR antara cipherteks dengan kunci menggunakan kunci yang sama dengan kunci ekripsi. Proses ini ditunjukkan pada tabel 2.5.

Tabel 2.5. Proses XOR cipherteks dengan kunci cipherteks 01010011 01000000 00110111 kunci 00000001 00000011 00000011 plainteks 01010010 01000000 00110111

2.5.Citra Digital

Citra adalah suatu representasi (gambaran), kemiripan atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan. Citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut pixel. Pixel adalah elemen citra yang memiliki nilai yang menunjukkan intensitas citra (Sutoyo, dkk. 2009).

2.5.1 Jenis-jenis citra digital

Berdasarkan warna-warna penyusunnya, citra digital dapat dibagi menjadi tiga jenis (Sutoyo, dkk. 2009) yaitu

(11)

Gambar 2.4. Contoh citra biner

2. Citra grayscale, merupakan citra digital yang hanya dibentuk oleh satu nilai kanal warna pada setiap pixel-nya. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Citra grayscale menghasilkan warna hitam, keabuan dan putih. Tingkatan keabuan disini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih.

Gambar 2.5. Contoh citra grayscale

3. Citra warna, merupakan citra yang nilai pixel-nya merepresentasikan warna tertentu. Banyaknya warna yang mungkin digunakan bergantung kepada kedalaman pixel dari citra tersebut. Citra berwarna direpresentasikan dalam beberapa kanal yang menyatakan komponen-komponen warna penyusunnya. Banyaknya kanal yang digunakan bergantung pada model warna yang digunakan pada citra tersebut.

(12)

2.5.2 Format file citra digital

Berdasarkan format penyimpanan file digital, citra digital dapat dibagi menjadi dua jenis (Sutoyo, dkk. 2009) yaitu

1. Citra Bitmap, menyimpan data kode citra secara digital dan lengkap tanpa melakukan kompresi terhadap citra terlebih dahulu. Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra bitmap memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Bila citra ini diperbesar akan mengakibatkan penurunan kualitas citra.

2. Citra Vektor, dihasilkan dari perhitungan matematis dan tidak berdasarkan pixel, yaitu data tersimpan dalam bentuk vektor posisi, dimana yang tersimpan hanya informasi vektor posisi dengan sebuah fungsi. Pada file citra vektor, mengubah warna lebih sulit dilakukan, tetapi membentuk objek dengan cara mengubah nilai lebih mudah. Oleh karena itu, bila citra diperbesar atau diperkecil, kualitas citra relatif tetap baik dan tidak berubah.

2.6 Steganografi

Steganografi adalah ilmu menyembunyikan pesan ke dalam media digital lain sehingga keberadaan pesan tersebut tidak dapat diketahui oleh orang lain (Sadikin, 2012). Steganografi berasal dari bahasa Yunani, yaitu “steganos” yang berarti tertutup dan “graphia” yang berarti menulis (Cole, 2003).

Beberapa istilah yang berkaitan dengan steganografi (Munir, 2006) diantaranya 1. Hiddentext atau embedded message, yaitu pesan rahasia yang akan disembunyikan. 2. Covertext atau cover-object, yaitu media yang digunakan sebagai tempat untuk

menyembunyikan pesan rahasia.

3. Stegotext atau stego-object, yaitu media yang didalamnya sudah disembunyikan pesan rahasia.

(13)

Gambar 2.7. Skema Penyisipan dan Ekstraksi Steganografi (Munir, 2006)

2.6.1 Kriteria steganografi yang baik

Penyisipan pesan ke dalam citra akan mengubah kualitas dari citra tersebut. Oleh sebab itu ada beberapa hal yang harus diperhatikan dalam penyembunyian pesan ke dalam suatu citra (Munir, 2006), yaitu :

1. Fidelity, bentuk, ukuran serta kualitas dari citra penampung harus tidak jauh berbeda dengan citra sebelum dilakukan penyisipan, sehingga orang lain tidak menyadari keberadaan pesan di dalam citra penampung.

2. Robustness, pesan yang telah disembunyikan harus tahan terhadap berbagai operasi manipulasi yang dilakukan pada stego-data, seperti pengubahan kontras, penajaman, pemampatan, dan sebagainya.

3. Recovery, data yang telah disisipkan ke dalam pesan harus dapat diungkapkan kembali. Karena tujuan steganografi adalah penyembunyian informasi maka sewaktu-waktu pesan rahasia dalam stego-data harus dapat diambil kembali.

2.6.2 Teknik steganografi

Secara umum teknik steganografi berdasarkan teknik penyembunyian data, steganografi dapat dikelompokkan menjadi tiga kategori (Cole, 2003) yaitu :

(14)

2. Substitution-Based, yaitu teknik menggantikan data yang terdapat di dalam file dengan data yang akan disembunyikan. Data yang digantikan adalah data yang tidak terlalu berarti sehingga tidak terlalu memberikan perubahan dari file semula. Namun kekurangan teknik ini adalah keterbatasan ukuran pesan rahasia yang disisipkan.

3. Generation-Based, yaitu teknik steganografi yang tidak memerlukan file lain untuk melakukan penyembunyian file. Dengan teknik generation-based, file rahasia yang digunakan sebagai file yang dapat kelihatan. Metode ini menghindari kemungkinan pendeteksian stego dimana jika seseorang memiliki file original dan file yang telah disisipkan pesan rahasia, maka orang tersebut dapat menemukan perbedaan informasi yang disebabkan oleh pesan rahasia.

2.6.3 Metode LSB

Metode LSB (Least Significant Bit) termaksud ke dalam steganografi teknik subsitusi, yaitu melakukan penyisipan dengan cara menggantikan bit yang berlebih atau tidak terlalu berpengaruh pada media penampung (cover-image) dengan bit dari pesan rahasia (Kipper, 2004).

Dalam representasi biner, ada nilai bit yang berarti disebut dengan MSB (most significant bit) terletak pada posisi bit bagian kiri dan bit yang bernilai kurang berarti disebut dengan LSB (least significant bit) terletak pada bit bagian kanan (Munir, 2006).

Misalkan berikut ini representasi byte dari sebuah cover-image, 10000100 10000110 10001001 10001101

01111001 01100101 01001010 00100110

Kemudian kita akan menyembunyikan pesan rahasia, yaitu bilangan 213. Bilangan 213 direpresentasi sebagai 11010101. Selanjutnya menggunakan metode LSB kita akan menyisipkan bilangan 213 dalam cover-image kita sebagai berikut,

- 10000100 : 0 digantikan dengan 1, bit pertama dari pesan kita. - 10000110 : 0 digantikan dengan 1, bit kedua dari pesan kita. - 10001001 : 1 digantikan dengan 0, bit ketiga dari pesan kita.

- 10001101 : 1 dibiarkan karena sama dengan bit keempat dari pesan kita. - 01111001 : 1 digantikan dengan 0, bit kelima dari pesan kita.

(15)

- 01001010 : 0 dibiarkan karena sama dengan bit ketujuh dari pesan kita. - 00100110 : 0 digantikan dengan 1, bit kedelapan dari pesan kita.

Berdasarkan contoh diatas, kita telah berhasil menyembunyikan pesan rahasia dengan melakukan perubahan hanya pada lima buah byte data dari delapan byte cover-image. Perubahan nilai 0 atau 1 pada bagian LSB tersebut memberikan pengaruh yang sangat kecil sehingga tidak terlihat perbedaannya dengan cover-image sebelum penyisipan (Kipper, 2004).

2.6.4 Metode modified LSB

Modified LSB adalah metode LSB yang dimodifikasi dengan tujuan untuk menghasilkan metode yang lebih baik dari metode LSB yang sudah ada (Lubis, 2015).

Berikut adalah beberapa penelitian yang telah memodifikasi metode LSB, 1. Verma, et al. (2014) dalam penelitian yang berjudul “An Enhanced Least

Significant Bit Steganography Method Using Midpoint Circle Approch” melakukan penyisipan hanya pada bagian lingkaran pada cover-image.

Gambar

Gambar 2.1. Skema Enkripsi dan Dekripsi (Munir, 2006)
Gambar 2.2 Skema Kriptografi Kunci Simetri (Schneier, 1996)
Gambar 2.3. Skema Kriptografi Kunci Asimetri (Schneier, 1996)
tabel 2.3.
+4

Referensi

Dokumen terkait

[r]

Hasil penelitian ini telah membuktikan bahwa penerapan metode mengajar presentasi personal dapat meningkatkan motivasi peserta didik melalui perilaku belajarnya

peneliti melakukan penelitian ini dengan mengambil judul “ Analisis faktor- faktor yang mempengaruhi Dividend Payout Ratio pada Perusahaan Manufaktur yang terdaftar di Bursa

Alhamdulillah segala puji syukur peneliti panjatkan kepada Allah SWT yang telah melimpahkan rahmat dan hidayah-Nya, sehingga peneliti dapat menyelesaikan skripsi

Penelitian yang dilakukan oleh Riska (2013) berjudul “Pengaruh Rasio Keuangan Dalam Memprediksi Pertumbuhan Laba (Studi Kasus Pada Perusahaan Otomotif Yang Terdaftar Di Bei)”

Dari grafik pada gambar 5 terlihat bahwa semakin besar fraksi bahan bakar yang digunakan, maka semakin besar nilai k-inf yang bertahan sampai akhir periode umur

- Sarana belajar ttg Kesehatan Ibuhamil Dalam bentuk tatap muka kelompok untuk. Meningkatkan pengetahuan dan ketrampilan ibu-ibu mengenai

Hasil penelitian tersebut dapat disimpulkan layanan bimbingan kelompok dapat meningkatkan kemampuan pemanfaatan waktu belajar siswa kelas X Akuntansi 2 SMK PGRI 1