Implementasi Algoritma Rc4 Dan Metode Modified Lsb Untuk Pengamanan Text File

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.

5.

Kunci merupakan parameter masukan yang digunakan untuk melakukan proses

enkripsi dan dekripsi.

Universitas Sumatera Utara

6

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

Nirpenyangkalan (Non-repudiation) yaitu layanan untuk mencegah entitas yang
berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal
melakukan pengiriman pesan atau penerima pesan menyangkal telah menerima
pesan.

Universitas Sumatera Utara

7

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”.
2.

Permutasi, yaitu penukaran posisi huruf dalam pesan berdasarkan kunci tertentu.
Cara kerja permutasi berbanding terbalik dengan subtitusi, jika dalam teknik
subtitusi, posisi karakter tetap namun identitasnya diubah dengan karakter lain,
maka dalam permutasi identitas karakternya yang tetap, namun posisinya yang
diubah. Sebelum dilakukan permutasi, plainteks dibagi terlebih dahulu ke dalam

Universitas Sumatera Utara

8

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
Kunci
Pesan

2
P
M
A

3
E
U
S

1
R
T
I


Misalkan kita mempunyai pesan “PERMUTASI” dengan kunci 231. Maka hurufhuruf 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.

Ciphertext = 00011001 01001101 01010001
Kunci


= 01000001 01000010 01000011

Pesan

= 01011000 01001111 01010010

Universitas Sumatera Utara

9

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)
Kriptografi kunci asimetri menjawab masalah pertukaran kunci dan masalah
nirpenyangkalan, walaupun cara kerjanya sangat lambat. Dalam kriptografi kunci
asimetri pendistribusian kunci tidak mengharuskan dikirim melalui saluran yang
aman, tetapi yang menjadi keharusan adalah saluran yang digunakan dapat dipercaya.
Saluran aman maksudnya bahwa tidak ada seorangpun yang dapat mengetahui isi
informasi selama proses pengiriman, sedangkan pada saluran terpercaya setiap orang
dapat mengetahui isi informasi tetapi kita mendapat jaminan bahwa informasi yang
dikirim berasal dari sumber yang terpercaya dengan kata lain tidak ada terjadi
perubahan informasi selama proses pengiriman. Hal ini dikarenakan setiap orang
dapat membuat satu pasangan kunci privat dan publik dan menyatakan bahwa kunci
publiknya tersebut sebagai milik orang lain. Dalam hal nirpenyangkalan, jika kita
ingin membuktikan bahwa kitalah yang telah mengirim pesan maka ketika kita

Universitas Sumatera Utara

10

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 */
for i = 0 to 255 do

Universitas Sumatera Utara

11

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.
array S = 0 1 2 3
array T = 2 3 1 4

Kemudian menginisiasi i dan j dengan 0 dan melakukan permutasi vector S.
- Iterasi 1 ( j = 0 ; i = 0)
j = (0+S[0]+T[0]) mod 4

Universitas Sumatera Utara

12

= (0+ 0
=

+

2 ) mod 4

2

Swap (S[0],S[2])
array S = 2 1 0 3

- Iterasi 2 ( j = 2 ; i = 1)
j = (2+S[1]+T[1]) mod 4
= (2+ 1
=

+

3 ) mod 4

2

Swap (S[1],S[2])
array S = 2 0 1 3

- Iterasi 3 ( j = 2 ; i = 2)
j = (2+S[2]+T[2]) mod 4
= (2+ 1
=

+

1 ) mod 4

1

Swap (S[2],S[1])
array S = 2 1 0 3

- Iterasi 4 ( j = 1 ; i = 3)
j = (1+S[3]+T[3]) mod 4
= (1+ 3
=

+

4 ) mod 4

0

Swap (S[3],S[0])
array S = 3 1 0 2

Setelah melakukan permutasi vector S, berikutnya dilakukan stream generation untuk
menghasilkan kunci. Pembangkitan kunci dilakukan sebanyak tiga kali sesuai dengan
panjang plainteks. Hal ini dikarenakan setiap karakter akan menggunakan satu buah
kunci.
- Iterasi 1 ( i = 0 ; j = 0)
i = (0+1) mod 4
= 1
j = (0+S[0]) mod 4
= (0+3) mod 4
= 3
Swap (S[1],S[3])
array S = 3 2 0 1
t = (S[1] + S[3]) mod 4
= ( 2
+ 1 ) mod 4

Universitas Sumatera Utara

13

=
3
k = S[3]
= 00000001
- Iterasi 2 ( i = 1 ; j = 3)
i = (1+1) mod 4
= 2
j = (3+S[1]) mod 4
= (3+2) mod 4
= 1
Swap (S[1],S[2])
array S = 3 0 2 1
t = (S[1] + S[2]) mod
= ( 0
+ 2 ) mod
=
2
k = S[2]
= 00000011
- Iterasi 3 ( i = 2 ; j = 1)
i = (2+1) mod 4
= 3
j = (1+S[2]) mod 4
= (1+2) mod 4
= 3
Swap (S[3],S[3])
array S = 3 0 2 1
t = (S[3] + S[3]) mod
= ( 1
+ 1 ) mod
=
2
k = S[2]
= 00000011

4
4

4
4

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
Karakter
R
C
4

ASCII (binary 8 bit)
01010010
01000000
00110111

Universitas Sumatera Utara

14

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
kunci
plainteks

01010011
00000001
01010010

01000000
00000011
01000000

00110111
00000011
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
1. Citra biner, merupakan citra digital yang hanya memiliki dua kemungkinan nilai
pixel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and
white) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap
pixel dari citra biner yaitu 0 dan 1.

Universitas Sumatera Utara

15

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.

Gambar 2.6. Contoh citra warna

Universitas Sumatera Utara

16

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.
Di dalam steganografi, hiddentext maupun covertext dapat berupa teks, citra,
audio, ataupun video. Penyisipan pesan ke dalam media covertext dinamakan
encoding, sedangkan ekstraksi pesan dinamakan decoding. Kedua proses ini

memungkinkan menggunakan kunci rahasia (Munir, 2006). Skema steganografi
ditunjukkan pada gambar 2.7.

Universitas Sumatera Utara

17

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

Insertion-Based, yaitu teknik menemukan lokasi di dalam file yang diabaikan

oleh aplikasi pembaca file tersebut. Teknik ini tidak akan memberikan pengaruh
terhadap file yang ditumpangi namun akan membuat ukuran file tersebut menjadi
lebih besar. Sebagai contoh, dalam beberapa file terdapat suatu penanda yang
disebut dengan EOF (end of file). Penanda ini memberitahukan kepada aplikasi
pembaca file bahwa pembacaan telah mencapai akhir dari file, oleh karena itu
aplikasi seharusnya menghentikan pembacaan file. Kita dapat menambahkan data
yang ingin kita sembunyikan setelah penanda EOF, dan aplikasi akan
mengabaikannya walaupun data tersebut masih berada di dalam file.

Universitas Sumatera Utara

18

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.

-

01100101 : 1 dibiarkan karena sama dengan bit keenam dari pesan kita.

Universitas Sumatera Utara

19

-

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.
2. Asad, et al. (2011) dalam penelitian yang berjudul “An Enhanced Least Significant
Bit Modification Technique for Audio Steganography” melakukan penyisipan

dengan pemetaan bit berdasarkan nilai-nilai dari bit MSB pada cover-image.
Dalam penelitian ini penulis akan melakukan modifikasi LSB yang akan dijelaskan
pada bagian perancangan sistem dalam BAB 3.

Universitas Sumatera Utara