36
Keterangan : Pc
: input-an citra Pt
: input-an teks Penanda
: tanda yang digunakan untuk mengenali posisi karakter dalam sebuah string
R1 : penampung sementara
L : lebar citra
T : tinggi citra
3.1.4.3 Flowchart Proses Enkripsi dengan ElGamal
Pada proses enkripsi citra digital plain-image, algoritma yang digunakan adalah algoritma ElGamal. Algoritma ini merupakan jenis algoritma asimetri yaitu kunci
yang digunakan untuk proses enkripsi berbeda dengan kunci yang digunakan untuk proses dekripsi. Untuk proses enkripsi gambar 3.11, pertama sekali harus ada objek
citra yang akan dienkripsi, kemudian dimasukkan kunci bilangan p, g, x, dan k, kemudian dihitung nila y. Selanjutnya dilakukan proses perhitungan nilai cipher a,
dan setelah itu dilakukan proses enkripsi objek citra, mulai dari titik awal sampai titik terakhir citra tersebut, dan dilakukan enkripsi terhadap semua layer red, green. Dan
blue. Setelah selesai dilakukan proses enkripsi didapatkan cipher-image yang akan disimpan dengan nilai cipher a dan kunci dekripsi. Proses enkripsi digambarkan
sebagai berikut pada gambar 3.11 :
Universitas Sumatera Utara
37
Start
End Input Kunci
p,g,x,k y = g
x
mod p a = g
k
mod p ; I = 0 ;
Cipher Hasilcitra dan a
While i tinggiPc
HasilcitraJ,I = y
k
PcJ,I mod p Tidak
i++ While J LebarPc
J = 0 ; Tidak
Ya Ya
Pc = Input citra
Gambar 3.11 Flowchart Proses Enkripsi Plain-image dengan ElGamal
Keterangan : p
: bilangan prima g
: bilangan acak gp x
: bilangan acak xp y
: kunci publik m
: plain-object a,b
: cipher-object k
: bilangan acak 1 ≤ k ≤ p-2
i,j : bilangan bulat untuk perulangan
Universitas Sumatera Utara
38
hasil_citra : citra yag sudah dienkripsi
Pc : citra asli
3.1.4.4 Flowchart Proses Dekripsi dengan ElGamal
Proses dekripsi menunjukkan hal yang dilakukan pertama memasukkan cipher-citra dan memasukkan nilai x dan p, dan cipher a, dimana x adalah kunci yang harus
dirahasiakan, setelah itu dilakukan proses perhitungan dekripsi dan mendapatkan plain-image m. Berikut digambarkan pada gambar 3.12 flowchart proses enkripsi
plainkey dengan menggunakan algoritma ElGamal :
Start
End Pc = Input Citra
Input a,x,p
GambarJ,I = PcJ,I a_inv mod p ; J++;
T = Tinggi Pc; L = Lebar Pc;
a_inv= a
p-1-x
mod p ; I = 0 ;
Gambar While I T
i++ Ya
Tidak
While J L Tidak
Ya J = 0 ;
Gambar 3.12 Flowchart Proses Dekripsi dengan ElGamal
Universitas Sumatera Utara
39
3.1.4.5 Flowchart Proses Ekstraksi dengan End Of File