Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PI

  Vol. 2, No. 4, April 2018, hlm. 1572-1581 http://j-ptiik.ub.ac.id

  Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PI 1

2

3 Syahifudin Shahid , Ari Kusyanti , Rakhmadhany Primananda

  Program Studi Teknik Informatika Fakultas Ilmu Komputer, Universitas Brawijaya 1

  Abstrak

  NIST (National Institute of Standard Technology) adalah institusi yang mengatur standar keamanan data. NIST mengadakan sebuah project bernama eSTREAM untuk memperbarui stream cipher lama yang telah usang. Algoritme grain terpilih sebagai algoritme keamanan pada sisi hardware serta menggantikan stream cipher sebelumnya. Algoritme grain memiliki versi 80 bit dan 128 bit. Keamanan pada tingkat hardware juga diperlukan untuk menjaga sebuah data informasi. Dengan pembaruan standar keamanan dari NIST maka pada penelitian ini menyampaikan ide untuk memanfaatkan algoritme grain untuk keamanan data yang akan diimplemntasikan pada raspberry pi. Penelitian ini memilih raspberry pi dikarenakan banyaknya penggunaan mini PC ini dalam Internet of

  Things dan belum ada pembaruan pengamanan data stream cipher. Raspberry pi yang sudah

  diimplementasikan dengan grain akan melakukan 3 pengujian yaitu pengujian validasi keystream dengan test vector, waktu pemrosesan eksekusi IV dan Key sehingga menghasilkan keystream serta enkripsi dan dekripsi data. Pengujian waktu eksekusi, akan dianalisis menggunakan uji statistik

  Independent t- test , hasil analisa pengujian waktu eksekusi keystream pada algoritme grain v1 dan 128

  adalah -2,146 dengan probabilitas (Sig.) 0,000 menandakan perbedaan yang signifikan, begitupun dengan waktu eksekusi 8, 12 dan 16 bit enkripsi dan dekripsi. Penelitian ini menyimpulkan performansi raspberry pi untuk kedua versi stabil.

  Keamanan, algoritme grain v1 dan 128, Raspberry PI, Independent t-test Kata kunci: Abstract NIST (National Institute of Standard Technology) is the institution that regulates data security standards. NIST held a project called eSTREAM to update old outdated stream ciphers. The grain algorithm is selected as a security algorithm on the hardware side and replaces the previous stream cipher. Grain algorithm has 2 versions, 80 bit and 128 bit. Security at the hardware level is also required to keep information data. With the update of security standards from NIST, this research is conveying the idea to utilize the grain algorithm for data security that will be implemented in raspberry pi. This study chose raspberry pi due to the large use of this mini PC in the Internet of Things and there is no update data stream cipher security. Raspberry pi that has been implemented with grain will do 3 testing that is test of keystream validation with test vector, time of execution process of IV and Key to produce keystream and encryption and data decryption. The test of execution time, will be analyzed using Independent t test test, the result of testing of keystream execution time on grain v1 and 128 algorithm is -2,146 with probability (Sig.) 0,000 indicates a significant difference, as well as with execution time of 8, 12 and 16 bit encryption and decryption. This research concluded raspberry pi performance for both stable versions.

  Keywords: Security, grain algorithm v1 and 128, Raspberry PI, Independent t-test

  orang tanpa sadar telah memberikan data dan 1. informasi pribadi. Hal ini dapat memicu individu

   PENDAHULUAN

  untuk melakukan banyak kejahatan seperti Pada era digital saat ini manusia banyak peretasan informasi dan data yang dimiliki oleh mengalami ketergantungan pada Internet pribadi ataupun kelompok. Faktor kejahatan ini terlepas dari semua kegiatan yang dilakukan dipicu karena faktor keamanan data pada internet baik dalam berkomunikasi ataupun melakukan yang kurang disadari oleh setiap individu. Ilmu transaksi perbelanjaan di internet. Banyaknya

  Fakultas Ilmu Komputer Universitas Brawijaya 1572 pengamanan data sagat dibutuhkan pada saat ini dikarenakan tingkat kejahatan yang semakin tinggi seperti kriptografi. Kriptografi merupakan suatu ilmu pengamanan data yang dapat mencegah pihak tertentu untuk tidak mengakses data yang bukan wewenangnya. Proses tranformasi dari plaintext menjadi

  cipher text disebut proses Encipherment atau

  penulis akan meneliti tentang implementasi algoritme grain v1 dan 128 bit pada raspberry pI. Algoritme grain merupakan algoritme pengenkripsi data, algoritme grain menjadi kandidat piilihan algoritme stream cipher sebagai standar baru yang dilakukan oleh NIST dalam proyek eSTREAM. NIST adalah sebuah organisasi yang mengatur tentang standarisasi sebuah keamanan data di internet (NISTIR, 2016). Dimana standart sebuah data akan di perbarui setiap waktu dan diterapkan diseluruh dunia. Algoritme grain memiliki berbagai versi untuk kebutuhan enkripsi yang berbeda untuk menyesuaikan data, versi tersebut diantaranya adalah grain v1 dan 128 bit. Algoritme grain v1 dan 128 bit dipilih karena merupakan standart keamanan baru stream cipher yang telah disahkan oleh NIST (NISTIR, 2016) Raspberry pi yang sering disebut sebagai komputer mini, tidak hanya memiliki fungsi sebagai komputer mini, raspberry pi dapat juga digunakan sebagai embedded device yang efisien dan kompatibel. Raspberry pi juga memiliki tenaga komputasi besar sehingga untuk perangkat berkonsep IoT yang membutuhkan integrasi antar perangkat yang menggunakan komputasi kompleks. Untuk mengolah data hasil dari analisis penulis menggunakan uji statistik T- test. Penelitian ini diharapkan akan menjadi langkah awal diciptakannya enkripsi data menggunakan raspberry pi yang dikhususkan sebagai embedded device khususnya yang berkonsep IoT, agar dapat mengolah datanya dengan aman.

  c.

  Confidentiality : Kriptografi yag memastikan bahwa pesan yang dikirim tidak dapat dilihat oleh pihak lain, keculi pihak tersebut memiliki encyption key yang sama.

  Autentication : kriptografi yang dapat memberikan penggunanya bukti bahwa pesan yang dikirim merupakan pesan asli dari sumber terpercaya b.

  Kriptografi merupakan ilmu pengetahuan yang membahas mengenai pengamanan informasi, baik data maupun pesan. Terdapat istilah dalam kriptografi yaitu Enkripsi merupakan proses merubah plain text (data asli) ke cipher text (data yang tersandi), sedangkan Dekripsi merupakan kebalikan dari proses enkripsi (wijaya, 2016). Dalam kriptografi memiliki tiga tujuan utama yaitu : a.

  2.1 Kriptografi

  2. DASAR TEORI

  embededd device yang berkonsep IoT sehingga

  enkripsi (encryption), sedangkan proses mentransformasikan kembali ciphertext menjadi plaintext disebut proses dekripsi (decryption) (wijaya, 2016). Dalam kriptografi terdapat beberapa algoritme yang dapat diaplikasikan untuk menjaga keamanan data, algoritme tersebut juga mengalami perkembangan dan perbaikan dari algoritme sebelumnya agar penggunaan data dapat tetap aman (Hamdani, 2012). Keamanan data kini juga mulai dibutuhkan dalam dunia hardware, seperti peralatan berkonsep IoT (Internet of

  hasil penelitian diatas tidak dijelaskan bahwa algoritme tersebut dapat digunakan untuk pengamanan data yang berkonsep IoT. Pada penelitian tersebut juga hanya disebutkan menggunakan FPGA dan AVR ATMEGA32 untuk menguji ke 2 algoritme tersebut. Penulis mengusulkan untuk mengembangkan algoritme tersebut sebagai core pengamanan data dalam

  chip dan AVR (Ahad Jafarpour, 2011). Dari

  kecepatan. Pada paper ini dijelaskan algoritme grain and trivium yang diimplementasikan pada fpga menghasilkan data bahwa trivium memiliki ruang yang cukup tinggi sedangkan grain memiliki produksi kunci yang tinggi dapat disimpulkan bahwa ke dua algoritme tersebut sesuai diimplementasikan pada FPGA

  critical path pada FPGA, sedangkan pada AVR micro pada frekuensi, flash memory usage dan

  kompatible serta efisien. Penerapan sistem keamanan data bagi embedded system khususnya pada IoT dapat merasa aman dengan data-datanya, baik sebagai penunjang aplikasi atau perangkat pendukung maupun bagian utama system. Penelitian sebelumnya dilakukan oleh Ahad Jafarpour tentang implementasi algoritme trivium serta grain pada FPGA chip dan AVR Microcontroller yang menghasilkan sebuah perbandingan dari sisi frekuensi dan

  Things ) yang memakai embedded device

  Integrity : kriptografi yang bertujuan memastikan bahwa data tersebut masih tersegel dan tidak ada perubahan saat proses pengiriman.

  • cipher memiliki cara kerja dengan mengenkripsi setiap bloknya, sedangkan Stream- cipher mengenkripsi data text per bit atau setiap bit- bitnya.

  = 1 + x 18 + x 29 + x 42 + x 57 + x 67 + x 80 . . . (1)

  Penentuan nilai zi pada grain v1 memiliki ketetapan variable yaitu yang disesuaikan untuk posisi tap masing

  h(x) = x 1 + x 4 + x x 3 + x 2 x 3 + x 3 x 4 + x x 1 x 2 + x x 2 x 3 + x x 2 x 4 +x 1 x 2 x 4 + x 2 x 3 x 4 (5)

  Penentuan nilai h(x) pada grain v1 , terdapat 5 variabel inputan yaitu dari LFSR dan NFSR yang menghasilkan notasi seperti pada persamaan 5 notasi h(x) :

  bi+80 = Si + bi + b i+14 + b i+21 + b i+28 + b i+33 + b i+37 + b i+45 + b i+52 + b i+60 + b i+62 + b i+9 b i+15 + b i+33 b i+37 + b i+60 b i+63 + b i+21 b i+28 b i+33 + b i+45 b i+52 b i+60 + b i+15 b i+21 b i+60 b i+63 + b i+9 b i+15 b i+21 b i+28 b i+33 + b i+37 b i+45 b i+52 b i+60 b i+63 + b i+21 b i+28 b i+33 b i+37 b i+45 b i+52 (4)

  Untuk menghapus nilai yang berkemungkinan bertumpuk maka dilakukan fungsi update g(x) pada persaamaan 4 :

  g(x) = 1 + x 18 + x 20 + x 28 + x 35 + x 43 + x 47 + x 52 + x 59 + x 65 + x 71 + x 80 + x 17 x 20 + x 43 x 47 + x 65 x 71 + x 20 x 28 x 35 + x 47 x 52 x 59 + x 17 x 35 x 52 x 71 + x 20 x 28 x 43 x 47 + x 17 x 20 x 59 x 65 + x 17 x 20 x 28 x 35 x 43 + x 47 x 52 x 59 x 65 x 71 + x 28 x 35 x 43 x 47 x 52 + x 59 (3)

  J., 2006). Berikut feedback NSFR :

  Setelah LSFR, maka selanjutnya adalah bagian NSFR, pada NSFR feedback akan dinotasikan menggunakan persamaan 3, g(x) (Martin Hell T.

  S i+80 = S i+62 + S i+51 + S i+38 + S i+23 + S i+13 + S i . . . (2)

  Untuk menghapus nilai yang berkemungkinan bertumpuk pada NFSR karena dilakukannya internal state sebanyak 160 maka akan dilakukan update nilai dengan notasi persamaan 2 , berikut:

  merupakan polinomial dari 80 bit:

  Hasil balikan nilai dari LSFR dinotasikan dengan persamaan 1 grain V1 yang

  LSFR yang diberi konotasi , sedangkan NSFR (Martin Hell T. J., 2006).

  A. Algoritme Grain v1 Grain V1 merupakan versi stabil dari grain dimana memiliki key 80 bit dan IV 64 bit. Grain v1 meiliki 2 fungsi yang penting yaitu

  Pada penjelasan sub bab 2.2 dijelaskan bahwa algoritme grain memiliki 2 versi, berikut penjelasan lebih rinci mengenai grain v1 dan 128 bit:

  digunakan untuk menggantikan algoritme sebelumnya yang sudah tidak bisa dipakai karena sudah dapat ditemukan kelemahannya. Pada algortime grain dibuat dengan konsep memilki kecepatan yang tinggi , menggunakan memory yang rendah serta daya yang rendah. Grain memiliki beberapa versi yang dirangkum dalam keluarga grain cipher. Keluarga grain terdiri dari grain V0, V1, dan 128. Grain V1 memiliki key 80 bit dan IV 64 bit dengan internal 160 bit putaran (Martin Hell T. J., 2006). Pembaruan versi dilakukan kembali dikarnakan tingginya perkembangan teknologi, versi berikutnya yaitu grain 128 bit. Dengan memiliki key 128 bit dan IV 96 bit dengan internal 256 bit putaran. Baik V1 dan 128 memiliki arsitektur cara kerja yang sama. Grain stream cipher memeiliki 3 blok utama yaitu LFSR(Linear Feedback Shift Register), NFSR (Non-linear Feedback Shift Register) dan output. Arsitektur dan cara kerja untuk key inisialisasi juga serupa. Berikut gambar 1 inisialisasi key:

  project eStream. Project estream akan

  Grain stream cipher adalah sebuah algoritme yang dirancang untuk memenuhi

  cipher . Block

  Dengan memiliki 3 tujuan utama kriptografi dibagi menjadi 2 kelompok menurut algoritmenya yaitu algoritme simetrik dan asimetrik. Algoritme asimetrik merupakan algoritme yang memiliki kunci yang sama untuk proses enkripsi dan dekripsinya. Sedangkan simetri menggunakan kunci yang berbeda. Dalam hal ini algoritme simetrik dibagi menjadi 2 kelompok berdasarkan cara kerjanya yaitu Block- cipher dan Stream-

2.2 Algoritme Grain

  Gambar 1. Arsitektur Grain

  • – masing dan . Output akan

B. Algoritme Grain 128 bit

  Penentuan nilai h(x) pada grain 128 , terdapat 5 variabel inputan yaitu dari LFSR dan NFSR yang menghasilkan notasi seperti pada notasi persamaan 11 h(x) :

  Untuk mengolah data dan mengambil suatu keputusan yang komperatif maka diperlukan suatu uji statistik, T

  2.4 T – Test

  GPIO 40-pin header, populated. Ports HDMI, 3.5mm analogue audio-video jack, 4× USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI). Berikut Gambar 2 spesifikasi raspberry pi:

  1GB LPDDR2 (900 MHz). Networking 10/100 Ethernet, 2.4GHz 802.11n wireless. Bluetooth 4.1 Classic, Bluetooth Low Energy. Storage microSD.

  1.2GHz. GPU broadcom VideoCore IV, RAM

  Raspberry Pi adalah mini komputer dengan kinerja single-board, low-cost, berperforma tinggi yang dikembangkan di Inggris oleh Raspberry Pi Foundation (Raspberry Pi Foundation, 2017). Tidak hanya membantu perkembangan elektronik dan pemrograman komputer di seluruh dunia. Raspberry Pi sekarang ada dalam iterasi keenamnya yaitu Raspberry pi 3. Tidak hanya sebagai mini PC raspberry PI dapat pula digunakan untuk embedded system. Raspberry pi memiliki system On chip Broadcom BCM2835 dengan prosesor ARM 1.2GHz 64-bit quad-core ARMv8, maka raspberry PI memiliki klasifikasi SoC broadcom BCM2835, CPU 4× ARM Cortex-A53,

  2.3 Raspberry pi

  z i = i + j + h(x) + S i+93 Where (12)

  Terdapat 2 input yang diambil dari NSFR dan 7 input dari LSFR dan variabel x sampai X 8 yang masing- masing sesuai dengan posisi tap b i + 12, S i + 8 , S i + 13 , S i + 20 , b i + 95, S i + 42 , S i + 60, S i + 79, dan S i + 95, maka hasil dari output adalah seperti pada persamaan 12 output berikut:

  h(x)= x x 1 + x 2 x 3 + x 4 x 5 + x 6 x 7 + x x 4 x 8 (11)

  bi +128 = Si + bi + b i+26 + b i+56 + b i+91 + b i+96 + b i+3 b i+67 + b i+11 b i+13 + b i+17 b i+18 + b i+27 b i+59 + b i+40 b i+48 + b i+61 b i+65 + b i+68 b i+84 (10)

  Gambar 2. Raspberry Pi Model B

  Untuk menghapus nilai yang berkemungkinan bertumpuk pada NSFR , maka NSFR memberikan update menggunakan persamaan 10:

  g(x) = 1 + x 32 + x 37 + x 72 + x 102 + x 128 + x 44 x 60 + x 61 x 125 + x 63 x 67 + x 69 x 101 + x 80 x 88 + x 110 x 111 + x 115 x 117 (9)

  Setelah selesai pada LSFR maka menuju NSFR , pada NSFR terdapat feedback yang akan dinotasikan di persamaan 9 g(x) sebagai berikut:

  Si +128 = S i + S i+7 + S i+38 + S i+70 + S i+81 + S i+96 (8)

  Untuk mencegah nilai bertupuk saat pembuatan keystream maka dilakukan update pada LSFR. Dengan dinotasikan pada persamaan 8 sebagai berikut:

  1 + x 32 + x 47 + x 58 + x 90 + x 121 + x 128 (7)

  IV 96 dan internal state 256 bit, LSFR pada grain128 diberi konotasi , sedangkan NSFR (Martin Hell T. J., 2006). Berikut nilai dari LSFR dinotasikan dengan yang merupakan polynomial dari 128 bit pada persamaan 7:

  Pada grain versi 128 memakai key 128 bit,

  z i = i + k + h(S i+3 , S i+25 , S i+46 , S i+64 , b i+63 ) Where (6)

  dijelaskan pada persamaan 6 berikut:

  • – test merupakan sebuah uji statistik komparatif untuk menghitung perbedaan antara nilai tertentu mengunakan rata- rata kelompok populasi, dapat digunakan juga untuk menguji normalitas, yaitu uji statistik untuk menguji data tersebut berdistribusi normal. Sebelum melakukan
