implementasi algoritme grain v1 dan 128 bit pada raspberry...

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 Fakultas Ilmu Komputer Universitas Brawijaya 1572 Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PI Syahifudin Shahid 1 , Ari Kusyanti 2 , Rakhmadhany Primananda 3 Program Studi Teknik Informatika Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1 [email protected], 2 [email protected], 3 [email protected] 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 1. PENDAHULUAN Pada era digital saat ini manusia banyak mengalami ketergantungan pada Internet terlepas dari semua kegiatan yang dilakukan baik dalam berkomunikasi ataupun melakukan transaksi perbelanjaan di internet. Banyaknya orang tanpa sadar telah memberikan data dan informasi pribadi. Hal ini dapat memicu individu untuk melakukan banyak kejahatan seperti peretasan informasi dan data yang dimiliki oleh pribadi ataupun kelompok. Faktor kejahatan ini dipicu karena faktor keamanan data pada internet yang kurang disadari oleh setiap individu. Ilmu

Upload: voque

Post on 01-Apr-2019

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

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

Fakultas Ilmu Komputer

Universitas Brawijaya 1572

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: [email protected], [email protected], [email protected]

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

1. PENDAHULUAN

Pada era digital saat ini manusia banyak

mengalami ketergantungan pada Internet

terlepas dari semua kegiatan yang dilakukan

baik dalam berkomunikasi ataupun melakukan

transaksi perbelanjaan di internet. Banyaknya

orang tanpa sadar telah memberikan data dan

informasi pribadi. Hal ini dapat memicu individu

untuk melakukan banyak kejahatan seperti

peretasan informasi dan data yang dimiliki oleh

pribadi ataupun kelompok. Faktor kejahatan ini

dipicu karena faktor keamanan data pada internet

yang kurang disadari oleh setiap individu. Ilmu

Page 2: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1573

Fakultas Ilmu Komputer, Universitas Brawijaya

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

ciphertext disebut proses Encipherment atau

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

Things) yang memakai embedded device

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

critical path pada FPGA, sedangkan pada AVR

micro pada frekuensi, flash memory usage dan

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

chip dan AVR (Ahad Jafarpour, 2011). Dari

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

embededd device yang berkonsep IoT sehingga

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.

2. DASAR TEORI

2.1 Kriptografi

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. Autentication : kriptografi yang dapat

memberikan penggunanya bukti bahwa

pesan yang dikirim merupakan pesan asli

dari sumber terpercaya

b. Confidentiality : Kriptografi yag

memastikan bahwa pesan yang dikirim

tidak dapat dilihat oleh pihak lain, keculi

pihak tersebut memiliki encyption key

yang sama.

c. Integrity : kriptografi yang bertujuan

memastikan bahwa data tersebut masih

tersegel dan tidak ada perubahan saat

proses pengiriman.

Page 3: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1574

Fakultas Ilmu Komputer, Universitas Brawijaya

Gambar 1. Arsitektur Grain

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-

cipher. Block – cipher memiliki cara kerja

dengan mengenkripsi setiap bloknya,

sedangkan Stream- cipher mengenkripsi data

text per bit atau setiap bit- bitnya.

2.2 Algoritme Grain

Grain stream cipher adalah sebuah

algoritme yang dirancang untuk memenuhi

project eStream. Project estream akan

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:

Pada penjelasan sub bab 2.2 dijelaskan

bahwa algoritme grain memiliki 2 versi, berikut

penjelasan lebih rinci mengenai grain v1 dan 128

bit:

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

LSFR yang diberi konotasi ,

sedangkan NSFR (Martin

Hell T. J., 2006). Hasil balikan nilai dari LSFR

dinotasikan dengan persamaan 1 grain V1 yang

merupakan polinomial dari 80 bit:

= 1 + x18 + x29 + x42 + x57 + x67 + x80. . . (1)

Untuk menghapus nilai yang berkemungkinan

bertumpuk pada NFSR karena dilakukannya

internal state sebanyak 160 maka akan dilakukan

update nilai dengan notasi persamaan 2 , berikut:

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

Setelah LSFR, maka selanjutnya adalah bagian

NSFR, pada NSFR feedback akan dinotasikan

menggunakan persamaan 3, g(x) (Martin Hell T.

J., 2006). Berikut feedback NSFR :

