Prosiding SNM 2014 Pemanfaatan Nonnegati

Prosiding SNM 2014
Topik penelitian, hal. xx-xx.

Pemanfaatan Nonnegative Matrix
Factorization pada Kriptografi untuk
Mengamankan Data Gambar
INDRA BAYU MUKTYAS1

1Program Studi Pendidikan Matematika, STKIP Surya, Tangerang, Banten,

recobayu@gmail.com

Abstrak. Di dunia yang serba canggih sekarang ini, terutama di perkotaan,
keamanan data sangatlah penting. Hal ini bisa dilakukan dengan kriptografi.
Ada berbagai macam teknik dalam kriptografi, salah satunya adalah Hill
cipher. Dalam makalah ini diajukan sebuah cara pengenkripsian data berupa
gambar dengan memodifikasi Hill cipher. Ada dua cara pemilihan kunci, yaitu
dengan kunci acak dan dengan autokey menggunakan Nonnegative Matrix
Factorization (NMF). Pengenkripsian tersebut akan diimplementasikan pada
data 100 foto mahasiswa STKIP Surya yang dipilih secara acak.
Kata kunci : Kriptografi, Hill cipher, Autokey Nonnegative Matrix Factorization.


1.

Pendahuluan

Pengiriman data dari satu tempat ke tempat lain sudah tidak perlu lagi
dengan biaya mahal dan waktu yang lama. Ini karena adanya internet. Akan tetapi
keamanan data menjadi kebutuhan yang pokok di zaman yang serba canggih
sekarang ini. Salah satu cara mengamankan data adalah dengan kriptografi. Data
tersebut dienkripsi dengan sebuah kunci rahasia. Kemudian data enkripsi tersebut
dikirimkan kepada pihak penerima (misalkan melalui email). Pihak penerima baru
akan bisa membaca data tersebut jika sudah mendapatkan kunci dekripsi data dari
pihak pengirim.
Dalam makalah ini akan dikaji mengenai kriptografi klasik Hill cipher
yang selanjutnya dikembangkan untuk data gambar. Ada dua cara pemilihan kunci
yang digunakan. Pertama dengan kunci acak dan yang ke dua dengan kunci
otomatis yang diperoleh dari Nonnegative Matrix Factorization (NMF).

1


2

Indra Bayu Muktyas

2.

Metode

A. Hill cipher
Salah satu kriptografi simetris yang sudah tidak asing lagi adalah Hill
cipher. Seorang asisten profesor matematika di Hunter College bernama Lester Hill
menemukan cara untuk mengenkripsi plainteks berupa huruf. Ia membagi pesan
plainteks menjadi blok-blok. Kemudian setiap blok tersebut dienkripsi dengan
menggunakan sistem persamaan linier dengan variabel. Karena plainteksnya
berupa huruf, maka disyaratkan perulangan modulo 26. Untuk
dibentuk
persamaan

dengan
Contoh:


[1].

Plainteksnya DI BAWAH POT. Maka dipecah menjadi blok dua-dua, yaitu
DI BA WA HP OT. Jika didefinisikan A=0 maka DI menjadi 3 8.
Ilustrasi proses enkripsi dalam bentuk matriks adalah seperti ini.

Jika dikembalikan ke bentuk semula diperoleh cipherteks TBBBWWLAAT.
B. Modifikasi Hill cipher
Dalam makalah ini Hill cipher dimodifikasi untuk data gambar. Setiap
piksel gambar mempunyai nilai warna RGB antara 0 sampai 255. Sehingga modulo
yang dipakai bukan 26, akan tetapi 256. Diperlukan sebuah kunci berupa matriks
persegi. Agar bisa didekripsi kembali, matriks kunci ini dipilih dengan syarat
determinannya tidak nol dan relatif prima terhadap 256. Dipunyai matriks plainteks
. Dipilih kunci
dengan
habis membagi
. Diperoleh Matriks
cipherteks
. Untuk membalikkannya lagi cukup mudah, yaitu dengan