t nilai yang akan dilakukan pada Gambar 4 proses

  • –test terdapat beberapa asumsi yang perlu diperhatikan untuk menarik sebuah kesimpulan. ini: Penelitian ini dikhususkan menggunakan Mulai

  Independent t

  • – test ( Two – Way Sample t- test) . Independent t
  • – test digunakan ketika Pilihan Enkripsi dan Masukan Nilai

  pengujian inferensial membandingkan rata Dekrpsi

  • –rata dua populasi. Independent t
  • – test dilakukan Pilihan 8 bit Ya Enkripsi dekripsi 8

  untuk mengetahui bahwa dua populasi dari bit masing

  • – masing kelompok berasal dari Tidak parameter yang tidak diketahui. Pilihan 12 bit Tidak Ya Enkripsi dekripsi 12 bit

3.PERANCANGAN DAN IMPLEMANTASI

  Pilihan 16 bit Ya Enkripsi dekripsi 16 bit

  3.1. Gambaran umum sistem Tidak

  Sebelum melakukan implementasi maka di Tidak Plihan exit lakukan tahap perancangan sistem dimana tahap Ya perancangan sistem terdiri dari 2 kebutuhan Cetak Data yaitu kebutuhan hardware dan kebutuhan

  software .

  Pada perancangan sistem dimulai dengan Selesai tahapan diagram alir perancangan sistem. Pada flowchart dibawah ini menjelaskan

  Gambar 4. Diagram Alir Perancangan Proses Enkripsi

  implementasi sistem dimulai dengan

  dan Dekripsi

  konfigurasi pada Raspberry Pi 3 Model B. Pada penelitian ini perlu juga dilakukan konfigurasi Pada flowchart tersebut menjelaskan pada Netbeans

  8.1. Dilanjutkan dengan bagaimana cara enkripsi dan dekripsi pada implementasi algoritme grain v1 dan 128. algoritme grain. Diawali dengan memasukkan

  Kemudian penambahan subproses enkrisi dan pilihan tentang data yang akan dienkripsi yaitu 8 , dekripsi sehingga algoritme ini dapat 12 atau 16 bit. Jika tidak memasukkan nilai maka digunakan. Tampilan pada output digunakan akan keluar menuju menu exit dan mencetak data. untuk pengecekan nilai hasil dari enkripsi dan dekripsi. Berikut diagram alir perancangan

  3.2. Implementasi

  sistem pada gambar 3: Dalam tahap implementasi akan dijelaskan bagaimana algoritme grain v1 dan 128 diterapkan dalam Raspberry Pi 3 Model B. Pada sisi hardware raspberry pi akan dihubungkan dengan laptop menggunakan kabel power dan kabel LAN, seperti

