• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Perancangan Algoritma Kriptografi Cipher Block Berbasis Bentuk Kincir Angin untuk Pengamanan Citra Digital pada Android

N/A
N/A
Protected

Academic year: 2018

Membagikan "Institutional Repository | Satya Wacana Christian University: Perancangan Algoritma Kriptografi Cipher Block Berbasis Bentuk Kincir Angin untuk Pengamanan Citra Digital pada Android"

Copied!
31
0
0

Teks penuh

(1)

Perancangan Algoritma Kriptografi

Cipher Block

Berbasis Bentuk Kincir

Angin untuk Pengamanan Citra Digital pada Android

Artikel Ilmiah

Peneliti :

Septian Dwi Cahyo (672010131) Alz Danny Wowor, S.Si., M.Cs. Hendro Steven Tampake, S.Kom.

Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana

(2)
(3)

Perancangan Algoritma Kriptografi

Cipher Block

Berbasis Bentuk Kincir

Angin untuk Pengamanan Citra Digital pada Android

Artikel Ilmiah

Diajukan kepada Fakultas Teknologi Informasi

Untuk memperoleh gelar Sarjana Komputer

Peneliti :

Septian Dwi Cahyo (672010131) Alz Danny Wowor, S.Si., M.Cs. Hendro Steven Tampake, S.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)

Perancangan Algoritma Kriptografi

Cipher Block

Berbasis Bentuk Kincir

Angin untuk Pengamanan Citra Digital pada Android

1)

Septian Dwi Cahyo,2)Alz Danny Wowor,3)Hendro Steven Tampake

Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

Email: 1) [email protected], 2) [email protected],

3)

[email protected]

Abstract

Digital image needs to be secured to prevent misuse by unauthorized parties, then the required security system for digital imagery. Cryptography can be used as a tool for securing the digital image. This paper designed the cryptographic block ciphers based on the shape of a windmill using selective bitplane techniques and implemented on Android platform. The algorithm proved that it can be used as an alternative in securing digital imagery.

Keyword : Cipher Block, Cryptography, Windmill, Selective Bitplane Technique.

Abstrak

Citra digital perlu diamankan untuk mencegah penyalah gunaan oleh pihak yang tidak bertanggung jawab, maka dibutuhkan system pengamanan untuk citra digital. Kriptografi dapat digunakan sebagai alat untuk mengamankan citra digital tersebut. Tulisan ini merancang kriptografi blok cipher berbasis pada bentuk kincir angin menggunakan teknik selective bitplane dan diimplementasikan pada platform Android. Algoritma tersebut membuktikan bahwa dapat digunakan sebagai alternatif dalam pengamanan citra digital.

Kata Kunci : Blok Cipher, Kriptografi, Kincir Angin, Selective Bitplane.

1)

Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

2)

Staff Pengajar Fakultas Teknologi Informasi, Universaitas Kristen Satya Wacana

3)

(12)

2 1. Pendahuluan

Bidang multimedia saat ini tengah berkembang dengan sangat pesat. Didukung oleh perkembangan teknologi yang semakin canggih seperti maraknya media sosial, multimedia menjadi sarana mengekspresikan diri untuk mendapatkan pengakuan dari orang lain. Media yang sering digunakan yakni melalui citra yang diambil dengan kamera smartphone. Terkadang cara mengekspresikan diri yang terlalu berlebihan dimanfaatkan oleh orang yang tidak bertanggung jawab sehingga merugikan orang lain yang memiliki privasi khusus terhadap citra tersebut. Citra yang tersimpan dapat saja dimanipulasi, diambil, atau dihilangkan oleh orang yang tidak bertanggung jawab sehingga menjadi informasi yang berbeda dari bentuk aslinya.

Untuk mengamankan citra digital terdapat beberapa cara seperti steganografi dan kriptografi. Steganografi dinilai kurang efektif dan efisien karena teknik tersebut membutuhkan tempat atau wadah untuk menyembunyikan informasi sedangkan kriptografi merupakan proses menyandikan citra ke bentuk visual lain yang tidak bermakna lagi dimana citra akan dikemas sedemikian rupa agar menjadi bentuk citra lain dan tidak dapat dikenali lagi [1]. Kriptografi dipilih karena informasi akan diacak sedemikian rupa tanpa membutuhkan tempat atau wadah lain untuk menyembunyikannya sehingga hasil dari pengacakan tidak memiliki memori yang terlalu besar. Kriptografi yang digunakan adalah blokcipher yang merupakan kriptografi simetris karena data yang masuk dibagi kedalam blok – blok data saat melakukan enkripsi dan dekripsi. Pembagian kedalam blok – blok data dan proses yang terpisah terhadap blok data tersebut menjadikan kriptografi blok memiliki kecepatan proses yang tinggi. Selain itu kriptografi blokcipher memiliki distribusi dan manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit [2].

Beranjak dari permasalahan diatas, dilakukan perancangan kriptografi baru yang memiliki kecepatan proses tinggi karena akan diimplementasi pada perangkat berbasis mobile

serta memiliki tingkat pengacakan yang tinggi. Kriptografi baru yang dirancang yaitu algoritma kriptografi cipher blok yang berbasis pada bentuk kincir angin dikombinasikan dengan teknik selective bitplane untuk pempercepat proses enkripsi dan dekripsi karena dengan teknik selektif hanya sebagian komponen citra dienkripsi namun sebagai efeknya citra dienkripsi secara keseluruhan. Algoritma yang berbasis pada bentuk kincir angin memiliki empat putaran dimana dalam tiap putaran memiliki proses pengacakan bit dan operasi XOR dengan key. Diakhir proses algoritma yang berbasis pada bentuk kincir angin, bit hasil enkripsi dipecahkan kembali dan digabungkan kembali dengan hasil selektif.

2. Tinjauan Pustaka

Penelitian sebelumnya yang berjudul “Enkripsi Selektif Citra Digital dengan Stream Cipher Berbasiskan pada Fungsi Chaotik Logistic Map” pada penelitian ini membahas

enkripsi selektif yang dilakukan hanya pada bit-bit MSB dari pixel citra. Fungsi chaos yang digunakan adalah logistic map. Nilai awal logistic map berperan sebagai kunci rahasia. Hasil eksperimen memperlihatkan bahwa algoritma enkripsi ini dapat mengenkripsi citra dengan baik dan mendekripsinya kembali tepat sama seperti citra semula. Keamanan algoritma telah ditunjukkan dari analisis histogram yang terlihat seimbang antara pixel

