• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI - Institutional Repository | Satya Wacana Christian University: Rancang Bangun Monitoring Suhu Aquascape Berbasis Arduino dan Smartphone Menggunakan Enkripsi Simon Secara Nirkabel

N/A
N/A
Protected

Academic year: 2018

Membagikan "BAB II DASAR TEORI - Institutional Repository | Satya Wacana Christian University: Rancang Bangun Monitoring Suhu Aquascape Berbasis Arduino dan Smartphone Menggunakan Enkripsi Simon Secara Nirkabel"

Copied!
16
0
0

Teks penuh

(1)

4

BAB II

DASAR TEORI

Pada bagian ini akan dibahas dasar teori yang digunakan dalam pembuatan sistem yang akan dirancang dalam tugas akhir ini.

2.1. Aquascape

Aquascape adalah seni mengatur tanaman air, batu, karang dan kayu agar terlihat alami dan indah dipandang dalam akuarium sehingga memberikan efek/sensasi seperti berkebun di bawah air.

Gambar 2.1 Salah satu contoh Aquascape

2.2 Sensor Suhu (DS18B20)

(2)

5

Gambar 2.2 Sensor Suhu (DS18B20)

2.3 Arduino Uno R3

Arduino Uno adalah papan mikrokontoler dengan menggunakan ATmega328P.

Memiliki 14 digital pin input / output ( dimana 6 pin dapat digunakan sebagai output PWM), 6 input analog, kristal kuarsa 16 MHz, koneksi USB, jack listrik, header ICSP dan tombol reset. Berisi semua yang diperlukan untuk mendukung mikrokontoler; hanya menghubungkannya ke komputer dengan kabel USB atau dihubungkan dengan adapter AC – DC atau dengan menggunakan baterai.

Gambar 2.3 Arduino Uno R3

(3)

6

Tabel 2.1 Spesifikasi Arduino Uno R3

Mikrokontroler ATmega328P

Tegangan Operasi 5V