mengalikan invers kuncinya dengan matriks cipherteks,
dengan
adalah invers modulo 256 dari .

Algoritma 1. Enkripsi data gambar dengan modifikasi Hill cipher.
1.
2.

Baca tiap gambar menjadi kolom dari matriks Plainteks
Definisikan sebuah kunci
dengan
.
syarat:
dan
.

3.

Ubah ukuran plainteks menjadi


.

.

.
4.

Cipherteks diperoleh dengan mengalikan matriks kunci dengan
plainteks yang sudah diubah ukurannya.
.

Pem a n fa a t an NM F p ad a Kri p t ogra fi u n tu k M en ga m an ka n Da t a Ga m b a r

5.

Ubah ukuran Cipherteks menjadi seperti semula.
.

6.


Simpan tiap kolom matriks

3

menjadi fotocipher.

Ilustrasinya seperti ini.

Gambar 2.1. Ilustrasi Proses Enkripsi gambar
Sedangkan untuk proses dekripsinya, diperlukan matriks invers dari Kunci.
Ini dapat diperoleh dengan menggunakan algoritma 4. Algoritma dekripsi secara
lengkap sebagai berikut.
Algoritma 2. Proses dekripsi data gambar dengan modifikasi Hill cipher.
1.
2.
3.
4.
5.
6.


Untuk i=1:maxfotocipher
Ubah fotocipher(i) menjadi matriks kolom.
Cipherteks(:,i)=fotocipher(i).
Selesai.
Baca matriks invers kunci sebagai
Ubah ukuran Cipherteks menjadi

7.
8.
9.

Decipher = invKunci*Cipherteks_Ubah
Plainteks = Reshape matriks Decipher menjadi
Simpan tiap kolom dari matriks Plainteks
plainteks.

.
.
menjadi


foto

4

Indra Bayu Muktyas

C. Nonnegative Matrix Factorization
Salah satu pemfaktoran matriks yang sedang berkembang saat ini adalah
Nonnegative Matrix Factorization (NMF). NMF sangat cocok digunakan pada
gambar karena NMF memfaktorkan matriks taknegatif menjadi matriks-matriks
taknegatif juga. Warna tiap piksel matriks juga taknegatif, berkisar dari 0 sampai
255. Matriks
difaktorkan menjadi � dengan �
.
� . Biasanya dipilih kurang dari dan . [2]
Ada banyak algoritma dalam NMF, salah satunya adalah Multiplicative
Update Rule. Berikut ini algoritma yang dimaksud. [2]
Algoritma 3. Multiplicative Update Rule NMF
1.
2.

3.
4.
5.
6.

W = rand(m,r), dengan
H = rand(r,n), dengan
Untuk i = 1:MaksIter lakukan
T
T
H = H .* (V V) ./ (W WH)
T
T
W = W .* (VH ) ./ (WHH )
Selesai.

Matriks � berisi basis dari matriks
sedangkan H sebagai matriks
bobotnya.[2] Karena � adalah basis, maka setiap kolom
saling bebas linier

dengan kolom lainnya. Matriks � ini yang akan diproses menjadi kunci enkripsi.
Setiap kali algoritma tersebut dijalankan akan dihasilkan pemfaktoran matriks �
dan yang berbeda, tergantung nilai acak awal dari � dan . Ini merupakan salah
satu kekuatan rahasia dari kunci autokey NMF.
D. Pemilihan Kunci
Ada dua cara pemilihan kunci pada makalah ini, yaitu kunci acak dan
autokey NMF.
1. Kunci Acak
Pertama-tama dipilih sebuah kunci acak berupa matriks persegi yang
ukurannya bisa membagi ukuran matriks plainteks. Pemilihan matriks acak ini
tidak sembarang. Determinan matriks kunci ini selain tidak nol, juga harus relatif
prima terhadap 256. Ini agar bisa diperoleh invers matriksnya.
Teorema 2.1. Dipunyai
yang elemen-elemennya di
.
modulo
jika dan hanya jika
mempunyai invers di
invers modulo adalah