bernilai rendah dengan pixel yang bernilai tinggi, sehingga menyulitkan kriptanalisis dengan analisis statistik. Eksperimen perubahan parameter nilai chaos memperlihatkan bahwa algoritma ini aman dari serangan exhaustive attack [3].

Pada penelitian selanjutnya yang berjudul “Algoritma Enkripsi Selektif Citra Digital dalam Ranah Frekuensi Berbasis Permutasi Chaos” menyimpulkan bahwa pixel di dalam

(13)

bertetangga tidak berhubungan lagi satu sama lain. Ruang kunci yang cukup besar membuat algoritma ini aman dari serangan brute force attack. Kelemahan algoritma enkripsi ini adalah lossy encryption, yakni citra hasil dekripsi tidak tepat sama dengan citra semula. Sebagian informasi citra yang hilang karena enkripsi dan dekripsi dilakukan dalam ranah DCT. Selain itu, kualitas citra hasil dekripsi juga ditentukan oleh pemilihan ukuran matriks koefisien DCT yang diacak dengan Arnold Cat Map. Meskipun termasuk

lossy encryption, tetapi bila kualitas citra hasil dekripsi bukan masalah yang penting, maka algoritma ini tepat digunakan untuk aplikasi yang memerlukan delay yang rendah [4].

Penelitian lain yang berjudul “Implementasi Algoritma RC6 Untuk Enkripsi Citra Pada MMS Dengan Menggunakan J2ME” membahas tentang suatu kriptosistem dapat berjalan dengan baik, maka pemilihan metode enkripsi yang dipergunakan harus disesuaikan dengan seberapa tinggi tingkat keamanan yang diinginkan. Semakin aman suatu kriptosistem, maka proses pengamanannya akan membutuhkan waktu yang lebih banyak dan kompleksitas yang lebih tinggi. Sistem tidak bisa bekerja dengan baik untuk mengolah data yang berukuran besar. Proses ini mungkin tidak akan membuat aplikasi nyaman untuk digunakan, kecuali pada handphone yang memiliki spesifikasi yang besar. Lambatnya proses enkripsi ini tidak bisa dihindari, karena besarnya data yang diolah untuk melakukan proses pengacakan data, enkripsi dan dekripsi citra. Pada uji coba sistem, didapatkan hasil bahwa program bekerja membutuhkan lama baik pada saat dekripsi maupun enkripsi [5].

Penelitian terdahulu yang diambil digunakan sebagai acuan untuk merancang serta mengimplementasi algoritma kriptografi cipherblok berbasis pada bentuk kincir angin yang dikombinasikan dengan teknik selektif pada platform android.

Selanjutnya akan dijelaskan secara umum proses enkripsi dan dekripsi dapat diperlihatkan pada Gambar 1.

Gambar 1. Proses Enkripsi dan Dekripsi

Berdasarkan Gambar 1 dapat dijelaskan bahwa kriptografi terdiri dari dua proses utama yakni proses enkripsi dan proses dekripsi, peranan kunci sangatlah penting dalam proses tersebut (disamping pula algoritma yang digunakan) sehingga kerahasiaannya sangatlah penting. Algoritma enkripsi menghasilkan blok cipherteks yang berukuran sama dengan blok plainteks, sedangkan dekripsi dilakukan dengan cara yang serupa seperti enkripsi. Misalkan blok plainteks (C) yang berukuran m bit dinyatakan dalam vector

) , , , ,

