Implementasi Algoritme Grain V1 Untuk Enkripsi Gambar Pada Aplikasi Berbasis Web

  

Vol. 2, No. 12, Desember 2018, hlm. 7157-7164 http://j-ptiik.ub.ac.id

Implementasi Algoritme Grain V1 Untuk Enkripsi Gambar Pada Aplikasi

Berbasis Web

1 2 3 Andhika Brahmana Putra , Ari Kusyanti ,Mahendra Data

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: andhikap120@gmail.com, ari.kusyanti@ub.ac.id, mahendra.data@ub.ac.id

  

Abstrak

  Tantangan dalam menghadapi penyalinan ilegal dan distribusi dokumen multimedia menjadi suatu permasalahan yang harus diselesaikan untuk dapat melindungi sebuah data. Teknik yang berbeda telah diperkenalkan seperti enkripsi dan watermarking digital untuk dapat mengubah dokumen multimedia menggunakan algoritme agar tidak dapat diketahui oleh siapapun kecuali pengguna yang sah. Pada penelitian ini dilakukan enkripsi data dalam format gambar melalui aplikasi berbasis web dengan media penyimpanan database menggunakan algoritme Grain. Algoritme Grain memiliki kelebihan yaitu algoritme yang berorientasi pada tiap bit bukan kata sehingga menurunkan nilai complexity dan meningkatkan kecepatan komputasi. Pengujian yang dilakukan yaitu pengujian validasi test vector, pengujian fungsionalitas, pengujian kinerja waktu dan pengujian keamanan. Untuk pengujian test

  

vector dan fungsionalitas sistem yaitu dihasilkan nilai valid, untuk pengujian kinerja waktu

  pemrosesan enkripsi dan dekripsi pada setiap ekstensi file gambar dihasilkan waktu terbesar pada file ekstensi JPG sedangkan waktu terkecil pada file ekstensi BMP sedangkan untuk pengujian keamanan didapatkan hasil sniffing dengan menggunakan wireshark yaitu data sebelum di enkripsi masih dapat dibaca isi dari data tersebut dan data sesudah dienkripsi isi dari data tersebut sudah tidak dapat diketahui. Kesimpulan dari pengujian diatas ialah algoritme Grain dapat dilakukan dengan menerapkan mekanisme enkripsi gambar yang dapat melindungi kerahasiaan data agar tidak dapat terbaca oleh pihak yang tidak berwenang.

  Kata kunci: aplikasi web, enkripsi, Grain, gambar

Abstract

The challenge of dealing with illegal copying and distribution of multimedia documents is an

important problem to be solved. Different techniques have been introduced such as encryption and

digital watermarking to protect the data from unauthorized parties. In this study, data encryption is

carried out in image format through web-based applications by using the Grain algorithm. Grain

algorithm has an advantage of that it reduces the value of complexity and increases the speed of

computing. Tests carried out are test vector validation testing, encryption and decryption validation

testing, encrytime performance testing and security testing. The result of test vector, encryption and

decryption validation test are valid. For encryption and decryption execution time of each image file

extension resulted the longest execution time is on JPG extension files while the shortest execution

time is on BMP.While for security testing obtained sniffing results using Wireshark which shows that

the encrypted data is unknown to an authorized party. The conclusion of the above test is that the

Grain algorithm can be performed by applying an image encryption mechanism that can protect data

confidentiality.

  Keywords: web application, encryption, grain, image

  membuat aplikasi Internet yang memiliki 1. dokumen multimedia memerlukan cara

   PENDAHULUAN

  mengenkripsi gambar dan penyimpanan yang Berkembangnya aplikasi multimedia cepat dan efisien. melalui internet seperti konferensi video,

  Banyak aplikasi Internet seperti konferensi database gambar dan album foto pribadi

  Fakultas Ilmu Komputer Universitas Brawijaya