g(x) = 1 + x18 + x20 + x28 + x35 + x43 + x47+ x52 + x59+ x65 + x71 + x80 + x17 x20 + x43 x47 + x65 x71 + x20 x28 x35 + x47 x52 x59 + x17x35 x52 x71 + x20 x28 x43 x47 + x17x20 x59x65 + x17 x20 x28 x35 x43 + x47 x52x59 x65 x71 + x28 x35x43 x47 x52 + x59 (3)

Untuk menghapus nilai yang berkemungkinan

bertumpuk maka dilakukan fungsi update g(x)

pada persaamaan 4 :

bi+80 = Si + bi + bi+14 + bi+21 + bi+28 + bi+33 + bi+37 + bi+45 + bi+52 + bi+60 + bi+62 + bi+9 bi+15 + bi+33

bi+37 + bi+60bi+63 + bi+21bi+28bi+33 + bi+45bi+52bi+60 + bi+15bi+21bi+60bi+63 + bi+9bi+15bi+21bi+28bi+33 + 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

ketetapan variable yaitu yang

disesuaikan untuk posisi tap masing – masing

dan . Output akan

Page 4: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1575

Fakultas Ilmu Komputer, Universitas Brawijaya

Gambar 2. Raspberry Pi Model B

dijelaskan pada persamaan 6 berikut:

zi = i + k + h(Si+3 , Si+25 , Si+46 , Si+64 , bi+63) Where (6)

B. Algoritme Grain 128 bit

Pada grain versi 128 memakai key 128 bit,

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:

1 + x32 + x47 + x58 + x90 + x121 + x128 (7)

Untuk mencegah nilai bertupuk saat pembuatan

keystream maka dilakukan update pada LSFR.

Dengan dinotasikan pada persamaan 8 sebagai

berikut:

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

Setelah selesai pada LSFR maka menuju NSFR

, pada NSFR terdapat feedback yang akan

dinotasikan di persamaan 9 g(x) sebagai

berikut:

g(x) = 1 + x32 + x37 + x72 + x102 + x128 + x44 x60 + x61x125 + x63 x67 + x69 x101 + x80 x88 + x110 x111 + x115 x117 (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) :

h(x)= x0 x1 + x2 x3 + x4 x5 + x6 x7 + x0 x4 x8 (11)

Terdapat 2 input yang diambil dari NSFR dan 7

input dari LSFR dan variabel x0 sampai X8 yang

masing- masing sesuai dengan posisi tap bi+12,

Si+8, Si+13, Si+20, bi+95, Si+42 , Si+60, Si+79, dan

Si+95, maka hasil dari output adalah seperti pada

persamaan 12 output berikut:

zi = i + j + h(x) + Si+93

Where (12)

2.3 Raspberry pi

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,

1.2GHz. GPU broadcom VideoCore IV, RAM

1GB LPDDR2 (900 MHz). Networking 10/100

Ethernet, 2.4GHz 802.11n wireless. Bluetooth 4.1

Classic, Bluetooth Low Energy. Storage microSD.

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:

2.4 T – Test

Untuk mengolah data dan mengambil suatu

keputusan yang komperatif maka diperlukan suatu

uji statistik, T – 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

Page 5: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1576

Fakultas Ilmu Komputer, Universitas Brawijaya

t –test terdapat beberapa asumsi yang perlu

diperhatikan untuk menarik sebuah kesimpulan.

Penelitian ini dikhususkan menggunakan

Independent t – test ( Two – Way Sample t-

test). Independent t – test digunakan ketika

pengujian inferensial membandingkan rata –rata

dua populasi. Independent t – test dilakukan

untuk mengetahui bahwa dua populasi dari

masing – masing kelompok berasal dari

parameter yang tidak diketahui.

3.PERANCANGAN DAN IMPLEMANTASI

3.1. Gambaran umum sistem

Sebelum melakukan implementasi maka di

lakukan tahap perancangan sistem dimana tahap

perancangan sistem terdiri dari 2 kebutuhan

yaitu kebutuhan hardware dan kebutuhan

software .

Pada perancangan sistem dimulai dengan

tahapan diagram alir perancangan sistem. Pada

flowchart dibawah ini menjelaskan

implementasi sistem dimulai dengan

konfigurasi pada Raspberry Pi 3 Model B. Pada

penelitian ini perlu juga dilakukan konfigurasi

pada Netbeans 8.1. Dilanjutkan dengan

