Implementasi Sistem Keamanan Data Menggunakan Steganografi Teknik First Of File Dan Inverse Matrix Cipher Kunci Ganda

BAB II

LANDASAN TEORI

2.1 Kriptografi

Kriptografi adalah ilmu yang mempelajari cara-cara mengamankan informasi
rahasia dari suatu tempat ke tempat lain [4]. Caranya adalah dengan menyandikan
informasi rahasia agar tidak terbaca dan dimengerti oleh orang banyak selain si
pengirim dan penerimanya serta mentransformasikan kembali ke bentuk semula yang
bisa dimengerti. Teknik demikian dipergunakan untuk mengkonversi atau mengubah
suatu data kedalam bentuk kode-kode tertentu, sehingga tidak dapat dibaca oleh pihak
yang tidak dikehendaki.

2.1.1 Pengertian Kriptografi

Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata
kriptografi dibagi menjadi dua, Yaitu kripto dan graphia. Kripto berarti secret
(rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya kriptografi
adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu
tempat ke tempat yang lain. Dalam perkembangannya, kriptografi juga digunakan

untuk mengidentifikasi pengiriman pesan dengan tanda tangan digital dan keaslian
pesan dengan sidik jari digital (fingerprint). Dalam kriptografi dikenal beberapa istilah
penting sebperti berikut:
1. Pesan
Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya.
Pesan sering juga disebut plainteks (plaintext) atau pesan jelas (cleartext).

Universitas Sumatera Utara

Plainteks merupakan suatu pesan bermakna yang akan diproses menggunakan
algoritma kriptografi.

2. Cipherteks
Cipherteks (ciphertext) atau disebut juga kriptogram (cryptogram) merupakan
pesan yang telah tersandi. Pesan dalam bentuk cipherteks tidak dapat dibaca
karena berisi karakter-karakter yang tidak memiliki makna setelah melalui proses
enkripsi.

3. Enkripsi
Enkripsi merupakan proses yang dilakukan untuk menyandikan plainteks menjadi

cipherteks atau disebut sebagai enchipering. Enkripsi dilakukan dengan tujuan
agar plainteks tersebut tidak dapat dibaca oleh pihak yang tidak berwenang.

4. Dekripsi
Dekripsi merupakan proses mengembalikan cipherteks menjadi plainteks semula
atau disebut deciphering. Dekripsi dilakukan ketika pesan telah sampai kepada
pihak yang dituju.

5. Kunci
Kunci adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi.
Kunci biasanya berupa string atau deretan bilangan. Keamanan suatu algoritma
kriptografi biasanya bergantung kepada kerahasiaan penyebaran kunci.

Setiap algoritma kriptografi terdiri algoritma enkripsi (E) dan algoritma dekripsi
(D). Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara
dua himpunan yaitu himpunan yang berisi elemen plaintext dan himpunan yang berisi
elemen ciphertext. Enkripsi dan dekripsi merupakan fungsi tranformasi antara dua
himpunan tersebut. Secara umum dapat digambarkan secara matematis sebagai
berikut:
Ek(P) = C (Proses Enkripsi) ................................................................................. (2.1)

Dk(C) = P (Proses Dekripsi) ................................................................................ (2.2)
Dk(E(P)) = P (Proses Dekripsi) ........................................................................... (2.3)

Universitas Sumatera Utara

Dalam proses tersebut, plaintext disandikan dengan P dengan suatu kunci K lalu
dihasilkan pesan C. Pada proses dekripsi, C diuraikan dengan menggunakan kunci K
sehingga menghasilkan pesan yang sama dengan sebelumnya.

Kunci

Kunci
Chipertext
Original Plaintext

Plaintext
Dekripsi

Enkripsi


Gambar 2.1. Cryptosystem

Setiap cryptosystem yang baik memiliki karakteristik sebagai berikut:
a. Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasian
algoritma yang digunakan.
b. Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.
c. Cryptosystem yang baik akan menghasilkan ciphertext yang terlihat acak dalam
seluruh test statistik yang dilakukan.
d. Cryptosystem yang baik mampu menahan seluruh serangan yang telah dikenal
sebelumnya [10].

2.1.2 Aspek-aspek Keamanan
Selain memberikan kerahasiaan dalam telekomunikasi kriptografi juga memberikan
komponen-komponen sebagai berikut:

1. Authentication
Penerima pesan dapat memastikan keaslian pengirimannya. Penyerang tidak dapat
berpura-pura sebagai orang orang lain.

2. Integrity

Penerima harus dapat memeriksa apakah pesan telah dimodifikasi ditengah jalan
atau tidak. Seorang penyusup seharussnya tidak dapat memasukkan tambahan
kedalam pesan, mengurangi atau mengubah pesan selama data berada di
perjalanan.

Universitas Sumatera Utara

3. Nonrepudiation
Pengirim seharusnya tidak dapat mengelak bahwa dialah pengirim pesan yang
sesungguhnya. Tanpa kriptografi, seseorang dapat mengelak bahwa dialah
pengrim email yang sesungguhnya

4. Authority
Informasi yang berada pada system jaringan seharusnya hanya dapat dimodifikasi
oleh pihak yang berwenang. Modifikasi yang tidak diinginkan, dapat berupa
penulisan tambahan pesan, pengubahan isi, pengubahan status, penghapusan,
pembuatan pesan baru (pemalsuan), atau penyalinan pesan untuk digunakan
kemudian oleh penyerang.

2.1.3 Klasifikasi Kriptografi


Terdapat dua jenis algortima kriptografi berdasarkan jenis kuncinya:
1. Algoritma Simetri (Konvensional)
2. Algoritma Asimetri (Kunci-publik)

1. Algoritma Simetri
Algoritma simetri disebut juga sebagai algoritma konvensional adalah algoritma
yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Disebut
konvensional karena algoritma yang biasa digunakan orang sejak berabad-abad
yang lalu adalah algoritma jenis ini. Algoritma simetri sering juga disebut
algoritma kunci rahasia, algoritma kunci tunggal atau algoritma satu kunci, dan
mengharuskan pengirim dan penerima menyetujui suatu kunci tertentu sebelum
mereka dapat berkomunikasi dengan aman. Keamanan algoritma simetri
tergantung pada kunci, membocorkan kunci berarti bahwa orang lain dapat
mengenkrip dan mendekrip pesan. Agar komunikasi tetap aman, kunci harus tetap
dirahasiakan. Yang termasuk algoritma kunci simetri adalah OTP, DES, RC2, Hill
Cipher, Inverse Matrix Cipher, RC4, RC5, RC6, IDEA, Twofish, Magenta, FEAL,
SAFER, Blowfish, GOST, Kasumi dan lain-lain. Metode Hill Cipher dan Inverse
Matrix Cipher akan dibahas lebih lanjut pada bagian berikutnya mengingat kedua


Universitas Sumatera Utara

metode ini sama-sama menggunakan matriks sebagai kunci enkripsi dan
dekripsinya.

2. Algoritma Asimetri
Algoritma asimetri (juga disebut algoritma kunci publik) didesain sedemikian
sehingga kunci yang digunakan untuk enkripsi berbeda dari kunci yang digunakan
untuk dekripsi. Lebih jauh lagi, kunci dekripsi tidak dapat (sedikitnya dalam
waktu yang dapat diterima) dihitung dari kunci enkripsi. Algoritma disebut kunci
publik karena kunci enkripsi dapat dibuat publik yang berarti semua orang boleh
mengetahuinya. Sembarang orang dapat menggunakan kunci enkripsi tersebut
untuk mengenkrip pesan, namun hanya orang tertentu (calon penerima pesan dan
sekaligus pemilik kunci dekripsi yang merupakan pasangan kunci publik) yang
dapat melakukan dekripsi terhadap pesan tersebut. Yang termasuk algoritma
asimetri adalah ECC, LUC, RSA, El-Gamal dan DH.

2.1.4 Algoritma Kriptografi Hill Cipher

Hill Cipher termasuk dalam salah satu kriptosistem polialfabetik, artinya setiap

karakter alfabet bisa dipetakan ke lebih dari satu macam karakter alfabet. Cipher
tersebut ditemukan pada tahun 1929 oleh Lester S. Hill [2]. Misalkan m adalah
bilangan bulat positif, dan P = C = (Z 26 )m. Ide dari Hill Cipher adalah dengan
mengambil m kombinasi linier dari m karakter alfabet dalam satu elemen plaintext
sehinga menghasilkan m alfabet karakter dalam satu elemen plaintext.
Misalkan m = 2, maka kita dapat menuliskan suatu elemen plaintext sebagai
x=(x 1 ,x 2 ), dan suatu elemen ciphertext sebagai y=(y1, y2 ). Di sini, y1 ,y 2 adalah
kombinasi linier dari x 1 dan x 2 . Kita misalkan:
y 1 = 11x1 + 3x 2
y 2 = 8x1 + 7x 2
Kita juga dapat menuliskannya dalam notasi matriks sebagai berikut:
(y1 y2 ) = (x 1 x 2 )
Secara umum, kita akan menggunakan matriks K m x m sebagai kunci kita. Jika
elemen pada baris i dan kolom j dari matriks K adalah k ij , maka kita tuliskan K=(k ij ).

Universitas Sumatera Utara

Untuk x=(x 1 ,…, x m )

P dan K


K, kita menghitung y=e k (x)=(y1 ,…,y m ) sebagai

berikut:

(y1 y 2 … ym ) = (x 1 x 2 … x m )

…………….…………(2.4)

Dengan kata lain, y = xK………………………………………………………..(2.5)
Syarat yang perlu diperhatikan adalah detertminan
≠0, dan gcd(determinan,panjang
tabel karakter)=1.

2.1.5 Algoritma Kriptografi Inverse Matrix Cipher

Kriptografi Inverse Matrix Cipher bekerja dengan membagi plaintext menjadi
himpunan-himpunan n-huruf dan menggantinya dengan n-angka. Metode ini
menggunakan matriks sebagai kuncinya dalam coding. Dalam hal ini matriks yang
mempunyai invers yang dijadikan sebagai kunci. Misalkan diketahui dua buah matriks

A dan B sedangkan hasil perkalian kedua matriks tersebut adalah:
C=B*A…………………………………………………………………(2.6)
Untuk mendapatkan kembali matriks A, perlu dilakukan proses berikut:
Kedua ruas dikalikan dengan invers matriks B dan B-1.
B-1*C=B-1*B*A………………………………………………………..(2.7)
Ingat (B*B-1)=I………………………………………………………...(2.8)
B-1*C=IA .……………………………………………………………..(2.9)
atau
A=B-1*C………………………………………………………………..(2.5)
Konsep ini digunakan untuk membuat kriptografi, yaitu pesan rahasia disimpan dalam
matriks A, kemudian di-encode menggunakan kunci B, dan pesan yang dikirim adalah
matriks C. Dengan catatan bahwa penerima telah mengetahui bahwa kuncinya adalah
matriks B [12].
Konsep enkripsi dan dekripsi menggunakan algoritma kriptografi Inverse
Matrix Cipher dapat dilakukan juga dengan cara seperti berikut:

Universitas Sumatera Utara

Misalkan digunakan dua buah kunci enkripsi yaitu matriks K1 dan K2, dengan syarat
determinan kedua kunci≠ 0.


Plaintext yang digunakan adalah matriks P. Proses

enkripsi dilakukan sebanyak dua kali, enkripsi pertama menggunakan matriks pertama
sehingga menghasilkan ciphertext berupa matriks C1 seperti persamaan 2.6:
C1=P*K1.............................................................................................. (2.6)
Selanjutnya ciphertext hasil pertama dienkripsi dengan kunci kedua seperti pada
persamaan 2.7:
C2=C1*K2 ........................................................................................... (2.7)
C2 adalah ciphertext akhir yang dikirim kepada penerima. Untuk mendapatkan
kembali pesan asli maka penerima pesan berupa ciphertext melakukan proses dekripsi
dengan langkah melakukan perkalian matriks C2 dengan inverse matriks K2, sehingga
ditemukan matriks ciphertext hasil perkalian dengan kunci K1, seperti persamaan 2.8:
C1=C2*K2-1 ......................................................................................... (2.8)
C1 dikalikan lagi dengan inverse matriks K1 untuk mendapatkan matriks plaintext
yang sebenarnya, seperti yang dijelaskan persamaan 2.9:
P=C1*K1-1 ........................................................................................... (2.9).

2.2 Citra Digital

2.2.1 Definisi Citra

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 televise,
atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan.

2.2.2 Format File Citra Bitmap

Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data
kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Citra
bitmap di presentasikan dalam bentuk matriks atau dipetakan dengan menggunakan
bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk

Universitas Sumatera Utara

memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap
mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar.
Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk gambargambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital.
Citra bitmap biasanya diperoleh dengan cara Scanner, Camera Digital, Video Capture,
dan lain-lain [11].
Contoh gambar file citra *bmp.

Gambar 2.2 Citra Bitmap

2.3 Steganografi

Steganografi berasal dari bahasa Yunani, yang berarti tulisan yang
tertutup/tersamar (“covered letter”). Dalam arti lain dapat dikatakan sebagai cara
komunikasi yang menyembunyikan pesan [5]. Data atau pesan yang akan dikirim
disembunyikan ke media lain. Format media yang bisa dipakai diantaranya adalah:
a. Format image: bmp, jpg, gif dll
b. Format audio: wav, mp3 dll

Universitas Sumatera Utara

c. Format lain: html, pdf, file text dll
Bentuk data/pesan tidak berubah, hanya saja karena data atau pesan tersebut dikirim
dengan disembunyikan dalam media lain, maka yang terlihat adalah media yang
dipakai untuk mengirimkan data/pesan tersebut.
Keunggulan steganografi dari kriptografi adalah kemampuannya untuk
membuat suatu pesan rahasia menjadi tidak terlihat, atau tidak mengundang orang lain
yang tidak mengetahui untuk peduli atau penasaran, lain halnya dengan kriptografi
yang mengacak sebuah pesan tertulis menjadi suatu yang tidak berarti, yang dapat
membuat orang lain menjadi penasaran dan ingin mengetahui arti dari pesan acak
tersebut, hingga akhirnya melakukan percobaan untuk menerjemahkan pesan tersebut
[10].
Salah satu media yang sering dipakai untuk menyisipkan pesan/data adalah file
image. Pada citra grayscale, akan didapat sebuah matriks yang menunjukkan tingkat
derajat keabuan dari masing-masing piksel. Sedangkan untuk citra RGB, akan didapat
tiga buah matrik yakni matrik R, matrik G dan matrik B, tingkat R, G dan B dari citra.
Ada beberapa metode penyisipan pesan ke dalam citra, diantaranya adalah:

1.

Metode EOF (End of file).
Pesan disisipkan diakhir file citra. Dengan metode ini pesan yang disisipkan
jumlahnya tak terbatas. Akan tetapi efek sampingnya adalah ukuran file menjadi
lebih besar dari ukuran semula. Ukuran file yang terlalu besar dari yang
seharusnya, tentu akan menimbulkan kecurigaan bagi yang mengetahuinya. Oleh
karena itu dianjurkan agar ukuran pesan dan ukuran citra yang digunakan
proporsional.

2.

Metode LSB (Least Significant Bit)
Metode ini bekerja dengan cara mengganti bit terakhir dari masing-masing piksel
dengan pesan yang akan disisipkan. LSB mempunyai kelebihan yakni ukuran
gambar tidak akan berubah. Sedangkan kekurangannya adalah pesan/data yang
akan disisipkan terbatas, sesuai dengan ukuran citra.

Universitas Sumatera Utara

3. Enhanced LSB
Algoritma ini dikemukan oleh Andreas Westfeld. Proses utama dari metode
enhanced LSB akan dijelaskan sebagai berikut: setiap piksel memiliki tiga buah
komponen yaitu red, green, blue. Setiap komponen direpresentasikan oleh satu
byte, setiap byte memiliki sebuah bit LSB. Apabila bit LSB tersebut adalah 1,
maka semua bit pada byte tersebut

diganti dengan bit 1 sehingga nilai byte

tersebut adalah 11111111 (biner) atau 255 (desimal). Sedangkan, apabila bit LSB
tersebut adalah 0, maka semua bit pada byte tersebut diganti dengan bit 0
sehingga nilai byte tersebut adalah 00000000 (biner) atau 0 (desimal) [9].
Citra Stego
(.bmp)

Citra kover
(.bmp)

Pesan
rahasia
(.txt)

Gambar 2.3 Skema Umum Penyisipan Pesan Pada Citra Bitmap

2.3.1 Metode First Of File
Selain dari ketiga metode pada pemaparan sebelumnya, ada lagi metode lain untuk
steganografi, yaitu metode First of File . Metode First of File tidak jauh berbeda
dengan metode End of File. Pada metode End of File pesan disisipkan pada akhir file,
sedangkan pada metode First of File, pesan disisipkan pada awal file. Berikut ini
contoh penyisipan ciphertext menggunakan metode First of File :
Terdapat suatu citra RGB 8x8 dengan nilai setiap piksel seperti pada Gambar 2.4.

97

98

70

52

60

62

52

99

51

56

14

38

55

104

96

96

77

92

14

38

55

104

96

96

92

12

34

67

88

99

211

34

55

66

43

89

211

234

209

45

66

80

93

60

60

60

51

56

94

91

79

16

62

90

69

73

87

66

62

60

32

105

88

71

Universitas Sumatera Utara

Gambar 2.4 Matriks Piksel Citra 8x8
Misalkan matriks piksel citra diatas disisipkan pesan yang telah diubah menjadi angka
seperti berikut ini 50 55 52 53 54 32 32 32 54 49 51 53 49 32
32 32 56 56 57 57 51 32 32 49 49 50 48 56 53 32 32
32 49 49 52 51 54 32 32 32 49 51 51 49 50 32 32 32 50
53 50 48 54 32 32 32 52 56 55 55 50. Maka akan ditemukan
matriks piksel citra stego seperti gambar berikut.

50

55

52

53

54

32

32

32

54

49

51

53

49

32

32

32

56

56

57

57

51

32

32

49

49

50

48

56

53

32

32

32

49

49

52

51

54

32

32

32

49

51

51

49

50

32

32

32

32

50

53

50

48

54

32

32

32

52

56

55

55

50

0

97

98

0

70

52

60

62

52

99

51

56

14

38

55

104

96

96

77

92

14

38

55

104

96

96

92

12

34

67

88

99

211

34

55

66

43

89

211

234

209

45

66

80

93

60

60

60

51

56

94

91

79

16

62

90

69

73

87

66

62

60

32

105

88

71

Gambar 2.5 Matriks Piksel Citra Disisipi Pesan

Universitas Sumatera Utara