3.1 Arsitektur Umum - Enkripsi Selektif Citra Digital Menggunakan Metode Chaotic Logistic Map Pada Perangkat Android Secara Realtime
BAB 3
ANALISIS DAN PERANCANGAN
Pada bab ini akan dibahas mengenai perancangan sistem. Pada tahap analisis akan
dilakukan analisis terhadap data citra menggunakan Chaotic Logistic Maps untuk
mendapatkan key yang tepat. Pada tahap perancangan akan dibahas mengenai tahaptahap yang dilakukan dalam merancang sistem enkripsi citra.
3.1 Arsitektur Umum
Metode yang diajukan untuk melakukan enkripsi citra pada penelitian ini terdiri dari
beberapa tahapan yaitu input data, proses data menggunakan metode Chaotic Logistic
Maps, dan output citra. Input dari penelitian ini berupa data citra user. Data yang telah
diterima akan melewati proses encryption processing citra yang merupakan proses
penggunaan metode Chaotic Logistic Maps dimana terdiri dari beberapa tahapan yaitu
membaca pixel-pixel citra kemudian menyimpannya kedalam sebuah matriks. Apabila
citra tersebut 24-bit maka setiap komponen R, G, dan B disimpan dalam tiga matriks
yang berbeda. Kemudian mengekstrak bit-bit MSB dari setiap byte pixel citra,
Langkah selanjutnya adalah mengiterasikan Chaotic Logistic Map dengan nilai awal
x0 (kunci rahasia). Konversikan setiap nilai Chaotic
menjadi integer dengan
persamaan :
T(x,size) = ||x*10count||,x≠0
(3.1)
Kemudian ekstraksi 1 bit LSB dari setiap nilai integer tersebut, misalkan yang
dihasilkan adalah k1, k2, ..., kn. Selanjutnya enkripsi pi dengan ki , hasil enkripsi adalah
c1, c2, ...,cn. Letakkan kembali bit-bit hasil enkripsi pada posisi MSB pixel semula lalu
pengacakan pixel-pixel citra dengan sebuah matriks permutasi rahasia. Hasil
pengacakan ini adalah citra terenkripsi.
Agar citra dapat dikembalikan kebentuk asalnya maka dilakukan proses deskripsi.
Langkah pertama yang harus dilakukan yaitu dengan menggunakan kembali private
key yang telah di generate ke dynamic key pada saat proses enkripsi. Kemudian
mengubah tiap bit kebentuk semula dengan memanfaatkan private key tersebut maka
akan dihasilkan citra terdekripsi. Selanjutnya hasil dari deskripsi akan dikirim ke
server.
UNIVERSITAS SUMATERA UTARA
15
Kemudian Server akan mengirim data citra yang telah dienkripsi/dekripsi kepada
client dan output yang diperoleh berupa citra terenkripsi/dekripsi serta comparisson
image dan log process. Adapun arsitektur umum pada penelitian ini dapat dilihat pada
Gambar 3.
Saving Chiper Image
(Encrypted Image)
Proses Enkripsi
menggunakan
Chaotic Logistic Map
Input Image
Membaca pixelpixel citra dan
disimpan didalam
matriks
Membangkitkan
nilai yang acak
dan di generate ke
dynamic key
Proses
Deskripsi
image
Chiper Image
Chiper Image
(Encrypted)
menggunakan
private key yang di
generate
sebelumnya
Mengubah tiap bit
kebentuk semula
dengan
memanfaatkan key
Server
Plain text Image
(Decrypted Image)
Compare Image &
Log process
Gambar 3.1 Arsitektur Umum
Pada Gambar 3.1 dapat dilihat pada arsitektur umum dilakukan beberapa langkah
yaitu:
3.1.1 Input Image
Pada tahapan pertama sebelum dilakukan proses pengolahan data yaitu pengumpulan
data yang di input oleh user berupa citra yang berformat .jpeg, .jpg, .bmp, .png dan
.gif .
UNIVERSITAS SUMATERA UTARA
16
3.1.2 Processing Image
Pada tahapan ini terdapat dua jenis proses yang dilakukan pada citra yaitu:
Encryption Image
Pada tahap ini akan dilakukan pengenkripsian citra menggunakan algoritma
Chaotic Logistic Map. Proses enkripsi yang dilakukan dengan enkripsi simetris,
yang berarti kunci yang digunakan saat mengenkrip harus sama dengan kunci
yang digunakan pada saat mendekrip. Kunci tersebut dimanfaatkan untuk
membangkitkan barisan bilangan acak yang disebut sebagai key stream
menggunakan Chaotic Logistic Map. Proses pertama yang dilakukan adalah
membaca pixel-pixel citra kemudian menyimpannya ledalam sebuah matiks.
Apabila citra tersebut 24-bit maka setiap komponen R, G, dan B disimpan
dalam tiga matriks yang berbeda. Kemudian mengekstrak bit-bit MSB dari
setiap byte pixel citra, misalkan bit-bit tersebut adalah p1, p2, ..., pn . Langkah
selanjutnya adalah mengiterasikan Chaotic Logistic Maps dengan nilai awal x0
(kunci rahasia). Kemudian konversikan setiap nilai Chaotic menjadi integer,
misalkan :
10110011
Diubah menjadi
00110011
Selanjutnya ekstraksi 1 bit LSB dari setiap integer tersebut, misalkan yang
dihasilkan adalah k1, k2, ..., kn. Selanjutnya enkripsi pi dengan ki , hasil enkripsi
adalah c1, c2, ...,cn. Letakkan kembali bit-bit hasil enkripsi pada posisi MSB pixel
semula lalu pengacakan pixel-pixel citra dengan sebuah matriks permutasi
rahasia. Hasil pengacakan ini adalah citra terenkripsi.
Decryption Image
Agar citra dapat dikembalikan kebentuk asalnya maka dilakukan proses
deskripsi. Langkah pertama yang harus dilakukan yaitu dengan menggunakan
kembali private key yang telah di generate ke dynamic key pada saat proses
enkripsi. Kemudian mengubah tiap bit MSB kebentuk semula dengan
memanfaatkan private key tersebut, misalkan:
00110011
Diubah menjadi
10110011
UNIVERSITAS SUMATERA UTARA
17
Setelah tiap bit MSB diubah dan meletakkan kembali bit-bit hasil enkripsi pada
posisi MSB pixel semula, kemudian melakukan invers permutasi, yaitu
mengembalikan sususan pixel-pixel yang teracak menjadi susunan semula maka
akan dihasilkan citra terdekripsi. Selanjutnya hasil dari deskripsi akan dikirim
dan disimpan ke server.
3.1.3 Output
Output dari sistem terbagi atas tiga bagian, yaitu :
Encrypted Image, menampilkan hasil citra yang telah di enkripsi.
Descrypted Image, menampilkan output hasil citra yang telah terenkripsi dan
terdeskripsi.
Comparison Image & Log process, menampilkan hasil perbedaan citra sebelum
dan setelah dienkripsi serta hasilnya secara lebih detail. Log Process,
menampilkan hasil citra yang telah berhasil atau gagal dalam transmisi.
3.2 Metode Chaotic Logistic Maps
3.2.1 Pseudocode
Berikut merupakan pseudocode dari tahapan untuk melakukan proses enkripsi citra
digital pada aplikasi enkripsi citra digital dengan menggunakan metode Chaotic
Logistic Map.
Require : Global Variabel : image_file
set width
ANALISIS DAN PERANCANGAN
Pada bab ini akan dibahas mengenai perancangan sistem. Pada tahap analisis akan
dilakukan analisis terhadap data citra menggunakan Chaotic Logistic Maps untuk
mendapatkan key yang tepat. Pada tahap perancangan akan dibahas mengenai tahaptahap yang dilakukan dalam merancang sistem enkripsi citra.
3.1 Arsitektur Umum
Metode yang diajukan untuk melakukan enkripsi citra pada penelitian ini terdiri dari
beberapa tahapan yaitu input data, proses data menggunakan metode Chaotic Logistic
Maps, dan output citra. Input dari penelitian ini berupa data citra user. Data yang telah
diterima akan melewati proses encryption processing citra yang merupakan proses
penggunaan metode Chaotic Logistic Maps dimana terdiri dari beberapa tahapan yaitu
membaca pixel-pixel citra kemudian menyimpannya kedalam sebuah matriks. Apabila
citra tersebut 24-bit maka setiap komponen R, G, dan B disimpan dalam tiga matriks
yang berbeda. Kemudian mengekstrak bit-bit MSB dari setiap byte pixel citra,
Langkah selanjutnya adalah mengiterasikan Chaotic Logistic Map dengan nilai awal
x0 (kunci rahasia). Konversikan setiap nilai Chaotic
menjadi integer dengan
persamaan :
T(x,size) = ||x*10count||,x≠0
(3.1)
Kemudian ekstraksi 1 bit LSB dari setiap nilai integer tersebut, misalkan yang
dihasilkan adalah k1, k2, ..., kn. Selanjutnya enkripsi pi dengan ki , hasil enkripsi adalah
c1, c2, ...,cn. Letakkan kembali bit-bit hasil enkripsi pada posisi MSB pixel semula lalu
pengacakan pixel-pixel citra dengan sebuah matriks permutasi rahasia. Hasil
pengacakan ini adalah citra terenkripsi.
Agar citra dapat dikembalikan kebentuk asalnya maka dilakukan proses deskripsi.
Langkah pertama yang harus dilakukan yaitu dengan menggunakan kembali private
key yang telah di generate ke dynamic key pada saat proses enkripsi. Kemudian
mengubah tiap bit kebentuk semula dengan memanfaatkan private key tersebut maka
akan dihasilkan citra terdekripsi. Selanjutnya hasil dari deskripsi akan dikirim ke
server.
UNIVERSITAS SUMATERA UTARA
15
Kemudian Server akan mengirim data citra yang telah dienkripsi/dekripsi kepada
client dan output yang diperoleh berupa citra terenkripsi/dekripsi serta comparisson
image dan log process. Adapun arsitektur umum pada penelitian ini dapat dilihat pada
Gambar 3.
Saving Chiper Image
(Encrypted Image)
Proses Enkripsi
menggunakan
Chaotic Logistic Map
Input Image
Membaca pixelpixel citra dan
disimpan didalam
matriks
Membangkitkan
nilai yang acak
dan di generate ke
dynamic key
Proses
Deskripsi
image
Chiper Image
Chiper Image
(Encrypted)
menggunakan
private key yang di
generate
sebelumnya
Mengubah tiap bit
kebentuk semula
dengan
memanfaatkan key
Server
Plain text Image
(Decrypted Image)
Compare Image &
Log process
Gambar 3.1 Arsitektur Umum
Pada Gambar 3.1 dapat dilihat pada arsitektur umum dilakukan beberapa langkah
yaitu:
3.1.1 Input Image
Pada tahapan pertama sebelum dilakukan proses pengolahan data yaitu pengumpulan
data yang di input oleh user berupa citra yang berformat .jpeg, .jpg, .bmp, .png dan
.gif .
UNIVERSITAS SUMATERA UTARA
16
3.1.2 Processing Image
Pada tahapan ini terdapat dua jenis proses yang dilakukan pada citra yaitu:
Encryption Image
Pada tahap ini akan dilakukan pengenkripsian citra menggunakan algoritma
Chaotic Logistic Map. Proses enkripsi yang dilakukan dengan enkripsi simetris,
yang berarti kunci yang digunakan saat mengenkrip harus sama dengan kunci
yang digunakan pada saat mendekrip. Kunci tersebut dimanfaatkan untuk
membangkitkan barisan bilangan acak yang disebut sebagai key stream
menggunakan Chaotic Logistic Map. Proses pertama yang dilakukan adalah
membaca pixel-pixel citra kemudian menyimpannya ledalam sebuah matiks.
Apabila citra tersebut 24-bit maka setiap komponen R, G, dan B disimpan
dalam tiga matriks yang berbeda. Kemudian mengekstrak bit-bit MSB dari
setiap byte pixel citra, misalkan bit-bit tersebut adalah p1, p2, ..., pn . Langkah
selanjutnya adalah mengiterasikan Chaotic Logistic Maps dengan nilai awal x0
(kunci rahasia). Kemudian konversikan setiap nilai Chaotic menjadi integer,
misalkan :
10110011
Diubah menjadi
00110011
Selanjutnya ekstraksi 1 bit LSB dari setiap integer tersebut, misalkan yang
dihasilkan adalah k1, k2, ..., kn. Selanjutnya enkripsi pi dengan ki , hasil enkripsi
adalah c1, c2, ...,cn. Letakkan kembali bit-bit hasil enkripsi pada posisi MSB pixel
semula lalu pengacakan pixel-pixel citra dengan sebuah matriks permutasi
rahasia. Hasil pengacakan ini adalah citra terenkripsi.
Decryption Image
Agar citra dapat dikembalikan kebentuk asalnya maka dilakukan proses
deskripsi. Langkah pertama yang harus dilakukan yaitu dengan menggunakan
kembali private key yang telah di generate ke dynamic key pada saat proses
enkripsi. Kemudian mengubah tiap bit MSB kebentuk semula dengan
memanfaatkan private key tersebut, misalkan:
00110011
Diubah menjadi
10110011
UNIVERSITAS SUMATERA UTARA
17
Setelah tiap bit MSB diubah dan meletakkan kembali bit-bit hasil enkripsi pada
posisi MSB pixel semula, kemudian melakukan invers permutasi, yaitu
mengembalikan sususan pixel-pixel yang teracak menjadi susunan semula maka
akan dihasilkan citra terdekripsi. Selanjutnya hasil dari deskripsi akan dikirim
dan disimpan ke server.
3.1.3 Output
Output dari sistem terbagi atas tiga bagian, yaitu :
Encrypted Image, menampilkan hasil citra yang telah di enkripsi.
Descrypted Image, menampilkan output hasil citra yang telah terenkripsi dan
terdeskripsi.
Comparison Image & Log process, menampilkan hasil perbedaan citra sebelum
dan setelah dienkripsi serta hasilnya secara lebih detail. Log Process,
menampilkan hasil citra yang telah berhasil atau gagal dalam transmisi.
3.2 Metode Chaotic Logistic Maps
3.2.1 Pseudocode
Berikut merupakan pseudocode dari tahapan untuk melakukan proses enkripsi citra
digital pada aplikasi enkripsi citra digital dengan menggunakan metode Chaotic
Logistic Map.
Require : Global Variabel : image_file
set width