dengan

adalah invers dari

atas . [3]

mempunyai invers
. Lebih jauh lagi,

Pem a n fa a t an NM F p ad a Kri p t ogra fi u n tu k M en ga m an ka n Da t a Ga m b a r

Bukti:
Ambil sembarang matriks
Dipunyai

5

.

.

Jelas

(

)

Ini berarti

Sehingga det(A) invertibel di

.

Jelas
Diperoleh

Algoritma 4. Pemilihan kunci acak dan menentukan invers modulo 256
1.
2.
3.
4.

Lakukan
Definisikan matriks acak
Hitung
Sampai
.
//Jika
relatif prima terhadap 256, maka matriks mempunyai
//invers,lanjutkan ke langkah berikutnya. Jika tidak, keluar
//program, matriks tidak mempunyai invers.
5. Hitung invers dari
modulo 256, tulis sebagai variabel .
//bisa dengan brute force atau extended FPB.
6. Diperoleh
.

Setelah diperoleh kunci acak
dengan algoritma 1.

, selanjutnya dilakukan proses enkripsi

2. Autokey NMF
Berbeda dari sub bab sebelumnya, pada sub bab ini akan dipilih sebuah
kunci otomatis dari Plainteks gabungan dengan menggunakan NMF. NMF akan
memfaktorkan matriks Plainteks tersebut menjadi �
dan
dengan
. W adalah basis dari Plainteks. Karena W adalah basis, maka setiap

6

Indra Bayu Muktyas

kolomnya bebas linier. Definisikan kuncinya
� � �. Teorema 6.4.3. pada
Anton Rorres menunjukkan bahwa K invertible, artinya
.[6] Jika det(K)
tidak relatif prima terhadap 256, maka dilakukan operasi baris elementer pada
matriks K dengan mengalikan salah satu baris matriks K dengan invers dari
FPB(det(K), 256). Tentunya perkalian ini dalam modulo 256. Berikut ini adalah
algoritma autokey NMF.
Algoritma 5. Autokey NMF
1. Faktorkan matriks Plainteks
menjadi
dengan
algoritma 3.
// pilih
sedemikian hingga
.
2.
3. Lakukan sampai
4.
Ubah elemen diagonalnya dengan sembarang bilangan modulo 256
5. selesai
6. Diperoleh matriks K baru yang invertibel

=

W

H

=
K

��



Gambar 2.2. Proses enkripsi Autokey NMF
Setelah diperoleh kunci K, kemudian dilakukan proses enkripsi dengan
algoritma 1.

Pem a n fa a t an NM F p ad a Kri p t ogra fi u n tu k M en ga m an ka n Da t a Ga m b a r

7

3. Hasil – Hasil Utama
1. Dataset
Dataset yang digunakan adalah kumpulan 100 foto closeup mahasiswa
STKIP Surya. Setiap foto berukuran 110 x 140 piksel.

Gambar 3.1. Dataset 100 foto mahasiswa
2. Software
Software yang digunakan adalah Scilab 5.4.1 dengan tambahan plugin
Atoms:
IPD_8.3.1-1.bin.windows.zip
dan
SIVP_0.5.3.12.bin.windows.zip.
3. Hardware
Spesifikasi hardware yang digunakan pada percobaan ini adalah
Laptop Asus A42F, Processor Intel(R) Pentium(R) Dual-core P6200
@ 2.13 GHz 2.13 GHz, RAM 2 GB, dan OS Windows 8 Pro.
4. Preprosesing
Setiap foto mahasiswa STKIP Surya diubah menjadi matriks keabuabuan. Setiap elemen matriks tersebut bernilai antara 0 sampai 255, ini
merepresentasikan tingkat warna tiap piksel. Kemudian matriksmatriks ini diubah menjadi matriks kolom. Matriks inilah yang menjadi
plainteks.
5. Implementasi
5.1. Kunci Acak
Enkripsi