7157 video, database gambar militer, album foto online pribadi dan televisi kabel memerlukan cara mengenkripsi gambar dan penyimpanan yang cepat dan efisien. Karena pesatnya pertumbuhan aplikasi multimedia melalui Internet, isu melindungi citra yaitu kerahasiaan gambar telah menjadi perhatian utama karena didalam dokumen multimedia tesebut terdapat data-data sensitif yang rentan terhadap penyalinan ilegal. Sejumlah besar penelitian telah dilakukan di bidang enkripsi citra selama dekade terakhir. Algoritme kunci simetris dan asimetris yang modern untuk enkripsi teks seperti Blowfish, Data Encryption Standard,

  Advanced Encryption Standard, RSA, dan Elliptic Curve Cryptography masing-masing

  tidak sesuai untuk gambar karena kapasitasnya dalam jumlah yang besar, redundansi dan korelasi yang tinggi diantara piksel ( Chandrasekaran & Jayaraman, 2015)

  Algoritme Grain merupakan berjenis

  stream cipher yang mana stream cipher

  memiliki kelebihan relatif lebih cepat dibanding dengan blok cipher sehingga sangat baik untuk digunakan dalam penelitian. Algoritme Grain merupakan algoritme berjenis stream cipher yang masih baru yang hingga saat ini titik kelemahannya belum ditemukan. Grain masih dimungkinkan untuk digunakan dalam perangkat lunak aplikasi umum.(Hell, Johansson, & Meier, 2006). Algoritme Grain memiliki kelebihan diantaranya yaitu algoritme yang berorientasi pada tiap bit bukan kata sehingga menurunkan nilai complexity dan meningkatkan kecepatan komputasi.

  Hal tersebut menjadi dasar pertimbangan untuk menerapkan algoritme Grain pada enkripsi gambar sebab algoritme Grain memiliki beberapa faktor yang menentukan apakah suatu algoritme kriptografi baik atau tidaknya yaitu dari segi kecepatan, keamanan, dan kesederhanaan juga semestinya dapat mengatasi kapasitas dalam jumlah besar, redundansi dan korelasi yang tinggi diantara piksel.

  Kata image yang berarti gambar, memiliki banyak kegunaan dalam kehidupan sehari-hari. Gambar memberikan suatu informasi, interpretasi, ilustrasi, evaluasi, komunikasi dan hiburan bagi kita. Image Processing adalah suatu bentuk pengolahan atau pemrosesan sinyal dengan input berupa gambar (image) dan ditransformasikan menjadi gambar lain sebagai keluarannya dengan teknik tertentu.(Ade, 2009)

  Gambar 1. Proses Perubahan Gambar Untuk melakukan perubahan gambar tersebut cara yang digunakan yaitu dengan menggunakan bit per piksel sebagai dasar atau acuan dalam proses mekanisme enkripsi dari sebuah gambar yang disediakan. Bit per piksel mengambil konsep dasar dari bit biner dimana angka dapat diwakili oleh satu bit yaitu 0 dan 1, untuk dua kombinasi bit seperti 00 01 10 11. Rumus untuk perhitungan jumlah kombinasi yang dapat dibuat dari bit:

  (2) Dimana bpp menunjukan bit per piksel

  Jumlah warna yang berbeda bergantung pada jumlah bit per piksel.

  Gambar 2. Bit Per Piksel Gambar warna biasanya dari format 24 bpp atau 16 bpp.

2. LANDASAN KEPUSTAKAAN