gambar 3.1 berikut:

  Gambar 3. Diagram Alir Perancangan Sistem Gambar 5. Implementasi Hardware

  Pada perancangan sistem ini juga Sedangkan pada sisi software akan algoritme memiliki fitur enkripsi dan dekripsi. Berikut grain akan diimplementasikan pada raspberry PI berupa flowchart untuk menjelaskan bagaimana menggunakan bahasa C/C++. Algoritme grain v1

  • – fungsi yang serupa dengan algoritme grain v1. Perbedaan terletak pada jumlah data sebanyak 128 bit pada LFSR dan NFSR serta pada KEY dan IV yang bernilai 128 dan 96 bit. Pengambilan nilai pada LFSR dan NFSR juga berbeda dengan pengambilan data pada grain v1. Pengambilan data ini memilki jumlah data lebih banyak dari pada algoritme grain v1. Proses enkripsi dan dekripsi kedua algoritme memilki kesamaan yaitu dengan memproses nilai masukan yaitu plaintext dengan keystream hingga menghasilkan ciphertext kemudian pesan
  • – nilai tersebut berasal dari initial value yang berjumlah 64 bit kemudian 16 bit akhir dari LFSR diberi nilai 1. Proses LFSR grain v1 mengambil beberapa nilai dari initial value dan diproses kemudian hasilnya dikembalikan lagi ke nilai paling akhir dari LFSR. NFSR grain v1 memiliki deretan nilai 80 bit yang diisi dengan nilai KEY yang terdiri dari 80 bit. Hasil penghitungan nilai dari NFSR akan dikembalikan pada nilai terakhir NFSR sampai selesainya proses iterasi pada grain v1. Filter h(x) merupakan sebuah proses yang telah ditentukan untuk mengambil beberapa nilai dari NFSR dan LFSR. Proses filter ini untuk membentuk nilai keystream zi yang digunakan untuk proses enkripsi dan dekripsi. Proses keystream zi merupakan proses akhir dari algoritme grain v1 dimana proses ini mengambil beberapa nilai dari NFSR kemudian data tersebut diolah dengan hasil dari h(x) hingga menghasilkan sebuah nilai biner yang disebut dengan keystream.Algoritme grain 128 memilki fungsi
  • – fungsi yang serupa dengan algoritme grain v1. Perbedaan terletak pada jumlah data sebanyak 128 bit pada LFSR dan NFSR serta pada KEY dan IV yang bernilai 128 dan 96 bit. Pengambilan nilai pada LFSR dan NFSR juga berbeda dengan pengambilan data pada grain v1. Pengambilan data ini memilki jumlah data lebih banyak dari pada algoritme grain v1.Proses enkripsi dan dekripsi kedua algoritme memilki kesamaan yaitu dengan memproses nilai masukan yaitu

  Berikut tabel 1 hasil pengujian validitas:

  0101111000 1100111100 1101101000 0100011011 1001011111 0100111011 1000001011 0111010111 1111011000 0001100101 0011000111 0010111010 1010001010 0010010100 1100000001 1101000100 0001001011 1110101111 1110110011

  0111101110 0101111000 1100111100 1101101000 0100011011 1001011111 0100111011 1000001011 0111010111 1111011000 0001100101 0011000111 0010111010 1010001010 0010010100 1100000001 1101000100 0001001011 1110101111 1110110011 1 0111101110

  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

  IV Keystream Sistem Test vector grain v1

  KEY

  Tabel 1 menjelaskan bahwa keystream yang dikeluarkan oleh sistem sesuai dengan test vector

  Tabel 1 Pengujian Validitas Grain v1

  Gambar 6. Test Vector Grain v1

  dan 128 bit dibagi menjadi 4 bagian yaitu LFSR, NFSR, h(x) dan keystream. Pada bagian tersebut merupakan struktur implementasi algoritme grain.Pada algoritme grain v1 LFSR berisikan data sebanyak 80 bit, nillai

  IV : 0000000000000000 KEYSTREAM : 7bd978cf36846e5f4ee0b

  Pengujian validasi algoritme grain v1 dengan mengambil sampel masukan KEY dan IV berisi 0 serta keystream pada sistem. Test vector algoritme grain v1 adalah sebuah pengujian yang telah ditetapkan oleh pembuat grain v1pada Gambar 6. KEY : 00000000000000000000

  4.1 Pengujian Validitas

  4. PENGUJIAN DAN ANALISIS

  ciphertext diproses kembali dengan keystream untuk menghasilkan plaintext kembali.

  dikembalikan pada nilai terakhir NFSR sampai selesainya proses iterasi pada grain v1. Filter h(x) merupakan sebuah proses yang telah ditentukan untuk mengambil beberapa nilai dari NFSR dan LFSR. Proses filter ini untuk membentuk nilai keystream zi yang digunakan untuk proses enkripsi dan dekripsi. Proses keystream zi merupakan proses akhir dari algoritme grain v1 dimana proses ini mengambil beberapa nilai dari NFSR kemudian data tersebut diolah dengan hasil dari h(x) hingga menghasilkan sebuah nilai biner yang disebut dengan keystream. Algoritme grain 128 memilki fungsi

  ciphertext diproses kembali dengan keystream untuk menghasilkan plaintext kembali.

  hinggamenghasilkan ciphertext kemudian pesan

  plaintext dengan keystream

  1 pada paper pembuat algoritme grain. Keysteam pada test vector menggunakan tipe angka heksa desimal, sedangkan pada sistem menggunakan tipe data biner yang keduanya merupakan hasil yang sama dan hasil dari pengujian validasi grain v1 dapat dinyatakan valid. Pengujian selanjutnya validasi algoritme grain 128 dengan mengambil sample masukan KEY dan IV berisi 0 serta keystream pada sistem. Berikut test

  vector algoritme grain 128 adalah sebuah

  maka dilakukan independent sample t-test pada data hasil pengujian. Hasil pengujian independent

  0000111111 0110011101 1110111011 1111101011 0110111110 1011010100 0011011110 1111110100 0011111111 0011100011 0101100001 0010011100 1111111001 1101111001 0100100010 1010010101 1000100011 1101111101 1011111010 0101110100 1001011010 1111100010 0010000011 11110011

  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

  IV Keystream Sistem Test vector grain 128

  KEY

  Pada Gambar 9 menjelaskan bahwa nilai probabilitas dari hasil perhitungan t-test dari hasil

  Gambar 9. Tabel Analisis Independent t- test keystream

  pengujian keystream untuk KEY dan IV pada algoritme grain v1 dan grain 128 dapat dilihat pada Gambar 9 berikut:

  sample t-test perbedaan waktu perbandingan waktu

  KEY dan IV pada algoritme grain v1 dan grain 128,

  pengujian yang telah ditetapkan oleh pembuat grain 128 pada Gambar 7:

  Berdasarkan Gambar 8 untuk melihat perbandingan waktu pengujian keystream untuk

  Gambar 8. Grafik Waktu Eksekusi Keystream

  Pengujian dan analisis waktu eksekusi keystream dilakukan dengan tujuan untuk mengetahui waktu pemrosesan keytsream . Mekanisme dari keystream ini yaitu melakukan semua fungsi yang ada dalam grain v1 dan 128 hingga keystream bisa digunakan, Pengujian waktu pemrosesan keystream, digantikan secara manual nilai dari KEY dan IV agar dapat menghitung waktu yang ditempuh pada kedua algoritme.Waktu perhitungan akan dimulai pada saat program di compile pada raspberry pi 3 model b menekan tombol build pada netbeans dan akan berhenti pada tampilnya keystream pada antarmuka utama output netbeans. Berikut merupakan grafik dari hasil pengujian waktu eksekusi keystream yang dilakukan oleh raspberry pi:

  4.2 Pengujian dan Analisis Waktu Eksekusi Keystream

  Tabel 2 menjelaskan bahwa keystream yang dikeluarkan oleh sistem sesuai dengan test vector pada paper pembuat algoritme grain. Keysteam pada test vector menggunakan tipe angka heksa desimal, sedangkan pada sistem menggunakan tipe data biner yang keduanya merupakan hasil yang sama dan hasil dari pengujian validasi grain v1 dapat dinyatakan valid.

  Tabel 2 Pengujian Validitas Grain 128

  Berikut tabel 2 hasil pengujian validitas:

  IV : 00000000000000000000000000 KEYSTREAM: 0fd9deefeb6fad437bf43fce35849cfe Gambar 7. Test Vector Grain 128

  KEY : 00000000000000000000000000000000

  0000111111 0110011101 1110111011 1111101011 0110111110 1011010100 0011011110 1111110100 0011111111 0011100011 0101100001 0010011100 1111111001 1101111001 0100100010 1010010101 1000100011 1101111101 1011111010 0101110100 1001011010 1111100010 0010000011 11110011 pengujian waktu pemrosesan keystream pada algoritme grain v1 dan grain 128 adalah (Sig.) 0,000. Karena probabilitas 0,000 < 0,05 maka terdapat perbedaan yang signifikan antara waktu pemrosesan keystream pada algoritme grain v1 dan grain 128. Maka dapat disimpulkan bahwa hasil analisis pengujian pemrosesan keystream pada algoritme grain v1 dan grain 128 memiliki perbedaan yang

  Gambar 11. Tabel Hasil Independent t- test 8 bit signifikan.

  Pada analisi hasil yang diberikan oleh gambar