(c1 c2 c3 cm

C  (1)

dimana ci adalah 0 atau 1 untuk i = 1, 2, 3, … , m dan blok cipherteks (H) adalah

(2) yang dalam hal ini hi adalah 0 atau 1 untuk i = 1, 2, 3, … , m.

Berdasarkan pada persamaan 1, apabila m blok merupakan hasil pembagian dari bit penyusun plainteks maka dapat dinyatakan sebagai

m

h h h h

(14)

4 n

C C

C1, 2,, (3)

untuk setiap blok plainteks Ci, bit – bit penyusunnya dapat dinyatakan sebagai vector

(4) Secara sistematis, proses enkripsi merupakan pengoperasian fungsi E (enkripsi) menggunakan K (kunci) pada C (plainteks) sehingga dihasilkan H (cipherteks).

(5)

Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D (dekripsi) menggunakan K pada H sehingga dihasilkan C.

(6)

Sehingga dari dua hubungan tersebut berlaku :

(7)

Mempercepat proses enkripsi dan dekripsi digunakan teknik selective bitplane yang memisahkan antara MSB (Most Significant Bit) dan LSB (Less Significant Bit) dimana MSB merupakan bit yang paling berarti sedangkan LSB merupakan bit yang kurang berarti. Apabila susunan bit pada setiap byte adalah b8 b7 b6 b5 b4 b3 b2 b1 maka MSB merupakan b8 b7 b6 b5 dan LSB adalah b4 b3 b2 b1. Jumlah bit MSB yang dienkripsi mempengaruhi tingkat keamanan. Jika hanya satu bit yang dienkripsi, maka tujuh bit sisanya (yang tidak ikut dienkripsi) masih dapat memperlihatkan wujud objek di dalam citra, sehingga tingkat keamanannya rendah. Oleh karena itu setelah enkripsi 1-bit MSB masih diperlukan prosedur permutasi tambahan untuk mengacak pixel agar diperoleh efek confusion [3].

Menurut Stinson sebuah sistem kriptografi terdiri dari lima-tuple (Five-tuple) (P, C, K, E , D) , yang memenuhi kondisi [6]:

1. P adalah himpunan berhingga dari plainteks, 2. C adalah himpunan berhingga dari cipherteks,

3. K merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci,

4. E adalah himpunan fungsi enkripsi ek :P C,

5. D adalah himpunan fungsi dekripsi dk :C P,

Plainteks yang berupa citra merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya yang disebut

pixel menyatakan tingkat keabuan pada titik tersebut sehingga apabila dinyatakan dalam matriks maka

(8)

Matriks yang dinyatakan citra digital berukuran N yakni baris atau tinggi dan M yakni kolom atau lebar citra sehingga

(15)

Dimana L merupakan maksimal warna intensitas yang dimiliki oleh pixel dengan matriks f(x,y) untuk nilai warna dimulai dari 0 hingga 255. Untuk setiap pixel memiliki tiga (3) byte yakni byte red , green, dan blue. Byte tersebut secara umum terpisah berdasarkan komponen warna penyusun dalam setiap pixel. Merujuk pada persamaan 8 maka dapat dinyatakan dalam grafik sebagai Grafik 1.

Origin

0 ... N-1

2 3 1 0

...

... M-1

1 2 3 ...

Satu Pixel f (x,y)

x

y

Grafik 1. Pixel Citra

Selanjtnya akan dijelaskan mengenai Selective Bitplane, seperti yang telah disampaikan MSB dipilih karena pada umumnya bit antara nilai pada setiap byte yang berdekatan adalah sama. Misalkan untuk decimal 255 adalah 11111111, untuk 250 adalah 11111010, untuk 252 adalah 11111100 apabila diperhatikan maka setiap MSB adalah sama untuk ketiga decimal tersebut. Sehingga apabila diambil MSB untuk diproses dapat menghasilkan MSB baru yang dapat membentuk decimal baru yang sangat jauh berbeda misalkan 11111111 menjadi 10111111. Empat digit bit didepan berubah dari 1111 menjadi 1011 yang jika di ubah menjadi decimal yakni 15 menjadi 11 sehingga apabila digabungkan kembali dengan LSB akan memiliki nilai yang sangat jauh berbeda pula.

Selanjutnya untuk mengetahui nilai keacakan hasil enkripsi yakni cipherteks dengan plainteks menggunakan diferensiasi data yang pengertiannya yakni perbandingan selisih antara dua titik. Dalam kalkulus, metode ini sering disebut sebagai turunan atau kemeringan dari data. Jika diberikan kumpulan data ((x1,y1), (x2,y2), (x3,y3), …, (xn,yn)) dengan syarat bahwa xi<xi+1 dimana i = 1…n. Data-data tersebut dapat divisualisasikan ke dalam koordinat

cartesius untuk setiap x sebagai variabel bebas dan y atau kadang ditulis sebagai f(x) sebagai variabel tak bebas. Untuk menentukan diferensiasi data pada dua titik maka persamaan yang dapat dibentuk sebagai berikut [7]

D y

D x =

(yb- ya) (xa- xb)

(10)

dengan (xa, ya) sebagai titik pertama, dan titik berikutnya adalah (xb, yb). Apabila terdapat n data maka untuk menentukan rata-rata dari diferensiasi data dapat di cari dengan melihat tren dari setiap data rataan diferensiasi (Rd) [7].

(11)

(16)

6 kekuatan hubungan dua variabel dan juga untuk mengetahui bentuk hubungan antara dua variabel tersebut dengan hasil yang sifatnya kuantitatif. Kekuatan hubungan antara dua variabel biasanya disebut dengan koefisien korelasi dan dilambangkan dengan symbol “r”. nilai koefisien r akan selalu berada diantara -1 sampai +1 sehingga diperoleh persamaan jumlah y kuadrat dengan kuadrat pangkat dua untuk jumlah total y dimana x sebagai plainteks dan y sebagai cipherteks sehingga dapat diperoleh persamaan 13 [7].

(13)

3. Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam sepuluh tahapan, yaitu, (1) Tahap Identifikasi Masalah, (2) Analisis Kebutuhan, (3) Perancangan Algoritma, (4) Uji Rancangan Algoritma, (5) Perancangan Aplikasi, (6) Implementasi Algoritma pada Aplikasi, (7) Uji Aplikasi, (8) Penulisan Laporan.

Gambar 2. Tahap Penelitian

Merujuk pada Gambar 2, dijelaskan sebagai berikut : Tahap pertama: mengidentifikasi masalah adalah mengidentifikasi kejadian yang dianggap sebagai masalah. Tahap kedua : analisis kebutuhan yakni menganalisa kebutuhan apa saja yang diperlukan dalam membuat kriptografi yang berbasis pada bentuk kincir angin misalnya mendapatkan data dan literatur yang terkait melalui dokumen dan referensi yang ada serta mendapatkan data dan literature yang terkait dengan aplikasi android. Tahap ketiga : perancangan algoritma yakni merancang desain putaran algoritma yang akan dibuat sesuai dengan bentuk kincir angin. Tahap keempat : uji rancangan algoritma yakni menguji rancangan yang telah dibuat dengan cara menganalisa putaran pada algoritma. Tahap kelima : perancangan aplikasi yakni merancang aplikasi

(17)

menggunakan metode prototype serta merancang desain tampilan aplikasi. Tahap keenam : implementasi algoritma pada aplikasi yakni mengimplementasikan algoritma yang telah dibuat kedalam bentuk source code. Tahap ketujuh : Uji aplikasi yakni menguji aplikasi yang telah dibuat dengan cara membagikan aplikasi serta membagikan kuisioner. Tahap kedelapan : penulisan laporan yakni menulis laporan penelitian tentang yang telah dilakukan.

Tahapan penelitian ini menjelaskan perancangan kriptografi blok cipher berbasis pada bentuk kincir angin menggunakan teknik selektive bitplane, dalam hal bagaimana menentukan plainteks, kunci, cipherteks, dan juga proses dalam enkripsi dan dekripsi. Hasil dari rancangan kriptografi blok cipher berbasis pada pada bentuk kincir angin menggunakan teknik selektif bitplane dilakukan pengujian menggunakan aturan Stinson dengan 5-tuple untuk memenuhi kriptosistem.

Untuk implementasi algoritma yang berbasis pada bentuk kincir angin ke dalam aplikasi android menggunakan metode prototype seperti gambar 3

Gambar 3. Metode Protype

Tahapan implementasi pada Gambar 3 dapat dijelaskan sebagai berikut : Tahap pertama : Pengumpulan kebutuhan yakni mengumpulkan kebutuhan terkait dengan sistem seperti menginstal SDK(Standard Development Kit) Android dan Eclipse Luna, menginstal JDK(Java Development Kit) serta menganalisa algoritma yang akan digunakan. Tahap kedua : Perancangan dan pengkodaen sistem yakni merancang sistem dan pengkodean sistem pada android. Tahap ketiga : Evaluasi prototype yaitu menguji dan mengevaluasi aplikasi yang telah dibuat [8].

Selanjutnya akan dijelaskan mengenai gambaran umum tentang implementasi algoritma terhadap sistem aplikasi berbasis android.

Gambar 4. Usecase Diagram.

(18)

8 Gambar 5 merupakan diagram activity yang bertujuan untuk memperlihatkan interaksi aktifitas antara pengguna dengan sistem dimana dalam hal ini adalah activity diagram untuk proses enkripsi [9]. Berdasarkan pada Gambar 5 dapat dijelaskan bahwa aktifitas di lakukan dalam keadaan aplikasi sudah dijalankan dimana pengguna harus memilih gambar yang akan dienkripsi selanjutnya memasukkan kunci untuk proses enkripsi yang dilakukan dari sisi sistem, setelah gambar terenkripsi, pengguna dapat memilih apakah hasil enkripsi akan di kirim atau hanya disimpan, jika tidak dikirim atau disimpan maka pengguna secara otomatisasi akan kembali untuk memilih gambar dimana dalam hal ini semua inputan kunci atau gambar yang sudah ditampilkan sebelumnya akan dihapus oleh sistem.

Gambar 5. Activity Diagram Enkripsi Gambar 6.Activity Diagram Dekripsi Untuk activity diagram dekripsi akan diperlihatkan pada Gambar 6. Aktifitas untuk proses dekripsi secara umum hampir sama dengan proses enkripsi hanya saja proses inti yang dilakukan adalah dekripsi.

Selanjutnya akan dijelaskan mengenai desain antar muka untuk pengguna dengan aplikasi. Merujuk pada Gambar 7 dapat dijelaskan yakni merupakan rancangan tampilan utama aplikasi yang dibangun yang mempunyai fungsi pada setiap nomor, dengan penjelasan sebagai berikut :

Nomor 1 dan 2 merupakan menu pilihan untuk mode enkripsi dan dekripsi, jika button

1 ditekan maka akan beralih ke mode enkripsi begitu pula sebaliknya apabila button 2 ditekan maka akan beralih ke mode dekripsi.

Nomor 3 merupakan data terkait dengan citra yang akan diolah, berisi nama file, format tipe file, size atau ukuran file.

Nomor 4 merupakan tempat untuk menampilkan citra yang akan diolah serta hasil pengolahan citra.

Nomor 5 merupakan informasi terkait pembuat aplikasi serta nama aplikasi. Nomor 6 merupakan button untuk mengirim file hasil pengolahan.

(19)

Gambar 7. Desain Antarmuka

Untuk tidak memperluas ruang lingkup pembahasan maka diberikan batasan-batasan dalam penelitian ini, yaitu :

1. Proses enkripsi dan dekripsi dilakukan pada citra digital dengan ekstensi .JPG.

2. Algoritma berbasis pada pada bentuk kincir angin digunakan untuk pengajakan kunci sedangkan teknik selektif bitplane hanya diberlakukan pada plainteks.

3. Jumlah kunci hanya dibatasi sebanyak 8 karakter serta proses putarannya terdiri dari 4 putaran.

4. Panjang bloknya adalah 64-bit.

5. Aplikasi dibuat menggunakan bahasa pemrograman java serta hanya dapat berjalan pada perangkat android.

Rancangan Umum Perancangan Kriptografi

Bagian ini menggambarkan rancangan umum kriptografi blokcipher yang berbasis pada bentuk kincir angin menggunakan teknik selektif. Kriptografi blokcipher dirancang dengan melakukan proses kunci secara terpisah, dan hasil dari kedua proses tersebut akan dihubungkan dengan proses XOR. Selain itu juga panjang blok untuk plainteks dan kunci dibuat sama sebesar 64 bit. Sehingga akan membutuhkan 16 byte plainteks yang pertama untuk di proses pertama kali dan selanjutnya untuk 16 byte yang kedua, dan seterusnya karena menggunakan teknik selektif sehingga bit yang dipakai untuk masuk kedalam proses enkripsi hanya akan diambil empat bit pertama untuk setiap byte. Proses untuk kunci dilakukan secara terpisah dan panjang kunci maksimal 8 karakter, apabila yang diinputkan kurang dari delapan byte maka akan dilakukan padding sehingga memenuhi panjang blok.

(20)

10 Gambar 8 Bagan Enkripsi

Setelah melalui tahap padding maka bit dimasukkan kedalam blok bit dengan pola input yang telah ditentukan untuk selanjutnya bit – bit tersebut diambil dengan pola pengacakan bit yang sudah ditentukan pula. Hasil dari pengacakan bit plainteks dianggap sebagai Pi dan hasil dari pengacakan bit kunci adalah Ki, setelah dilakukan pengambilan pada bit plainteks dan bit kunci, selanjutnya dilakukan proses xor antara keduanya yang menghasilkan rangkaian bit baru yakni Hi, maka didapat persamaan yaitu

. 4 , 3 , 2 , 1 ;i K P

Hi i i (14)

Cipherteks diperoleh dari hasil atau sebanding dengan H4. Berdasarkan gambar 8, dengan jelas menunjukkan bahwa setiap inputan untuk proses kedua dan selanjutnya diambil dari hasil sebelumnya, secara umum dapat dirumuskan menjadi Hi dengan yang secara berturut-turut menjadi inputan pada proses ke-2 sampai proses ke-4. Sedangkan untuk proses regenerasi kunci untuk menerima inputan dari

proses-. Hasil akhir dari proses yang telah dilakukan selanjutnya dipecahkan menjadi dua bagian, bit LSB yang disimpan kemudian digabungkan kembali dengan hasil pemecahan bit sehingga menghasilkan cipherteks.

Proses dekripsi dilakukan dengan cara membalik runtutan proses enkripsi dimana proses pengacakan bit pada enkripsi dijalankan sebagai proses pemasukan bit pada dekripsi dan sebaliknya proses pemasukan bit enkripsi dijalankan sebagai proses pengambilan bit pada dekripsi. Untuk memperoleh input pada proses empat dilakukan proses xor terlebih dahulu antara H dan K dimana K bukanlah bit hasil konversi bit kunci melainkan bit kunci di proses terlebih dahulu menjadi K4. Setelah mendapatkan P selanjutnya dilakukan proses pemasukan bit dengan pola pengambilan bit serta mengambil bit dengan pola pemasukan bit, proses tersebut dilakukan pula pada bit kunci. Untuk memenuhi sarat blok bit yang berjumlah 64 bit, maka untuk satu kali proses pemasukan bit pada blok bit dimulai dari putaran 1 hingga menghasilkan cipherteks dibutuhkan dua pixel dan dua byte.

Kunci yang digunakan untuk mengenkripsi diubah kedalam biner menggunakan kode ASCII, seperti persamaan 1 sehingga

n

k k k k

K 0, 1, 2,, (15)

(21)

Panjang total pixel dilakukan selanjutnya dilakukan pengecekan apakah total pixel

apabila diubah menjadi bit dapat memenuhi blok bit atau tidak, maka dibuat persamaan

Z

Merujuk pada persamaan 14 dapat dijelaskan bahwa t merupakan sisa hasil bagi 8 dari setengah perkalian jumlah total pixel dengan 3 untuk mendapatkan total panjang byte untuk total pixel merupakan anggota bilangan riil atau bukan minus. Apabila t bukan 0 dan t kurang dari 16 maka akan dilakukan penambahan pixel sebesar nilai t.

Proses input bit atau pemasukkan bit kedalam blok bit berbeda pada setiap putaran, namun memiliki kesamaan pola masukan untuk bit plainteks dan bit kunci pada setiap putarannya. Blok bit yang dirancang memiliki 64bit, maka dibutuhkan 16 byte atau dua pixel

dan dua byte pada plainteks untuk mengisi blok tersebut karena setiap byte hanya akan diambil MSB nya saja. Algoritma berbasis pada bentuk kincir angin kemudian digunakan dalam raancangan kriptografi blok cipher dimana setiap bit akan menempati salah satu kotak, sehingga secara tidak langsung untuk memenuhi satu kali proses dalam satu ukuran blok akan memerlukan 8 byte. Berikut pada Gambar 9 ditunjukkan contoh pola pemasukkan bit untuk putaran 4.

Gambar 9. Contoh Pola Input Putaran 4

Berdasarkan pemasukan bit untuk kotak di Gambar 9, dapat dijelaskan bahwa pola pemasukan bit untuk plainteks dan kunci adalah sama, untuk X merupakan byte dari pixel

ataupun X merupakan karakter kunci sedangkan untuk x merupakan bit dari masing masing X. pola pemasukkan dimulai dari bit pertama menempati kotak paling ujung kiri atas dan untuk bit terakhir menempati kotak pada pojok kanan atas pada tiap 8 kotak bit, maka diperoleh urutan bit berdasarkan byte sebagai berikut.

).