Kunci

Plainteks

Cipherteks

8

Indra Bayu Muktyas

Dekripsi

Invers Kunci

Cipherteks

Plainteks

5.2. Autokey NMF
Menentukan kunci

W=Basis

Plainteks

Kunci

Enkripsi

Plainteks

Kunci

Cipherteks

Dekripsi

Invers Kunci

Kunci

Cipherteks

dipilih dengan

Plainteks

. Ini berkaitan dengan keterbatasan

Pem a n fa a t an NM F p ad a Kri p t ogra fi u n tu k M en ga m an ka n Da t a Ga m b a r

9

memori yang Scilab sediakan untuk dijalankan. Ketika dicoba dengan nilai yang
agak besar, perhitungan terhenti oleh karena memori yang kurang. Untuk kunci
acak, proses pemilihannya lebih mudah, sedangkan untuk autokey NMF, awalnya
diperoleh kunci yang determinannya belum relatif prima dengan 256. Untuk itu
pada elemen diagonalnya diganti dengan bilangan acak sehingga terpenuhi.
Terlihat untuk autokey NMF, kunci dan invers kuncinya berupa matriks simetri.
Cipherteks untuk kedua metode di atas secara kasat mata tidak bisa dibaca.
Secara analisis pun cipherteks ini sangat powerful jika kuncinya tidak diketahui.
Untuk autokey NMF pun bisa terjaga kerahasiaannya karena setiap kali program
dijalankan, pemfaktoran matriks dengan NMF akan menghasilkan matriks yang
berbeda, tergantung dari pemberian nilai awal W dan H pada algoritma
multiplication update rule. Sedangkan nilai awal kedua matriks tersebut adalah
acak. Sehingga kalaupun ada orang yang ingin mencoba memfaktorkan cipherteks
tersebut akan sangat sulit untuk dipecahkan.
4. Kesimpulan
Modifikasi Hill cipher dan autokey NMF menghasilkan gambar cipherteks
yang powerful. Sangat sulit untuk mengembalikan ke gambar aslinya jika tidak
mengetahui kuncinya. Terlebih lagi sulitnya menentukan nilai yang dipakai oleh
penyandi.
Seperti halnya kriptografi simetris lainnya, kelemahan dari metode ini
adalah jika ada satu saja orang yang mengetahui kuncinya dan
menyebarluaskannya maka cipherteks akan terpecahkan dengan sangat mudah.
Pernyataan terima kasih. Penulis mengucapkan banyak terima kasih
untuk Edy Haryono, Endriyani , Abdul Azis Abdillah, Puguh Wahyu
Prasetyo, dan Annisa Dini H atas motivasi dan bimbingannya. Semoga
bermanfaat dan dapat dikembangkan lebih lanjut.

Referensi
[1] Burton, David M., 2009, Elementary Number Theory, Seventh Edition, McGraw-Hill
Higher. Education, McGraw-Hill Company, New York.
[2] Lee, D. D. dan Seung, H. S., 2001, Algorithms for nonnegatvie matrix factorization. In
T. G. Dietterich and V. Tresp, editors, Advances in Neural Information Processing
Systems, volume 13. The MIT Press.
[3] Grunschlag,
Zeph,
2014,
Classical
Cryptography,
www1.cs.columbia.edu/~zeph/4261/lectures/classical-ciphers.pdf, diakses pada 19
Januari 2014.

10

Indra Bayu Muktyas

[4] Wikipedia,
2014,
Euclidean
Algorithm,
http://en.wikipedia.org/wiki/Euclidean_algorithm, diakses pada 20 Januari 2014.
[5] Scott, Emily, 2013, Extended Euclidean Algorithm and Inverse Modulo Tutorial,
https://www.youtube.com/watch?v=fz1vxq5ts5I, diakses pada 20 Januari 2014.
[6] Anton, H., Rorres, C., 2005, Elementary Linear Algebra with Applications, Ninth
Edition, John Wiley & Sons, Inc., New York.