Anda di halaman 1dari 10

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN: 2548-964X

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


Syahifudin Shahid1, Ari Kusyanti2, Rakhmadhany Primananda3
Program Studi Teknik Informatika Fakultas Ilmu Komputer, Universitas Brawijaya
Email: 1ody_shahid@windowslive.com, 2ari.kusyanti@ub.ac.id, 3rakhmadhany@ub.ac.id

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.
Kata kunci: Keamanan, algoritme grain v1 dan 128, Raspberry PI, Independent t-test

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

Fakultas Ilmu Komputer


Universitas Brawijaya 1572
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1573

pengamanan data sagat dibutuhkan pada saat ini sebagai standar baru yang dilakukan oleh NIST
dikarenakan tingkat kejahatan yang semakin dalam proyek eSTREAM. NIST adalah sebuah
tinggi seperti kriptografi. Kriptografi organisasi yang mengatur tentang standarisasi
merupakan suatu ilmu pengamanan data yang sebuah keamanan data di internet (NISTIR, 2016).
dapat mencegah pihak tertentu untuk tidak Dimana standart sebuah data akan di perbarui
mengakses data yang bukan wewenangnya. setiap waktu dan diterapkan diseluruh dunia.
Proses tranformasi dari plaintext menjadi Algoritme grain memiliki berbagai versi untuk
ciphertext disebut proses Encipherment atau kebutuhan enkripsi yang berbeda untuk
enkripsi (encryption), sedangkan proses menyesuaikan data, versi tersebut diantaranya
mentransformasikan kembali ciphertext adalah grain v1 dan 128 bit. Algoritme grain v1
menjadi plaintext disebut proses dekripsi dan 128 bit dipilih karena merupakan standart
(decryption) (wijaya, 2016). Dalam kriptografi keamanan baru stream cipher yang telah disahkan
terdapat beberapa algoritme yang dapat oleh NIST (NISTIR, 2016) Raspberry pi yang
diaplikasikan untuk menjaga keamanan data, sering disebut sebagai komputer mini, tidak hanya
algoritme tersebut juga mengalami memiliki fungsi sebagai komputer mini, raspberry
perkembangan dan perbaikan dari algoritme pi dapat juga digunakan sebagai embedded device
sebelumnya agar penggunaan data dapat tetap yang efisien dan kompatibel. Raspberry pi juga
aman (Hamdani, 2012). Keamanan data kini memiliki tenaga komputasi besar sehingga untuk
juga mulai dibutuhkan dalam dunia hardware, perangkat berkonsep IoT yang membutuhkan
seperti peralatan berkonsep IoT (Internet of integrasi antar perangkat yang menggunakan
Things) yang memakai embedded device komputasi kompleks. Untuk mengolah data hasil
kompatible serta efisien. Penerapan sistem dari analisis penulis menggunakan uji statistik T-
keamanan data bagi embedded system test. Penelitian ini diharapkan akan menjadi
khususnya pada IoT dapat merasa aman dengan langkah awal diciptakannya enkripsi data
data-datanya, baik sebagai penunjang aplikasi menggunakan raspberry pi yang dikhususkan
atau perangkat pendukung maupun bagian sebagai embedded device khususnya yang
utama system. Penelitian sebelumnya dilakukan berkonsep IoT, agar dapat mengolah datanya
oleh Ahad Jafarpour tentang implementasi dengan aman.
algoritme trivium serta grain pada FPGA chip
dan AVR Microcontroller yang menghasilkan 2. DASAR TEORI
sebuah perbandingan dari sisi frekuensi dan
critical path pada FPGA, sedangkan pada AVR 2.1 Kriptografi
micro pada frekuensi, flash memory usage dan
Kriptografi merupakan ilmu pengetahuan yang
kecepatan. Pada paper ini dijelaskan algoritme
membahas mengenai pengamanan informasi, baik
grain and trivium yang diimplementasikan pada
data maupun pesan. Terdapat istilah dalam
fpga menghasilkan data bahwa trivium
kriptografi yaitu Enkripsi merupakan proses
memiliki ruang yang cukup tinggi sedangkan
merubah plain text (data asli) ke cipher text (data
grain memiliki produksi kunci yang tinggi
yang tersandi), sedangkan Dekripsi merupakan
dapat disimpulkan bahwa ke dua algoritme
kebalikan dari proses enkripsi (wijaya, 2016).
tersebut sesuai diimplementasikan pada FPGA
Dalam kriptografi memiliki tiga tujuan utama yaitu
chip dan AVR (Ahad Jafarpour, 2011). Dari
:
hasil penelitian diatas tidak dijelaskan bahwa
a. Autentication : kriptografi yang dapat
algoritme tersebut dapat digunakan untuk
memberikan penggunanya bukti bahwa
pengamanan data yang berkonsep IoT. Pada
pesan yang dikirim merupakan pesan asli
penelitian tersebut juga hanya disebutkan
dari sumber terpercaya
menggunakan FPGA dan AVR ATMEGA32
untuk menguji ke 2 algoritme tersebut. Penulis b. Confidentiality : Kriptografi yag
mengusulkan untuk mengembangkan algoritme memastikan bahwa pesan yang dikirim
tersebut sebagai core pengamanan data dalam tidak dapat dilihat oleh pihak lain, keculi
embededd device yang berkonsep IoT sehingga pihak tersebut memiliki encyption key
penulis akan meneliti tentang implementasi yang sama.
algoritme grain v1 dan 128 bit pada raspberry
c. Integrity : kriptografi yang bertujuan
pI. Algoritme grain merupakan algoritme
memastikan bahwa data tersebut masih
pengenkripsi data, algoritme grain menjadi
tersegel dan tidak ada perubahan saat
kandidat piilihan algoritme stream cipher
proses pengiriman.
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1574

