analisa keamanan data citra menggunakan …
TRANSCRIPT
Jurnal Pelita Informatika, Volume 7, Nomor 4, April 2019
ISSN 2301-9425 (Media Cetak)
Hal: 593-600
593
ANALISA KEAMANAN DATA CITRA MENGGUNAKAN
ALGORITMA DATA ENCRYPTION STANDARD (DES)
DAN METODE GOVERMENT STANDARD (GOST)
Yohan Andi Sibarani1, Taronisokhi Zebua2
Prodi Teknik Informatika STMIK Budi Darma, Medan, Indonesia
Jl. Sisingamangaraja No. 338 Simpang Limun, Medan
ABSTRAK
Citra atau Image merupakan istilah lain dari gambar, yang merupakan informasi berbentuk visual. Citra digital
sering digunakan dalam menyajikan berbagai informasi, karena pada dasarnya data informasi berupa citra digital
sangat dibutuhkan dibandingkan dari data yang sifatnya teks dan digunakan dalam berbagai bidang seperti
keamanan, medis, ilmu, teknik, seni, hiburan, iklan, pendidikan serta pelatihan. Dengan bertambahnya penggunaan
teknik digital bagi transmisi dan penyimpanan citra digital, masalah mendasar untuk melindungi kerahasiaan,
keutuhan dan keaslian citra digital memang perlu diperhatikan. DES beroperasi pada ukuran blok 64 bit. DES
mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal
key) atau up-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64
bit. Algoritma GOST merupakan Algoritma buatan Rusia yang merupakan tandingan dari algoritma DES buatan
Amerika Serikat. Algoritma GOST menggunakan jaringan Feistel dalam struktur enkripsinya Algoritma ini
memiliki ukuran blok pesan 64-bit.
Kata Kunci : Citra, Algoritma Des, Algoritma Gost
I. PENDAHULUAN
Citra digital sering digunakan dalam
menyajikan berbagai informasi, karena pada dasarnya
data informasi berupa citra digital sangat dibutuhkan
dibandingkan dari data yang sifatnya teks dan
digunakan dalam berbagai bidang seperti keamanan,
medis, ilmu, teknik, seni, hiburan, iklan, pendidikan
serta pelatihan. Dengan bertambahnya penggunaan
teknik digital bagi transmisi dan penyimpanan citra
digital, masalah mendasar untuk melindungi
kerahasiaan, keutuhan dan keaslian citra digital
memang perlu diperhatikan. Hal ini dikarenakan
kerahasiaan suatu informasi sangatlah penting dan
bersifat pribadi, karena kasus yang sering terjadi adalah
rekayasa photo ataupun penyebaran photo secara ilegal
tentunya hal ini merugikan pemiliknya, sehingga
diperlukan suatu pengamanan untuk citra digital.
Seiring dengan perkembangan maka saat ini banyak
cara-cara untuk menangkal berbagai bentuk serangan
semacam ini. Salah satunya tekink yang dapat
digunakan untuk mengatasi masalah keamanan citra
diatas ialah dengan menggunakan teknik kriptografi
dalam bentuk enkripsi dan dekripsi menggunakan
transformasi data sehingga data yang dihasilkan tidak
dapat dimengerti oleh pihak ke tiga dan bentuknya telah
berbeda dengan bentuk asli.
Menurut penelitian sebelumnya yang dilakukan
oleh Rohmat Nur Ibrahim dengan judul Kriptografi
Algoritma Des, Aes/Rijndael, Blowfish Untuk
Keamanan Citra Digital Dengan Menggunakan
Metode Discrete Wavelet Transformation (Dwt), 2012,
Vol. 6, No. 2, Jurnal Computech & Bisnis bahwa DES
termasuk ke dalam sistem kriptografi simetri dan
tergolong jenis cipher blok. DES beroperasi pada
ukuran blok 64 bit. DES mengenkripsikan 64 bit
plainteks menjadi 64 bit cipherteks dengan
menggunakan 56 bit kunci internal (internal key) atau
up-kunci (subkey). Kunci internal dibangkitkan dari
kunci eksternal (external key) yang panjangnya 64 bit..
Algoritma GOST merupakan Algoritma buatan Rusia
yang merupakan tandingan dari algoritma DES buatan
Amerika Serikat. Secara struktural, algoritma ini sangat
mirip dengan algoritma DES. Seperti halnya algoritma
DES, Algoritma GOST menggunakan jaringan Feistel
dalam struktur enkripsinya Algoritma ini memiliki
ukuran blok pesan 64-bit. Berbeda dengan AES yang
memiliki ukuran blok pesan 128-bit. Algoritma ini juga
memiliki jumlah round yang lebih banyak dari AES-
256, yaitu 32 putaran. Setiap putaran menggunakan 8
buah kunci internal yang dijadwalkan penggunaannya.
“Analisis Perbandingan Algoritma AES dan GOST”
(Yudhistira, 2011/2012, hal.3 & 4).
II. TEORITIS
A. Kriptografi
Kriptografi pada awalnya dijabarkan sebagai
ilmu yang mempelajari bagaimana menyembunyikan
pesan. Namun pada pengertian moderen kriptografi
adalah ilmu yang bersandarkan pada teknik matematika
untuk berurusan pada keamanan informasi seperti
kerahasiaan, keutuhan data dan otentikasi entitas. Jadi
pengertian kriptografi moderen adalah tidak saja
berurusan hanya dengan penyembunyian pesan namun
lebih pada sekumpulan teknik yang menyediakan
keamanan informasi. Berikut ini adalah rangkuman
beberapa mekanisme yang berkembang pada
kriptografi moderen, (Rifki Sadikin, 2012): [2]
Jurnal Pelita Informatika, Volume 7, Nomor 4, April 2019
ISSN 2301-9425 (Media Cetak)
Hal: 593-600
594
B. Citra Digital
Citra adalah suatu representasi (gambaran),
kemiripan, atau imitasi dari suatu objek. Citra terbagi 2
yaitu ada citra yang bersifat analog dan ada citra yang
bersifat digital. Citra analog adalah citra yang bersifat
kontinu seperti gambar pada monitor televisi, foto sinar
X, hasil CT Scan dan lain-lain. Sedangkan pada citra
digital adalah citra yang dapat diolah oleh komputer(
T,Sutoyoet al. 2009: 9) [4].
C. Struktur DES (Data Encryption Standard)
DES merupakan salah satu contoh sandi Feistel,
sehingga struktur sandi DES memiliki struktur yang
sama dengan sandi Feistel dengan pengkhususan:
panjang blok DES adalah 64 bit jadi ukuran teks asli
dan teks sandi adalah 64 bit. Ukuran kunci DES adalah
64 bit dan ukuran kunci ronde adalah 48 bit dan jumlah
ronde pada DES adalah 16 ronde. Struktur enkripsi
sandi DES diberikan oleh gambar di bawah ini :
Gambar 1 Struktur sistem sandi DES
1. Ronde DES
Seperti yang diilustrasikan Gambar 2.3 jumlah
ronde DES adalah 16. Setiap ronde membutuhkan
masukan dari turunan teks asli berukuran 64 bit dan
turunan kunci DES yang disebut kunci ronde
berukuran 64 bit dan turunan kunci DES yang
disebut kunci ronde berukuran 48 bit. Struktur satu
ronde DES diberikan oleh gambar 2.3
Perhatikan gambar 2.3 jika masukan untuk ronde
ke-i adalah Li-1 dan Ri-1 yang masing-masing
berukuran 32 bit, dan menggunakan kunci ronde ke-
i Ki serta fungsi DES diberi label F. Maka secara
keseluruhan ronde ke-i mentransformasi Li-1 dan Ri-
1 menjadi Li-1 dan Ri-1 dengan hubungan sebagai
berikut :
Li = Ri-1
Ri = Li-1 ⊕ F (Ri-1, Ki)
D. Algoritma GOST
GOST atau Gosudarstvenny Standard artinya
standard pemerintah adalah algoritma enkripsi dari
Negara Uni Soviet dahulu (sekarang sudah terpecah
menjadi sejumlah Negara dengan Rusia sebagai Negara
terbesar). Algoritma ini dikembangkan pada tahun
1970. GOST dibuat oleh Soviet sebagai alternatif
terhadap algoritma enkripsi standard Amerika Serikat,
DES.
GOST secara struktural mirip dengan DES.
GOST beroperasi pada ukuran blok pesan yang
panjangnya 64 bit, sedangkan panjang kuncinya 256.
Jumlah putaran didalam GOST adalah 32 putaran,
setiap putaran dalam metode algoritma GOST
menggunakan kunci internal1. Kunci internal
sebenarnya hanya ada 8 buah, K1 sampai K8, tetapi
karena ada 32 putaran maka 8 buah kunci internal ini
dijadwalkan penggunaanya. Pembangkitan kunci
internal sangat sederhana.
Tabel 1 Key Scheduling Internal
Kunci exsternal yang panjangnya 256 bit dibagi
ke dalam 8 bagian masing-masing panjangnya 32 bit. 8
bagian ini yang dinamakan K1, K2, ..., K8. Hasil
penjumlahan (dalam modulo 2³²) Rn-1 dengan kunci
internal ke-n menghasilkan keluaran yang panjangnya
32 bit.
Pada metode algoritma GOST keluaran ini
dibagi menjadi 8 bagian yang masing-masing
panjangnya masuk ke dalam kotak S pertama, 4 bit
kedua masuk ke dalam kotak S kedua dan seterusnya.
Untuk putaran ke-n digunakan kunci internal Kn. Pada
metode algoritma GOST terdapat juga substitusi
dimana setiap kotak S adalah 4 bit. GOST memiliki 8
buah kotak S, setiap kotak berisi 16 buah elemen nilai.
Hasil substitusi setiap kotak S adalah 4 bit. GOST
memiliki 8 buah kotak S, setiap kotak berisi 16 buah
elemen nilai. Setiap kotak berisi permutasi angka 0 s/d
15. Pada tabel dibawah ini adalah 8 buah kotak S pada
metode algoritma GOST : S-Box (Subtitution
Boxes)Setiap elemen di dalam kotak S di indeks dari 0
sampai 15. Arti dari setiap elemen di dalam kotak S
Jurnal Pelita Informatika, Volume 7, Nomor 4, April 2019
ISSN 2301-9425 (Media Cetak)
Hal: 593-600
595
adalah sebagai berikut : Masukkan untuk kotak S
berasosiasi dengan indeks elemen, sedangkan
luarannya berasosiasi dengan nilai di dalam elemen
dengan indeks tersebut. Misalnya pada kotak S
pertama, jika masukannya adalah 4 bit berikut 0000
yang menyatakan nilai desimal 0, maka luaran nilai di
dalam elemen ke-0 yaitu 4, atau dalam biner 0100.
Hasil substitusi dari semua kotak S ini digabung
menjadi pesan 32-bit, kemudian pesan 32-bit ini
digeser ke kiri sejauh 11 bit pesan secara sirkuler.
Hasilnya kemudian di xor kan dengan Ln = Rn-1
untuk kemudian memberikan bagian ciphertext kanan
yang baru, Rn. Proses ini diulang sebanyak 32 kali.
III. ANALISA
A. Analisa Masalah
Sekarang ini banyak sekali foto (citra) sesuai
dengan yang sebenarnya atau diubah oleh orang yang
tidak bertanggung jawab, maka banyak juga keamanan
yang harus dilakukan agar foto (citra) tersebut tetap
sesuai dengan foto asli yaitu dengan algoitma DES dan
GOST.
Gambar 2 File Citra
1. Proses Enkripsi berdasarkan metode DES
Size : 100 x 100 pixel
Format citra : Grayscale (Jpeg)
Gambar 3 Nilai citra dari Hex Editor
Nilai biner yang didapat dari hex editor :
00110001 01000001 00000110 00010011 01010001
01100001 00000111 00100010
Tabel 2 Permutasi Awal
Hasil IP(X) : 00110010 00011001 01000100
01111011 00000000 10100001
00000000 11001100
Selanjutnya bit pada IP(X) dipecah menjadi 2 :
L0 : 00110010 00011001 01000100 01111011
R0 : 00000000 10100001 00000000 11001100
Kunci : YOHANSIB (konversi ke biner)
01011001 01001111 01001000 01000001
01001110 01010011 01001001 01000010
Tabel 3 kunci
0 1 0 1 1 0 0 1
0 1 0 0 1 1 1 1
0 1 0 0 1 0 0 0
0 1 0 0 0 0 0 1
0 1 0 0 1 1 1 0
0 1 0 1 0 0 1 1
0 1 0 0 1 0 0 1
0 1 0 0 0 0 1 0 PC-1
0 0 0 0 0 0 0
0 1 1 1 1 1 1
1 1 0 0 0 0 0
0 0 0 0 0 1 0
1 0 1 1 0 0 1
0 0 0 0 1 0 0
1 0 0 1 0 1 0
1 1 1 0 0 0 1
Hasil : C0D0 = 0000000 0111111 1100000 0000010
1011001 0000100 1001010 1110001
C0 : 0000000 0111111 1100000 0000010
D0 : 1011001 0000100 1001010 1110001 It
er1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
Jurnal Pelita Informatika, Volume 7, Nomor 4, April 2019
ISSN 2301-9425 (Media Cetak)
Hal: 593-600
596
a
si
P
ut
ar
a
n
bi
t
1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
C0D0 = 0000000 0111111 1100000 0000010 1011001
0000100 1001010 1110001
Lukakan putaran bit seperti dibawah terhadap C0D0
diatas
C0 = 0000000 0111111 1100000 0000010
C1 = 0000000 1111111 1000000 0000100
C2 = 0000001 1111111 0000000 0001000
C3 = 0000111 1111100 0000000 0100000
C4 = 0011111 1110000 0000001 0000000
C5 = 1111111 1000000 0000100 0000000
C6 = 1111110 0000000 0010000 0000011
C7 = 1111000 0000000 1000000 0001111
C8 = 1100000 0000010 0000000 0111111
C9 = 1000000 0000100 0000000 1111111
C10 = 0000000 0001000 0000001 1111111
C11 = 0000000 0100000 0000111 1111100
C12 = 0000001 0000000 0011111 1110000
C13 = 0000100 0000000 1111111 1000000
C14 = 0010000 0000011 1111110 0000000
C15 = 1000000 0001111 1111000 0000000
C16 = 0000000 0011111 1110000 0000001
D0 = 1011001 0000100 1001010 1110001
D1 = 0110010 0001001 0010101 1100011
D2 = 1100100 0010010 0101011 1000110
D3 = 0010000 1001001 0101110 0011011
D4 = 1000010 0100101 0111000 1101100
D5 = 0001001 0010101 1100011 0110010
D6 = 0100100 1010111 0001101 1001000
D7 = 0010010 1011100 0110110 0100001
D8 = 1001010 1110001 1011001 0000100
D9 = 0010101 1100011 0110010 0001001
D10 = 1010111 0001101 1001000 0100100
D11 = 1011100 0110110 0100001 0010010
D12 = 1110001 1011001 0000100 1001010
D13 = 1000110 1100100 0010010 0101011
D14 = 0011011 0010000 1001001 0101110
D15 = 1101100 1000010 0100101 0111000
D16 = 1011001 0000100 1001010 1110001
C1D1 = 0000000 1111111 1000000 0000100 0110010
0001001 0010101 1100011
K1 = 1010000 0100100 1011000 0100010 1110110
0011110 011000
C2D2 = 0000001 1111111 0000000 0001000 1100100
0010010 0101011 1000110
K2 = 1010000 0000100 1001010 0101000 0110001
1110000 101010
Untuk mencari K3 sampai dengan K15
dilakukan permutasi dengan cara yang sama seperti di
atas.
C16D16 =0000000 0011111 1110000 0000001
1011001 0000100 1001010 1110001
K16 =1110000 1100100 1000100 0101110
00010001100101001111
Selanjutnya kita mencari nilai E(R(1)-1) – E(R(16)-1)
Putaran – 2 dan seterusnya sampai dengan putaran- 16
dilakukan sama seperti diatas
Proses permutasi menggunakan Matrix permutasi awal
balikan (Invers initial permutation, IP-1) terhadap L16
dan R16
1100000100000101100001101110000100011001010
01111 di rubah ke bentuk string yaitu : ©©uhöú
2. Dekripsi berdasarkan DES
Proses dekripsi terhadap cipherimage merupakan
kebalikan dari proses enkripsi. DES menggunakan
algoritma yang sama untuk proses enkripsi dan
dekripsi. Jika pada proses enkripsi urutan kunci
internal yang digunakan adalah K1, K2,..., K16
,maka pada proses dekripsi urutan kunci yang
digunakan adalah K16, K15, ..., K1.Proses dekripsi
dilakukan setelah proses permutasi akhir (Invers
Initial Permutation).
Masukkan nilai biner dari hasil enkripsi :
11000001000001011000011011100001000110010
1001111
Kunci pada Dekripsi sama dengan kunci Enkripsi
hanya saja Dekripsi kebalikkan dari Enkripsi.
Selanjut nya untuk putaran-2 sampai dengan putaran
ke-16 dikerjakan atau dilakukan sama seperti yang
diatas
3. Proses Enkripsi dan Dekripsi Berdasarkan
Algoritma GOST
a. Proses Enkripsi algoritma Gost
Nilai biner yang didapat dari hex editor :
00110001 01000001 00000110 00010011 01010001
01100001 00000111 00100010
00110001 01000001 00000110 00010011 (Kiri) = L0
(32-0)
01010001 01100001 00000111 00100010 (Kanan) =
R0 (64-33)
L(0) = 11001000 01100000 10000010 10001100
R(0) = 01000100 11100000 10000110 10001010
Konversi kunci ke Biner
Konversi Kunci
Jurnal Pelita Informatika, Volume 7, Nomor 4, April 2019
ISSN 2301-9425 (Media Cetak)
Hal: 593-600
597
Char Desimal Biner
C 68 01000011
I 73 01001001
T 84 01010100
R 82 01010010
A 65 01000001
_ 95 01011111
Y 89 01011001
O 79 01001111
H 72 01001000
A 65 01000001
N 78 01001110
_ 95 01011111
H 72 01001000
A 65 01000001
M 77 01001101
O 79 01001111
N 78 01001110
A 65 01000001
N 78 01001110
G 71 01000111
A 65 01000001
N 78 01001110
_ 95 01011111
S 83 01010011
I 73 01001001
B 66 01000010
A 65 01000001
R 82 01010010
A 65 01000001
N 78 01001110
I 73 01001001
. 46 00101110
Biner kunci seluruhnya :
01000011 01001001 01010100 01010010 01000001
01011111 01011001 01001111 01001000 01000001
01001110 01011111 01001000 01000001 01001101
01001111 01001110 01000001 01001110 01000111
01000001 01001110 01011111 01010011 01001001
01000010 01000001 01010010 01000001 01001110
01001001 00101110
Pengelompokkan Biner Kunci :
Kunci Posis Bit Biner yang diambil
K[0] = 32....1 01001010 00101010
10010010 11000010
K[1] = 64....33 11110010 10011010
11111010 10000010
K[2] = 95....65 11111010 01110010
10000010 00010010
K[3] = 128....97 11110010 10110010
10000010 00010010
K[4] = 160....129 11100010 01110010
10000010 01110010
K[5] = 192....161 11001010 11111010
01110010 10000010
K[6] = 224....193 01001010 10000010
01000010 10010010
Kunci Posis Bit Biner yang diambil
K[7] = 256....225 01110100 10010010
01110010 10000010
Putaran – 0 i = 0 :
L(0) = 11001000 01100000 10000010 10001100
R(0) = 01000100 11100000 10000110 10001010
rubah ke desimal
(R[0] + K[0] ) MOD 232
R(0) =1153468042
K[0] = 1244304066
= 2397772108 Mod 232
= 2397772108
= 1000 1110 1110 1011 0001 1001 0100 1100 Biner
Kelompok
Dec
Nilai Bit
SBOX Hasil
Permutasi
dengan SBOX
Biner
1000 8 S-BOX [0] 6 0110
1110 14 S-BOX [1] 5 0101
1110 14 S-BOX [2] 9 1001
1011 11 S-BOX [3] 12 1100
0001 1 S-BOX [4] 6 0110
1001 9 S-BOX [5] 6 0110
0100 4 S-BOX [6] 3 0011
1100 12 S-BOX [7] 6 0110
Gabungan biner-biner hasil penukaran dari tabel
Sbox dan lakukan Rotate left shift 11 bit
Gabungan Biner =0110 0101 1001 1100 0110 0110
0011 0110
RLS [0]= 0111 0001 1001 1000 1101 1001 1001 0110
R[1] = RLS [0] XOR L[0]
RLS [0] = 0111 0001 1001 1000 1101 1001 1001 0110
hasil RLS R[0]
L[0] = 1100 1000 0110 0000 1000 0010 1000 1100
L[0] awal
R[1] = 1011 1001 1111 1000 0101 1011 0001 1010
L[1]= R[0] sebelum di proses
L[1] = 01000100 11100000 10000110 10001010
Hasil putaran – 0 atau pada Putaran – i = 0, adalah
L[1] = 01000100 11100000 10000110 10001010
R[1] = 1011 1001 1111 1000 0101 1011 0001 1010
Putaran – 1 i = 1
L[1] = 0100 0100 1110 0000 1000 0110 1000 1010
R[1] = 1011 1001 1111 1000 0101 1011 0001 1010
rubah ke desimal
(R[1]K[1]) Mod 232
R[1] = 3120061210
K[1] = 4070242946
Hasil = 7190304156 Mod 232
hasil Mod = 2895336860 rubah ke biner
= 1010 1100 1001 0011 0101 0101 1001 1100
Biner
Kelompok
Dec
Nilai
Bit
SBOX
Hasil
Permutasi
dengan
SBOX
Biner
1010 10 S-BOX
[0] 1 0001
1100 12 S-BOX
[1] 2 0010
1001 9 S-BOX
[2] 15 1111
Jurnal Pelita Informatika, Volume 7, Nomor 4, April 2019
ISSN 2301-9425 (Media Cetak)
Hal: 593-600
598
Biner
Kelompok
Dec
Nilai
Bit
SBOX
Hasil
Permutasi
dengan
SBOX
Biner
1011 11 S-BOX
[3] 12 1100
0101 5 S-BOX
[4] 15 1111
0101 5 S-BOX
[5] 2 0010
1001 9 S-BOX
[6] 10 1010
1100 12 S-BOX
[7] 6 0110
Gabungan biner – biner hasil penukaran dari tabel
SBox dan lakukan Rotete Left shift 11 bit
Hasil gabungan : 0001 0010 1111 1100 1111 0010
1010 0110
Hasil RLS [1] 11 bit : 1111 0011 1100 1010 1001 1000
0100 1011
R[2] –RLS[1] XOR L[1]
RLS[1] = 1111 0011 1100 1010 1001 1000 0100 1011
hasil RLS R[1]
L [0] = 0100 0100 1110 0000 1000 0110 1000 1010
L[1] awal
R[2] = 1011 0111 0010 1010 0001 1110 1100 0001
L[2] = R[1] sebelum di proses
L[2] = 1011 1001 1111 1000 0101 1011 0001 1010
Hasil Putaran – 1 = atau putaran – i =1, adalah;
L [2] = 1011 1001 1111 1000 0101 1011 0001 1010
R [2] = 1011 0111 0010 1010 0001 1110 1100 0001
RLS [2] = 0010 1010 0110 0001 0010 1111 1100
1111
RLS [3] = 1000 0100 1011 1111 0011 1100 1010
1001
RLS [4] = 1111 1100 1111 0010 1010 0110 0001
0010
RLS [5] = 1100 1010 1001 1000 0100 1011 1111
0011
RLS [6] = 0110 0001 0010 1111 1100 1111 0010
1010
RLS [7] = 1011 1111 0011 1100 1010 1001 1000
0100
RLS [8] = 1111 0010 1010 0110 0001 0010 1111
1100
RLS [9] = 1001 1000 0100 1011 1111 0011 1100
1010
0110011001100110011001000011100001100110011
001100110010100110000
L(0) = 00001100101001100110011001100110
R(0) = 00011100001001100110011001100110
R(0) + K(0) mod 2^32
R( 0) = 472278630
K( 0) = 2461149898
-------------------------------- + Hasil = 2933428528 mod 2^32
= 2933428528
= 10101110110110001001000100110000
Pecah menjadi 8 kelompok dan masukkan kedalam
proses SBox.
1010 = 10 -> SBOX(0) -> 1 = 0001
1110 = 14 -> SBOX(1) -> 5 = 0101
1101 = 13 -> SBOX(2) -> 0 = 0000
1000 = 8 -> SBOX(3) -> 14 = 1110
1001 = 9 -> SBOX(4) -> 10 = 1010
0001 = 1 -> SBOX(5) -> 11 = 1011
0011 = 3 -> SBOX(6) -> 1 = 0001
0000 = 0 -> SBOX(7) -> 1 = 0001
Hasil digabungkan kembali dan lakukan Rotate Left
Shift sebanyak 11 kali.
RLS(1)=00101010000111010101011000100010
RLS(2)=01010100001110101010110001000100
RLS(3)=1010 1000 0111 01010101100010001000
RLS(4)=01010000111010101011000100010001
RLS(5)=10100001110101010110001000100010
RLS(6)=01000011101010101100010001000101
RLS(7)=10000111010101011000100010001010
RLS(8)=00001110101010110001000100010101
RLS(9)=00011101010101100010001000101010
RLS(10)=00111010101011000100010001010100
RLS(11)=01110101010110001000100010101000
R(1) = R(0) XOR L(0)
R( 0) = 01110101010110001000100010101000
L( 0) = 00001100101001100110011001100110
------------------------------------------------ XOR
R( 1) = 01111001111111101110111011001110
L(1) = R(0) sebelum proses.
L(1) = 00011100001001100110011001100110
dan hasil akhir proses enkripsi adalah sebagai berikut:
L(32) = 1111010101001001001000101111011
R(32) = 000001101101100110100101101110011
Hasil dalam biner = 11110101010010010010
0010111101100000110110110011010010110111001
1 -> ubah ke ascii
CIPHER IMAGE = õI"ö³Ks
4. Proses Dekripsi Algoritma GOST
Proses Dekripsi dilakukan dengan nilai biner yang
di dapat oleh Proses Enkripsi dimana nilai tersebut
akan diproses dengan dekripsi Hasil dalam biner
=111101010100100100100010111101100000110
1101100110100101101110011
Proses berikutnya adalah melakukan dekripsi
terhadap ciphertext hasil enkripsi dengan algoritma
GOST, berikut adalah prosesnya
Cipherimage = 'õI"ö³Ks' di konversi ke heksa =
11110101010010010010001011110110000011011
01100110100101101110011 kemudian dibagi Left
dan Right menjadi
L(0) = 11001110110100101100110110110000
R(0) = 01101111010001001001001010101111
R(0) + K(0) mod 2^32
R( 0) = 1866764975
K( 0) = 2461149898
-------------------------------- +
Hasil = 4327914873 mod 2^32
= 32947577
= 00000001111101101011110101111001
Pecah menjadi 8 kelompok dan masukkan ke SBox.
0000 = 0 -> SBOX(0) -> 4 = 0100
0001 = 1 -> SBOX(1) -> 11 = 1011
1111 = 15 -> SBOX(2) -> 11 = 1011
Jurnal Pelita Informatika, Volume 7, Nomor 4, April 2019
ISSN 2301-9425 (Media Cetak)
Hal: 593-600
599
0110 = 6 -> SBOX(3) -> 9 = 1001
1011 = 11 -> SBOX(4) -> 14 = 1110
1101 = 13 -> SBOX(5) -> 12 = 1100
0111 = 7 -> SBOX(6) -> 9 = 1001
1001 = 9 -> SBOX(7) -> 2 = 0010 Hasil digabungkan kembali dan lakukan Rotate Left
Shift sebanyak 11 kali.
RLS( 1)=10010111011100111101100100100100
RLS( 2)=00101110111001111011001001001001
RLS( 3)=01011101110011110110010010010010
RLS( 4)=10111011100111101100100100100100
RLS( 5)=01110111001111011001001001001001
RLS( 6)=11101110011110110010010010010010
RLS( 7)=11011100111101100100100100100101
RLS( 8)=10111001111011001001001001001011
RLS( 9)=01110011110110010010010010010111
RLS(10)=11100111101100100100100100101110
RLS(11)=11001111011001001001001001011101
R(1) = R(0) XOR L(0)
R( 0) = 11001111011001001001001001011101
L( 0) = 11001110110100101100110110110000
------------------------------------------------ XOR
R( 1) = 00000001101101100101111111101101
L(1) = R(0) sebelum proses.
L(1) = 01101111010001001001001010101111
Proses diatas merupakan proses putaran 0 dan putaran
dilakukan sebanyak 32 kali
dan hasil akhirnya sebagai berikut:
L(32) = b(32), b(31), ... b(1)
R(32) = a(32), a(31), ... a(1)
Hasil = a(1), ... a(32), b(1), ... b(32)
Hasil dalam biner =
0110011001100110011001000011100001100110011
001100110010100110000 -> ubah ke ascii
menghasilkan plainimage = ffd8ffe0
IV. IMPLEMENTASI
A. Implementasi Sistem
Implementasi sistem program ini mencakup
spesifikasi kebutuhan perangkat keras (hardware) dan
spesifikasi perangkat lunak (software).
Tampilan program terdiri dari print screen dari
tampilan input, output, dan proses yang dirancangan.
Adapun tampilan program yang dirancang adalah
sebagai berikut:
Gambar 4 Tampilan Menu Utama
Gambar 5 Tampilan Proses DES dan GOST
Gambar 6 Tampilan input Program
Gambar 7 Tampilan output Program
V. KESIMPULAN
Setelah menyelesaikan penulisan ini maka
didapat beberapa kesimpulan sebagai berikut :
1. Prosedur dalam pengamanan data citra ini
dilakukan dengan perbandingan antara Algoritma
DES dan GOST yang dimana menghasilkan
enkripsi dan dekripsi yang berbeda namun dengan
tujuan sama. Metode yang digunakan tidak begitu
Jurnal Pelita Informatika, Volume 7, Nomor 4, April 2019
ISSN 2301-9425 (Media Cetak)
Hal: 593-600
600
sulit hanya saja terlalu banyak putaran dalam
metode masing-masing.
2. Tingkat efektifitas keamanan yang lebih baik
adalah GOST dibandingkan dengan DES dimana
putaran GOST lebih banyak dibandingkan putaran
pada algoritma DES.
3. Pada kompleksitas algoritma analisa yang
dihasilkan algoritma yang digunakan cukup baik
dalam hal mengamankan dengan langkah-langkah
yang cukup panjang dan kunci yang aman serta sulit
untuk di rusak, dapat di simpulkan Algoritma Gost
merupakan algoritma yang baik untuk
mengamankan Citra
REFERENCES
[1] Prastowo dan Julianty, ANALISA, 2002.
[2] Rifki Sadikin, Kriptografi, 2012.
[3] Taroni S.Zebua M.Kom, Gost Algorithym, 2014.
[4] Sutoyoet al T, Citra Digital, 2009.
[5] Andi, Microsoft Visual Basic.Net 2008, 2008.