Fakultas Ilmu Komputer
Universitas Brawijaya
10721
Implementasi Algoritme SIMON untuk Enkripsi dan Dekripsi Berbasis QR
Code
Ngr. Putu Raka Novandra Asta1, Ari Kusyanti2, Kasyful Amron3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1andrax8@gmail.com, 2ari.kusyanti@ub.ac.id, 3kasyful@ub.ac.id
Abstrak
Beberapa keunggulan model pembayaran e-payment adalah berupa bentuk penggunaan waktu, tenaga, dan efisien. Efek positif dan signifikan telah ditimbulkan atas pembayaran ini terhadap perdagangan barang dan jasa. Disisi lain telah ditemukan di lapangan bahwa terdapat penyadapan data oleh peretas yang menyamar sebagai pelanggan untuk meretas data pelanggan. Untuk mencegah data agar tidak diretas diperlukan sebuah metode untuk menjamin data tetap aman. Kriptografi dan QR Code merupakan metode agar data menjadi aman. Tujuan penelitian ialah menerapkan algoritme SIMON 32 & 64 untuk QR Code payment sederhana dalam bentuk perangkat lunak berupa aplikasi mobile. Penelitian ini menghasilkan bahwa implementasi algoritme SIMON 32 & 64 untuk QR Code payment bisa berfungsi untuk mengamankan data. Hasil kajian lain menunjukkan bahwa validasi plaintext dan ciphertext yang berpedoman pada SIMON test vector menunjukkan bahwa hasil sama sesuai dengan SIMON test vector. Melalui pemrosesan enkripsi dan dekripsi menunjukkan total waktu enkripsi key expansion sebesar 5,3 detik. Total waktu proses enkripsi sebesar 4,7 detik. Total waktu dekripsi key expansion sebesar 5,3 detik. Total watu proses dekripsi yaitu 2,1 detik.
Kata kunci: SIMON, test vector, QR Code payment, aplikasi mobile
Abstract
Some advantages of e-payment model is the form of use of use of time, energy, and efficient. Positive and significant effects have been inflicted on this payment against the trade of goods and services. On the other hand it has been found in the field that there is data tapping by hackers disguised as customers to hack customer data. To prevent data from being hacked required a method to ensure data is kept secure. Cryptography and QR Code are methods for data to be secure. The research objective is to implement the SIMON algorithm 32 & 64 for a simple QR Code payment in the form of mobile application software. This research results that the implementation of SIMON 32 & 64 algorithm for QR Code payment can function to secure data. The results of other studies show that the validation of the plaintext and ciphertext based on the SIMON test vector shows that the results are the same as the SIMON test vector. Through encryption processing and decryption shows the total key expansion time is 5.3 seconds. The Total encryption time is 4.7 seconds. The Total key expansion decryption time is 5.3 seconds. Total Decryption Process is 2.1 seconds.
Keywords: SIMON, test vector, QR Code payment, mobile applications
1. PENDAHULUAN
Saat ini media digitalisasi berupa internet sangat dibutuhkan oleh masyarakat dimana ditemukan sekitar 3,5 miliar pengguna (Visser, 2019). Aktivitas seperti games, pembayaran dan transaksi ekonomi memerlukan teknologi digital (Choi & Yi, 2009; Nseir, Hirzallah, & Aqel, 2013). Model pembayaran yang memanfaatkan fasilitas internet disebut e-payment (Nseir,
Hirzallah, & Aqel, 2013).
E-payment ialah model pembayaran yang mempersingkat waktu, tenaga, simpel digunakan dan efisien. Perdagangan barang dan jasa mempengaruhi sistem pembayaran ini (Clarke & Wallsten, 2006; Clarke, 2008; Kurihara & Fukushima, 2013; Yadav, 2014). Di balik keunggulan e-payment memiliki kelemahan berupa penyadapan data (Souvik & Venkateswaran, 2014; Shemin & Vipinkumar,
2016). Penyadapan data oleh pihak yang tidak berhak, pencurian data, dan akses illegal adalah bentuk-bentuk ancaman keamanan (Nseir, Hirzallah, & Aqel, 2013; Souvik & Venkateswaran, 2014; Shemin & Vipinkumar, 2016). Bentuk ancaman ini harus menjadi pertimbangan ketika menerapkan mobile payment. Kriptografi dan QR Code memiliki fungsi untuk menjaga data dari ancaman keamanan (Ogiela, 2019).
Pengamanan informasi dilakukan dengan metode kriptografi dengan cara mengubahnya dalam bentuk yang rumit dan sulit dibaca (Sumandri, 2017). Metode ini menggunakan enkripsi dan dekripsi (Ariyus, 2009). Enkripsi merupakan proses mengamankan data yang dapat dibaca (plaintext) menjadi data yang rumit untuk dibaca (ciphertext) sedangkan dekripsi adalah mengembalikkan data yang rumit untuk dibaca (ciphertext) menjadi data yang mudah dibaca (plaintext) (Sadikin, 2012).
Enkripsi dan dekripsi digunakan dalam algoritme kriptografi baik dari kriptografi klasik maupun kriptografi modern. Algoritme kriptografi modern diantaranya adalah algoritme SIMON yang merupakan algoritme dari keluarga block cipher ringan yang diterbitkan oleh badan keamanan nasional Amerika Serikat (National Security Agency) pada bulan Juni Tahun 2013 (Beaulieu, Shors, Treatman-Clark, Weeks, & Wingers, 2013; Feizi, Soheil, Ahmadi, Arash, & Nemati, 2014). Algoritme ini memanfaatkan operasi perhitungan seperti XOR, AND, Shift register dan memiliki 10 macam versi berdasarkan ukuran block size maupun key size yang menjadi keunggulan. Hasil penelitian Beaulieu, Shors, Treatman-Clark, Weeks, & Wingers, (2013) menunjukan bahwa algoritme SIMON dioptimalkan untuk kinerja peranti keras dan algoritme SPECK dioptimalkan untuk kinerja peranti lunak. Hasil kajian lainnya menjelaskan bahwa kedua algoritme tersebut mampu bekerja sangat baik pada platform perangkat keras maupun platform perangkat lunak.
Metode pengamanan QR Code telah digunakan di banyak bidang karena kelebihannya, seperti reliabilitas, pemindaian kecepatan tinggi dan kapasitas data yang besar (Lee, Cho, Jun 2011; Fu, Cheng, Yu, 2019). Bidang-bidang yang ditemui menggunakan QR Code saat ini seperti bidang pendidikan, bidang industri / manufacturing, bidang jasa, bidang entertaintment, kebutuhan media social dan digunakan sebagai media pembayaran (Daulay
& Widyaiswara, 2014; Fu, Cheng, Yu, 2019). Hasil penelitian (Saranya, Reminaa, Subhitsha, 2016) yang memperkuat peranan QR Code menyimpulkan dapat menyimpan data dalam jumlah yang lebih besar, melakukan koreksi kesalahan yang dapat diandalkan pada kecepatan yang lebih tinggi, memiliki waktu respons yang lebih cepat, dapat dibaca 360 derajat dan memiliki dukungan Bahasa seperti Numeric, Alphanumeric, Kanji, Katakana dll.
Berdasarkan pemaparan sebelumnya maka tujuan penelitian ialah mengamankan data dengan mengimplementasikan salah satu hasil penelitian Beaulieu dengan algoritme block cipher yaitu SIMON menggunakan block size sebesar 32 & key size sebesar 64, mengetahui validasi plaintext dan ciphertext algoritme SIMON dan mengetahui kinerja pemrosesan enkripsi dan dekripsi SIMON untuk sistem QR Code payment dalam bentuk aplikasi mobile (mobile applications). SIMON block size 32 dan key size 64 dipilih karena sesuai dengan kebutuhan implementasi enkripsi dan dekripsi yang plaintextnya berupa angka, algoritme SIMON memiliki kinerja yang baik pada semua platform dan cocok untuk aplikasi yang ringan. Terakhir penelitian ini menambahkan metode pertukaran kunci bernama Diffie Hellman Key Exchange (DHKE) yang berfungsi untuk mengamankan kunci pada waktu melakukan proses enkripsi maupun proses dekripsi.
2. Kajian Teori
2.1 Penjelasan Algoritme SIMON
Parameter yang dimiliki Algoritme Simon untuk menunjang block size mulai dari 32, 48, 64, 96, dan 128 bit dan memiliki ukuran kunci yang berbeda untuk diterapkan pada masing-masing dari blok (Beaulieu, Shors, Treatman-Clark, Weeks, & Wingers, 2013).
Algoritme SIMON menggunakan sistem operasi pada enkripsi dan dekripsi dijelaskan pada Tabel 1.
Tabel 1. Operasi SIMON
No Operasi perhitungan algoritme SIMON
1 Operasi XOR
2 Operasi AND
3 Operasi left dan operasi
right circular Shift
2.2 Key Schedules
Proses enkripsi dan dekripsi Algoritme Simon pada key shedules memperhatikan parameter tetap yang digunakan pada Tabel 2.
Tabel 2. Parameter SIMON
Block Size 2n Key Size mn Word Size n Key Words m Constanta Seq Rounds T 32 64 16 4 Z0 32 48 72 96 24 3 4 Z0 Z1 36 36 64 96 128 32 3 4 Z2 Z3 42 44 96 96 144 48 2 3 Z2 Z3 52 54 128 128 192 256 64 2 3 4 Z2 Z3 Z4 68 69 72 Sumber: Beaulieu dkk, 2013
Setelah mengetahui parameter Simon, langkah selanjutnya yaitu menghitung nilai key expansion algoritme Simon. Cara menghitungnya ditunjukan pada Tabel 3.
Tabel 3. Key Expansion
Pseudocode : Key Expansion Algoritme SIMON
1. for i = m..T-1 2. tmp S-3 k[i-1]
3. if (m = 4) tmp tmp k[i-3] 4. tmp tmp S-1tmp
5. k[i] ~k[i-m] tmp z[j][(i-m) mod 62] 3
6. end for
Sumber: Beaulieu dkk, 2013
2.3 Enkripsi Algoritme SIMON
Enkripsi algoritme Simon dilakukan setelah mendapatkan hasil perhitungan key expansion. Untuk melihat perhitungan enkripsi pada Tabel 4.
Tabel 4. Enkripsi SIMON
Pseudocode : Enkripsi Algoritme SIMON
1. for i = 0..T-1 2. tmp x 3. x y (Sx & S8x) S2x k[i] 4. y tmp 5. end for Sumber: Beaulieu dkk, 2013
2.4 Dekripsi Algoritme SIMON
Dekripsi algoritme dilakukan setelah melakukan proses enkripsi. Untuk menghitung dekripsi algoritme Simon dilakukan dengan cara membalikan perhitungan dari proses enkripsi. 2.5 QUICK RESPON CODE
Denso Wave mengembangkan sebuah simbol dalam bentuk dua dimensi yang bernama Quick Response Code. Quick response pada penelitian ini berfungsi untuk mengamankan data dan mempercepat pemindahan ciphertext sesuai Gambar 1.
Gambar 1. Bentuk QR Code
3. ALUR DAN IMPLEMENTASI
3.1 Alur Enkripsi dan Dekripsi
Penelitian ini membahas alur sistem QR Code payment proses enkripsi yang diawali dengan user pertama memasukan plaintext berupa angka. Angka tersebut akan diolah menggunakan proses perhitungan enkripsi algoritme SIMON. Proses enkripsi algoritme SIMON menggunakan key user kedua dengan proses Diffie Hellman Key Exchange (DHKE) dan dilanjutkan dengan proses perhitungan key shedules algoritme SIMON dengan menggunakan parameter 32 & 64 sesuai dengan jurnal Beaulieu dkk, (2013). Output dari proses enkripsi yaitu ciphertext yang nilainya hexadecimal.
Nilai ciphertext yang sudah dienkripsi akan diubah bentuknya menjadi QR Code. Hasil QR Code ditunjukkan kepada user kedua untuk nantinya dlanjutkan dengan proses dekripsi. Untuk melihat alur perancangan sistem proses enkripsi ditunjukan Gambar 2.
Gambar 2. Alur proses enkripsi
Gambar 3. Alur proses dekripsi
Proses dekripsi dijelaskan pada Gambar 3 merupakan proses kebalikan dari proses enkripsi. Alur kerja dekripsi diawali dengan user kedua meilihat QR Code user pertama yang dilanjutkan dengan proses scan QR Code. Hasil dari proses scan yaitu ciphertext. Untuk mengembalikan ciphertext ke bentuk aslinya diperlukan proses dekripsi algoritme SIMON. Proses dekripsi algoritme SIMON menggunakan nilai key user pertama dengan proses DHKE dan dilanjutkan dengan proses key shedules menggunakan parameter yang sama dengan proses enkripsi.
Hasil dari proses dekripsi algoritme SIMON yaitu plaintext dengan nilai angka. Proses berikutnya yaitu melakukan transaksi dan prosespun selesai dilakukan.
3.2 Implementasi Proses Perhitungan Enkripsi dan Dekripsi
Gambar 4. Proses perhitungan enkripsi
Gambar 4 menjelaskan implementasi proses perhitungan enkripsi algoritme SIMON dimulai dengan memasukan key, proses perhitungan DHKE, proses perhitungan key shedules, memasukan plaintext, parameter algoritme SIMON 32 & 64, proses enkripsi algoritme SIMON dan terakhir yaitu output ciphertext.
Penerapan dekripsi dijelaskan pada Gambar 5 yang dilakukan dengan cara memasukan key terlebih dahulu. Langkah berikutnya yaitu melakukan perhitungan DHKE. Proses setelah DHKE yaitu perhitungan key shedules. Key shedules sudah mendapatkan hasil dilanjutkan dengan proses scan QR Code dengan menggunakan parameter algoritme SIMON 32 & 64. Hasil dari proses scan yaitu berupa ciphertext. Untuk mengembalikkan ke bentuk aslinya dilakukan proses dekripsi algoritme SIMON.
Hasil akhir dari proses dekripsi algoritme SIMON yaitu plaintext berupa angka. Proses berikutnya yaitu melakukan proses transaksi dan prosespun selesai.
Gambar 5. Proses perhitungan dekripsi
4. PENGUJIAN DAN ANALISIS
Pengujian yang dilakukan terdiri dari 3 yaitu pengujan test vector, keamanan dan waktu enkripsi dan dekripsi.
4.1 Hasil Test Vector
Tabel 5 menjelaskan hasil test vector yang dilakukan dengan menginputkan nilai key, plaintext, ciphertext berpedoman pada test vector SIMON dan nantinya akan dibandingkan antara hasil sistem dengan test vector. Jurnal “The Simon and Speck Families of Ligthweight Block Cipher” menjadi pedoman terhadap hasil enkripsi dan dekripsi test vector algoritme SIMON 32 & 64.
Tabel 5. SIMON Test Vector
SIMON Chipertext
Hasil Sistem
Chipertext Test Vector
32 & 64 c69be9bb c69be9bb
4.2 Pengujian Keamanan
Terdapat empat skenario pengujian keamanan. Pengujian pertama menggunakan scanner internal smartphone Xiaomi Redmi 4A, Pengujian kedua menggunakan aplikasi scan NeoReader, ketiga menggunakan aplikasi scan QR Code & Barcode, keempat menggunakan rainbowcrack untuk menyerang ciphertext yang sudah dienkripsi dengan algoritme SIMON. Untuk melihat hasil pengujian keamanan ialah Gambar 6, 7, 8 dan 9.
Gambar 6. Hasil scan internal kamera Xiaomi Redmi 4A.
Gambar 8. Hasil scan aplikasi QR Code & Barcode
Gambar 9. Hasil pengujian keamanan penyerangan
ciphertext
Hasil empat skenario tersebut menunjukkan bahwa ciphertext yang sudah di enkripsi menjadikan data lebih terlindungi dan orang yang mempunyai akses yaitu pemilik kuncinya.
6.3 Hasil Waktu Enkripsi dan Dekripsi Hasil waktu proses enkripsi simon test vector 32 & 64 rata-rata waktu proses key expansion bernilai 5,3 detik sedangkan rata-rata waktu proses enkripsi bernilai 4,7 detik. Pengujian waktu dekripsi simon test vector 32 & 64 rata-rata waktu proses key expansion bernilai 5,3 detik sedangkan rata-rata waktu proses dekripsi bernilai 2,1 detik. Masing-masing percobaan dilakukan maksimal 30 kali. Hasil waktu proses enkripsi dan dekripsi dibuatkan dalam bentuk Tabel 6, Gambar 10 dan Gambar 11.
Tabel 6. Pengujian Waktu Enkripsi dan Dekripsi
Percoo baan N Rata-rata waktu key expansi on Rata- rata waktu enkrip si Rata-rata waktu key expansi on Rata-rata waktu dekripsi n-30 5385373 ,233 4785130 ,233 5385373 ,233 2154908 ,133
Gambar 10. Hasil pengujian waktu enkrispi Simon
Gambar 11. Hasil pengujian waktu dekripsi Simon
test vector
Tabel 6 menjelaskan hasil pengujian waktu enkrispi dan dekripsi dengan percobaan dilakukan sebanyak 30 kali. Proses enkripsi memperhatikan dua waktu yaitu proses key expansion dengan rata-rata nilai yaitu 5,3 detik menunjukkan bahwa proses melakukan key shedules berjalan dengan baik dan sangat cepat begitu pula dengan proses enkripsi. Hasil kedua yaitu proses dekripsi dengan memperhatikan dua waktu yaitu key expansion dengan rata-rata nilai yaitu 5,3 detik dengan arti bahwa proses key shedules berjalan dengan baik dan waktu yang dibutuhkan sangat cepat begitu juga dengan hasil proses dekripsi.
Gambar 10 merupakan hasil pengujian waktu enkripsi yang memperhatikan dua waktu yaitu key expansion dan proses enkripsi yang dilakukan masing-masing selama 30 kali. Hasil key expansion menunjukkan dari 30 kali percobaan proses berjalan lancar dan waktu yang dibutuhkan sangat cepat dibuktikan dengan nilai rata-rata dari 30 kali percobaan yang didapatkan yaitu 5,3 detik. Hasil proses enkripsi juga menunjukkan waktu yang cepat.
Gambar 11 menunjukkan hasil
pengujian waktu dekripsi dengan memperhatikan waktu key expansion dan waktu proses dekripsi. Hasil waktu key expansion menunjukkan dari 30 kali percobaan rata-rata yang diperoleh baik. Waktu proses juga menunjukkan sangat cepat. Hasil berikutnya yaitu proses dekripsi dengan nilai rata-rata yang didapatkan 2,1 detik menunjukkan proses dekripsi berjalan dengan sangat cepat dan berjalan dengan baik.
5. KESIMPULAN
Algoritme SIMON dapat diterapkan untuk mengamankan data plaintext untuk sistem QR Code payment dalam bentuk perangkat mobile Android. Proses validasi plaintext dan ciphertext algoritme SIMON dapat dibuktikan pada test vector dengan hasil nilai plaintext dan ciphertext sesuai dengan jurnal acuan Beaulieu dkk, (2013) dan validasi berhasil dilakukan. Hasil kinerja waktu proses enkripsi menunjukan total waktu key expansion 5,3 detik. Total waktu enkripsi bernilai 4,7 detik. Proses dekripsi meliputi total waktu key expansion 5,3 detik. Waktu proses dekripsi bernilai 2,1 detik.
DAFTAR PUSTAKA
Ariyus, D., 2006. Kriptografi: Keamanan Data Dan Komunikasi. 1st ed. Graha Ilmu. Beaulieu, R. D., Shors, J., Smith, S.,
Treatman-Clark, B., Weeks, & Wingers, L. 2013. The SIMON and SPECK Families of Lightweight Block ciphers. Cryptology ePrint Archive. [pdf]. National Security Agency. Tersedia di:<https://eprint.iacr. org/2013/404.pdf > [Diakses 14 Januari 2019].
Clarke, G. R., & Wallsten, S. J. 2006. Has the internet increased trade? Developed and developing country evidence. Economic Inquiry, 44(3), 465-484.
Daulay, Sere S dan Widyaiswara. 2014. Hubungan Barcode dengan Produk Industri Sebagai Standar Perdagangan Produk Industri Masa Kini. Vol.2, no.1. ISSN:2301-6523. [pdf]. Kementerian Perindustrian Republik Indonesia. Tersedia di: <http://www.Kemenperin.
go.id/download/6760/Hubungan- BARCODE-dengan-Produk-Industri- Sebagai-Standar-Perdagangan-Produk-Industri-Masa-Kini> [Diakses 15 Januari 2019].
Lee, J., Cho, C. H., & Jun, M. S. 2011. Secure quick response-payment (QR-Pay) system using mobile device. In 13th International Conference on Advanced Communication Technology (ICACT2011) (pp. 1424-1427). IEEE.
Nseir, S., Hirzallah, N., & Aqel, M. 2013. A Secure Mobile Payment System using QR Code. IEEE 5th International Conference on Computer Science and Information Technology (CSIT). [online]. Tersedia di: <https://
ieeexplore.ieee.org/document/6588767> [Diakses 13 Mei 2019].
Ogiela, M.R. 2019. Cognitive Solutions for Security and Cryptography, Cognitive SystemsResearch, doi: https://doi.org /10.1016/j.cogsys.2019.02.006.
Sadikin, R. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam Bahasa Java. Ed.1. Yogyakarta: Andi. Saranya K., Reminaa, R.S. dan Subhitsha, S.
2016. Modern Applications of QR-Code for Security. IEEE International Conference on Engineering and Technology (ICETECH), 17th & 18th March 2016, Coimbatore, TN, India. [online] ieeexplore.ieee.org. Tersedia di:<https://ieeexplore.ieee.org/document/ 7569235> [Diakses 16 Januari 2019]. Souvik, R., and Venkateswaran, P. 2014. Online
Payment System using Steganography and Visual Cryptography,2014 IEEE Students Conference on Electrical, Electronics and Computer Science. Sumandri. 2017. Studi Model Algoritma
Kriptografi Klasik dan Modern. Seminar Matematika dan Pendidikan Matematika. [pdf]. Universitas Negeri Yogyakarta.
Tersedia di:
http://seminar.uny.ac.id/semnasmatemati ka/sites/seminar.uny.ac.id.semnasmatema tika/files/full/T-37.pdf [Diakses 10 Juni 2019].
Fu, Z., Cheng, Y., Liu, S., & Yu, B. 2019. A new two-level information protection scheme based on visual cryptography and QR code with multiple decryptions. Measurement, 141, 267-276.Ilmu.
Visser, R. 2019. The effect of the internet on the margins of trade. Information Economics
and Policy, 46, 41-54. [online]. Tersedia
di: <https://www.
sciencedirect.com/science/article/pii/S01 6762 4517301580>.