Tegangan Input (

Flash Memory 32 KB ( ATmega328P)

dimana 0.5 KB digunakan sebagai

bootloader

SRAM 2 KB ( ATmega328P)

EEPROM 1 KB ( ATmega328P)

Kecepatan clock 16 MHz

Panjang 68.6 mm

Tinggi 53.4 mm

Berat 25g

2.4 Real Time Clock (RTC)

Real time clock (RTC) adalah jam elektronik berupa chip yang dapat

menghitung waktu (mulai detik hingga tahun) dengan akurat dan menjaga/menyimpan

data waktu tersebut secara waktu riil. Karena jam tersebut bekerja secara riil, maka

setelah proses hitung waktu dilakukan output datanya langsung disimpan atau dikirim

(4)

7

Gambar 2.4 Real Time Clock (RTC)

2.5 Modul Bluetooth (HC-05)

Modul Bluetooth HC-05 merupakan modul komunikasi nirkabel pada frekuensi 2,4GHz dengan pilihan koneksi bisa sebagai slave, ataupun sebagai master. Sangat mudah digunakan dengan mikrokontroler untuk membuat aplikasi nirkabel. Antarmuka yang digunakan adalah serial RXD, TXD, VCC dan GND. Modul HC-05

mempunyai LED sebagai indikator.

Tegangan input antara 3,6 sampai dengan 6V, jangan menghubungkan dengan sumber daya lebih dari 7V. Arus saat unpaired(tidak terhubung) sekitar 30mA, dan saat paired (terhubung) sebesar 10mA. 4 pin interface 3,3V dapat langsung dihubungkan ke berbagai macam mikrokontroler (khusus Arduino, 8051, 8535, AVR, PIC, ARM, MSP430, etc.). Jarak efektif jangkauan sebesar 10 meter, meskipun dapat mencapai lebih dari 10 meter, namun kualitas koneksi makin berkurang.

(5)

8 2.6 Enkripsi dan Dekripsi

Proses menyandikan plaintext menjadi ciphertext disebut enkripsi (encryption) atau enciphering (standard nama menurut ISO 7498-2) sedangkan proses mengembalikan ciphertext mejadi plaintext disebut dekripsi (decryption) atau

deciphering (standard ISO 7498-2).[2]

Plaintext merupakan pesan atau data dalam bentuk aslinya yang dapat terbaca. Sedangkan ciphertext merupakan pesan dalam bentuk tersembunyi. [1]

Secara sederhana proses enkripsi - dekripsi dapat digambarkan sebagai berikut :

Gambar 2.6 Proses Enkripsi - Dekripsi

Sebelumnya akan dibahas mengenai beberapa istilah-istilah yang akan sering dipakai dalam pembuatan skripsi ini, di antaranya yaitu :

1. Plaintext (P) merupakan pesan asli.

2. Ciphertext (C) merupakan pesan terenkripsi yang merupakan hasil enkripsi.

3. Enkripsi (E) merupakan proses pengubahan plaintext menjadi ciphertext.

4. Dekripsi (D) adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi plaintext, sehingga berupa data awal/asli.

5. Kunci (K) adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi.

Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut :

EK (P) = C (Proses Enkripsi)

(6)

9

Pada saat proses enkripsi kita menyandikan pesan P dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan P yang sama seperti pesan sebelumnya.

2.7 Simon Block Cipher

Simon block cipher adalah cipher Feistel yang seimbang dengan word n-bit, dan oleh karena itu memiliki panjang blok 2n. Panjang kunci enkripsi Simon bernilai m, dimana m memiliki nilai 2,3 atau 4. Oleh karena itu, implementasi cipher Simon dilambangkan dengan Simon2n/nm. Misalnya Simon 64 / 128 mengacu pada cipher yang beroperasi pada blok plaintext 64-bit (n = 32) dengan menggunakan kunci 128-bit.

Tabel 2.2 Parameter dari Enkripsi Simon

Besar

2.7.1 Fungsi Perulangan pada Enkripsi Simon

Enkripsi Simon 2n dan dekripsi nya menggunakan operasi n-bit word:  Operasi biner XOR, ⊕

 Operasi biner AND, &

 Operasi circular shift leftSj, dengan j bits

Untuk k GF (2) n, kunci Simon2n dari fungsi perulangan terdiri dari dua tahap peta

(7)

10

Rk: GF (2)n x GF (2)n→ GF (2)n x GF (2)n yang didefinisikan sebagai

Rk (x, y) = (yf(x)k, x),

Dimana f(x) = (Sx & S8x) ⊕ S2x dan k adalah kunci round. Kebalikan dari fungsi perulangan, yang digunakan sebagai dekripsi adalah

Rk-1(x, y) = (y, xf(y) ⊕k). ... (1)

Enkripsi Simon membutuhkan sebuah kunci dan dari kunci tersebut dihasilkan kunci – kunci lain sebanyak T sehingga menjadi k0 . . . kT-1, dimana T adalah banyaknya perulangan. Gambar 2.7 menunjukkan fungsi perulangan yang telah dijabarkan pada persamaan 1.

Gambar 2.7 Bentuk Perulangan Operasi dalam Sebuah Ronde pada Enkripsi Simon [3]

2.7.2 Kunci pada Simon

Simon membutuhkan kunci yang unik untuk setiap perulangan dan kunci tambahan yang dihasilkan dalam tiap perulangan. Tidak seperti fungsi perulangan,

(8)

11

tergantung dari konfigurasi. Gambar 2.8 menunjukkan kunci tambahan dalam tiga panjang kunci yang berbeda, sesuai dengan dua, tiga atau empat dari jaringan Feistell (m = 2, 3 atau 4). Blok Kimemegang kunci untuk perulangan ke-i. Untuk m = 2 dan m = 3, logika operasi dari tambahan kunci adalah sama.

(9)

12

Gambar 2.8 Perluasan kunci Simon dua, tiga, dan empat word [3]

2.7.3 Contoh Enkripsi Simon 64 / 128

Pada bagian ini akan dijelaskan salah satu contoh bagaimana enkripsi Simon dikerjakan. Pada contoh ini menggunakan plaintext sebesar 64 bit dan kunci sebesar 128 bit. Nilai m yang digunakan adalah 4 dan nilai konstanta z yang digunakan adalah z3. Kedua nilai ini didapat dari Tabel 2.2. Perulangan yang digunakan pada enkripsi ini sebesar 44 kali.

2.7.4 Perluasan Kunci pada Enkripsi Simon 64 / 128

Pada enkripsi Simon, kunci awal yang dimiliki adalah kunci 0,1,2 dan 3.Perluasan kunci Simon dimulai dari kunci ke 4 sampai dengan kunci ke 43.

1. Kunci 0 = 0x03020100 2. Kunci 1 = 0x0b0a0908 3. Kunci 2 = 0x13121110

4. Kunci 3 = 0x1b1a1918

5. Contoh perluasan kunci ke 4

 Karena mencari perluasan kunci ke 4 maka kunci 3 (didapat dari 4 – 1) operasi

(10)

13

Gambar 2.9 Circular Shift Right 3 bit kunci 3

 Karena pada perluasan kunci pada Simon 64 / 128 mempunyai m = 4, maka

nilai pada variabel sementara dilakukan operasi XOR dengan kunci 1(didapat dari 4 - 3) dan nilainya disimpan pada variabel sementara.

0000 0011 0110 0011 0100 0011 0010 0011 (0x03634323)

0000 1011 0000 1010 0000 1001 0000 1000 (0x0b0a0908) ⊕ 0000 1000 0110 1001 0100 1010 0010 1011 (0x08694a2b)

 Nilai pada variabel sementara dilakukan operasi XOR dengan nilai pada variabel sementara yang telah dilakukan operasi circular shift right 1 bit kemudian nilainya disimpan pada variabel sementara.

Gambar 2.10 Circular Shift Right 1 bit pada Nilai Sementara

 Setelah dilakukan operasi circular shift right 1 bit, maka nilai tersebut

dilakukan operasi XOR dengan nilai sementara yang belum melakukan operasi circular shift right.

0000 1000 0110 1001 0100 1010 0010 1011 (0x08694a2b)

(11)

14  Dilakukan operasi NOT pada kunci 0.

0000 0011 0000 0010 0000 0001 0000 0000 (0x03020100) NOT 1111 1100 1111 1101 1111 1110 1111 1111 (0xfcfdfeff) ………. (2)

 Simon 64 / 128 menggunakan konstanta z3. Nilai pada index z3, dalam hal ini karena mencari perluasan kunci 4 maka pada konstanta z3 index 4 dilakukan

operasi XOR dengan bilangan 3. 0001 (0x01)

0011 (0x03) ⊕

0010 (0x02) ………. (3)

 Kunci 4 didapat dari hasil perhitungan (1) dilakukan operasi XOR dengan

hasil perhitungan (2) kemudian dilakukan operasi XOR dengan hasil perhitungan (3)

1000 1100 0101 1101 1110 1111 0011 1110 (0x8c5def3e) ………. (1) 1111 1100 1111 1101 1111 1110 1111 1111 (0xfcfdfeff) ⊕ ………. (2) 0111 0000 1010 0000 0001 0001 1100 0001 (0x70a011c1)

0000 0000 0000 0000 0000 0000 0000 0010 (0x02) ⊕ ………. (3)

0111 0000 1010 0000 0001 0001 1100 0011 (0x70a011c3)  Didapat hasil kunci 4 adalah 0x70a011c3.

(12)

15

Tabel 2.3 Hasil Perluasan Kunci Simon 64 / 128

(13)

16 2.7.5. Enkripsi Simon 64 / 128

Proses enkripsi ini dengan menggunakan plaintext sebesar 64 bit. 32 bit pertama disebut dengan variabel x dan 32 bit berikutnya disebut dengan variabel y.

 Nilai x dan y yang digunakan pada enkripsi ini adalah

x = 0x656b696c y = 0x20646e75

 Simpan nilai x pada variabel sementara.

 Dilakukan circular shift left 1 bit pada variabel x

Gambar 2.11 Circular Shift Left1 bit pada variabel x

 Dilakukan circular shift left 8 bit pada variabel x

(14)

17

 Dilakukan operasi AND pada variabel x yang telah di rotate left 1 bit dan

dilakukan operasi circular shift left 8 bit

1100 1010 1101 0110 1101 0010 1101 1000 (0xcad6d2d8) 0110 1011 0110 1001 0110 1100 0110 0101 (0x6b696c65) AND

0100 1010 0100 0000 0100 0000 0100 0000 (0x4a404040) ………… (1)  Dilakukan circular shift left 2 bit pada variabel x

Gambar 2.13 Circular Shift Left 2 bit pada variabel x

 Variabel y dilakukan operasi XOR dengan hasil perhitungan (1)

0010 0000 0110 0100 0110 1110 0111 0101 (0x20646e75) 0100 1010 0100 0000 0100 0000 0100 0000 (0x4a404040) ⊕

0110 1010 0010 0100 0010 1110 0011 0101 (0x6a242e35) ……….. (2)

 Hasil perhitungan (2) dilakukan operasi XOR dengan variabel x yang dilakukan

operasi circular shift left 2 bit

0110 1010 0010 0100 0010 1110 0011 0101 (0x6a242e35)

1001 0101 1010 1101 1010 0101 1011 0001 (0x95ada5b1) ⊕

1111 1111 1000 1001 1000 1011 1000 0100 (0xff898b84) ………... (3)

 Hasil perhitungan (3) dilakukan operasi XOR dengan kunci 0. Pemakaian kunci

0 ini karena merupakan perulangan pertama. Nilai tersebut merupakan nilai x yang baru.

(15)

18

 Ganti nilai y dengan nilai pada variabel sementara.

 Pada perulangan pertama didapat nilai x = 0xfc8b8a84 dan nilai y = 0x656b696c  Hasil perhitungan nilai x dan nilai y yang dilakukan proses perulangan dapat

dilihat pada Tabel 2.3

Tabel 2.3 Perulangan pada Enkripsi Simon

(16)

19

Gambar

Gambar 2.1 Salah satu contoh Aquascape
Gambar 2.2 Sensor Suhu (DS18B20)
Tabel 2.1 Spesifikasi Arduino Uno R3
Gambar 2.4 Real Time Clock (RTC)
+7

Referensi

Dokumen terkait

Semua jawaban adalah BENAR jika Anda memilih pernyataan yang paling sesuai dengan pikiran dan keadaan diri Anda sendiri5. Setiap pernyataan harus

Dari sudut istilah pula ianya adalah satu bentuk ritual dalam usaha mendaki untuk mencapai sesuatu yang transcendence dan juga proses mengeluarkan diri dari hidup

Jenis bakteri yang dapat mengoksidasi besi dan sulfur pada lahan penambangan timah di Belitung berkerabat dengan spesies Thiobacillus ferrooxidans

Enam Ratus Empat Belas Ribu Rupiah) dinyatakan sebagai pemenang paket pekerjaan Pengawasan Pembangunan Jalan dan Jembatan Transportasi Perdesaan (DAK).

Apabila Saudara membutuhkan keterangan dan penjelasan lebih lanjut, dapat menghubungi kami sesuai alamat tersebut diatas sampai dengan batas akhir pemasukan dokumen

Sebanyak 58,7 persen responden memberikan jawaban tidak setuju bahkan sangat tidak setuju, artinya responden memiliki persepsi bahwa untuk menjelaskan seberapa baik

Bagi masyarakat umum, lebih khususnya masyarakat di Kecamatan Bandar Masilam Kabupaten Simalungun dalam penelitian ini diharapkan menjadi bahan pengetahuan tentang

Terimakasih saya sampaikan untuk Ibu Melyza selaku dosen pembimbing saya selama skripsi yang telah memberikan motivasi dan semangat, serta sabar mulai awal hingga