2.1 Image Processing

  2.2 Algoritme Grain

  Kata Grain Cipher pertama kali dibuat oleh Martin Hell, dkk pada bulan mei 2005. Grain dibagi menjadi 2, yaitu Grain v1 dan Grain-128.

  Sedangkan versi awal Grain (Grain v0) telah di- propose, namun tidak dipublish. Grain v1

  • 20
  • 28
  • 35
  • 43
  • 47
  • 52
  • 59
  • 66
  • 71
  • 80
  • 17
  • 43
  • 65
  • 20
  • 47

  • 17
  • 20

  • 17
  • 17
  • 47
  • 28

  0 <=i <= 79

  ℎ( ) =

  4

  2

  4

  3

  2

  4

  3

  1

  (3) Fungsi update dari NFSR dapat didefinisikan sebagai berikut

  (4) Isi dari kedua shift register merepresentasikan kondisi / state dari chiper. Dari kondisi ini, 5 variabel diambil sebagai masukan ke fungsi boolean h(x). Fungsi filter ini dipilih untuk seimbang, bebas korelasi dengan urutan pertama dan memiliki derajat aljabar 3. Ketidaklinearitasan adalah paling memungkinkan untuk fungsi ini. Masukan diambilbaik dari LFSR dan dari NFSR. Fungsi tersebut dapat didefinisikan sebagai berikut:

  = +

  4

  59

  52

  47

  43

  35

  71

  65

  3

  1

  (5) Pengubah ,

  , dan

  1. NFSR diisi dengan bit-bit kunci, b = k,

  63.Inisialisasi kunci dilakukan dengan cara yaitu :

  IV dilambangkan dengan IV dengan 0 <= i <=

  dengan k dengan 0 <= i <= 79, dan bit-bit dari

  Value ). Misal bit bit dari kunci k, dilambangkan

  Sebelum tiap keystream dibangkitkan, cipher harus diinisialisasi dengan kunci dan IV (Initial

  2.2.1 Inisialisasi Kunci

  . Fungsi filter ini kemudian di-xor dengan bit dari NFSR untuk menghasilkan sebuah keystream.

  ,

  52

  ,

  ,

  sesuai dengan

  4

  , dan

  3

  ,

  2

  ,

  59

  35

  43

  Gambar 3. Diagram Umum Grain Pada Gambar 3 adalah bagian utama dari Grain yang terdiri dari sebuah LFSR, NFSR, dan filter (h(x)). Pada Grain v1 menggunakan key 80 bit, initial value (IV) 64, dan internalstate 160 bit. Pada Grain, isi dari LFSR dinotasikan sebagai:

  update pada LFSR sebagai berikut:

  (1) Untuk menghapus segala keambiguan yang mungkin terjadi, grain juga menyediakan fungsi

  18

  ( ) = 1 +

  Fungsi umpan balik dari LFSR, f(x), adalah fungsi polinom berderajat 80. Fungsi dapat didefinisikan sebagai berikut:

  , … ,

  ,

  Grain Cipher terdiri dari 3 bagian utama yaitu sebuah LFSR, sebuah NFSR, dan sebuah fungsi penyaring (filter).

  ( ) = 1 +

  value ) adalah 64 bit.

  periode minimum untuk keystream dan juga menyediakan keseimbangan pada keluaran. Pada NFSR bersama dengan filter nonliner menyebabkan ketidaklinieran pada cipher. Masukan pada NFSR ditutupi dengan keluaran dari LFSR sehingga kondisi dari NFSR menjadi seimbang dimana kedua shift register memiliki masing-masing 80 bit dan panjang IV (initial

  feedback (NFSR). Pada LFSR menjamin

  keystream dibangkitkan secara terpisah dari plaintext. Grain cipher didasarkan pada dua shift register yaitu linear feedback (LFSR) dan nonlinear

  oriented synchronous stream cipher . Pada synchronous stream cipher,

  IV(Initial Value). Grain Cipher adalah bit

  memiliki 80 bit stream cipher dan 160 siklus serta menerima 64 bit IV(Initial Value) sedangkan Grain-128 memiliki 128 bit stream cipher dan 256 siklus serta menerima 96 bit

  =

  Fungsi umpan balik dari NFSR, g(x), didefinisikan sebagai berikut.

  18

  71

  28

  20

  65

  59

  20

  47

  43

  20

  28

  52

  35

  59

  52

  35

  28

  71

  47

  • 60
  • 52
  • 45
  • 80
  • 62
  • 37
  • 33
  • 28
  • 21
  • 14
  • >937 +33
  • 63 +60
  • 15 +9
  • 60 +52 +45
  • 33 +28 +21
  • 63 +45 +28 +9
  • 60 +52 +37 +33

  • 63 +60 +21 +15
  • 63 +60 +52 +45 +37
  • 33 +28 +21 +15 +9
  • 52 +45 +37 +33 +28 +21
  • 4
  • 3
  • 2
  • 3
  • 1
  • 2
  • 2
  • 1
  • 2

  • 1
  • 79
  • 3
  • 25
  • 46
  • 64
  • 63

  • 29
  • 42
  • 57
  • 67

  • 80

  • 51
  • 38
  • 23
  • 13
  • 80
  • 62
  • (2)

  2.

  64 bit pertama dari LFSR diisi dengan

  IV, s = IV 0 <= i <= 63 3. Sisa bit dari LFSR tidak dapat diinisialisasi dengan seluruhnya kondisi 0 (zero state).

4. Chiper di-clock 160 kali tanpa membuat satupun running key.

  Keluaran dari fungsi filter dikembalikan dan dilakukan XOR dengan masukan, baik ke LFSR dan ke NFSR, seperti pada gambar dibawah ini

  Gambar 4. Inisialisasi Grain 3.

   METODOLOGI

  Metodologi yang digunakan dalam Gambar 5. Diagram Alir Penelitian penelitian ini terdiri dari beberapa tahap yang disusun secara berurutan yaitu: 4.

   PERANCANGAN

  4.1 Analisis Permasalahan

  Pada tahapan perancangan ini akan dilakukan pembahasan mengenai analisis permasalahan yang akan dijelaskan melalui gambar 6.

  Gambar 6. Event Diagram Enkripsi Gambar Penjelasan pada Gambar 6 adalah sebagai berikut.

  1. User membuka browser menuju ke halaman utama web

  No . Fungsional Status

  3. Inputan Key Valid

  4. Inputan IV valid

  5. Inputan Task Valid

  6. Semua Inputan Pada AddTask Valid

  Tabel 2 Fungsi Search

  No . Fungsional Status

  1 Inputan Search Valid

  Tabel 3 Fungsi Show Entries

  1 Show Entries Valid

  1 Semua Inputan Pada AddTask Valid

  6.3 Pengujian Kinerja Waktu

  Tabel 4 Hasil Pengujian Performance Sistem

  Nama File Size Ekstensi Waktu

  Enkripsi Dekripsi sample1 112 bytes

  PNG 13,8 detik 11,2 detik sample2 77,8 kb

  JPG 2,08 menit 1,84 menit sample3 79,8 kb

  BMP 1,69 menit 1,78 menit sample4 84,5 kb

  GIF 2,42 menit 2,21 menit

  2 Inputan images Valid

  No Fungsional Status

  2. User memilih fitur task yang terdapat pada halaman utama web yang berisikan objek images, key, initial value (IV), dan task 3. User menginputkan gambar dengan menelusuri pada folder tertentu lalu menginputkan key, initial value dan task. Pada fitur task terdapat dua opsi yaitu

  5. IMPLEMENTASI

  6.2 Pengujian Fungsionalitas Sistem

  Keystream : 0x42b567ccc65317680225

  : 0x0123456789abcdef

  IV

  b) Key : 0x0123456789abcdef1234

  : 0x7b978cf36846e5f4ee0b

  encrypt dan decrypt dimana user memilih

  opsi encrypt untuk melakukan proses enkrispi setelah hasil enkripsi kemudian user memilih opsi decrypt.

  Tabel 1 Fungsi AddTask (Validasi Input)

  4. Proses enkripsi berjalan dan setelah itu

  akan terlihat hasilnya dan selanjutnya melakukan proses dekripsi dengan cara yang sama seperti pada poin nomor 3.

  6. PENGUJIAN

  Implementasi adalah tahap penerapan terhadap sistem yang telah dirancang sebelumnya. Dalam penelitian ini, penulis menggunakan bahasa pemrograman php . Berdasarkan hasil analisis dan perancangan yang sudah dilakukan, akan dilakukan enkripsi gambar pada aplikasi berbasis web yang mengimplementasikan algoritme Grain dan menggunkan redis database sebagai database untuk menyimpan hasil dari pilihan user.