Dengan memiliki 3 tujuan utama penjelasan lebih rinci mengenai grain v1 dan 128
kriptografi dibagi menjadi 2 kelompok menurut bit:
algoritmenya yaitu algoritme simetrik dan A. Algoritme Grain v1
asimetrik. Algoritme asimetrik merupakan Grain V1 merupakan versi stabil dari
algoritme yang memiliki kunci yang sama grain dimana memiliki key 80 bit dan IV 64
untuk proses enkripsi dan dekripsinya. bit. Grain v1 meiliki 2 fungsi yang penting yaitu
Sedangkan simetri menggunakan kunci yang LSFR yang diberi konotasi ,
berbeda. Dalam hal ini algoritme simetrik
sedangkan NSFR (Martin
dibagi menjadi 2 kelompok berdasarkan cara
kerjanya yaitu Block- cipher dan Stream- Hell T. J., 2006). Hasil balikan nilai dari LSFR
cipher. Block – cipher memiliki cara kerja dinotasikan dengan persamaan 1 grain V1 yang
dengan mengenkripsi setiap bloknya, merupakan polinomial dari 80 bit:
sedangkan Stream- cipher mengenkripsi data
text per bit atau setiap bit- bitnya. = 1 + x18 + x29 + x42 + x57 + x67 + x80. . . (1)

2.2 Algoritme Grain Untuk menghapus nilai yang berkemungkinan