(22)

12 Gambar 10. Pola Pengambilan Bit Cipher Putaran 4 Gambar 11. Pola Pengambilan Bit Kunci Putaran 4

Merujuk pada Gambar 10, pola pengambilan bit cipher dimulai dari kolom terakhir baris keempat menuju arah kiri hingga kolom kelima untuk kemudian kearah atas sampai baris pertama yang selanjutnya berpindah pada kolom keempat sesuai pola pengambilan pada Gambar 10. Merujuk pada persamaan 15 dengan gambar 10 maka didapat runtutan bit baru yang tersusun dari bit yang telah diambil yaitu.

(18)

Pola pengacakan untuk karakter kunci dirancang menyerupai kincir angin dimana memiliki empat lengkungan menyerupai kincir. Pengambilan pada setiap putarannya sama namun memiliki urutan pengambilan yang berbeda.

Pola pengambilan bit kunci untuk putaran empat yaitu mengambil bit didalam pola lengkungan selanjutnya mengambil bit diluar lengkungan, untuk pengambilan berikutnya dilakukan hal yang sama seperti pada Gambar 11. Merujuk pada Gambar 11, memiliki penomoran dimana angka pertama adalah sebagai karakter ke-n dan angka kedua merupakan bit ke-n sehingga apabila merujuk pada pola pemasukkan bit ke-empat didapat susunan bit