6.1 Validitas Test Vector Test vector algoritme Grain.

  Key : 0x00000000000000000000

  IV : 0x0000000000000000 Keystream : 0x7b978cf36846e5f4ee0b Key : 0x0123456789abcdef1234

  Hasil keystream dari algoritme Grain yang digunakan pada penelitian ini a) Key : 0x00000000000000000000

  IV : 0x0000000000000000 Keystream

  IV : 0x0123456789abcdef Keystream : 0x42b567ccc65317680225

  6.4 Pengujian Keamanan

  Data Sebelum Enkripsi Gambar 7. Kinerja Waktu Enkripsi

  Pada Gambar 7 didapatkan hasil waktu pemrosesan enkripsi pada sistem dimana keempat file ekstensi yang diuji. Berdasarkan

  Gambar 9. Pengujian Keamanan 1 grafik, diperoleh hasil rata-rata waktu terbesar pada file ekstensi JPG sedangkan untuk hasil

  Data Sesudah Enkripsi rata-rata waktu terkecil pada file ekstensi BMP. Hal tersebut dikarenakan pada ekstensi file tersebut walaupun memiliki ukuran file dan resolusi yang sama dengan file ekstensi lain secara kualitas ekstensi JPG masih lebih baik dibandinkan dengan ekstensi BMP.

  Gambar 8. Kinerja Waktu Dekripsi Gambar 10. Pengujian Keamanan 2

  Pada Gambar 8 Berdasarkan grafik, Digunakan method post untuk dapat melihat didapatkan hasil waktu pemrosesan dekripsi data baik sebelum proses enkripsi maupun dengan rata-rata waktu terkecil pada file setelah proses enkripsi. Sebelum proses ekstensi BMP sedangkan untuk hasil rata-rata enkripsi data sensitif masih terlihat namun waktu terbesar pada file ekstensi JPG. Hal ketika proses enkripsi dijalankan data tersebut tersebut dikarenakan pada ekstensi file tersebut tidak terbaca yaitu hanya menampilkan walaupun memiliki ukuran file dan resolusi parameternya saja tidak dengan isinya. yang sama dengan file ekstensi lain secara kualitas ekstensi JPG masih lebih baik dibandinkan dengan ekstensi BMP.