bertumpuk pada NFSR karena dilakukannya
Grain stream cipher adalah sebuah
internal state sebanyak 160 maka akan dilakukan
algoritme yang dirancang untuk memenuhi
update nilai dengan notasi persamaan 2 , berikut:
project eStream. Project estream akan
digunakan untuk menggantikan algoritme
Si+80 = Si+62 + Si+51 + Si+38 + Si+23 + Si+13 + Si. . . (2)
sebelumnya yang sudah tidak bisa dipakai
karena sudah dapat ditemukan kelemahannya. Setelah LSFR, maka selanjutnya adalah bagian
Pada algortime grain dibuat dengan konsep NSFR, pada NSFR feedback akan dinotasikan
memilki kecepatan yang tinggi , menggunakan menggunakan persamaan 3, g(x) (Martin Hell T.
memory yang rendah serta daya yang rendah. J., 2006). Berikut feedback NSFR :
Grain memiliki beberapa versi yang dirangkum
dalam keluarga grain cipher. Keluarga grain g(x) = 1 + x18 + x20 + x28 + x35 + x43 + x47+ x52 +
terdiri dari grain V0, V1, dan 128. Grain V1 x59+ x65 + x71 + x80 + x17 x20 + x43 x47 + x65 x71 + x20
memiliki key 80 bit dan IV 64 bit dengan x28 x35 + x47 x52 x59 + x17x35 x52 x71 + x20 x28 x43 x47 +
internal 160 bit putaran (Martin Hell T. J., x17x20 x59x65 + x17 x20 x28 x35 x43 + x47 x52x59 x65 x71 +
2006). Pembaruan versi dilakukan kembali x28 x35x43 x47 x52 + x59
dikarnakan tingginya perkembangan teknologi, (3)
versi berikutnya yaitu grain 128 bit. Dengan
memiliki key 128 bit dan IV 96 bit dengan Untuk menghapus nilai yang berkemungkinan
internal 256 bit putaran. Baik V1 dan 128 bertumpuk maka dilakukan fungsi update g(x)
memiliki arsitektur cara kerja yang sama. Grain pada persaamaan 4 :
stream cipher memeiliki 3 blok utama yaitu
LFSR(Linear Feedback Shift Register), NFSR bi+80 = Si + bi + bi+14 + bi+21 + bi+28 + bi+33 +
(Non-linear Feedback Shift Register) dan bi+37 + bi+45 + bi+52 + bi+60 + bi+62 + bi+9 bi+15 + bi+33
output. Arsitektur dan cara kerja untuk key bi+37 + bi+60bi+63 + bi+21bi+28bi+33 + bi+45bi+52bi+60 +
inisialisasi juga serupa. Berikut gambar 1 bi+15bi+21bi+60bi+63 + bi+9bi+15bi+21bi+28bi+33 +
inisialisasi key: bi+37bi+45bi+52bi+60bi+63 +
bi+21bi+28bi+33bi+37bi+45bi+52 (4)

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) :
h(x)= x1 + x4 + x0 x3 + x2 x3 + x3 x4 + x0 x1 x2 + x0
x2 x3 + x0 x2 x4 +x1 x2 x4 + x2 x3 x4
(5)
Penentuan nilai zi pada grain v1 memiliki
Gambar 1. Arsitektur Grain ketetapan variable yaitu yang
Pada penjelasan sub bab 2.2 dijelaskan disesuaikan untuk posisi tap masing – masing
bahwa algoritme grain memiliki 2 versi, berikut dan . Output akan
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1575

dijelaskan pada persamaan 6 berikut: zi = i+j+ h(x) + Si+93