4.3 Pengujian dan Analisis Waktu Eksekusi

  4.3 diketahui nilai t dari hasil perhitungan t-test

  

Enkripsi Dekripsi dari hasil pengujian waktu pemrosesan enkripsi

  dan dekripsi dengan masukan 8 bit pada algoritme

  Pengujian dan analisis waktu eksekusi

  grain v1 dan grain 128 adalah 0,209 dengan

  enkripsi dekripsi bertujuan untuk

  probabilitas (Sig.) 0,533. Karena probabilitas 0,533

  mengetahui waktu pemrosesan enkripsi dan

  > 0,05 maka Tidak terdapat perbedaan yang dekripsi pada raspberry pi 3 model b. signifikan antara waktu pengujian pemrosesan

  Mekanisme dari enkripsi dan dekripsi ini

  enkripsi dan dekripsi dengan algoritme grain v1 yaitu melakukan masukan plaintext dan grain 128 pada raspberry pi 3 model b.

  sebanyak 8, 12 dan 16 bit, maka berapa B.

   Enkripsi dan Dekripsi 12 bit banyak waktu yang dibutuhkan oleh raspberry pi 3 model b untuk melakukan enkripsi dan dekripsi yang terdapat pada grain v1 dan 128. Berikut merupakan hasil dari waktu enkripsi dekripsi 8, 12 dan 16 bit:

A. Enkripsi dan Dekripsi 8 bit

  Gambar 12. Grafik Hasil Perbandingan Waktu 12 bit

  Berdasarkan Gambar 12 untuk melihat perbedaan waktu pengujian pemrosesan enkripsi dan dekripsi 12 bit masukan pada algoritme grain v1 dan grain 128, maka dilakukanlah independent

  sample t-test pada data hasil pengujian tersebut.

  Hasil pengujian independent sample t-test

  

Gambar 10. Grafik Hasil Perbandingan Waktu 8 bit perbedaan waktu pengujian enkripsi dan dekripsi

  pada algoritme grain v1 dan grain 128 Berdasarkan Gambar 10 akan dilakukan menggunakan raspberry pi 3 model b dapat dilihat

  independent sample t-test pada data hasil

  pada Gambar 13 berikut: pengujian tersebut. Hasil pengujian independent

  sample t-test akan memperlihatkan perbedaan

  waktu pengujian enkripsi dan dekripsi pada algoritme grain v1 dan grain 128 dapat dilihat pada gambar 11 berikut:

  Gambar 13. Tabel Hasil Independent t- test 12 bit Diketahui nilai probabilitas (Sig.) 0,849.

  Kesimpulan yang dapat diambil dari penelitian mengenai implementasi algoritme grain v1 dan 128 bit pada Raspberry Pi adalah sebagai berikut:

  Model B . Dipetik February 3, 2017, dari

  FOUNDATION, R. P. 2016. Raspberry PI 3

  cipher implemntation algorithm in FPGA chip and AVR Micro controller , 657 - 659.

  Ahad Jafarpour, A. M. 2011. Grain and trivium

  8. DAFTAR PUSTAKA

  Hasil analisis antara grain v1 dan 128 menunjukan nilai probabilitas (Sig.) 0,533 pada 8 bit, nilai probabilitas (Sig.) 0,849 untuk 12bit dan nilai probabilitas (Sig.) 0,730 pada 16 bit. Dari hasil analisis tersebut menandakan tidak adanya perbedaan yang signifikan dan raspberry pi 3 memiliki performa yang stabil dalam menjalankan enkripsi dan dekripsi.

  3. Kinerja pemrosesan enkripsi dan dekripsi data 8, 12, dan 16 bit pada algoritme grain v1 dan 128 memiliki performa yang tidak signifikan.

  2. Kinerja pemrosesan keystream pada algoritme grain v1 dan 128 memiliki performa yang signifikan. Pada hasil analisis antara grain v1 dan 128 menunjukan mean difference -2,444 dengan probabilitas (Sig.) 0,000 menandakan perbedaan yang signifikan. Raspbery pi 3 memiliki performa yang stabil dalam memproses kedua algoritme.

  1. Hasil validasi antara keluaran sistem yang berupa keystream menunjukan hasil yang serupa dengan test vector. Menandakan bahwa sistem dapat menjalankan algoritme grain v1 dan 128 dengan baik.

  7. KESIMPULAN

  Karena probabilitas 0,849 > 0,05 maka tidak terdapat perbedaan yang signifikan antara waktu pengujian pemrosesan enkripsi dan dekripsi 12 bit dengan algoritme grain v1 dan grain 128 pada raspberry pi 3.

  Pada analisis hasil yang diberikan oleh gambar 15 diketahui nilai probabilitas (Sig.) 0,730. Karena probabilitas 0,730 > 0,05 maka artinya tidak terdapat perbedaan yang signifikan antara waktu pengujian pemrosesan enkripsi dan dekripsi 16 bit dengan algoritme grain v1 dan grain 128 pada raspberry pi 3. Berdasarkan hasil pengolahan ke 3 data tersebut, maka dapat disimpulkan bahwa algoritme grain v1 dan 128 bit yang diimplementasikan pada raspberry pi tidak memiliki perbedaan waktu eksekusi yang signifikan. Menandakan bahwa raspberry pi memiliki sistem yang stabil untuk melakukan implementasi algoritme grain.