(19)

4. Hasil dan Pembahasan

Proses pembuatan algoritma kriptografi cipher blok berbasis pada bentuk kincir angina yang dikombinasikan dengan teknik Selective Bitplane dengan cara yang telah disampaikan sebelumnya. Pengujian dilakukan terhadap contoh pixel pada sebuah citra seperti pada table 1.

Sampel Pixel Pengujian Kunci

Pixel Ke-n

Dalam Desimal Dalam Bit

(23)

2 252 255 248 11111100 11111111 11111000 E 01000101

3 251 253 252 11111011 11111101 11111100 N 01001110

4 252 251 255 11111100 11111011 11111111 T 01010100

5 150 149 22 10010110 10010101 00010110 I 01001001

6 2 1 6 00000010 00000001 00000110 N 01001110

7 19 19 21 00010011 00010011 00010101 E 01000101

8 200 202 201 11001000 11001010 11001001 L 01001100

9 221 226 219 11011101 11100010 11011011

10 252 255 250 11111100 11111111 11111010

11 254 255 251 11111110 11111111 11111011

12 252 252 250 11111100 11111100 11111010

13 255 255 253 11111111 11111111 11111101

14 253 253 251 11111101 11111101 11111011

15 255 255 253 11111111 11111111 11111101

16 255 255 255 11111111 11111111 11111111

Tabel 1. Tabel Pixel Plainteks dan Kunci.

Merujuk pada tabel 1, pixel yang digunakan berjumlah 16 dimana satu pixel terdapat tiga komponen warna yakni merah (Red), hijau (Green), dan biru (Blue), dalam satu komponen warna tersebut memiliki 8 bit yang sama dengan 1 byte sehingga dalam pengujian dilakukan pada 48 byte yang setara dengan 384 bit.

Untuk kunci di lakukan pada kata “SENTINEL” yang setara dengan 8 byte atau jika di konversi kedalam bit yakni 64 bit seperti pada tabel 1 untuk kunci.

Hasil yang diperoleh dari hasil enkripsi melalui teknik selektif dengan pola masukan serta pola pengambilan bit untuk plainteks dan kunci yang selanjutnya dilakukan proses XOR untuk menghasilkan cipherteks ditunjukkan pada tabel 3.

Hasil Enkripsi Pixel

Ke-n

Dalam Desimal Dalam Bit

Red Green Blue Red Green Blue

1 90 159 232 01011010 10011111 11101000

2 172 255 72 10101100 11111111 01001000

3 235 29 140 11101011 00011101 10001100

4 28 171 31 00011100 10101011 00011111