7. ANALISA DAN PEMBAHASAN

  Sample4 1,01 MB

  3. Algoritme Grain yang diterapkan pada enkripsi gambar memiliki perbandingan waktu pemrosesan enkripsi dan dekripsi yang bervariasi. Berdasarkan hasil pengujian, didapatkan waktu pemrosesan enkripsi dan dekripsi dengan rata-rata

  2. Hasil pembentukan keystream pada sistem sesuai dengan test vector yang terdapat pada paper algoritme Grain v1.

  Algoritme Grain dapat diimplementasikan untuk dapat melindungi data agar tidak dapat diketahui orang lain melalui proses enkripsi pada format gambar di mana dalam melakukan enkripsi gambar ini digunakan konsep bit per piksel, bit diambil dari komponen gambar yaitu RGB dengan memrposes sebanyak 24 bit per piksel disesuaikan dengan standar gambar berwarna. Kemudian dilakukan set up untuk mendapatkan nilai bit dari RGB dan selanjutnya proses enkripsi dijalankan dengan menyertakan file php berisi algoritme Grain.

  8. KESIMPULAN 1.

  Pada kedua sample hasil akhirnya adalah gambar tidak mengalami perubahan baik dari segi warna atau resolusi setelah di enkripsi dan dekripsi namun terdapat perbedaan diantara kedua sample dimana pada sample2 ukuran file tetap sedangkan pada sample4 ukuran file berubah setelah dilakukan proses dekripsi hal ini dikarenakan kombinasi warna pada sample2 tidak terlalu kompleks dibandingkan dengan kombinasi warna pada sample4 tetapi tidak mengurangi kualitas dari gambar tersebut hasilnya akan tetap terlihat sama baik pada saat sebelum maupun sesudah dilakukan proses enkripsi dan dekripsi.

  1,34 MB 820 kb 912 x 513

  Data dengan size rendah Gambar 11. Hasil Enkripsi dan Dekripsi 1

  Pada gambar 11 hasil akhirnya adalah gambar tidak mengalami perubahan baik dari segi warna atau resolusi setelah di enkripsi dan dekripsi serta ukuran file tersebut tetap, hal ini dikarenakan kombinasi warna pada sample2 tidak terlalu kompleks tetapi tidak mengurangi kualitas dari gambar tersebut hasilnya akan tetap terlihat sama baik pada saat sebelum maupun sesudah dilakukan proses enkripsi dan dekripsi.

  Dekripsi Resolusi

  Enkripsi Size

  Awal Size

  Tabel 5 Pengujian Enkripsi Dekripsi Gambar Size

  Pada gambar 12 hasil akhirnya adalah gambar tidak mengalami perubahan baik dari segi warna atau resolusi setelah di enkripsi dan dekripsi sample4 ukuran file berubah setelah dilakukan proses dekripsi hal ini dikarenakan kombinasi warna pada sample4 terlalu kompleks tetapi tidak mengurangi kualitas dari gambar tersebut hasilnya akan tetap terlihat sama baik pada saat sebelum maupun sesudah dilakukan proses enkripsi dan dekripsi..

  Data dengan size tinggi Gambar 12. Hasil Enkripsi dan Dekripsi 2

  Sample2 11,2 kb 674 kb 11,2 kb 430 x 534 waktu terkecil pada file ekstensi BMP sedangkan untuk hasil rata-rata waktu terbesar pada file ekstensi JPG. Hal tersebut dikarenakan pada ekstensi file tersebut walaupun memiliki ukuran file dan resolusi yang sama dengan file ekstensi lain secara kualitas ekstensi JPG masih lebih baik dibandinkan dengan ekstensi BMP dan juga ekstensi file lainnya.