C. Enkripsi dan Dekripsi 16 bit

  Gambar 15. Tabel Hasil Independent t- test 16 bit

  enkripsi dan dekripsi pada algoritme grain v1 dan grain 128 menggunakan raspberry pi 3 dapat dilihat pada Gambar 15 berikut:

  sample t-test perbedaan waktu pengujian

  pengujian tersebut. Hasil pengujian independent

  independent sample t-test pada data hasil

  dekripsi 16 bit masukan pada algoritme grain v1 dan grain 128, maka dilakukanlah

Gambar 4.6 untuk melihat perbedaan waktu pengujian pemrosesan enkripsi dan

  Gambar 14. Grafik Hasil Perbandingan Waktu 16 bit www.raspberrypi.org: https://www.raspberrypi.org/products/r aspberry-pi-3-model-b/

  Hamdani. 2012. Kriptografi. Penerapan Metode

  Vigenere pada Kriptografi Klasik untuk Pesan Rahasia .

  Helmi Guntoro, Y. S. 2013. mikrokontroler.

  Rancang Bangun Magnetic door lock menggunakan keypad dan solenoid berbasis mikrokontroler arduino uno , 1 -10.

  J.M. Marmolejo-Tejada, V. T.-O.-M. 2010.

  Hardware Implementation of Grain- 128, Mickey-128,Decim-128 and Trivium , 1 - 6.

  Latan,

  H. 2014. APLIKASI ANALISIS

DATASTATISTIK UNTUK

  ILMU SOSIAL SAINS dengan IBM SPSS.

  Bandung: Alfabeta. Martin Hell, T. J. 2006. Grain - A Stream

  Cipher for Constrained Environments , 6- 14.

  Martin Hell, T. J. 2006. A Stream Cipher Proposal: Grain-128 , 1 - 6. Mohammad Ubaidullah Bokhari, S. A. 2014. A

  Detailed Analysis of Grain family of Stream Ciphers , 34 - 40.

  Syamsi Nurdiansah, A. A. 2013. Implementasi

  Algoritme Trivium pada Mikrokontroler Arduino Duemilonove sebagai Modul Pembangkit Bilangan Acak , 6.

  wijaya, C. 2016. kriptografi. KEAMANAN

  DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK , 11 -

  15. WIBAWA, A. P., NAFALSKI, A. & MAHMUDY, W. F. 2013. Javanese `speech levels machine translation: improved parallel text alignment based on impossible pair limitation. IEEE

  International Conference on Computational Intelligence and Cybernetics , 3-4 December, Yogyakarta, Indonesia. 16-20.