Where (12)
zi = i+k+ h(Si+3 , Si+25 , Si+46 , Si+64 , bi+63)
Where (6)
2.3 Raspberry pi
B. Algoritme Grain 128 bit Raspberry Pi adalah mini komputer dengan
Pada grain versi 128 memakai key 128 bit, kinerja single-board, low-cost, berperforma tinggi
IV 96 dan internal state 256 bit, LSFR pada yang dikembangkan di Inggris oleh Raspberry Pi
grain128 diberi konotasi , Foundation (Raspberry Pi Foundation, 2017).
sedangkan NSFR (Martin Tidak hanya membantu perkembangan elektronik
Hell T. J., 2006). Berikut nilai dari LSFR dan pemrograman komputer di seluruh dunia.
dinotasikan dengan yang merupakan Raspberry Pi sekarang ada dalam iterasi
polynomial dari 128 bit pada persamaan 7: keenamnya yaitu Raspberry pi 3. Tidak hanya
1 + x32 + x47 + x58 + x90 + x121 + x128 (7) sebagai mini PC raspberry PI dapat pula digunakan
untuk embedded system. Raspberry pi memiliki
Untuk mencegah nilai bertupuk saat pembuatan system On chip Broadcom BCM2835 dengan
keystream maka dilakukan update pada LSFR. prosesor ARM 1.2GHz 64-bit quad-core ARMv8,
Dengan dinotasikan pada persamaan 8 sebagai maka raspberry PI memiliki klasifikasi SoC
berikut: broadcom BCM2835, CPU 4× ARM Cortex-A53,
Si+128 = Si + Si+7 + Si+38 + Si+70+ Si+81 + Si+96 (8) 1.2GHz. GPU broadcom VideoCore IV, RAM
1GB LPDDR2 (900 MHz). Networking 10/100
Setelah selesai pada LSFR maka menuju NSFR Ethernet, 2.4GHz 802.11n wireless. Bluetooth 4.1
, pada NSFR terdapat feedback yang akan Classic, Bluetooth Low Energy. Storage microSD.
dinotasikan di persamaan 9 g(x) sebagai GPIO 40-pin header, populated. Ports HDMI,
berikut: 3.5mm analogue audio-video jack, 4× USB 2.0,
g(x) = 1 + x32 + x37 + x72 + x102 + x128 + x44 x60 +
Ethernet, Camera Serial Interface (CSI), Display
x61x125 + x63 x67 + x69 x101 + x80 x88 + x110 x111 + Serial Interface (DSI). Berikut Gambar 2
x115 x117 spesifikasi raspberry pi:
(9)

Untuk menghapus nilai yang berkemungkinan


bertumpuk pada NSFR , maka NSFR
memberikan update menggunakan persamaan
10:

bi+128 = Si + bi + bi+26 + bi+56 + bi+91 + bi+96 +


bi+3bi+67 + bi+11 bi+13+ bi+17bi+18 + bi+27 bi+59 +
bi+40bi+48 + bi+61bi+65 + bi+68 bi+84 (10)

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) : Gambar 2. Raspberry Pi Model B
2.4 T – Test
h(x)= x0 x1 + x2 x3 + x4 x5 + x6 x7 + x0 x4 x8 (11)
Untuk mengolah data dan mengambil suatu
Terdapat 2 input yang diambil dari NSFR dan 7 keputusan yang komperatif maka diperlukan suatu
input dari LSFR dan variabel x0 sampai X8 yang uji statistik, T – test merupakan sebuah uji statistik
masing- masing sesuai dengan posisi tap bi+12, komparatif untuk menghitung perbedaan antara
Si+8, Si+13, Si+20, bi+95, Si+42 , Si+60, Si+79, dan nilai tertentu mengunakan rata- rata kelompok
Si+95, maka hasil dari output adalah seperti pada populasi, dapat digunakan juga untuk menguji
persamaan 12 output berikut: normalitas, yaitu uji statistik untuk menguji data
tersebut berdistribusi normal. Sebelum melakukan

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1576

t –test terdapat beberapa asumsi yang perlu nilai yang akan dilakukan pada Gambar 4 proses
diperhatikan untuk menarik sebuah kesimpulan. ini:
Penelitian ini dikhususkan menggunakan
Independent t – test ( Two – Way Sample t- Mulai

test). Independent t – test digunakan ketika


pengujian inferensial membandingkan rata –rata
Masukan Nilai
Pilihan Enkripsi dan
Dekrpsi

dua populasi. Independent t – test dilakukan


untuk mengetahui bahwa dua populasi dari Pilihan 8 bit
Ya Enkripsi dekripsi 8
bit

masing – masing kelompok berasal dari Tidak

parameter yang tidak diketahui. Ya


Enkripsi dekripsi 12
Pilihan 12 bit
bit

3.PERANCANGAN DAN IMPLEMANTASI Tidak