5 22 85 10 00010110 01010101 00001010

6 146 49 182 10010010 00110001 10110110

7 227 147 21 11100011 10010011 00010101

8 40 58 9 00101000 00111010 00001001

9 93 162 27 01011101 10100010 00011011

10 172 223 202 10101100 11011111 11001010

11 254 79 91 11111110 01001111 01011011

12 156 236 170 10011100 11101100 10101010

13 191 15 237 10111111 00001111 11101101

14 13 141 27 00001101 10001101 00011011

15 191 159 221 10111111 10011111 11011101

16 222 78 140 11011110 01001110 10001100

Tabel 3. Hasil Enkripsi

(24)

14 Grafik 2. Grafik Perbandingan Komponen Warna pada Setiap Pixel

Berdasarkan pada Grafik 2 dapat dijelaskan bahwa sumbu X merupakan pixel dan Y merupakan nilai desimal komponen warna dari plainteks serta cipherteks, untuk PR adalah komponen red pada plainteks, PG (Plainteks-Green), PB (Plainteks-Blue), sedangkan HR adalah komponen red untuk cipherteks, HG(Cipherteks-Green), dan HB(Cipherteks-Blue).

Grafik 2 menunjukkan pula hasil rataan nilai acak untuk byte red sebesar -4,78, untuk green

sebesar -3,02 dan untuk blue sebesar -1,39, hasil tersebut didapat dari persamaan

(20)

Merujuk pada persamaan 20 dapat dijelaskan bahwa G merupakan rata-rata untuk hasil plainteks P dikurangi cipherteks H dibagi dengan plainteks P untuk n adalah indeks dari plainteks dan cipherteks. Untuk mengetahui nilai diferensiasi dari cipherteks diberlakukan persamaan 10 yang menghasilkan nilai sebesar 8,80 untuk byte red, -5,40 untuk byte green, dan -6,13 untuk byte blueyang berarti kecenderungan grafik terhadap cipherteks cenderung naik untuk byte red, cenderung turun untuk byte green dan byte blue.

Pada proses dekripsi, dilakukan dengan melakukan proses kebalikan dari proses enkripsi dimana inputan cipherteks dan kunci di regenerasi terlebih dahulu hingga proses pengambilan empat. Pengujian ini menunjukkan bahwa rancangan kriptografi dapat melakukan proses enkripsi dan dekripsi, maka telah memenuhi dua dari 5-tuple Stinson untuk kriptosistem.

Untuk membuktikan kriptografi sebagai sebuah sistem dengan memenuhi five-tuple P, C, K, E, D. berikut akan ditunjukkan bahwa perancangan ini memenuhi kelima kondisi tersebut. P adalah himpunan berhingga dari plainteks, dalam rancangan ini menggunakan desimal dari byte penyusun pixel yang merupakan himpunan berhingga. C adalah himpunan berhingga dari cipherteks yang dihasilkan dalam elemen desimal. K merupakan ruang kunci adalah himpunan berhingga dari kunci yang menggunakan 256 karakter dalam ASCII. E

(Enkripsi) dan D (Dekripsi) dimana setiap ek : PC dandk : C → P adalah fungsi sedemikian hingga dk(ek(x)) = x, untuk setiap plainteks xP. Pembahasan sebelumnya telah membahas proses enkripsi dan dekripsi, sehingga telah memenuhi tuple E dan D. Karena memenuhi kelima kondisi maka algoritma kriptografi berbentuk kincir angin serta teknik selektif bitplane merupakan sebuah sistem kriptografi.

Selanjutnya akan dijelaskan mengenai implementasi algoritma kedalam aplikasi dimana source code yang digunakan adalah psecudo source. Souce 1 merupakan source untuk mengubah citra menjadi bit yakni menggunakan library dari Bitmap yang memiliki class decodeStream yang berfungsi mengubah citra menjadi runtutan bit.

I P H P

(25)

Source 1. Mendapatkan Citra

Source 2 merupakan metode padding yakni melengkapi bit untuk bisa dimasukkan ke blok bit yang telah dirancang.

Source 2. Padding Bit Citra

Source 3 merupakan metode yang berisi rangkaian perintah untuk melakukan proses enkripsi dan dekripsi. Dapat dijelaskan yakni :

public static Bitmap ImageEncrypt(String imgFile, String password, int[] position) merupakan nama metode yang digunakan untuk mengenkripsi citra, memiliki kembalian berupa bitmap dengan variable input bertipe String imgFile,password dan

integer array position.

byte[] pixels = ExtractPixels(imgFile);

merupakan perintah untuk memanggil metode ExtractPixel dengan input imgFile, dimana metode tersebut berisi perintah yang digunakan untuk memisahkan tiap pixel

pada citra serta mendapatkan nilai pixel. byte[] bits = ExtractBit(pixels, position);

merupakan perintah untuk mengubah komponen warna pada setiap pixel kedalam bentuk bit.

byte[] sisa = new byte[bits.Length - Windmill.BlockSize];

digunakan untuk mendapatkan MSB yang selanjutnya di masukkan kedalam blok bit. List<byte[]> blocks = DistributeToBlocks(bits);

Digunakan untuk memasukkan bit kedalam blok bit yang telah dirancang. byte[] cipherBF = EncryptWindmill(blocks, password);

berisi rangkaian perintah pengacakan bit.

byte[] cipherSisa = EncryptXOR(sisa, password); switch (requestCode) {

gbrStream = getContentResolver().openInputStream(gambarTerpilih); } catch (FileNotFoundException e) {

e.printStackTrace(); return;

}

Bitmap bitGambar = BitmapFactory.decodeStream(gbrStream); ivGambar.setImageBitmap(bitGambar);