9. DAFTAR PUSTAKA

  Ade, 2009. Image Processing. [Online] Available at: http:ndoware.com/image- processing.html [Diakses 20 January 2018].

  Chandrasekaran , J. & Jayaraman, D. S., 2015.

  A Fast and Secure Image Encryption Algorithm Using Number Theoretic Transforms and Discrete Logarithms.

  Institute of Electrical and Electronics Engineers, pp. -.

  Hell, M., Johansson, T. & Meier, W., 2006.

  • Grain A Stream Cipher for Constrained Environments Herlambang, S., 2010. Studi dan Analisis Grain Cipher.

  Kromodimoeljo, S., 2010 . Teori dan Aplikasi Kriptografi. s.l.: SPK IT Consulting. Kumar, S. & Srivastava, S., 2014. Image

  Encryption using Simplified Data Encryption Standard (S-DES).

  International Journal of Computer Applications, p. 104.

  Loukhaoukha, K., Chouinard, J.-Y. & Berdai,

  A., 2012. A Secure Image Encryption Algorithm Based on Rubik's Cube Principle. Journal of Electrical and

  Computer Engineering, Volume Volume 2012 (2012), p. 13.

  Padate, R. & Patel, A., 2015. Image Encryption And Decryption Using AES Algorithm.

  International Journal Of Electronics And Communication Engineering & Technology, pp. 23-29.