Ya
Enkripsi dekripsi 16
Pilihan 16 bit
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
yaitu kebutuhan hardware dan kebutuhan Cetak Data

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
memiliki fitur enkripsi dan dekripsi. Berikut Sedangkan pada sisi software akan algoritme
berupa flowchart untuk menjelaskan bagaimana grain akan diimplementasikan pada raspberry PI
menggunakan bahasa C/C++. Algoritme grain v1
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1577

dan 128 bit dibagi menjadi 4 bagian yaitu memilki fungsi – fungsi yang serupa dengan
LFSR, NFSR, h(x) dan keystream. Pada bagian algoritme grain v1. Perbedaan terletak pada jumlah
tersebut merupakan struktur implementasi data sebanyak 128 bit pada LFSR dan NFSR serta
algoritme grain.Pada algoritme grain v1 LFSR pada KEY dan IV yang bernilai 128 dan 96 bit.
berisikan data sebanyak 80 bit, nillai – nilai Pengambilan nilai pada LFSR dan NFSR juga
tersebut berasal dari initial value yang berbeda dengan pengambilan data pada grain v1.
berjumlah 64 bit kemudian 16 bit akhir dari Pengambilan data ini memilki jumlah data lebih
LFSR diberi nilai 1. Proses LFSR grain v1 banyak dari pada algoritme grain v1. Proses
mengambil beberapa nilai dari initial value dan enkripsi dan dekripsi kedua algoritme memilki
diproses kemudian hasilnya dikembalikan lagi kesamaan yaitu dengan memproses nilai masukan
ke nilai paling akhir dari LFSR. NFSR grain v1 yaitu plaintext dengan keystream hingga
memiliki deretan nilai 80 bit yang diisi dengan menghasilkan ciphertext kemudian pesan
nilai KEY yang terdiri dari 80 bit. Hasil ciphertext diproses kembali dengan keystream
penghitungan nilai dari NFSR akan untuk menghasilkan plaintext kembali.
dikembalikan pada nilai terakhir NFSR sampai
selesainya proses iterasi pada grain v1. Filter 4. PENGUJIAN DAN ANALISIS
h(x) merupakan sebuah proses yang telah
ditentukan untuk mengambil beberapa nilai dari 4.1 Pengujian Validitas
NFSR dan LFSR. Proses filter ini untuk Pengujian validasi algoritme grain v1 dengan
membentuk nilai keystream zi yang digunakan mengambil sampel masukan KEY dan IV berisi 0
untuk proses enkripsi dan dekripsi. Proses serta keystream pada sistem. Test vector algoritme
keystream zi merupakan proses akhir dari grain v1 adalah sebuah pengujian yang telah
algoritme grain v1 dimana proses ini ditetapkan oleh pembuat grain v1pada Gambar 6.
mengambil beberapa nilai dari NFSR kemudian
data tersebut diolah dengan hasil dari h(x) KEY : 00000000000000000000
hingga menghasilkan sebuah nilai biner yang
disebut dengan keystream.Algoritme grain 128 IV : 0000000000000000
memilki fungsi – fungsi yang serupa dengan KEYSTREAM : 7bd978cf36846e5f4ee0b
algoritme grain v1. Perbedaan terletak pada
jumlah data sebanyak 128 bit pada LFSR dan Gambar 6. Test Vector Grain v1
NFSR serta pada KEY dan IV yang bernilai
128 dan 96 bit. Pengambilan nilai pada LFSR Berikut tabel 1 hasil pengujian validitas:
dan NFSR juga berbeda dengan pengambilan Tabel 1 Pengujian Validitas Grain v1
data pada grain v1. Pengambilan data ini
KEY IV Keystream Test vector
memilki jumlah data lebih banyak dari pada Sistem grain v1
algoritme grain v1.Proses enkripsi dan dekripsi 00000000 00000000 0111101110 0111101110
kedua algoritme memilki kesamaan yaitu 00000000 00000000 0101111000 0101111000
dengan memproses nilai masukan yaitu 00000000 00000000 1100111100 1100111100
00000000 00000000 1101101000 1101101000
plaintext dengan keystream
00000000 00000000 0100011011 0100011011
hinggamenghasilkan ciphertext kemudian pesan 00000000 00000000 1001011111 1001011111
ciphertext diproses kembali dengan keystream 00000000 00000000 0100111011 0100111011
untuk menghasilkan plaintext kembali. 00000000 00000000 1000001011 1000001011
dikembalikan pada nilai terakhir NFSR sampai 00000000 0111010111 0111010111
00000000 1111011000 1111011000
selesainya proses iterasi pada grain v1. Filter 0 0001100101 0001100101
h(x) merupakan sebuah proses yang telah 0011000111 0011000111
ditentukan untuk mengambil beberapa nilai dari 0010111010 0010111010
NFSR dan LFSR. Proses filter ini untuk 1010001010 1010001010
0010010100 0010010100
membentuk nilai keystream zi yang digunakan
1100000001 1100000001
untuk proses enkripsi dan dekripsi. Proses 1101000100 1101000100
keystream zi merupakan proses akhir dari 0001001011 0001001011
algoritme grain v1 dimana proses ini 1110101111 1110101111
mengambil beberapa nilai dari NFSR kemudian 1110110011 1110110011
1 1
data tersebut diolah dengan hasil dari h(x)
hingga menghasilkan sebuah nilai biner yang
Tabel 1 menjelaskan bahwa keystream yang
disebut dengan keystream. Algoritme grain 128
dikeluarkan oleh sistem sesuai dengan test vector
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1578