public static byte[] padding(byte[] msg) { if (8 < 1 || 8 > 255) {

throw new IllegalArgumentException("block size harus 1 -> 255.");

paddedMsg[paddedMsg.length - 1] = (byte) numberToPad; return paddedMsg;

(26)

16 perintah yang digunakan untuk melakukan proses XOR antara bit citra dengan bit kunci.

byte[] gabung = Gabung(cipherBF, cipherSisa);gabung = ReturnBit(pixels, gabung, position);

perintah tersebut digunakan untuk menata ulang serta menggabungkan MSB dengan LSB, selanjutnya membentuk hasil penggabungan sebagai sebuah pixel.

Image cipherImage = CombinePixels(imgFile, gabung);

Perintah terakhir yakni merakit kembali pixel yang telah terbentuk agar menjadi bentuk citra baru.

Source 3. Proses Enkripsi Dekripsi

Selanjutnya akan dijelaskan tentang hasil implementasi algoritma terhadap citra serta perbandingan antara citra asli dengan citra hasil enkripsi dapat dilihat pada table 3. Dari hasil implementasi yang ditunjukkan oleh table 3 dapat dilihat bahwa perubahan antara gambar asal dengan hasil enkripsi sangat signifikan serta citra hasil enkripsi tidak dapat dikenali sebagai sebuah gambar yang utuh.

Perbandingan Citra Asli – Citra Enkripsi – Citra Dekripsi

Citra Asli Detail Citra Citra Dekripsi

Nama : Ahiko.JPG Ukuran : 61.882 Byte

Size : 500 x 500

Nama : AhikoEnk.JPG Ukuran : 61.896 Byte

Size : 500 x 500

Nama : AhikoDek.JPG Ukuran : 61.896 Byte

Size : 500 x 500

public static Bitmap ImageEncrypt(String imgFile, String password, int[] position) {

byte[] pixels = ExtractPixels(imgFile); byte[] bits = ExtractBit(pixels, position); List<byte[]> blocks = DistributeToBlocks(bits);

byte[] sisa = new byte[bits.Length - Windmill.BlockSize]; byte[] cipherBF = EncryptWindmill(blocks, password); byte[] cipherSisa = EncryptXOR(sisa, password); byte[] gabung = Gabung(cipherBF, cipherSisa); gabung = ReturnBit(pixels, gabung, position); Image cipherImage = CombinePixels(imgFile, gabung); return cipherImage;

}

public static Bitmap Decrypt(string imgFile, string password, int[] position) {

byte[] pixels = ExtractPixels(imgFile); byte[] bits = ExtractBit(pixels, position); List<byte[]> blocks = DistributeToBlocks(bits);

byte[] sisa = new byte[bits.Length - Windmill.BlockSize]; byte[] plainBF = DecryptWindmill(blocks, password);

byte[] plainSisa = DecryptXOR(sisa, password); byte[] gabung = Gabung(plainBF, plainSisa); gabung = ReturnBit(pixels, gabung, position); Image cipherImage = CombinePixels(imgFile, gabung);

(27)

Nama : Flower.JPG Ukuran : 64.078 Byte

Size : 528 x 396

Nama : FlowerEnk.JPG Ukuran : 64.104 Byte

Size : 528 x 396

Nama : FlowerDek.JPG Ukuran : 64.104 Byte

Size : 528 x 396

Nama : Istana.JPG Ukuran : 106.593 Byte

Size : 600 x 400

Nama : IstanaEnk.JPG Ukuran : 106.704 Byte

Size : 600 x 400

Nama : IstanaDek.JPG Ukuran : 106.704 Byte

Size : 600 x 400

Nama : Minion.JPG Ukuran : 69.337 byte

Size : 300 x 566

Nama : MinionEnk.JPG Ukuran : 69.504 Byte

Size : 300 x 566

Nama : MinionDek.JPG Ukuran : 69.504 Byte

Size : 300 x 566

Nama : Lena.JPG Ukuran : 96.271 Byte

Size : 512 x 512

Nama : LenaEnk.JPG Ukuran : 96.304 Byte

Size : 512 x 512

Nama : LenaDek.JPG Ukuran : 96.304 Byte

(28)

18 Nama : Papper.JPG

Ukuran : 91.773 Byte Size : 512 x 512

Nama : PapperEnk.JPG Ukuran : 91.804 Byte

Size : 512 x 512

Nama : PapperDek.JPG Ukuran : 91.804 Byte

Size : 512 x 512

Nama : TajMahal.JPG Ukuran : 73.460 Byte

Size : 428x640

Nama : TajMahalEnk.JPG Ukuran : 73.504 Byte

Size : 428x640

Nama : TajMahalDek.JPG Ukuran : 73.504 Byte

Size : 428x640

Tabel 3. Tabel Perbandingan Gambar

Selanjutnya akan dibahas tentang hasil uji korelasi terhadap citra asli dengan citra hasil enkripsi, hasil pengujian dapat dilihat pada tabel 4.

Citra Nilai Korelasi

Citra Asli Citra Terenkripsi Red Green Blue Ahiko.JPG AhikoEnk.JPG 0,0049 0,0012 0,0013 Flower.JPG FlowerEnk.JPG 0,0052 -0,0010 0,0038 Istana.JPG IstanaEnk.JPG 0,0039 0,0061 0,0029 Minion.JPG MinionEnk.JPG 0,0048 0,0048 -0,0020

Lena.JPG LenaEnk.JPG -0,0005 0,0023 -0,0002 Papper.JPG PapperEnk.JPG 0,0035 -0,0027 -0,0008 TajMahal.JPG TajMahalEnk.JPG 0,0044 0,0027 0,0027

Tabel 4. Tabel Hasil Uji Korelasi

Nilai pada tabel 4 didapat dari persamaan 13, hasil yang diperoleh menunjukkan bahwa setiap komponen warna untuk setiap pixel antara citra asli dengan citra hasil enkripsi sangat tidak berhubungan, sehingga dapat dikatakan secara statistika bahwa kriptografi yang telah dibuat sangat baik dalam segi kekuatan pengacakan sehingga tidak mudah untuk dipecahkan. Selanjutnya akan membahas tentang pengujian memori dan pengujian waktu untuk proses, pengujian dilakukan terhadap perangkat mobile dengan sistem operasi Android

(29)

Grafik 3. Perbandingan Hasil Uji Memori

Merujuk pada grafik 3 untuk perbandingan memori dapat dijelaskan sebagai grafik berbentuk Box Plot yakni hasil perhitungan data dengan mengambil kwartil 1(Q1),kwartil 2(Q2), kwartil 3(Q3), nilai maximum, nilai minimum dari kumpulan data byte citra asli dengan kumpulan byte citra enkripsi, Q didapat dengan persamaman

f F N i

b Qi i

4

1 (21)

Dengan :

Qi = kuartil ke-i(1,2,3)

bi = tepi bawah kelas kuartil ke-i N= banyaknya data

F= frekwensi kumulatif kelas sebelum kelas kuartil l = lebar kelas

f= frekwensi kelas kwartil

selanjutnya akan diberikan total jumlah memori dari tiap gambar uji yang diujikan pada table 5, dapat dilihat bahwa penambahan memori terjadi karena padding dalam bentuk persen yang didapat dari persamaan

(22)

Untuk a adalah memori asli, b memori hasil enkripsi

Nama Gambar Memory Asal(Byte) Memory Hasil(Byte)

Selisih Penambahan(%)

Ahiko.JPG 61882 61896 0,023

Flower.JPG 64078 64104 0,041

Istana.JPG 106,593 106704 0,104

Minion.JPG 69337 69504 0,241

Lena.JPG 96271 96304 0,034

Papper.JPG 91773 91804 0,034

TajMahal.JPG 73460 73504 0,060

Tabel 5. Tabel Perbandingan Total Memori

a b a W

(30)

20 Merujuk pada table 5 dapat dijelaskan yakni rata – rata penambahan kerena proses

padding berdasarkan gambar yang diuji cobakan yakni sebesar 0,076591%.

Grafik 4. Perbandingan Hasil Uji Waktu Proses

Berdasarkan Grafik 4 dapat dilihat yakni untuk sumbu Y merupakan satuan waktu dalam

milisecond (ms), dari hasil tersebut dapat disimpulkan yakni proses operasi untuk tiap citra selalu berbeda tergantung besaran ukuran memori dari citra tersebut, semakin besar memori yang dimiliki maka semakin lama proses yang dibutuhkan.

5. Simpulan

Berdasarkan penelitian yang telah dilakukan, didapat beberapa kesimpulan yakni : (1) Dengan teknik kriptografi yang berbasis pada bentuk kincir angin serta teknik Selektive Bitplane dapat membuktikan bahwa teknik tersebut menghasilkan metodologi kriptografi simetris dan dapat memenuhi lima-tuple (five-tuple). (2) Lama proses yang dibutuhkan dalam mengenkripsi citra dipengaruhi oleh besaran kapasitas memori dari perangkat yang digunakan serta dari besaran memori yang dimiliki oleh citra itu sendiri. (3) Kriptografi yang dirancang terbukti efektif untuk mengenkripsi citra pada platform android, dibuktikan dari grafik serta pengujian yang telah dilakukan. (4) Terjadi penambahan memori pada citra yang dienkripsi sehingga terdapat nilai warna yang berbeda dari citra asli apabila didekripsi kembali. (5) dari hasil pengujian memori dan waktu, kriptografi yang dibuat terbukti sangat rigan dalam segi waktu dan memori untuk proses. (6) Hasil pengujian menggunakan metode black-box dan

beta test, hasil dari sebagian besar fitur berjalan dengan baik dan disetujui oleh responden. Saran pengembangan yang dapat diberikan untuk penelitian lebih lanjut sebagai berikut : (1) Aplikasi dapat dikembangkan tidak hanya memberikan data citra, tapi juga dapat menampung data teks.(2) Aplikasi bisa dikembangkan untuk dapat berjalan pada smartphone dengan sistem operasi windows phone OS, IOS, dan BlackBerry OS.

6. Daftar Pustaka

[1] Guillermito. 2004, Steganography : A few tools to discover hidden data.

[2] Munir, Rinaldi. 2012. Pengembangan Algoritma Enkripsi Selectif Citra Digital Dalam Ranah Spasial Dengan Mode CBC-like Berbasis Chaos.

[3] Munir, Rinaldi. 2011. Enkripsi Selektif Citra Digital dengan Stream Chipher Berbasiskan pada Fungsi Chaotik Logistic Map.

[4] Munir, Rinaldi. 2012. Algoritma Enkripsi Selektif Citra Digital dalam Ranah Frekuensi Berbasis Permutasi Chaos

(31)

[6] Stinson, D. R. 1995. Cryptography: Theory and Practice. CRC Press, Boca Raton, London, Tokyo.

[7] Mongomery, C. Douglas., Runger, C. George. 2003. Applied Statstics and Probability for Engineers. John Wiley & Sons Inc.USA.

[8] Mulyana, Eueung. 2012. App Inventor : Ciptakan Sendiri Aplikasi Androidmu, Penerbit Andi, Jogjakarta.

[9] A. Miftahur, Rahim., Hidayatno, Achmad., Isnanto, R. Rizal. 2010. Teknik Penyembunyian Data Rahasia Dengan Menggunakan Citra Digital Sebagai Berkas Penampung, Seminar Tugas Akhir.

[10] Ranjan, Rajiv., dan Pal, Arup Kumar. 2012. Encryption of Image Using Chaotic Maps, International Conference on Recent Trends in Engineering & Technology. [11] Rachman, A. Kurnia. 2010. Perbandingan Mode Chiper Electronic Code Book

Gambar

Gambar 1. Proses Enkripsi dan Dekripsi
Grafik 1. Pixel Citra
Gambar 2. Tahap Penelitian
Gambar 4. Usecase Diagram.
+7

Referensi

Dokumen terkait

Pada proses penyandian digunakan algoritma Blowfish , yang memiliki performa yang cepat. Pada penelitian ini diimplementasikan metode penyandian gambar menggunakan

substitusi, dan pembangkitan kunci dalam kriptografi block cipher. dikemas menjadi sebuah kriptosistem yang secara

Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut : Tahap Identifikasi masalah : pada tahapan ini dilakukan analisa terhadap masalah yang ada, dan tentang apa

Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut, Tahap Identifikasi Masalah : Pada tahapan ini dilakukan analisis terhadap permasalahan yang ada,

Berdasarkan bagan pada Gambar 1 maka tahapan penelitian dapat dijelaskan sebagai berikut : Tahap pertama : Pengumpulan bahan yaitu pada tahap ini melakukan pengumpulan

Tahapan penelitian dari Gambar 2, dapat dijelaskan sebagai berikut : Tahap pertama : Identifikasi masalah, yaitu mencari dan melihat kekurangan dari segi

Gambar 4 menunjukan alur proses dekripsi, langkah-langkah proses dekripsi tersebut dijelaskan sebagai berikut: a) Menyiapkan ciphertext dan kunci ; b) Mengubah ciphertext

dengan perancangan dan implementasi algoritma kriptografi cipher block berbasis pada bentuk piramida dan Linear Congruential Generator (LCG); Tahap kedua : Perancangan