implementasi algoritme grain v1 dan 128.

Kemudian penambahan subproses enkrisi dan

dekripsi sehingga algoritme ini dapat

digunakan. Tampilan pada output digunakan

untuk pengecekan nilai hasil dari enkripsi dan

dekripsi. Berikut diagram alir perancangan

sistem pada gambar 3:

Gambar 3. Diagram Alir Perancangan Sistem

Pada perancangan sistem ini juga

memiliki fitur enkripsi dan dekripsi. Berikut

berupa flowchart untuk menjelaskan bagaimana

nilai yang akan dilakukan pada Gambar 4 proses

ini:

Mulai

Masukan Nilai Pilihan Enkripsi dan

Dekrpsi

Pilihan 8 bit

Pilihan 12 bit

Pilihan 16 bit

Enkripsi dekripsi 8 bit

Enkripsi dekripsi 12 bit

Enkripsi dekripsi 16 bit

Cetak Data

Selesai

Plihan exit

Ya

Tidak

Ya

Ya

Ya

Tidak

Tidak

Tidak

Gambar 4. Diagram Alir Perancangan Proses Enkripsi

dan Dekripsi

Pada flowchart tersebut menjelaskan

bagaimana cara enkripsi dan dekripsi pada

algoritme grain. Diawali dengan memasukkan

pilihan tentang data yang akan dienkripsi yaitu 8 ,

12 atau 16 bit. Jika tidak memasukkan nilai maka

akan keluar menuju menu exit dan mencetak data.

3.2. Implementasi

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 5. Implementasi Hardware

Sedangkan pada sisi software akan algoritme

grain akan diimplementasikan pada raspberry PI

menggunakan bahasa C/C++. Algoritme grain v1

Page 6: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1577

Fakultas Ilmu Komputer, Universitas Brawijaya

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 – 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

plaintext dengan keystream

hinggamenghasilkan ciphertext kemudian pesan

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 – 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

ciphertext diproses kembali dengan keystream

untuk menghasilkan plaintext kembali.

4. PENGUJIAN DAN ANALISIS

4.1 Pengujian Validitas

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

IV : 0000000000000000

KEYSTREAM : 7bd978cf36846e5f4ee0b

Gambar 6. Test Vector Grain v1

Berikut tabel 1 hasil pengujian validitas:

Tabel 1 Pengujian Validitas Grain v1

Tabel 1 menjelaskan bahwa keystream yang

dikeluarkan oleh sistem sesuai dengan test vector

KEY IV Keystream

Sistem

Test vector

grain v1

00000000

00000000

0000000000000000

00000000

00000000

0000000000000000

00000000

00000000

0

00000000

00000000

0000000000000000

00000000

00000000

0000000000000000

0111101110

0101111000

11001111001101101000

0100011011

1001011111

01001110111000001011

0111010111

1111011000

00011001010011000111

0010111010

1010001010

00100101001100000001

1101000100

0001001011

11101011111110110011

1

0111101110

0101111000

11001111001101101000

0100011011

1001011111

01001110111000001011

0111010111

1111011000

00011001010011000111

0010111010

1010001010

00100101001100000001

1101000100

0001001011

11101011111110110011

1

Page 7: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1578

Fakultas Ilmu Komputer, Universitas Brawijaya

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

pengujian yang telah ditetapkan oleh pembuat

grain 128 pada Gambar 7:

KEY : 00000000000000000000000000000000

IV : 00000000000000000000000000

KEYSTREAM: 0fd9deefeb6fad437bf43fce35849cfe

Gambar 7. Test Vector Grain 128

Berikut tabel 2 hasil pengujian validitas:

Tabel 2 Pengujian Validitas Grain 128

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.

4.2 Pengujian dan Analisis 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:

Gambar 8. Grafik Waktu Eksekusi Keystream

Berdasarkan Gambar 8 untuk melihat

perbandingan waktu pengujian keystream untuk

KEY dan IV pada algoritme grain v1 dan grain 128,

maka dilakukan independent sample t-test pada

data hasil pengujian. Hasil pengujian independent

sample t-test perbedaan waktu perbandingan waktu

pengujian keystream untuk KEY dan IV pada

algoritme grain v1 dan grain 128 dapat dilihat pada

Gambar 9 berikut:

Gambar 9. Tabel Analisis Independent t- test keystream