pada paper pembuat algoritme grain. Keysteam 4.2 Pengujian dan Analisis Waktu Eksekusi
pada test vector menggunakan tipe angka heksa Keystream
desimal, sedangkan pada sistem menggunakan
Pengujian dan analisis waktu eksekusi
tipe data biner yang keduanya merupakan hasil
keystream dilakukan dengan tujuan untuk
yang sama dan hasil dari pengujian validasi
mengetahui waktu pemrosesan keytsream.
grain v1 dapat dinyatakan valid. Pengujian
Mekanisme dari keystream ini yaitu melakukan
selanjutnya validasi algoritme grain 128 dengan
semua fungsi yang ada dalam grain v1 dan 128
mengambil sample masukan KEY dan IV berisi
hingga keystream bisa digunakan, Pengujian
0 serta keystream pada sistem. Berikut test
waktu pemrosesan keystream, digantikan secara
vector algoritme grain 128 adalah sebuah
manual nilai dari KEY dan IV agar dapat
pengujian yang telah ditetapkan oleh pembuat
menghitung waktu yang ditempuh pada kedua
grain 128 pada Gambar 7:
algoritme.Waktu perhitungan akan dimulai pada
saat program di compile pada raspberry pi 3 model
KEY : 00000000000000000000000000000000
b menekan tombol build pada netbeans dan akan
IV : 00000000000000000000000000 berhenti pada tampilnya keystream pada antarmuka
KEYSTREAM: 0fd9deefeb6fad437bf43fce35849cfe utama output netbeans. Berikut merupakan grafik
dari hasil pengujian waktu eksekusi keystream
yang dilakukan oleh raspberry pi:
Gambar 7. Test Vector Grain 128

Berikut tabel 2 hasil pengujian validitas:


Tabel 2 Pengujian Validitas Grain 128

KEY IV Keystream Test vector


Sistem grain 128
00000000 00000000 0000111111 0000111111
00000000 00000000 0110011101 0110011101
00000000 00000000 1110111011 1110111011
00000000 00000000 1111101011 1111101011
00000000 00000000 0110111110 0110111110
00000000 00000000 1011010100 1011010100
00000000 00000000 0011011110 0011011110
00000000 00000000 1111110100 1111110100
00000000 00000000 0011111111 0011111111 Gambar 8. Grafik Waktu Eksekusi Keystream
00000000 00000000 0011100011 0011100011
00000000 00000000 0101100001 0101100001 Berdasarkan Gambar 8 untuk melihat
00000000 00000000 0010011100 0010011100 perbandingan waktu pengujian keystream untuk
00000000 1111111001 1111111001
KEY dan IV pada algoritme grain v1 dan grain 128,
00000000 1101111001 1101111001
00000000 0100100010 0100100010 maka dilakukan independent sample t-test pada
00000000 1010010101 1010010101 data hasil pengujian. Hasil pengujian independent
1000100011 1000100011 sample t-test perbedaan waktu perbandingan waktu
1101111101 1101111101 pengujian keystream untuk KEY dan IV pada
1011111010 1011111010
0101110100 0101110100
algoritme grain v1 dan grain 128 dapat dilihat pada
1001011010 1001011010 Gambar 9 berikut:
1111100010 1111100010
0010000011 0010000011
11110011 11110011

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 Gambar 9. Tabel Analisis Independent t- test keystream
pengujian validasi grain v1 dapat dinyatakan
valid. Pada Gambar 9 menjelaskan bahwa nilai
probabilitas dari hasil perhitungan t-test dari hasil
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1579

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
banyak waktu yang dibutuhkan oleh B. Enkripsi dan Dekripsi 12 bit
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:

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1580

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
Gambar 13. Tabel Hasil Independent t- test 12 bit signifikan. Menandakan bahwa raspberry pi
memiliki sistem yang stabil untuk melakukan
Diketahui nilai probabilitas (Sig.) 0,849. implementasi algoritme grain.
Karena probabilitas 0,849 > 0,05 maka tidak
terdapat perbedaan yang signifikan antara 7. KESIMPULAN
waktu pengujian pemrosesan enkripsi dan
Kesimpulan yang dapat diambil dari
dekripsi 12 bit dengan algoritme grain v1 dan
penelitian mengenai implementasi algoritme grain
grain 128 pada raspberry pi 3.
v1 dan 128 bit pada Raspberry Pi adalah sebagai
berikut:
C. Enkripsi dan Dekripsi 16 bit
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.

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
Gambar 14. Grafik Hasil Perbandingan Waktu 16 bit memiliki performa yang stabil dalam
memproses kedua algoritme.
Gambar 4.6 untuk melihat perbedaan
waktu pengujian pemrosesan enkripsi dan 3. Kinerja pemrosesan enkripsi dan dekripsi data
dekripsi 16 bit masukan pada algoritme grain 8, 12, dan 16 bit pada algoritme grain v1 dan
v1 dan grain 128, maka dilakukanlah 128 memiliki performa yang tidak signifikan.
independent sample t-test pada data hasil Hasil analisis antara grain v1 dan 128
pengujian tersebut. Hasil pengujian independent menunjukan nilai probabilitas (Sig.) 0,533 pada
sample t-test perbedaan waktu pengujian 8 bit, nilai probabilitas (Sig.) 0,849 untuk 12bit
enkripsi dan dekripsi pada algoritme grain v1 dan nilai probabilitas (Sig.) 0,730 pada 16 bit.
dan grain 128 menggunakan raspberry pi 3 Dari hasil analisis tersebut menandakan tidak
dapat dilihat pada Gambar 15 berikut: adanya perbedaan yang signifikan dan
raspberry pi 3 memiliki performa yang stabil
dalam menjalankan enkripsi dan dekripsi.

8. DAFTAR PUSTAKA
Ahad Jafarpour, A. M. 2011. Grain and trivium
cipher implemntation algorithm in FPGA
chip and AVR Micro controller, 657 - 659.
Gambar 15. Tabel Hasil Independent t- test 16 bit FOUNDATION, R. P. 2016. Raspberry PI 3
Model B. Dipetik February 3, 2017, dari

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1581

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.

Fakultas Ilmu Komputer, Universitas Brawijaya

Anda mungkin juga menyukai