Pada Gambar 9 menjelaskan bahwa nilai

probabilitas dari hasil perhitungan t-test dari hasil

KEY IV Keystream

Sistem

Test vector

grain 128

00000000

0000000000000000

00000000

00000000

0000000000000000

00000000

00000000

0000000000000000

00000000

00000000

0000000000000000

00000000

00000000

0000000000000000

00000000

00000000

0000000000000000

00000000

00000000

0000000000000000

00000000

0000111111

01100111011110111011

1111101011

0110111110

10110101000011011110

1111110100

0011111111

00111000110101100001

0010011100

1111111001

11011110010100100010

1010010101

1000100011

11011111011011111010

0101110100

1001011010

11111000100010000011

11110011

0000111111

01100111011110111011

1111101011

0110111110

10110101000011011110

1111110100

0011111111

00111000110101100001

0010011100

1111111001

11011110010100100010

1010010101

1000100011

11011111011011111010

0101110100

1001011010

11111000100010000011

11110011

Page 8: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1579

Fakultas Ilmu Komputer, Universitas Brawijaya

Gambar 11. Tabel Hasil Independent t- test 8 bit

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

signifikan.

4.3 Pengujian dan Analisis Waktu Eksekusi

Enkripsi Dekripsi

Pengujian dan analisis waktu eksekusi

enkripsi dekripsi bertujuan untuk

mengetahui waktu pemrosesan enkripsi dan

dekripsi pada raspberry pi 3 model b.

Mekanisme dari enkripsi dan dekripsi ini

yaitu melakukan masukan plaintext

sebanyak 8, 12 dan 16 bit, maka berapa

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

Berdasarkan Gambar 10 akan dilakukan

independent sample t-test pada data hasil

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:

Pada analisi hasil yang diberikan oleh gambar

4.3 diketahui nilai t dari hasil perhitungan t-test

dari hasil pengujian waktu pemrosesan enkripsi

dan dekripsi dengan masukan 8 bit pada algoritme

grain v1 dan grain 128 adalah 0,209 dengan

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

> 0,05 maka Tidak terdapat perbedaan yang

signifikan antara waktu pengujian pemrosesan

enkripsi dan dekripsi dengan algoritme grain v1

dan grain 128 pada raspberry pi 3 model b.

B. Enkripsi dan Dekripsi 12 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

perbedaan waktu pengujian enkripsi dan dekripsi

pada algoritme grain v1 dan grain 128

menggunakan raspberry pi 3 model b dapat dilihat

pada Gambar 13 berikut:

Gambar 10. Grafik Hasil Perbandingan Waktu 8 bit

Page 9: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1580

Fakultas Ilmu Komputer, Universitas Brawijaya

Gambar 13. Tabel Hasil Independent t- test 12 bit

Diketahui nilai probabilitas (Sig.) 0,849.

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.

C. Enkripsi dan Dekripsi 16 bit

Gambar 14. Grafik Hasil Perbandingan Waktu 16 bit

Gambar 4.6 untuk melihat perbedaan

waktu pengujian pemrosesan enkripsi dan

dekripsi 16 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 perbedaan waktu pengujian

enkripsi dan dekripsi pada algoritme grain v1

dan grain 128 menggunakan raspberry pi 3

dapat dilihat pada Gambar 15 berikut:

Gambar 15. Tabel Hasil Independent t- test 16 bit

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.

7. KESIMPULAN

Kesimpulan yang dapat diambil dari

penelitian mengenai implementasi algoritme grain

v1 dan 128 bit pada Raspberry Pi adalah sebagai

berikut:

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

memiliki performa yang stabil dalam

memproses kedua algoritme.

3. Kinerja pemrosesan enkripsi dan dekripsi data

8, 12, dan 16 bit pada algoritme grain v1 dan

128 memiliki performa yang tidak signifikan.

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.

8. DAFTAR PUSTAKA

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

cipher implemntation algorithm in FPGA

chip and AVR Micro controller, 657 - 659.

FOUNDATION, R. P. 2016. Raspberry PI 3

Model B. Dipetik February 3, 2017, dari

Page 10: Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PIrobby.c.staff.gunadarma.ac.id/Downloads/files/62912/1267-1-9882-1... · NIST mengadakan sebuah project bernama eSTREAM

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1581

Fakultas Ilmu Komputer, Universitas Brawijaya

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.