Anda di halaman 1dari 85

SISTEM KEAMANAN DATA PADA IoT BERBASIS MQTT DAN

DATABASE MYSQL MENGGUNAKAN METODE RSA

(DATA SECURITY SYSTEM ON MQTT-BASED IoT AND MYSQL


DATABASES USING THE RSA METHOD)

TUGAS AKHIR

Disusun dalam rangka memenuhi salah satu persyaratan untuk


menyelesaikan Program Studi Strata 1 Teknik Telekomunikasi

Disusun oleh:

ALDI DWI FEBRIYANTO

1101180383

FAKULTAS TEKNIK ELEKTRO

UNIVERSITAS TELKOM

BANDUNG

i
2022

ii
UNIVERSITAS TELKOM No. Dokumen

Jl. Telekomunikasi No. 1, Terusan Buah Batu, Bandung 40257 No. Revisi

FORMULIR LEMBAR PENGESAHAN TUGAS AKHIR Berlaku Efektif

LEMBAR PENGESAHAN

TUGAS AKHIR

SISTEM KEAMANAN DATA PADA IoT BERBASIS MQTT DAN


DATABASE MYSQL MENGGUNAKAN METODE RSA

(DATA SECURITY SYSTEM ON MQTT-BASED IoT AND MYSQL


DATABASES USING THE RSA METHOD)

Telah disetujui dan disahkan sebagai Tugas Akhir


Program S1 Teknik Telekomunikasi
Fakultas Teknik Elektro
Universitas Telkom

Disusun oleh:

Aldi Dwi Febriyanto

1101180383

Bandung, 22 Agustus 2022

iii
Pembimbing I

Dr. Sofia Naning Hertiana , S.T., M.T.


NIP.99710011
Pembimbing II

Dr. Yudha Purwanto S.T., M.T.


NIP.02770066

iv
UNIVERSITAS TELKOM No. Dokumen

Jl. Telekomunikasi No. 1, Terusan Buah Batu, Bandung 40257 No. Revisi

FORMULIR LEMBAR PERNYATAAN ORISINALITAS TUGAS AKHIR Berlaku Efektif

LEMBAR PERNYATAAN ORISINALITAS

Nama : Aldi Dwi Febriyanto


NIM : 1101180383
Alamat : Perum. Sidorejo Bumi Indah Blok G/170, Bantul,
Daerah Istimewa Yogyakarta
No. Telepon : 085328458008
Email : aldiidf@student.telkomuniversity.ac.id

Menyatakan bahwa Tugas Akhir ini merupakan karya orisinal saya


sendiri, dengan judul :

SISTEM KEAMANAN DATA PADA IoT BERBASIS MQTT DAN


DATABASE MYSQL MENGGUNAKAN METODE RSA

(DATA SECURITY SYSTEM ON MQTT-BASED IoT AND MYSQL


DATABASES USING THE RSA METHOD)

Atas pernyataan ini, saya siap menanggung resiko/sanksi yang


dijatuhkan kepada saya apabila kemudian ditemukan adanya pelanggaran
terhadap kejujuran akademik atau etika keilmuan dalam karya ini, atau
ditemukan bukti yang menunjukkan ketidakaslian karya ini.

Bandung, 22 Agustus 2022

v
ABSTRAK
Aldi Dwi Febriyanto
NIM.1101180383
Seiringnya perkembangan zaman, bidang teknologi Internet of Things
(IoT) semakin maju terutama di bidang pengiriman dan penyimpanan data. Tetapi
siapa yang menduga jika ternyata dibalik kemajuan teknologi yang pesat
menyimpan ketakutan terhadap pencurian data. Adapun solusi untuk mengatasi
pencurian data tersebut sistem seharusnya memakai Kriptografi. Kriptografi dapat
meminimalisir pencurian data agar tidak disalahgunakan. Pada penelitian tugas
akhir ini akan dirancang suatu sistem yang dapat menjaga keamanan pada proses
pengiriman data IoT melalui protokol MQTT penyimpanan data pada PHP
MyAdmin dengan Metode RSA.

Data sensor yang digunakan menggunakan sensor ultrasonik HC-SR04


yang diaplikasikan didalam mikrokomputer Raspberry Pi 4. Data sensor yang
masuk kedalam sistem secara otomatis diubah menjadi chipertext menggunakan
metode RSA dengan dua skenario yaitu RSA 1024 bit dan 2048 bit. Setelah itu
data akan dikirimkan melalui MQTT menuju database PHP MyAdmin. Didalam
database data yang berbentuk chipertext secara otomatis akan di dekripsi.

Berdasarkan hasil pengujian sistem, diketahui bahwa sistem dapat


melakukan enkripsi pada data sensor dan dapat mengirimkan data dalam bentuk
chipertext melalui MQTT menuju database. Nilai rata-rata response times untuk
skenario RSA 1024 bit sebesar 879,4 ms untuk proses enkripsi dan 2189,83 ms
untuk proses dekripsi. Untuk skenario RSA 2048 bit didapatkan hasil rata-rata
pengujian Response Times untuk 10, 20, dan 30 data sebesar 2.859,27 ms untuk
proses enkripsi dan 228.060,91 ms untuk proses dekripsi. Proses pengiriman data
dari sensor menuju database menunjukan bahwa QoS pada sistem yang telah
dibuat termasuk kategori baik dengan masing-masing nilai rata-rata untuk
skenario RSA 1024 bit dan RSA 2048 bit yaitu throughput 6932,04 Kb/s dan
6167,03 Kb/s, packet loss sebesar 0% serta delay sebesar 243,3 ms dan 589,5 ms.

Kata Kunci : RSA, Internet of Things, Sistem Keamanan, Enkripsi, Dekripsi,


MQTT, PHP MyAdmin, Sensor Ultrasonik, Raspberry Pi.

vi
ABSTRACT

Along with the times, the field of Internet of Things (IoT) technology is
increasingly advanced, especially in the field of data transmission and storage.
But who would have guessed that it turned out that behind the rapid technological
advances harbored a fear of data theft. As for the solution to overcome data theft,
the system should use Cryptography. Cryptography can minimize data theft so
that it is not misused. In this final project research, a system will be designed that
can maintain security in the process of sending data IoT through the MQTT
protocol of data storage on PHP MyAdmin with the RSA Method.

The sensor data used uses the ultrasonic sensor HC-SR04 which is applied
in the Raspberry Pi 4 microcomputer. Sensor data entering the system is
automatically converted into chipertext using the RSA method with two scenarios,
namely 1024 bit and 2048 bit RSA. After that, the data will be sent via MQTT to
the PHP Myadmin database. In the data database in the form of chipertext, it will
automatically be decrypted.

Based on the test results of the system, it is known that the system can
encrypt sensor data and can transmit data in the form of chipertext through
MQTT to the database. The average response times value for a 1024 bit RSA
scenario was 879.4 ms for the encryption process and 2189.83 ms for the
decryption process. For the 2048 bit RSA scenario, the average Response Times
test results for 10, 20, and 30 data were 2,859.27 ms for the encryption process
and 228,060.91 ms for the decryption process. The process of sending data from
the sensor to the database shows that the QoS on the system that has been created
is included in the excellent category with values for the RSA scenario of 1024 bit
and RSA 2048 bit, namely throughput of 6932.04 Kb/s and 6167.03 Kb/s, packet
loss of 0% and delay of 243.3 ms and 589.5 ms.

Keywords : RSA, Internet of Things, Security System, Encryption, Decryption,


MQTT, PHP MyAdmin, Ultrasonic Sensor, Raspberry Pi.

vii
KATA PENGANTAR

Assalamu’alaikum Wr. Wb.,

Alhamdulillahirabbilalamin, pertama dan yang paling utama, segala puji dan


syukur penulis panjatkan kehadirat Allah SWT atas segala nikmat dan karunia-Nya,
sehingga penulis dapat menyelesaikan tugas akhir dengan judul

SISTEM KEAMANAN DATA PADA IoT BERBASIS MQTT DAN


DATABASE MYSQL MENGGUNAKAN METODE RSA

Penulis telah melaksanakan serangkaian penelitian yang pada akhirnya ditulis


kedalam buku tugas akhir ini dengan baik sebagai prasyarat menyelesaikan pendidikan
sarjana program studi S1 Teknik Telekomunikasi, Fakultas Teknik Elektro, Universitas
Telkom.

Penulis menyadari masih banyak kekurangan dalam penyusunan tugas akhir ini
yang disebabkan oleh keterbatasan penulis. Oleh karena itu, dengan kerendahan hati
penulis mohon maaf sebesar-besarnya dan besar harapan penulis mendapatkan kritik dan
saran yang membangun.

Akhir kalam besar harapan penulis agar tugas akhir ini bisa menjadi manfaat
untuk semua pihak, serta dapat dikembangkan menjadi sebuah penelitian yang lebih
terbarukan.

Wassalamu’alaikum Wr., Wb.

Bandung, 22 Agustus 2022

Aldi Dwi Febriyanto

viii
UCAPAN TERIMAKASIH

Perjalanan Panjang telah penulis lalui dalam menempuh Pendidikan sarjana pada
Program Studi S1 Teknik Telekomunikasi yang diakhiri dengan penulisan tugas akhir ini.
Banyak halangan dan rintangan yang dihadapi dalam penyusunannya. Namun, berkat
dukungan dari berbagai pihak penulis mampu merampungkan penyusunan tugas akhir ini.
Oleh karena itu, izinkan penulis mengucapkan terimakasih kepada:

1. Allah SWT, segenap rasa syukur atas nikmat berupa kekuatan, kesabaran, dan
kelancaran selama penulis berjuang menyelesaikan studi. Semoga tugas akhir ini
kelak akan menjadi ilmu yang bermanfaat bagi penulis,

2. M. Hartoyo dan Surachmi, selaku orang tua penulis yang selalu berjuang
mendukung dan mendoakan baik dari segi moril maupun materi sehingga penulis
mampu menyelesaikan tugas akhir ini dengan baik. Terimakasih atas cinta dan
inspirasi yang tak terhingga.

3. Agus Eko Radityanto, selaku teman sekaligus kakak tersayang penulis yang
sudah memberikan support mental maupun materi.

4. Dr. Sofia Naning Hertiana , ST, MT., selaku pembimbing I yang telah
membimbing dan mengarahkan penulis. Terimakasih atas segala ilmu dan solusi
dari setiap permasalahan yang terjadi dalam proses penyusunan tugas akhir ini.

5. Dr. Yudha Purwanto S.T., M.T, selaku pembimbing II yang tidak henti-henti
menyemangati penulis untuk bisa yakin dan tetap bertahan dalam proses
penyusunan tugas akhir ini. Terimakasih atas solusi dan ilmu yang bermanfaat.

6. Nur Ibrahim, S.T., M.T., selaku dosen wali TT-42-12 yang senantiasa
membantu penulis dari awal sampai akhir masa perkuliahan. Terimakasih atas
ilmu dan arahannya.

7. M. Aulia H, Shafira A, Pietha Tiara, Tiara Marcella, Hanif Faiq, Gustin


Aldiyansyah, Putra Bangsa Gigih R, selaku teman hidup dalam perantauan.
Terimakasih sudah menjadi keluarga yang senantiasa mendukung dan membantu
penulis. Semoga seterusnya bisa menjadi keluarga. Ditunggu kesuksesan besar

ix
atas mimpi yang sudah kita rangkai setiap malam!

8. Averrous Cendikia Islami, Bintang Pamungkas, Adli Cenca, Rizal Faiz,


Adib Wicaksono, Arifitanto Oktarian, Aries Pujie, Christopper, Kevin,
Duro, selaku sahabat terbaik penulis semasa dibandung. Terimakasih sudah
berbagi pikiran, kehidupan, dan kesenangan. Terimakasih sudah memberikan
dukungan yang tidak akan penulis lupakan. Semoga kelak kita tidak akan lupa
apa yang telah terjadi dimasa lampau. Semoga tetap menjadi orang baik yang
bermanfaat. Revolt!

9. HOOLIGANS 2019-2022, sebagai tempat dimana penulis beraktualisasi diri


menjadi pribadi yang lebih berwawasan dan bertanggung jawab. Terimakasih
keluarga, Jaga selalu semangat HOOLIGANS!!!

10. Kreatif Hooligans 2020, terima kasih sudah menjadi keluarga untuk
menyumbang ide-ide kreatif bareng-bareng, BMTH PODCAST dan Power Pride
Satria FU menjadi saksi kita hehe.

11. Asterisk 2020, sebagai tempat berproses mendewasakan diri dan pola pikir.
Terimakasih sudah menjadi keluarga saling bahu membahu mewujudkan apa
yang kita inginkan. Terima kasih!

12. Departemen PMB 2019, sahabat-sahabatku, terima kasih sudah memberikan


wadah untuk penulis berkembang didalam Himpunan dan menjadikan penulis
bagian keluarga kalian.

13. INTI Hooligans 2020, terimakasih sudah menjadi teman hebat dalam
mengembangkan ide-ide kreatif. Jaga satu sama lain! Jangan cepat puas, gass
teruss!!

x
DAFTAR ISI

LEMBAR PENGESAHAN.............................................................................................ii

TUGAS AKHIR...............................................................................................................ii

LEMBAR PERNYATAAN ORISINALITAS...............................................................iii

ABSTRAK.......................................................................................................................iv

ABSTRACT.......................................................................................................................v

KATA PENGANTAR.....................................................................................................vi

UCAPAN TERIMAKASIH...........................................................................................vii

DAFTAR ISI...................................................................................................................ix

DAFTAR GAMBAR......................................................................................................xii

DAFTAR TABEL.........................................................................................................xiii

DAFTAR SINGKATAN...............................................................................................xiv

BAB I PENDAHULUAN.................................................................................................1

1.1 Latar Belakang.....................................................................................................1

1.2 Rumusan Masalah........................................................................................3

1.3 Tujuan dan Manfaat.....................................................................................3

1.4 Batasan Masalah..........................................................................................4

1.5 Metode Penelitian........................................................................................4

1.6 Sistematika Penulisan..................................................................................5

BAB II DASAR TEORI...................................................................................................7

2.1 Algoritma Kriptografi..................................................................................7

2.1.1 Kunci Asimetris...................................................................................9

2.2 Algoritma RSA..........................................................................................10

2.3 Pembuatan Kunci.......................................................................................11

2.4 Kekuatan Algoritma RSA..........................................................................12

2.5 MQTT........................................................................................................12

2.6 Database....................................................................................................14
2.6.1 MySQL..............................................................................................14

2.6.2 PHP MyAdmin....................................................................................15

2.7 Raspberry Pi..............................................................................................15

2.8 Sensor Ultrasonik HC-SR04......................................................................16

2.8.1 Prinsip Kerja Sensor Ultrasonik HC-SR04.........................................17

BAB III PERANCANGAN SISTEM...............................................................................18

3.1 Gambaran Umum Sistem...........................................................................18

3.1.1 Diagram Alir Sistem................................................................................18

3.2 Diagram Alir Algoritma RSA....................................................................19

3.3 Diagram Alir MQTT..................................................................................21

3.4 Spesifikasi Perangkat Penelitian................................................................21

3.4.1 Sarana Perangkat Keras......................................................................22

3.4.2 Sarana Perangkat Lunak.....................................................................22

3.5 Perancangan Topologi Jaringan.................................................................23

3.6 Quality of Service (QoS)............................................................................23

3.7 Response Times Testing.............................................................................24

BAB IV HASIL DAN ANALISIS...................................................................................25

4.1 Pendahuluan..............................................................................................25

4.2 Hasil Rancangan Alat................................................................................25

4.3 Hasil Pengujian dan Analisis Sistem..........................................................26

4.3.1 Analisis Pengujian Avalanche Effect..................................................26

4.3.2 Pengujian Akurasi Data Sebelum di Enkripsi dan Sesudah Data di


Dekripsi ……………………………………………………………………….30

4.3.3 Pengujian Response Times Proses Enkripsi dan Dekripsi...................34

A. Pengujian Response Times Proses Enkripsi dan Dekripsi RSA 1024


Bit…………………………………………………………………………….34

B. Pengujian Response Times Proses Enkripsi dan Dekripsi RSA 2048


Bit……………………………………………………………………………..35

4.3.4 Analisis Pengujian Response Times Proses Enkripsi dan Dekripsi.....36

4.3.5 Tampilan Pengujian Sistem................................................................36

xii
A. Tampilan Halaman Broker.................................................................37

B. Tampilan Halaman Database.............................................................37

C. Tampilan Halaman Output Database.................................................38

D. Tampilan Data Yang Terkirim...........................................................38

4.3.6 Pengujian Throughput Sebelum Enkripsi...........................................39

4.3.7 Analisis Throughput Sebelum Enkripsi..............................................40

4.3.8 Pengujian Packet Loss Sebelum Enkripsi...........................................40

4.3.9 Analisis Packet Loss Sebelum Enkripsi.............................................41

4.3.10 Pengujian Delay Sebelum Enkripsi....................................................41

4.3.11 Analisis Delay Sebelum Enkripsi.......................................................42

4.3.12 Pengujian Throughput Setelah Enkripsi.............................................42

4.3.13 Analisis Throughput Setelah Enkripsi................................................44

4.3.14 Pengujian Packet Loss Setelah Enkripsi.............................................45

4.3.15 Analisis Packet Loss Setelah Enkripsi................................................46

4.3.16 Pengujian Delay Setelah Enkripsi......................................................46

4.3.16 Analisis Delay Setelah Enkripsi.........................................................48

BAB V SARAN DAN KESIMPULAN..........................................................................49

5.1 Kesimpulan................................................................................................49

5.2 Saran..........................................................................................................51

DAFTAR PUSTAKA.....................................................................................................52

LAMPIRAN....................................................................................................................54

xiii
DAFTAR GAMBAR

Gambar 2. 1 Skema enkripsi dan dekripsi dengan menggunakan kunci....................8


Gambar 2. 2 Sistem kerja protokol MQTT.............................................................13
Gambar 2. 3 Tampilan PHP MyAdmin....................................................................15
Gambar 2. 4 Raspberry Pi.......................................................................................15
Gambar 2. 5 Sensor Ultrasonik HC-SR04...............................................................16
Gambar 2. 6 Prinsip kerja sensor ultrasonik HC-SR04...........................................17

Gambar 3. 1 Diagram alir sistem umum.................................................................18


Gambar 3. 2 Diagram alir enkripsi RSA.................................................................19
Gambar 3. 3 Diagram alir dekripsi RSA.................................................................20
Gambar 3. 4 Diagram alir MQTT...........................................................................21
Gambar 3. 5 Topologi jaringan...............................................................................23

Gambar 4. 1 Perancangan alat.................................................................................26


Gambar 4. 2 Pengujian akurasi RSA 1024 bit.........................................................31
Gambar 4. 3 Pengujian akurasi RSA 2048 bit.........................................................33
Gambar 4. 4 Tampilan halaman broker MQTT......................................................37
Gambar 4. 5 Tampilan halaman database di PHP MyAdmin..................................38
Gambar 4. 6 Tampilan output dari database...........................................................38
Gambar 4. 7 Tampilan pesan data yang terkirim.....................................................39
Gambar 4. 8 Tampilan pesan yang terkirim............................................................39
Gambar 4. 9 Pengujian throughput sebelum di enkripsi.........................................40
Gambar 4. 10 Pengujian packet loss sebelum enkripsi............................................41
Gambar 4. 11 Pengujian delay sebelum di enkripsi................................................42
Gambar 4. 12 Pengujian throughput RSA 1024 bit.................................................43
Gambar 4. 13 Pengujian throughput RSA 2048 bit.................................................44
Gambar 4. 14 Pengujian packet loss RSA 1024 bit.................................................45
Gambar 4. 15 Pengujian packet loss RSA 2048 bit.................................................45
Gambar 4. 16 Pengujian delay RSA 1024 bit..........................................................47
Gambar 4. 17 Pengujian delay RSA 2048 bit..........................................................47

xiv
DAFTAR TABEL

Tabel 3. 1 Spesifikasi perangkat keras.....................................................................22


Tabel 3. 2 Spesifikasi perangkat lunak....................................................................22
Tabel 3. 3 Spesifikasi standar menurut ITU-T G.1010 [17].....................................23
Tabel 3. 4 Tabel standar pengujian response times [18]..........................................24

Tabel 4. 1 Hasil pengujian RSA 1024 Bit................................................................26


Tabel 4. 2 Hasil pengujian RSA 2048 Bit................................................................28
Tabel 4. 3 Tabel Korelasi Plaintext dengan Chipertext RSA 1024 Bit....................30
Tabel 4. 4 Tabel Korelasi Plaintext dengan Chipertext RSA 2048 Bit....................31
Tabel 4. 5 Tabel Response Times RSA 1024 Bit......................................................34
Tabel 4. 6 Tabel Response Times RSA 2048 Bit......................................................35

xv
DAFTAR SINGKATAN

RSA = Rivest, Shamir, Adleman

MQTT = Message Queue Telemetry Transport

My SQL = My Structured Query Language


BAB I

PENDAHULUAN

1.1 Latar Belakang

Seiring berjalan waktu Internet of Things (IoT) banyak digunakan dan


dikembangkan dengan pesat, dengan semakin mudah nya seseorang untuk
memperoleh informasi dari berbagai sumber. Proses transfer data dan
proses penyimpanan data di dalam database juga semakin berkembang.
Semakin maju teknologi dalam mengakses informasi kerap disalahgunakan
oleh berbagai pihak yang tidak bertanggung jawab [1]. Informasi tersebut
lah yang harus diberikan keamanan karena tidak menutup kemungkinan
informasi tersebut dapat diakses oleh pihak yang tidak bertanggung jawab
dan menyebabkan kerugian bagi instansi tertentu. Oleh sebab itu penulis
merancang sistem keamanan agar informasi tersebut tidak disalahgunakan.

Dengan latar belakang ketakutan tindakan pencurian data pada saat


pengiriman dan didalam database, penulis merancang sebuah sistem yang
dapat menghindari manipulasi dokumen yang dapat disalah gunakan untuk
kepentingan tertentu. Terdapat beberapa cara pengamanan melalui proses
autentifikasi dengan dukungan kriptografi yang diantaranya adalah
penggunaan algoritma Hash dan pengunaan Cipher Simetrik dan
Asimetrik. Algoritma hash sangat berguna jika user ingin melakukan
pengamanan pesan secara irreversible (satu arah). Sedangakan metode
Cipher simetrik dan asimetrik berguna untuk pengaman yang bersifat
reversible (dua arah) [6].
Ada berbagai macam pengamanan bersifat reversible, salah satunya
algoritma RSA. RSA merupakan proses pengkodean kunci asimetris.
Proses perumusan RSA didasarkan pada Teorema Euler, yang
menghasilkan kunci publik dan kunci privat yang saling terkait [3].
Sekalipun dua kunci yang berbeda digunakan dalam proses enkripsi dan
dekripsi, hasilnya benar. Kunci publik dan pribadi yang digunakan adalah
bilangan prima, dan bilangan prima yang besar direkomendasikan untuk
mencegah upaya cracking karena semakin besar bilangan prima yang
digunakan sebagai kunci, semakin sulit menemukan bilangan besar sebagai
faktor.

Data di kirimkan melalui protokol Message Queue Telemetry


Transport (MQTT). Message Queuing Telemetry Transport (MQTT)
protokol merupakan sebuah protokol yang berjalan diatas stack TCP/IP
dan diran- cang khusus untuk machine to machine yang tidak memiliki
alamat khusus. Maksud dari kata tidak memiliki alamat khusus ini seperti
halnya sebuah arduino, raspi atau device lain yang tidak memiliki alamat
khusus. Sistem kerja MQTT menerapkan Publish dan Subscribe data. Dan
pada penerapannya, device akan terhubung pada sebuah Broker dan
mempunyai suatu Topic tertentu [5].

Data yang dikirimkan melalui protokol MQTT kemudian di teruskan ke


dalam database menggunakan MySQL. MySQL adalah tool yang
digunakan khusus untuk mengolah Structured Query Language (SQL).
SQL sendiri merupakan sebuah bahasa yang digunakan untuk mengakses
baris data relasi. Mudahnya adalah untuk mengakses bahasa dalam
komputer. Data yang telah masuk di dalam database MySQL merupakan
data chipertext sehingga kerahasiaannya terjamin.

2
1.2 Rumusan Masalah

Dalam penelitian ini dirumuskan beberapa masalah sebagai berikut :

1. Bagaimana cara menerapkan sistem enkripsi dan dekripsi pada


pengiriman data melalui MQTT ke database ?

2. Bagaimana tingkat kecepatan pengaman data menggunakan algoritma


RSA dalam sistem ?

3. Bagaimana bentuk data yang terkirim melalui MQTT ke database ?

4. Bagaimana hasil pengukuran Quality Of Services (QoS) pada sistem


yang dibuat ?

1.3 Tujuan dan Manfaat

Tujuan dari Tugas Akhir ini adalah :

1. Dapat menerapkan sistem enkripsi dan dekripsi pada pengiriman data


melalui MQTT ke database.

2. Mengetahui tingkat kecepatan pengamanan data menggunakan


algoritma RSA dalam sistem.

3. Mengetahui bentuk data yang terkirim melalui MQTT ke database.

4. Mengetahui dan mendapatkan hasil pengukuran Quality Of Services


(QoS) pada sistem yang dibuat.

3
Adapun manfaat dari penelitian ini adalah :

1. Mencegah adanya pencurian data.

2. Menambahkan kemampuan untuk pertahanan pada platform IoT


kemampuan untuk menjaga kerahasiaan data yang dikirim dari
perangkat IoT ke server yang tersedia.

4
1.4 Batasan Masalah

Penelitian ini memiliki batasan masalah sebagai berikut :

1. Penerapan sistem menggunakan protokol MQTT.


2. Database yang digunakan menggunakan MySQL.
3. Enkripsi yang digunakan dalam penelitian ini adalah RSA.
4. Dekripsi dilakukan secara otomatis didalam database MySQL.
5. Bahasa pemrogaman yang digunakan adalah python.
6. Tidak dilakukan penyerangan dalam penelitian ini.
7. Data yang digunakan menggunakan sensor ultrasonik HC-SR04 dan
mikrokomputer Raspberry pi.

8. Proses pertukaran dan pembentukan kunci tidak ditampilkan.

1.5 Metode Penelitian

Metodologi Penulisan yang akan penulis lakukan dalam proses


menyelesaikan proyek Tugas Akhir ini terdapat beberapa tahapan, yaitu:

1. Studi Literatur

Studi literatur ini dimaksudkan untuk memahami dan mempelajari


konsep dan teori yang berkaitan dengan perancangan dan implementasi
yang digunakan dalam membuat implementasi pengamanan data ini.

2. Analisis Masalah

Digunakan untuk menganalisis semua permasalahan berdasarkan


sumber - sumber dan pengamatan terhadap permasalahan yang telah di
kemukakan da- lam batasan masalah.

5
3. Perancangan

Merancang sistem yang difokuskan pada proses keamanan data yang


dikirimkan ke protokol MQTT menggunakan RSA. Berupa enkripsi dan
dekripsi.

4. Pengujian sistem dan analisis

Tahap ini dilakukan pengujian terhadap keamanan sistem yang telah


dibangun.

5. Penyusunan Laporan Tugas Akhir

Pada tahap ini, dilakukan penyusunan laporan akhir dan pengumpulan


dokumentasi yang diperlukan, format laporan mengikuti kaidah
penulisan yang benar dan sesuai dengan ketentuan-ketentuan yang telah
ditetapkan oleh institusi.

1.6 Sistematika Penulisan

Sistematika penulisan laporan adalah sebagai berikut:

1. Bab 1 PENDAHULUAN
Bab ini berisi latar belakang, permasalahan, tujuan, metode
penelitian, dan sistematika penulisan.

2. Bab 2 DASAR TEORI

Bab ini berisi penjelasan teori, sistem, dan perlengkapan yang


digunakan.

3. Bab 3 PERANCANGAN

6
Bab ini berisi alur kerja dan alur perancangan sistem.

4. Bab 4 PENGUJIAN DAN ANALISIS


Bab ini berisi langkah simulasi dan pengujian yang dilakukan, hasil
penguji an, dan analisis dari hasil pengujian yang didapat.

5. Bab 5 KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran tugas akhir ini.

7
BAB II

DASAR TEORI

2.1 Algoritma Kriptografi

Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto


berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut
terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan
pesan ketika pesan dikirim dari suatu tempat ke tempat lain [6].

Dalam ilmu kriptografi, terdapat dua buah proses yaitu melakukan


enkripsi dan dekripsi. Pesan yang akan dienkripsi disebut sebagai plaintext
(teks biasa) [14]. Disebut demikian karena informasi ini dengan mudah
dapat dibaca dan dipahami oleh siapa saja. Algoritma yang dipakai untuk
mengenkripsi dan mendekripsi sebuah plaintext melibatkan penggunaan
suatu bentuk kunci. Pesan plaintext yang telah dienkripsi dikenal sebagai
ciphertext . Kriptografi terdiri dari berbagai komponen pendukung, seperti:

1. Enkripsi

Enkripsi sangat penting dalam kriptografi, yaitu metode untuk melindungi


data yang dikirim agar tetap rahasia. Pesan aslinya disebut Teks biasa,
diubah menjadi kode-kode yang sulit dipahami.

2. Dekripsi

Dekripsi merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi


dikembalikan ke bentuk asalnya. Algoritma yang digunakan untuk dekripsi
tentu berbeda dengan yang digunakan untuk enkripsi.

8
3. Kunci

Adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci
terbagi menjadi dua bagian, yaitu private key dan public key.

4. Chipertext.

Merupakan suatu pesan yang telah melalui proses enkripsi. Pesan yang ada
pada teks kode ini tidak bisa dibaca karena berupa karakter-karakter yang
tidak mempunyai makna.

5. Plaintext.

Sering disebut dengan teks asli atau teks biasa ini merupakan pesan yang
diketik yang memiliki makna. Teks asli inilah yang diproses menggunakan
algoritma kriptografi untuk menjadi chipertext (teks-kode).

6. Cyptanalysis.

Ini dapat dipahami sebagai analisis kode atau sains, dan teks asli dapat
diperoleh tanpa mengetahui kunci yang valid. Jika teks kode berhasil
diubah ke teks asli tanpa menggunakan kunci yang valid, prosesnya disebut
cracking kode. Ini dilakukan oleh seorang cryptanalyst. Analisis kode juga
dapat menemukan kelemahan dari algoritma kriptografi, dan akhirnya
dapat menemukan kunci teks asli dari teks yang dikodekan yang dienkripsi
dengan algoritma tertentu.

Gambar 2. 1 Skema enkripsi dan dekripsi dengan menggunakan kunci.

9
Seperti dapat dilihat dari Gambar 2.1, enkripsi adalah proses
perubahan plaintext menjadi ciphertext, dan dekripsi adalah proses
mengubah ciphertext menjadi plaintext. Plaintext diwakili oleh M atau P.
Ciphertext diwakili oleh C. Fungsi enkripsi dilambangkan dengan E,
sehingga M diubah menjadi C [7]. Dalam notasi matematika dapat
dituliskan sebagai berikut:

E(M)=C

Fungsi Dekripsi megubah ciphertext, C kembali kepada pesan


plaintext, M.

Dalam notasi matematika dapat ditulis sebagai berikut:

D(C)=M

Kriptografi modern saat ini menggunakan kunci sebagai


kekuatannya selama enkripsi dan dekripsi. Kunci yang digunakan dapat
berupa karakter atau bilangan bulat. Dengan menggunakan kunci K, fungsi
enkripsi dan dekripsi dapat dituliskan dalam notasi matematika sebagai
berikut:

EK(M)=C

DK(C)=M

2.1.1 Kunci Asimetris 

Kunci asimetris adalah pasangan kunci kriptografi yang salah


satunya digunakan untuk proses enkripsi dan yang satunya lagi untuk
dekripsi. Semuaorang yang mendapatkan kunci publik dapat
menggunakannya untuk mengenkripsikan suatu pesan, data maupun
informasi, sedangkan hanya satu orang saja yang memiliki rahasia tertentu
dalam hal ini kunci privat untuk melakukan pendekripsian terhadap sandi
yang dikirim untuknya [3].

10
2.2 Algoritma RSA

RSA merupakan algoritma kriptografi kunci publik (asimetris).


Ditemukan pertama kali pada tahun 1977 oleh Ron Rivest, Adi Shamir, dan
Len Adleman. Nama RSA sendiri diambil dari ketiga penemunya tersebut.
Sebagai algoritma kunci publik, RSA mempunyai dua kunci, yaitu kunci
publik dan kunci rahasia. RSA mendasarkan proses enkripsi dan
dekripsinya pada konsep bilangan prima dan aritmetika modulo. Baik
kunci enkripsi maupun dekripsi keduanya merupakan bilangan bulat. Kunci
enkripsi tidak dirahasiakan dan diberikan kepada umum sehingga disebut
dengan kunci publik, namun kunci untuk dekripsi bersifat rahasia (kunci
privat).

Untuk menemukan kunci dekripsi, dilakukan dengan memfaktorkan


suatu bilangan bulat menjadi faktor-faktor primanya. Kenyataannya,
memfaktorkan bilangan bulat menjadi faktor primanya bukanlah pekerjaan
yang mudah. Karena belum ditemukan algoritma yang efisien untuk
melakukan pemfaktoran. Cara yang bisa digunakan dalam pemfaktoran
adalah dengan menggunakan pohon faktor. Jika semakin besar bilangan
yang akan difaktorkan, maka semakin lama waktu yang dibutuhkan. Jadi
semakin besar bilangan yang difaktorkan, semakin sulit pemfaktorannya,
semakin kuat pula algoritma RSA[15].

Tingkat keamanan algoritma penyandian RSA sangat tergantung


pada ukuran kunci sandi (dalam bit). Semakin besar ukuran kunci, maka
semakin sulit juga penyadap terjadi. Kombinasi kunci ini lebih dikenal
dengan istilah brute force attack yang bila panjang kuncinya 256 bit, maka
menjadi tidak ekonomis dan sia-sia jika hacker pun meyadap sandi [15].

11
2.3 Pembuatan Kunci

Algoritma pembangkit kunci ada 2 bilangan prima besar yaitu n = p


x q sangat sulit untuk difaktorisasikan. Di rekomendasikan besar p dan q
adalah 512 bit sehingga n berukuran 1024 bit. Karena p dan q adalah
bilangan prima,

maka n =(p – 1 ) (q – 1). Kemudian pilih sebuah integer e dipilih


secara acak dari Ƶɸ(n) yang memenuhi gcd(e,ɸ(n)) sehingga e merupakan
generator pada Ƶɸ(n). Selanjutnya algoritma pembangkit kunci RSA
menghitung d invers perkalian e pada Ƶɸ(n). Pada akhirnya algoritma
pembangkit kunci RSA menetapkan (e,n) sebagai kunci publik dan d
sebagai kunci privat atau tetap dirahasiakan. Langkah-langkah dalam
pembangkit kunci RSA:

1. Pilih dua buah bilangan prima sembarang p dan q. nilai p dan q


harus dirahasiakan.

2. Hitung nilai n dari rumus, n – p x q. Besaran n tidak perlu


dirahasiakan

3. Hitung m = (p – 1) (q – 1). Bersaran m perlu dirahasiakan

4. Dipilih sebuah bilangan bulat sebgai kunci publik, disebut


namanya e, yaitu relatif prima terhadap m. e relatif prima terhadap
m artinya faktor pembagi terbesar keduanya adalah 1, secara
matematis disebut gcd (e,m)=1. Untuk mencarinya dapat
digunakan algoritma Euclid. Nilai e bersifat tidak rahasia.

Hitung kunci privat, disebut namanya d sedemikian agar (d x e) mod


m=1. Untuk mencari d yang sesuai dapat juga digunakan algoritma
Extended Euclid Maka hasil dari algoritma tersebut diperoleh Kunci public
adalah pasangan (e,n) bersifat tidak rahasia, Kunci privat adalah pasangan
(d,n) bersifat rahasia [14].

12
2.4 Kekuatan Algoritma RSA

Keamanan algoritma RSA terletak pada tingkat kesulitan dalam


memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam
hal ini r = p x q. Sekali r berhasil difaktorkan menjadi p dan q, maka ɸ(r) =
(p – 1) (q – 1) dapat dihitung. Selanjutnya, karena kunci enkripsi PK
diumumkan (tidak rahasia), maka kunci dekripsi SK dapat dihitung dari
persamaan PK.SK = 1 (mod ɸ(r)).

Penemu algoritma RSA menyarankan nilai p dan q panjangnya lebih


dari 100 digit. Dengan demikian hasil kali r = p x q akan berukuran lebih
dari 200 digit. Menurut Rivest dan kawan-kawan, uasaha untuk mencari
faktor bilangan 200 [14].

2.5 MQTT

Message Queue Telemetry Transport (MQTT) adalah sebuah


protokol komunikasi data machine to machine (M2M) yang berada pada
layer aplikasi, MQTT bersifat lightweight message artinya MQTT
berkomunikasi dengan mengirimkan data pesan yang memiliki header
berukuran kecil yaitu hanya sebesar 2 bytes untuk setiap jenis data,
sehingga dapat bekerja di dalam lingkungan yang terbatas sumber dayanya
seperti kecilnya bandwidth dan terbatasnya sumber daya listrik, selain itu
protokol ini juga menjamin terkiriminya semua pesan walaupun koneksi
terputus sementara, protokol MQTT menggunakan metode
publish/subscribe untuk metode komunikasinya [5].

Publish/subscribe sendiri adalah sebuah pola pertukaran pesan di


dalam komuunikasi jaringan dimana pengirim data disebut publisher dan
penerima data disebut dengan subscriber, metode publish/subscribe

13
memiliki beberapa kelebihan salah satunya yaitu loose coupling atau
decouple dimana berarti antara publisher dan subscriber tidak saling
mengetahui keberadaannya, terdapat 3 buah decoupling yaitu time
decoupling, space decoupling dan synchronization decoupling, time
decoupling adalah sebuah kondisi dimana publisher dan subscriber tidak
harus saling aktif pada waktu yang sama, space decoupling adalah dimana
publisher dan subscriber aktif di waktu yang sama akan tetapi antara
publisher dan subscriber tidak saling mengetahui keberadaan dan identitas
satu sama lain, dan yang terakhir adalah synchronization decoupling
kondisi dimana pengaturan event baik itu penerimaan atau pengiriman
pesan di sebuah node hingga tidak saling mengganggu satu sama lain [10].

Pengiriman data pada MQTT didasari oleh topik, topik ini nantinya
yang akan menentukan pesan dari publisher harus dikirim pada subscriber
yang mana, topik ini dapat bersifat hirarki, MQTT topik memiliki tipe data
string dan untuk perbedaan hirarki atau level dari topik digunakan tanda
baca “/” [11].

Gambar 2. 2 Sistem kerja protokol MQTT.

Beberapa istilah penting dalam Protokol MQTT :

1. Publish adalah peran yang memberikan suatu pesan kepada “topik”


tertentu

14
2. Subscribe adalah peran yang menerima suatu pesan dengan topik yang
sama.

3. Topic adalah suatu informasi yang ada pada Broker.

4. Messages adalah data yang kita kirim.

5. Broker  merupakan pusat komunikasi pada MQTT.

2.6 Database

Database merupakan kumpulan informasi atau data yang


terintegrasi dengan baik yang tersimpan di dalam komputer. Untuk
mengolah database diperlukan sebuah perangkat lunak yang disebut
Database Management System (DBMS). DBMS merupakan suatu sistem
perangkat lunak yang memungkinkan pengguna untuk membuat,
memelihara, mengontrol dan mengakses database secara praktis dan
efisien [9]. Database server membagi data yang berada dalam database
melalui jaringan. Salah satu contoh dari perangkat lunak DBMS yang
sering digunakan dalam aplikasi program yaitu MySQL.

2.6.1 MySQL

MySQL adalah salah satu jenis database server yang sangat


terkenal. Kepopulerannya disebabkan Mysql menggunakan SQL
sebagai bahasa dasar untuk mengakses databasenya. Mysql
termasuk jenis Relational Database Management System
(RDBMS). Pada Mysql, sebuah database mengandung satu atau
sejumlah tabel. Tabel terdiri atas sejumlah baris dan setiap baris
mengandung satu atau beberapa kolom. Untuk mengelola
database Mysql ada beberapa cara yaitu melalui prompt DOS
(tool command line) [8].

15
2.6.2 PHP MyAdmin

PHP myAdmin merupakan front-end mysql berbasis web dan


dibuat dengan menggunakan PHP [9]. Php myAdmin mendukung
berbagai fitur administrasi mysql termasuk manipulasi database,
tabel, index dan juga dapat mengeksport data ke dalam berbagai
format data. Tampilan PHP myAdmin seperti gambar 2.3.

Gambar 2. 3 Tampilan PHP MyAdmin.

16
2.7 Raspberry Pi

Gambar 2. 4 Raspberry Pi.

Raspberry Pi merupakan mini komputer atau microcomputer


seukuran kartu kredit yang dapat digunakan untuk menjalankan program
perkantoran, permainan komputer dan sebagai pemutar media. Raspberry
Pi dikembangkan oleh yayasan nirlaba Raspberry Pi Foundation dengan
tujuan untuk meningkatkan minat pendidikan sains komputer. Komputer
berukuran kecil dengan nilai yang bisa dijangkau oleh masyarakat ini bisa
menjadi alat yang multifungsional. Terdapat juga konektor input dan
output serta perangkat keras komputer itu sendiri pada papan sirkuit cetak.
Raspberry Pi model B ini juga memiliki port HDMI dan keluaran video
komposit, empat buah port USB tipe 2.0, satu buah port Ethernet 10/100,
dan slot kartu microSD, serta konektor bertipe GPIO serta pada audio
disertai output audio bertipe analog [16].

17
2.8 Sensor Ultrasonik HC-SR04

Gambar 2. 5 Sensor Ultrasonik HC-SR04.

Sensor Ultrasonik HC-SR04 adalah perangkat yang sering


digunakan untuk mengukur jarak dari suatu objek. Sensor ini memiliki 2
komponen yaitu ultrasonik transmiter sebagai pemancar suara dan
ultrasonik receiver sebagai penerima suara. Jarak maksimal yang dapat
diukur sekitas 3-4 meter [2].

Sensor ultrasonik HC-SR04 memiliki 4 pin, yaitu:

1. VCC, pin ini akan dihubungkan pada tegangan 5 volt.

2. Tring, pin ini berfungsi sebagai pengirim gelombang.

3. Echo, pin ini berfungsi sebagai penerima gelombang pantul.

4. GND, pin ini akan dihubungkan pada ground.

18
2.8.1 Prinsip Kerja Sensor Ultrasonik HC-SR04

Gambar 2. 6 Prinsip kerja sensor ultrasonik HC-SR04.

Pada gambar 2.6 dapat dijelaskan bahwa sensor


ultrasonik akan memancarkan gelombang yang memiliki
frekuensi 40 kHz, lalu gelombang yang dipancarkan akan
merambat sebagai gelombang bunyi dengan kecepatan 310 m/s.
Ketika gelombang tersebut mengenai objek, maka gelombang
tersebut akan dipantulkan oleh objek, lalu setelah gelombang
pantul sampai ke alat penerima, maka gelombang tersebut akan
diproses untuk mengetahui jarak dari suatu objek tersebut.

19
BAB III

PERANCANGAN SISTEM

3.1 Gambaran Umum Sistem

Perancangan sistem ini dapat diliihat secara menyeluruh pada


diagram blok yang ditunjukkan pada gambar berikut ini.

3.1.1 Diagram Alir Sistem

Diagram alir sistem dapat dilihat dalam gambar berikut:

20
Gambar 3. 1 Diagram alir sistem umum.

Dalam Gambar 3.1, menjelaskan bahwa bagaimana proses simulasi


ini akan dilakukan. Awalnya, sensor ultrasonik mendeteksi jarak, setelah
itu data sensor ultrasonik di enkripsi menggunakan metode RSA menjadi
chipertext. Data yang sudah berbentuk chipertext di masukkan ke dalam
MQTT. Data yang telah di masukkan akan di simpan sementara dalam
MQTT broker. Apabila data yang ditampilkan didalam broker masih
berbentuk plaintext maka akan dilakukan enkripsi ulang, namun apabila
data yang ditampilkan didalam MQTT broker sudah berbentuk chipertext
maka akan dikirimkan oleh subscribers kedalam database MySQL.
Didalam database chipertext akan di dekripsi secara otomatis sehingga
21
data yang di tampilkan didalam database berupa chipertext dan
dekripsinya.

3.2 Diagram Alir Algoritma RSA

Diagram alir algoritma enkripsi RSA dapat dilihat pada gambar 3.2.

Gambar 3. 2 Diagram alir enkripsi RSA.

Gambar 3.2 menunjukan bagaimana proses enkripsi algoritma RSA


yang diawali dengan input data sensor. Setelah itu menentukan panjang
kunci RSA yang akan digunakan. Lalu dilakukan pembangkitan kunci
publik menggunakan PKCS1_OAEP untuk melakukan enkripsi dengan
menentukan bilangan prima yang akan dilakukan secara otomatis oleh
sistem. Kemudian enkripsi diproses sampai akhirnya menghasilkan
chipertext.

22
Gambar 3. 3 Diagram alir dekripsi RSA.

Gambar 3.3 merupakan proses dekripsi yang dimulai dengan


pembentukan kunci private menggunakan PKCS1_OAEP dengan
menentukan bilangan prima yang akan dilakukan secara otomatis oleh
sistem. Kemudian input pesan yang sudah dienkripsi (Chipertext).
Pendekripsian teks diproses hingga menghasilkan plaintext kembali.

23
3.3 Diagram Alir MQTT

Gambar 3. 4 Diagram alir MQTT.

Pada gambar 3.4 dijelaskan diagram alir dari proses MQTT.


Publisher MQTT mengirimkan data chipertext dan topik ke broker. Setelah
itu subcribers akan menambahkan atau menangkap chipertext melalui topik
yang sudah ditentukan. Apabila topik yang ditambahkan oleh subcribers
tidak sesuai dengan topik yang ditentukan publisher maka data tidak akan
sampai di subcribers. Setelah itu data yang masih berbentuk chipertext
akan dikirimkan kedalam database MySQL.

3.4 Spesifikasi Perangkat Penelitian

Dalam penelitian ini digunakan beberapa alat penunjang yang


dibagi menjadi dua yaitu, sarana perangkat keras dan sarana perangkat
lunak.

24
3.4.1 Sarana Perangkat Keras

Sarana perangkat keras yang digunakan berupa laptop, mikro


komputer dan sensor dengan spesifikasi sebagai berikut:

Tabel 3. 1 Spesifikasi perangkat keras.

No Jenis Tipe
.

1. Unit Pemroses Sentral AMD Ryzen 3 3200U with Radeon


Vega Mobile Gfx 2.60 GHz.

2. Memori Akses Acak 8,00 GB.

3. Grafik NVIDIA GeForce MX230.

4. Mikro Komputer Raspberry Pi 4 model B.

5. Sensor Ultrasonik HC-SR04.

3.4.2 Sarana Perangkat Lunak

Perangkat lunak ini merupakan sarana yang berupa program


komputer. Perangkat lunak yang digunakan untuk menunjang penelitian ini
dapat dilihat pada Tabel 3.2.

Tabel 3. 2 Spesifikasi perangkat lunak.

No. Jenis Tipe

1. Sistem Operasi Windows 10 Home Single Language.

2. Aplikasi Visual Studio Code dan Command


Prompt.

25
3.5 Perancangan Topologi Jaringan

Gambar 3. 5 Topologi jaringan.


Berdasarkan gambar 3.5 terlihat jika alur dimulai dari pengiriman
data sensor menuju protokol MQTT. Setelah itu data didalam MQTT akan
diteruskan ke database melalui broker dalam bentuk chipertext. Didalam
database data akan ditampilkan dalam bentuk chipertext dan akan
dilakukan dekripsi secara otomatis menjadi plaintext.

3.6 Quality of Service (QoS)

Pengujian ini dilakukan menggunakan beberapa parameter, yaitu


delay dan packet loss. Pengujian pengukuran ini dilakukan menggunakan
aplikasi wireshark dan mengikuti standarisasi ITU-T G1010. Table
standarisasi QoS yang dipakai adalah sebagai berikut.

Tabel 3. 3 Spesifikasi standar menurut ITU-T G.1010 [17].


Degree of Typical Key performance parameters and tar
Application get values
symmetry amount
Medium of

data

One-way Delay var Information l


delay (No iation oss
te)

26
Low priority Primarily o
Data transactions ne-way < 10 KB < 30 s N.A. Zero

Command/ Two-way
Data ~ 1 KB <250 ms N.A. Zero
control

3.7 Response Times Testing

Pengujian Response Times dilakukan untuk mengetahui apakah


sistem enkripsi dan dekripsi yang dilakukan sudah termasuk standarasi
baik atau tidak.

Tabel 3. 4 Tabel standar pengujian response times [18].

Waktu Response Keterangan

< 0,1 s Baik

0,1 s – 6 s Cukup

>6 s Buruk

27
BAB IV

HASIL DAN ANALISIS

4.1 Pendahuluan

Setelah proses perancangan sistem dan simulasi pada bab


sebelumnya, perlu dilakukan analisa hasil simulasi untuk kedua skenario
simulasi. Simulasi pertama untuk mengetahui kualitas metode enkripsi
RSA untuk proses pengiriman data melalui protokol MQTT dan di dalam
database.

Parameter-parameter yang akan diuji pada bab ini adalah sistem


dapat mengirim data ke database melalui protokol MQTT. Lalu tingkat
kecepatan enkripsi data pada sistem. Selanjutnya proses dekripsi dapat
dilakukan secara otomatis didalam database. Parameter ini dilihat hasilnya
untuk kedua jenis skenario. Skenario pertama pengujian pada metode RSA
menggunakan kunci sebesar 1024 bit. Sedangkan untuk skenario kedua
menggunakan metode RSA dengan kunci sebesar 2048 bit.

Kedua skenario dilakukan pengujian untuk mendapatkan lama


proses data untuk di enkripsi dan di dekripsi. Lalu mendapatkan hasil dari
kualitas pengiriman data menuju database.

4.2 Hasil Rancangan Alat

Perangkat keras yang digunakan pada Tugas Akhir ini terdiri dari
sensor ultrasonik HC-SR04, V-Gen 8GB Micro SD, dan mikrokomputer
Raspberry Pi 4 model B. Sensor diarahkan ke sekitar untuk mendapatkan
hasil data dari sensor.

28
Gambar 4. 1 Perancangan alat.

4.3 Hasil Pengujian dan Analisis Sistem

Pengujian dan analisis pada sistem dapat dilihat pada hasil berikut:

4.3.1 Analisis Pengujian Avalanche Effect

Pada pengujian Avalanche Effect yang dilakukan pada sistem


menggunakan RSA 1024 dan 2048 bit dengan mengganti 1 bit pada
plaintext. Berikut variabel uji yang digunakan oleh algoritma tersebut
menggunakan scenario yang telah ditentukan sebelumnya.

Tabel 4. 1 Hasil pengujian RSA 1024 Bit.

Testcase 1 RSA 1024 Bit.

Public Key Generate Random Primes

Private Key Generate Random Primes

29
Plaintext 60.201250140093491

Chipertext *;\xf6\xda\xfe,R\xd2#\xce\xe5\x89\x05\xafG\xc3\xbb\
x06\x88\t\xdf\x00\xd8X\x8d\x07\xc0>3*\xb2ri\xd7\
xbb}\xb6\xd6\xaa\xa3\xf8Tt\xd9\\xf0(f\xac\xed/\x0bO\
xd3\x9e7i^\xd7\xfe\x02\x80\x02|\xeb\xf5\x1c\x07\xe2\
x06%\xa9];\xcfF\x9epR^\x9e\x04Mt\xab\xfb@\xd0\
x8b\x07%\x16\x8fE\xe4\x02*\xc4m\x822\xeb\\\xeb\
xf5\x15\xe0&;\x00\x96\x88\xbdpSLouV\x82\xbf\x0b\
x1a\xc1(z\x0f\x8ca

Decrypt Text 60.201250140093491

Testcase 2 RSA 1024 Bit

Public Key Generate Random Primes

Private Key Generate Random Primes

Plaintext 65.201250140093491

Chipertext F\\x8e\\x9c<\\x12\\xc7\\x07\\xe6\\x87\\x1fA\\xe8\\xde\\
xf3\\x1ab\\x16Bb\\xff\\x03\\x95E\\xa0\\xb9\\x06\\xd4\\
xc0\\xe2\\xc7\\x81\\xf2c\\xb5\\xe0\\x8a\\x80\\xb5\\xb6\\
x895\\xe7\\x1cF\\xa9^p\\x94\\x18\\x90\\xb1\\xcf;M\\
x982\\xa334\\x82\\x9a\\x99F\\x11O\\xeer\\xd8\\xdeY\\
xd1\\xdd2\\xc1\\xc6D^PW\\xc22\\x9f\\xe5=\\xe6\\x9d\\
xba?\\x17\\x19\\x84\\xa1~p\\x98L\\x803i\\xbf\\x11\\
xb3\\xf9\\x86\\xc4\\n}\\x8b\\x1e\\x99\\xc5r\\xf8TcO\\
x995\\x00\\xb7\\x9c\\x00\\xa7G\\xd3;\\xbc

Jumlah bit 30/128 x 100% = 23,43%


chipertext
berbeda

Decrypt Text 65.201250140093491

30
Tabel 4. 2 Hasil pengujian RSA 2048 Bit.

Testcase 1 RSA 2048 Bit.

Public Key Generate Random Primes

Private Key Generate Random Primes

Plaintext 60.201250140093491

Chipertext [\n\xe1"\xf7u\x04\xee>\xf3;\x1cj\xb6~\xf0\x00cm\
xebP\xf5G\xd2\xdc/\x83\x8fw\x89u\x94\xad\xad5\
x17e\xc6\xf1\x96\x0f\xf9i$\xf7G\xe0o\xa3\xf3\xd2\
xe9?\xff\xd9\xbeO"\xb180\xd5\xaeWG^P\x91\x14\xeb\
x9cQ\x08\x0e\xf3Tff\xfb\x16\x93\x188\xbd=\tlQ\xad\
xd4\x85\x14\x80\x16\x07]\xaaH\xaf\xd6\xae\xaf\xf5|~\
x18\xc0\x12~j\xa9\xc1(\x13\xd2po\x83N"\x15\xc6f6\
xc5\x81\x1bo\x8d\x7f\xe2A,e>\x98)\xaa\xc6$o\x08\
xd6\xe6M8\xa5(\x18m\xac\xcft\xa9\xa7\xad\xbf\xdd\
x9a{\x90\xfa\xe3]\n\x89\x04/\x926\xd7\xa8\xce\x9a\
xe5\xfc\x95\xb7\xa0\xa7x\x87J\x1c\x1d\x10\x00,\x83!\
xef\xf4T\x11\xe2\x0c\x7f\x8ce!\xba$w\x13XYg"\
x00R{\xc4\xbc/\xfa>\xef\xee\x12\xe88\xe5\x8f+\xb7\
x9e<\xd0\xc0\x03\xaa\xad\xc8\xe2\xd3\x01S\x1a\x06\
xb1i\x9e\x83\xb3\x04\xe1&e\xb1\xbc\xa4\xe7Y J

Decrypt Text 60.201250140093491

Testcase 2 RSA 2048 Bit.

Public Key Generate Random Primes

Private Key Generate Random Primes

Plaintext 65.201250140093491

Chipertext \x8b\xee\x14\xe7\xc8\xd7\xfc\xba\x1bI\x89\xfek\n^b\
xee\xd7F\x0cN}Y\xd5\xd6\xab\x02\xde\xd7P\x10\

31
xa8LO\x91\x8a}\xc4?\x8f\xb4/+s\xe5g\xd7)1;+\x92v4\
xa7\x18\x97;,*\xdb\xeeJ\x1bZ\xebs\xd0v\xffx\x02\xb2\
xf9\x15\x14\xc7\xd0\xc0\xdb\xb2\x88\xa1\x0e\xcd\x16\
xeb\xc1\xdc\xc7EC\xc3:FEH\\\x11v\x04\xd7FV`\xad\
xd24\xe0\x08R\x19\x8f\xd8C\x1f\xef\xe0F\x1dW\xbc\
xcb\x19\xc1\x83\x93\x8c\xcf\xbf\xe2\xe8\x8e83;V\
xa6N[T\x1d\x14%\xce\xb3>R\xa2\xb9\x04r\x1cE0/\
xe5\xb9\x1b\x03\xc8\xa3:\xdf_\xa6\xd8\xc1\x027mW\
xb1x*>\x1a\x12\xe6\xdam\xe9j(=X\x938jqz\x190\x18\
xe0\xdfd\xcf,\xc4\xdf\xc1G\x0b\x90\x962\xc15\xe8`\
x02\x15]Y\x90\xa9\x93?\xa5K\x85\xb4\xde\x9e\xc6c\
x18\xb8\xe5\xf6\xa8\xd7\xd5\xe8I\xa2\x9bU\xac\xa5H\
xc3\x7f\x1d\xcd\x0c\x9e}\x00\xf8B~\xfe

Jumlah bit 27/256 x 100% = 10,55%


chipertext
berbeda

Decrypt Text 65.201250140093491

Berdasarkan tabel 4.1 dan 4.2 pengujian Avalanche Effect pada


RSA 1024 bit menghasilkan 23,43% untuk chipertext nya. Sedangkan
pada RSA 2048 bit menghasilkan 10,55% untuk chipertext nya. Karena
metode RSA merupakan algoritma block chipper yang bersifat asimetrik
sehingga tidak menghasilkan key stream. Pengujian Avalanche Effect
menggunakan pergantian 1 bit pada plaintext RSA karena pada
pembentukan kunci public dan private nya di generate secara acak.

32
4.3.2 Pengujian Akurasi Data Sebelum di Enkripsi dan Sesudah Data di
Dekripsi

Pengujian ini dilakukan untuk mendapatkan hasil dari akurasi


keaslian data yang di enkripsi (chipertext) dengan data yang di dekripsi
(plaintext) pada database menggunakan metode RSA 1024 dan 2048 bit
berdasarkan jumlah data yang digunakan yaitu 10, 20, dan 30 data. Hasil
dari pengujian dapat dilihat pada gambar 4,2 dan gambar 4.3. Pada tabel
4.1 dan 4.2 ditunjukkan korelasi antara plaintext dengan chipertext pada
RSA 1024 dan 2048 bit.

Tabel 4. 3 Tabel Korelasi Plaintext dengan Chipertext RSA 1024 Bit.

Data Sensor Enkripsi RSA 1024 Bit Dekripsi RSA 1024 Bit

63.406240940093994 \\x04\\xcf\\x80\\xcc(O\\x82\\xf1\\x80\\ 63.406240940093994


x11kg\\x1a(Y~\\xc0\\xc8\\xd9\\xf1fc\\
xe7\\x9f\\xee\\x85;\\xbc\\xa6\\
xdebX5\\x8e\\xc5\\xa2z5\\xb7Oza\\
x00\\xe3\\x98!\\xa3\\x86FX\\xd1\\
xd4Ew\\x98\\xfdq\\x9a\\x90\\xf71\\
x95\\x9fm\\xbfd'\\xbd\\x12H\\xa4\\
xdb\\xc6\\xec\\x94\\x9eb\\x8c\\n\\
xeb\\t\\x87P\\xf6\\xcf'\\xb2\\x1e\\xd2\\
x86\\xe4\\x95\\x02k\\xf4J\\xbb\\
xbem\\xc0\\x9f\\xf7d\\xb2:b\\x1f\\
x02\\xe2\\n\\xa95M3\\x15\\xf1\\x0cs\\
xf5\\x9f\\x9fT\\x9126\\xc6\\x88\

60.201250140093491 L\xde\xf1k\x89\x10\x86\xe5h]\xa6\ 60.201250140093491


x02rm\\@\xe3\xdd\xb4\x0f\xfeR\x93\
xa6\xe6\x11\xd4\xa0\xba\x11\xbdX\
xa7\xb2\x00V/!\xa1\x10%fu\xae2\
x13\x81\x02z\xe0\xdc\x1d\xa9\xe51\
xa6\x99B\xcf7\x13\xba\x87\xe26n\
xde\x1a\x86$)k_\xe4R9RNE~\x80#\
x8dt=<?~\x9b\xbc\x999r\xc0\x98w\
xea\x07;\xcd\xab4{\x10!\x8c\xeb\

33
xb12\xbe8L\x9d\x91,\x1ev\xb8v\
x0b#\x07\xa54*\x88\x1eL

Gambar 4. 2 Pengujian akurasi RSA 1024 bit.

Dari hasil pengujian yang ditunjukkan pada gambar 4.2 didapatkan


akurasi keaslian data yang di enkripsi (chipertext) dengan data yang di
dekripsi (plaintext) pada database menggunakan RSA 1024 bit
berdasarkan jumlah data yang digunakan yaitu 10, 20, dan 30 data sebesar
100,00%. Pada tabel 4.1 ditunjukkan korelasi antara plaintext dengan
chipertext dengan menunjukkan data sensor sebelum dienkripsi dan data
sensor setelah didekripsi menggunakan RSA 1024 bit.

Tabel 4. 4 Tabel Korelasi Plaintext dengan Chipertext RSA 2048 Bit.

Data Sensor Enkripsi RSA 2048 Bit Dekripsi RSA 2048 Bit

52.554250121093464 \xac\x86\xdf\xf5\xc7\x96\xa0I\ 52.554250121093464


xec\xea\x069\xf0\xb1N;\xbe1|
H<E\xf8g\x8eJ\xe8\xa1\xb1\
x8a\xee\x8a\xd3i\xc9Q\xfb\
x91+Bv}D\xb2\xd2y\xecz\xae\
xe3\xba\xba\xd5\xc1\xfe\x91\
x15\x04\xb9IwO\x15/\xe2\xe5\
xf6"vu\x9b$\xab\xd9\xfa=\
xe8#:9\xf7\x9b\x94{J\xfa\xd4\

34
x8a\x1b\x9f\xc9r=\x15S\xc6X\
xd6\x1bVC\xe0\x13\x92pO\
x05\x7f,\x8e(\xfbBg\x14\'\xdc\
xf0\xef\xbd\xd5OROH\xefE\
xdblX\xd8\xdbG\x88_\xac\
x93-)\xabJ\xfb\xefzE\xa4\
xd7sd\x18\xd5Yi\xf3Djc\
x972]M\xf7,f\x12\x14\xca\xb9\
xa6\x1fH\x1e\x94\xcc\xeeF\
x86\x97\xcb\xf9\xb7\xc1\xb4\
xf0\xaf\x85\x00\xe3\xc6\x19M\
xc7~\xd1DZ=R&3\x9c\xcb\xfe\
xa6\xa2\xd5\xcc\xe3<\xce=\
x9dR\x97u\xd3\xd0\xb6\xa4<\
xf8_,\xf1+{\xc9K\xc4X\x07\
xa30V\xe2\xb0\xff\x97\x92\
xc3p\xb5\xe7\xcdA\t7\xf7\
xe6eW\xe2

58.394220221463412 Y\\xf3\\x82C\\xeb\\x8d\\xe6e\\ 58.394220221463412


xa5jo\\xda4]\\xb7`\\xb4\\n\\
x148\\xf8\\xdf\\x0brx\\x1f\\xf8\\
xbe'3c\\xfd\\xdf\\xab\\x9c@\\
xe2p=\\xb6\\x82\\x0c\\xee\\
x99*\\xcf\\xeb\\xd5\\x0brY\\
xb7M^\\xbd3@4\\x89\\x00$\\
xfat7U\\x9dL\\xb1)\\xf0!a\\
x90\\r&\\xf6\\xc7\\xe4\\x1e\\
xd5\\x9c\\x96\\x9e\\xf2\\xfa\\
x92\\xfdu\\xaba0\\x15\\x02\\
x8e\\xe3*^\\x88X\\x17D\\xd9\\
x97U\\x7f&\\xb0\\xc2 \\xbc;\\
xff[u{w\\xb9\\x94\\xa9d\\x1c\\
xf8\\xb2\\xaaaj\\xce\\xdeS\\
xb4r\\xe0s\\x8e\\xbb\\xb9\\xb1\\
xbfAY\\xcd(I\\x91\\xec\\t\\
xafMP\\xd0;XY\\x8f\\x9a\\x85\\
x7f\\x14t\\x19o\\x16r\\x90\\

35
xd7\\x86<\\x1brtH\\x19\\xb2\\
xd1\\x8c\\x0e\\xc49\\xb93\\xaf\\
x9d z\\xfc\\xfcS{\\xbeN\\xf0\\
xff\\x11\\x8d\\xa8\\xcc\\xf3\\
x7f\\xb1\\xfaD7`X#V\\xdb\\
xcdq<8(\\xa5\\x0e\\xe9yxg\\
x98\\xf6\\xb3\\\\\\x89|\\x83s\\
xb3\\t\\xecVA5\\x94\\x9c\\xea\\
xc1\\x93\\xf7\\x1fe\\x1a9A\\
xff\\xa3\\x9f\\x06#\\x8d\\
xc0T3\\xf4\\xd7\\xea\\xb6\

Gambar 4. 3 Pengujian akurasi RSA 2048 bit.

Dari hasil pengujian yang ditunjukkan pada gambar 4.3 didapatkan


akurasi keaslian data yang di enkripsi dengan data yang di dekripsi pada
database menggunakan RSA 2048 bit berdasarkan jumlah data yang
digunakan yaitu 10, 20, dan 30 data sebesar 100,00%. Pada tabel 4.2
ditunjukkan korelasi antara plaintext dengan chipertext dengan
menunjukkan data sensor sebelum dienkripsi dan data sensor setelah
didekripsi menggunakan RSA 2048 bit.

36
4.3.3 Pengujian Response Times Proses Enkripsi dan Dekripsi

Pada bagian ini, dilakukan pengujian Response Times pada sistem


saat melakukan proses enkripsi dan dekripsi. Pada bagian ini dilakukan
pengujian dengan menghitung time pada sistem dengan menggunakan
skenario RSA 1024 dan 2048 bit menggunakan jumlah data sebanyak
10,20, dan 30 data.

A. Pengujian Response Times Proses Enkripsi dan Dekripsi RSA 1024 Bit.

Tabel 4. 5 Tabel Response Times RSA 1024 Bit.

Banyak
Ukuran Ukuran Waktu Waktu
Data
Plaintext (bit) Chipertext (bit) Enkripsi Dekripsi
Sensor

(milisecond) (milisecond)

10 18 128 856,22 2075,42

20 18 128 886,08 2164,17

30 18 128 895,89 2329,9

Rata-rata 879,4 2189,83

Dari hasil pengujian Response Times menggunakan metode RSA


1024 bit didapatkan hasil dari pengujian enkripsi menggunakan jumlah
data sebanyak 10, 20, dan 30 data dengan ukuran plaintext dari masing-
masing message sebesar 72 bit dan 1024 bit untuk ukuran chipertext adalah
856,22 ms, 886,08 ms, dan 895,89 ms. Sedangkan Response Times untuk
dekripsi didapatkan hasil sebesar 2075,42 ms, 2164,17 ms, dan 2329,9 ms.
Untuk rata-rata hasil Response Times pada enkripsi RSA 1024 bit
didapatkan sebesar 879,4 ms. Sedangkan rata-rata hasil Response Times
dekripsi pada RSA 1024 bit didapatkan sebesar 2189,83 ms. Untuk hasil

37
response times enkripsi RSA 1024 bit cukup baik karena berada di bawah
0,1 s, sedangkan untuk response times dekripsi RSA 1024 bit cukup baik
karena berada di rentang nilai 1 s – 6 s .

B. Pengujian Response Times Proses Enkripsi dan Dekripsi RSA 2048 Bit.

Tabel 4. 6 Tabel Response Times RSA 2048 Bit.

Banyak
Ukuran Ukuran Waktu Waktu
Data
Plaintext (bit) Chipertext (bit) Enkripsi Dekripsi
Sensor

(milisecond) (milisecond)

10 18 256 4.130,58 155.213,44

20 18 256 4.447,23 230.003,81

30 18 256 4.655,33 454.178,91

Rata-rata 4.411,05 279.798,72

Dari hasil pengujian Response Times menggunakan metode RSA


2048 bit didapatkan hasil rata-rata dari pengujian enkripsi menggunakan
sampel data sebanyak 10, 20, dan 30 data dengan ukuran plaintext dari
masing-masing message sebesar 72 bit dan 2048 bit untuk ukuran
chipertext adalah 4130,58 ms, 4447,23 ms, dan 4655,33 ms. Sedangkan
Response Times untuk dekripsi didapatkan hasil sebesar 155213,44 ms,
230003,81 ms, dan 454178,91 ms. Untuk rata-rata hasil Response Times
pada enkripsi RSA 2048 bit didapatkan sebesar 4411,05 ms. Sedangkan
rata-rata hasil Response Times pada dekripsi RSA 2048 bit didapatkan
sebesar 279.798,72 ms. Untuk hasil response times enkripsi dan dekripsi
RSA 2048 bit buruk karena nilai yang didapat lebih dari 10 s.

38
4.3.4 Analisis Pengujian Response Times Proses Enkripsi dan Dekripsi

Dari hasil pengujian Response Times yang telah dilakukan untuk


skenario RSA 1024 bit sebanyak 10, 20, dan 30 data didapatkan hasil rata-
rata sebesar 879,4 ms untuk proses enkripsi dan 2.189,83 ms untuk proses
dekripsi. Untuk skenario RSA 2048 bit didapatkan hasil rata-rata pengujian
Response Times untuk 10, 20, dan 30 data sebesar 4.411,05 ms untuk
proses enkripsi dan 279.798,72 ms untuk proses dekripsi. Untuk hasil
response times enkripsi RSA 1024 bit cukup baik karena berada di bawah
0,1 s, sedangkan untuk response times dekripsi RSA 1024 bit cukup baik
karena berada di rentang nilai 1 s – 6 s . Sedangkan hasil response times
enkripsi dan dekripsi RSA 2048 bit berada di rentang buruk karena nilai
yang didapat lebih dari 10 s. Semakin besar kunci yang digunakan maka
semakin lama proses enkripsi dan dekripsinya serta semakin banyak data
yang diinput kedalam sistem maka semakin lama juga proses enkripsi dan
dekripsi yang dilakukan.

4.3.5 Tampilan Pengujian Sistem

Dari pengujian sistem yang telah dibuat, didapatkan hasil sebagai berikut:

A. Tampilan Halaman Broker

Bagian ini adalah tampilan dari broker MQTT yang diakses


menggunakan hivemq.com. Pada halaman ini ditampilkan massage berupa
data enkripsi menggunakan metode RSA yang diakses melalui topik yang
telah ditentukan yaitu “data/enkripsi/RSA” oleh subcribers. Sebelum topik
diakses, pengguna harus connect terlebih dahulu dengan MQTT.

39
Gambar 4. 4 Tampilan halaman broker MQTT.

Setelah data enkripsi masuk kedalam broker, selanjutnya data


enkripsi dikirim kedalam database mySQL.

B. Tampilan Halaman Database

Halaman ini merupakan laman database di PHP MyAdmin. Pada


laman ini ditampilkan data enkripsi (chipertext) yang dikirim melalui
broker. Selain itu terdapat data dekripsi (plaintext) yang ditampilkan secara
otomatis. Terdapat juga tampilan waktu ketika data diinput kedalam
database.

Gambar 4. 5 Tampilan halaman database di PHP MyAdmin.

40
C. Tampilan Halaman Output Database

Pada halaman ini menampilkan output data yang berasal dari


database. Halaman ini menampilkan data enkripsi, data dekripsi, serta
waktu ketika data diinput kedalam database.

Gambar 4. 6 Tampilan output dari database.

D. Tampilan Data Yang Terkirim

Pada bagian ini ditampilkan hasil pengujian menggunakan


Wireshark pada pesan yang terkirim menuju MQTT dengan topik yang
telah di tentukan. Pesan yang terkirim pada MQTT ke database berbentuk
chipertext atau dalam bentuk sudah di enkripsi menggunakan metode RSA.

Gambar 4. 7 Tampilan pesan data yang terkirim.

41
Gambar 4. 8 Tampilan pesan yang terkirim.

4.3.6 Pengujian Throughput Sebelum Enkripsi

Pengujian throughput dilakukan untuk proses sistem sebelum di


enkripsi. Pengujian dilakukan percobaan sebanyak 30 kali perulangan.

Pengujian Throughput
3460
3450
3440
Hasil (Kb/s)

3430
3420
3410
3400
3390
10 20 30
Banyak Data Sensor

Gambar 4. 9 Pengujian throughput sebelum di enkripsi.

Pada gambar 4.9 menunjukkan pengujian throughput pada system


sebelum di enkripsi. Nilai throughput yang didapatkan pada pengujian
dengan jumlah data 10, 20, dan 30 data sebesar 3434,92 Kb/s, 3451,75
Kb/s, dan 3411,38 Kb/s. Sedangkan untuk rata-rata nilai througput yang
didapatkan sebesar 3432,68 Kb/s.

42
4.3.7 Analisis Throughput Sebelum Enkripsi

Pada pengujian throughput menggunakan jaringan Wi-Fi untuk


sistem yang dilakukan sebelum enkripsi diperoleh hasil sebesar 3432,68
Kb/s. Hasil throughput bersifat tidak stabil, tergantung dari kualitas
jaringan, banyaknya pengguna jaringan, dan jenis jaringan yang dipakai.

4.3.8 Pengujian Packet Loss Sebelum Enkripsi

Pengujian packet loss dilakukan untuk pengujian tanpa menggunakan


enkripsi dengan jumlah data 10, 20, dan 30 data menggunakan aplikasi
Wireshark dalam 30 kali percobaan. Pengujian packet loss menggunakan
jaringan Wi-Fi. Hasil yang diperoleh memiliki total 1.652 paket yang
dikirim dan total 1.652 paket yang diterima. Dari hasil pengujian packet
loss yang dilakukan nilai yang didapatkan sesuai menurut standar ITU-T
G1010 karena tidak ada paket yang hilang.

Pengujian Packet Loss


1800
1750
1700
1650
1600
1550
1500
1450
1400
10 20 30
Banyak Data Sensor

Data Terkirim Data Diterima

Gambar 4. 10 Pengujian packet loss sebelum enkripsi.

43
4.3.9 Analisis Packet Loss Sebelum Enkripsi

Pada pengujian packet loss menggunakan jaringan Wi-Fi didapatkan


hasil sebesar 0% untuk pengujian yang dilakukan, yang berarti semua data
berhasil terkirim. Dari hasil pengujian packet loss yang dilakukan nilai
yang didapatkan sesuai menurut standar ITU-T G1010 karena tidak ada
paket yang hilang.

4.3.10 Pengujian Delay Sebelum Enkripsi

Pengujian delay dilakukan tanpa menggunakan metode enkripsi


RSA. Pengujian dilakukan percobaan sebanyak 30 kali perulangan.

Pengujian Delay
0.14

0.135

0.13

0.125
Hasil (s)

0.12

0.115

0.11

0.105
10 20 30
Banyak Data Sensor

Gambar 4. 11 Pengujian ` sebelum di enkripsi.

Pada gambar 4.11 menunjukkan pengujian delay sebelum dilakukan


enkripsi. Nilai delay yang didapatkan pada pengujian dengan jumlah data
10, 20, dan 30 data sebesar 116,35 ms, 137,25 ms, dan 130,6 ms.
Sedangkan untuk rata-rata nilai delay yang didapatkan sebesar 128,07 ms.

44
4.3.11 Analisis Delay Sebelum Enkripsi

Pada hasil pengujian delay menggunakan jaringan Wi-Fi untuk


pengujian sebelum enkripsi didapatkan hasil delay rata-rata sebesar
128,07 ms. Dari hasil pengujian delay yang dilakukan nilai yang
didapatkan dibawah 30 s dan 250 ms sehingga sesuai dengan standar
ITU-T G1010. Delay dipengaruhi oleh kualitas jaringan dan kinerja
protokol yang memerlukan waktu untuk proses post dan request antara
alat dan server.

4.3.12 Pengujian Throughput Setelah Enkripsi

Pengujian throughput dilakukan dengan dua skenario, skenario


pertama pengiriman data menggunakan metode RSA sebesar 1024 bit.
Sedangkan skenario kedua menggunakan metode RSA sebesar 2048 bit.
Setiap skenario dilakukan percobaan sebanyak 30 kali perulangan.

Gambar 4. 12 Pengujian throughput RSA 1024 bit.

Pada gambar 4.12 menunjukkan pengujian throughput pada metode


RSA 2048 bit. Nilai throughput yang didapatkan pada pengujian dengan
jumlah data 10, 20, dan 30 data sebesar 7069,83 Kb/s, 6903,50 Kb/s, dan
45
6822,78 Kb/s. Sedangkan untuk rata-rata nilai througput yang didapatkan
sebesar 6932,04 Kb/s.

Gambar 4. 13 Pengujian throughput RSA 2048 bit.

Pada gambar 4.13 menunjukkan pengujian throughput pada metode


RSA 2048 bit. Nilai throughput yang didapatkan pada pengujian dengan
jumlah data 10, 20, dan 30 data sebesar 6484,83 Kb/s, 6115,75 Kb/s, dan
5900,52 Kb/s. Sedangkan untuk rata-rata nilai througput yang didapatkan
sebesar 6167,03 Kb/s.

4.3.13 Analisis Throughput Setelah Enkripsi

Pada pengujian throughput menggunakan jaringan Wi-Fi untuk


metode RSA 1024 dan 2048 bit diperoleh hasil sebesar 6932,04 Kb/s dan
6167,03 Kb/s. Hasil throughput bersifat tidak stabil, tergantung dari
kualitas jaringan, banyaknya pengguna jaringan, dan jenis jaringan yang
dipakai.

46
4.3.14 Pengujian Packet Loss Setelah Enkripsi

Gambar 4. 14 Pengujian packet loss RSA 1024 bit.

Pengujian packet loss dilakukan untuk pengujian skenario RSA


1024 bit dengan jumlah data 10, 20, dan 30 data menggunakan aplikasi
Wireshark dalam 30 kali percobaan. Pengujian packet loss menggunakan
jaringan Wi-Fi. Hasil yang diperoleh memiliki total 826 paket yang dikirim
dan total 826 paket yang diterima. Dari hasil pengujian packet loss untuk
skenario RSA 2048 bit yang dilakukan nilai yang didapatkan sesuai
menurut standar ITU-T G1010 karena tidak ada paket yang hilang.

Gambar 4. 15 Pengujian packet loss RSA 2048 bit.

47
Pengujian packet loss dilakukan untuk pengujian skenario RSA
2048 bit dengan jumlah data 10, 20, dan 30 data menggunakan aplikasi
Wireshark dalam 30 kali percobaan. Pengujian packet loss menggunakan
jaringan Wi-Fi. Hasil yang diperoleh memiliki total 480 paket yang dikirim
dan total 480 paket yang diterima. Dari hasil pengujian packet loss untuk
skenario RSA 2048 bit yang dilakukan nilai yang didapatkan sesuai
menurut standar ITU-T G1010 karena tidak ada paket yang hilang.

4.3.15 Analisis Packet Loss Setelah Enkripsi

Pada pengujian packet loss menggunakan jaringan Wi-Fi didapatkan


hasil sebesar 0% untuk skenario RSA 1024 bit dan RSA 2048 bit, yang
berarti semua data berhasil terkirim. Dari hasil pengujian packet loss untuk
kedua skenario yang dilakukan nilai yang didapatkan sesuai menurut
standar ITU-T G1010 karena tidak ada paket yang hilang.

4.3.16 Pengujian Delay Setelah Enkripsi

Pengujian delay dilakukan dengan dua skenario, skenario pertama


pengiriman data menggunakan metode RSA sebesar 1024 bit. Sedangkan
skenario kedua menggunakan metode RSA sebesar 2048 bit. Setiap
skenario dilakukan percobaan sebanyak 30 kali perulangan.

48
Pengujian Delay 1024 Bit
0.35
0.3
0.25
0.2
Hasil (s)

0.15
0.1
0.05
0
10 20 30
Banyak Data Sensor

Gambar 4. 16 Pengujian delay RSA 1024 bit.

Pada gambar 4.16 menunjukkan pengujian delay pada metode RSA


1024 bit. Nilai delay yang didapatkan pada pengujian dengan jumlah data
10, 20, dan 30 data sebesar 205,4 ms, 274,5 ms, dan 301,2 ms. Sedangkan
untuk rata-rata nilai delay yang didapatkan sebesar 269,4 ms.

Pengujian Delay 2048 Bit


0.8000
0.7000
0.6000
0.5000
Hasil (s)

0.4000
0.3000
0.2000
0.1000
0.0000
10 20 30
Banyak Data Sensor

Gambar 4. 17 Pengujian delay RSA 2048 bit.

Pada gambar 4.17 menunjukkan pengujian delay pada metode RSA


2048 bit. Nilai delay yang didapatkan pada pengujian dengan jumlah data
10, 20, dan 30 data sebesar 522,8 ms, 577,5 ms, dan 668,4 ms. Sedangkan
untuk rata-rata nilai delay yang didapatkan sebesar 589,5 ms.

49
4.3.16 Analisis Delay Setelah Enkripsi

Pada hasil pengujian delay menggunakan jaringan Wi-Fi untuk


skenario RSA 1024 dan 2048 bit didapatkan hasil delay rata-rata sebesar
243,3 ms dan 589,5 ms. Dari hasil pengujian delay untuk kedua skenario
yang dilakukan nilai yang didapatkan dibawah 30 s dan sesuai dengan
standar ITU-T G1010. Delay dipengaruhi oleh kualitas jaringan dan kinerja
protokol yang memerlukan waktu untuk proses post dan request antara alat
dan server.

50
BAB V

SARAN DAN KESIMPULAN

5.1 Kesimpulan

Setelah dilakukannya pengujian hasil enkripsi didalam protokol


MQTT dan dekripsi didalam database PHP MyAdmin, dapat disimpulkan
bahwa:

1. Sistem yang telah dibuat dapat melakukan enkripsi dan dekripsi


menggunakan metode RSA pada data sensor ultrasonik HC-SR04.

2. Sistem mampu melakukan transfer data sensor melalui protokol MQTT


kedalam database di PHP MyAdmin dan proses dekripsi dilakukan
secara otomatis didalam database di PHP MyAdmin.

3. Pengujian Avalanche Effect pada RSA 1024 bit menghasilkan 23,43%


untuk chipertext nya. Sedangkan pada RSA 2048 bit menghasilkan
10,55% untuk chipertext nya.

4. Akurasi keaslian data yang di enkripsi (chipertext) dengan data yang di


dekripsi (plaintext) pada database menggunakan RSA 1024 dan 2048 bit
berdasarkan jumlah data yang digunakan yaitu 10, 20, dan 30 data
sebesar 100,00%.

5. Hasil rata-rata Response Times untuk skenario RSA 1024 bit sebesar
879,4 ms untuk proses enkripsi dan 2189,83 ms untuk proses dekripsi.
Untuk skenario RSA 2048 bit didapatkan hasil rata-rata pengujian
Response Times untuk 10, 20, dan 30 data sebesar 2.859,27 ms untuk
proses enkripsi dan 228.060,91 ms untuk proses dekripsi.

6. Pengujian throughput menggunakan jaringan Wi-Fi untuk sistem yang


dilakukan sebelum enkripsi diperoleh hasil sebesar 3432,68 Kb/s. Hasil

51
throughput bersifat tidak stabil, tergantung dari kualitas jaringan,
banyaknya pengguna jaringan, dan jenis jaringan yang dipakai.

7. Pada pengujian packet loss menggunakan jaringan Wi-Fi didapatkan


hasil sebesar 0% untuk pengujian yang dilakukan, yang berarti semua
data berhasil terkirim. Dari hasil pengujian packet loss yang dilakukan
nilai yang didapatkan sesuai menurut standar ITU-T G1010 karena
tidak ada paket yang hilang.

8. Pada hasil pengujian delay menggunakan jaringan Wi-Fi untuk


pengujian sebelum enkripsi didapatkan hasil delay rata-rata sebesar
128,07 ms. Dari hasil pengujian delay yang dilakukan nilai yang
didapatkan dibawah 30 s dan 250 ms sehingga sesuai dengan standar
ITU-T G1010.

9. Pada pengujian throughput menggunakan jaringan Wi-Fi untuk metode


RSA 1024 dan 2048 bit diperoleh hasil sebesar 6932,04 Kb/s dan
6167,03 Kb/s. Hasil throughput bersifat tidak stabil, tergantung dari
kualitas jaringan, banyaknya pengguna jaringan, dan jenis jaringan yang
dipakai.

10. Pengujian packet loss menggunakan jaringan Wi-Fi didapatkan hasil


sebesar 0% untuk skenario RSA 1024 bit dan RSA 2048 bit Dari hasil
pengujian packet loss yang dilakukan nilai yang didapatkan sesuai
menurut standar ITU-T G1010 karena tidak ada paket yang hilang.

11. Pengujian delay menggunakan jaringan Wi-Fi untuk skenario RSA


1024 dan 2048 bit didapatkan hasil delay rata-rata sebesar 243,3 ms dan
589,5 ms. Dari hasil pengujian delay untuk kedua skenario yang
dilakukan nilai yang didapatkan dibawah 30 s dan sesuai dengan
standar ITU-T G1010.

52
5.2 Saran

Peneliti menyadari hasil dari implementasi, pengujian, dan penulisan


tugas akhir ini masih jauh dari kata sempurna. Maka terdapat beberapa
kekurangan yang bisa dijadikan saran untuk pengembangan penelitian
selanjutnya, yaitu :

1. Menggunakan metode enkripsi data yang berbeda yang diharapkan lebih


aman untuk menjaga data IoT.

2. Menambahkan metode pengamanan data lain agar dapat dikolaborasikan


menjadi pengamanan ekstra.

3. Melakukan pengujian serangan terhadap sistem keamanan data yang


telah dibuat.

53
DAFTAR PUSTAKA

[1] Fitri Febriyan C. 2018. PROTOTIPE SISTEM ENKRIPSI DAN


DEKRIPSI BERBASIS FPGA MENGGUNAKAN ALGORITMA
STREAM CIPHER TRIVIUM. Bandung: Universitas Telkom, S1 Sistem
Komputer.

[2] F. P. Aji, A. Solehudin, and C. Rozikin, “Implementasi sensor ultrasonik


dalam mendeteksi volume limbah b3 pada tempat sampah berbasis internet
of things,” Jurnal Ilmiah Informatika, vol. 6, no. 2, pp. 117–126, 2021.

[3] Chandra Putra Devha. 2013. Pengamanan Pesan Rahasia Menggunakan


Algoritma Kriptografi Rivest Shank Adleman (RSA). (online).
(respository.upi.edu/2939/6/SMTK 0905803 CHAPTER3.pdf)

[4] Hudan A.R., Rakhmadhany P., Heru N., 2017. Sistem Kendali Berbasis
Mikrokontroler Menggunakan Protokol MQTT pada Smarthome. Malang:
Universitas Brawijaya.

[5] R. Munir, Kriptografi. Bandung: Informatika, 2016

[6] Ardi. 2017. Perbandingan Algoritma Massage Digest 5 (MD5) dan


SHA256 Pada Hashing File Dokumen. Sumatera Utara: Universitas
Sumatera Utara.

[7] Angga, Christian. 2011. Analisis Cara Kerja Beragam Fungsi Hash yang
Ada.Bandung: Institut Teknologi Bandung.

[8] Butler, T & Yank, K. PHP & MySQL: Novice to Ninja, 6th Edition.
SiitePoing. 2016.

[9] Solihin,A. 2015. MySQL Dari Pemula Hingga Mahir [Internet]


dihttps://www.researchgate.net/publication/236885803_MySql_5_Dari_Pe
mula_Hingga_Mahir.

54
[10] Nusantara, M. F., Akbar, S. R. & Rachmadi, A., 2016. Analisa Metode
Publish/Subcribe untuk Komunikasi Antar Perangkat Dalam Lingkungan
Smarthome.

[11] Lampin, V. et al., 2012. Building Smarter Planet Solutions with MQTT and
IBM.

[12] Ariyus, Doni. Pengantar Ilmu Kriptografi Teori dan Implementasi.

Andi Offset : Yogyakarta. 2008.

[13] Komputer, Wahana. The Encryption Tools. PT Elexmedia Komputindo

: Jakarta. 2010.

[14] Brink, J. van den (Pieter J. C. M., Monumentenstichting Baet en Borgh., N.


B., Historische Vereniging Tweestromenland., J., & Azanuddin, A. (2014).
Mensen van Maas en Waal. Jurnal SAINTIKOM (Jurnal Sains Manajemen
Informatika Dan Komputer), 18(1), 30–34.
https://ojs.trigunadharma.ac.id/index.php/j is/article/view/100

[15] Ginting, A., Isnanto, R. R., & Windasari, I. P. (2015). Implementasi


Algoritma Kriptografi RSA untuk Enkripsi dan Dekripsi Email. Jurnal
Teknologi Dan Sistem Komputer, 3(2), 253.
https://doi.org/10.14710/jtsiskom.3.2.2015 .253-258

[16] Zhao, S. C. Exploring IOT Application Using Raspberry Pi . International


Journal of Computer Networks and Applications. 2015.

[17] ITU-T, “G.1010: End-user multimedia QoS categories,” Int. Telecommun.

Union, vol. 1010, 2001, [Online].

[18] Ferry, “Response Time Testing,” – School of Information Systems


(binus.ac.id), 2019, [Online].

55
LAMPIRAN

Lampiran Gambar

1. Pegujian Throughput RSA 1024 bit.

Pengujian Throughput 1024 Bit


10000
8000
Hasil (Kb/s)

6000
4000
2000
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Pengujian Ke-

Lampiran 1 Pengujian Throughput 10 data.

Pengujian Throughput 1024 Bit


9000
8000
7000
6000
Hasil (KB/s)

5000
4000
3000
2000
1000
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 2 Pengujian Throughput 20 data.

56
Pengujian Throughput 1024 Bit
10000
9000
8000
Hasil (KB/s) 7000
6000
5000
4000
3000
2000
1000
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 3 Pengujian Throughput 30 data.

2. Pengujian Throughput RSA 2048 bit.

Pengujian Throughput 2048 Bit


10000
9000
8000
7000
Hasil (KB/s)

6000
5000
4000
3000
2000
1000
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 4 Pengujian Throughput 10 data.

Pengujian Throughput 2048 Bit


9000
8000
7000
6000
Hasil (KB/s)

5000
4000
3000
2000
1000
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 5 Pengujian Throughput 20 data.

57
Pengujian Throughput 2048 Bit
8000
7000
6000
Hasil (KB/s)
5000
4000
3000
2000
1000
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 6 Pengujian Throughput 30 data.

3. Pengujian Delay RSA 1024

Pengujian Delay 1024 Bit


0.3500
0.3000
0.2500
0.2000
Hasil (s)

0.1500
0.1000
0.0500
0.0000
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Pengujian ke-

Lampiran 7 Pengujian delay 10 data.

Pengujian Delay 1024 Bit


0.4000
0.3500
0.3000
0.2500
Hasil (s)

0.2000
0.1500
0.1000
0.0500
0.0000
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 8 Pengujian delay 20 data.

58
Pengujian Delay 1024 Bit
0.4500
0.4000
0.3500
0.3000
0.2500
Hasil (s)

0.2000
0.1500
0.1000
0.0500
0.0000
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 9 Pengujian delay 30 data.

4. Pengujian Delay RSA 2048

Pengujian Delay RSA 2048 Bit.


0.8000
0.7000
0.6000
0.5000
Hasil (s)

0.4000
0.3000
0.2000
0.1000
0.0000
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 10 Pengujian delay 10 data.

Pengujian Delay RSA 2048 Bit.


0.8000
0.6000
Hasil (s)

0.4000
0.2000
0.0000
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 11 Pengujian delay 20 data.

59
Pengujian Delay RSA 2048 Bit.
0.9000
0.8000
0.7000
Hasil (s) 0.6000
0.5000
0.4000
0.3000
0.2000
0.1000
0.0000
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Banyak Data

Lampiran 12 Pengujian delay 30 data.

Lampiran Codingan

1. Encrypt code.

import json

import random

import time

import datetime

from paho.mqtt import client as mqtt_client

import Crypto

from Crypto.PublicKey import RSA

from Crypto import Random

from Crypto.Cipher import PKCS1_OAEP

import secrets

import RPi.GPIO as GPIO

60
broker = 'broker.hivemq.com'

port = 1883

topic = "data/enkripsi/RSA"

topic2 = "data/enkripsi/RSAKEY"

def connect_mqtt():

def on_connect(client, userdata, flags, rc):

if rc == 0:

print("Connected to MQTT Broker!")

else:

print("Failed to connect, return code %d\n", rc)

client = mqtt_client.Client()

client.on_connect = on_connect

client.connect(broker, port)

return client

def publish(client, dataRSA):

    time.sleep(1)

    objData = {

    

        'dataEnkripsiRSA' : dataRSA,

  }

61
    dataJson = json.dumps(objData)

    result = client.publish(topic, dataJson)

    # result: [0, 1]

    status = result[0]

    if status == 0:

        print(f"Send `{dataJson}` to topic `{topic}`")

    else:

        print(f"Failed to send message to topic {topic}")

def publish2(client):

    time.sleep(1)

    objData = {

    

        'privateKeyRSA' : str(privateKey),

  }

    dataJson = json.dumps(objData)

    result = client.publish(topic2, dataJson)

    # result: [0, 1]

    status = result[0]

    if status == 0:

        print(f"Send `{dataJson}` to topic `{topic2}`")

62
    else:

        print(f"Failed to send message to topic {topic2}")

GPIO.setmode(GPIO.BCM)

GPIO_TRIGGER = 3

GPIO_ECHO = 2

GPIO.setup(GPIO_TRIGGER, GPIO.OUT)

GPIO.setup(GPIO_ECHO, GPIO.IN)

def distance():

GPIO.output(GPIO_TRIGGER, True)

time.sleep(0.00001)

GPIO.output(GPIO_TRIGGER, False)

StartTime = time.time()

StopTime = time.time()

while GPIO.input(GPIO_ECHO) == 0:

StartTime = time.time()

63
while GPIO.input(GPIO_ECHO) == 1:

StopTime = time.time()

TimeElapsed = StopTime - StartTime

distance = (TimeElapsed*34300) / 2

return distance

if __name__ =='__main__':

try:

while True:

dist = distance()

print ("Distance = %.1f cm" %dist)

distInStr = str(dist)

msg = print ("Data Sensor= ", distInStr + " cm")

timens = time.time_ns()

print("time before= ", timens)

msg = str.encode(distInStr)

key = RSA.generate(1024)

64
privateKey = key.exportKey('PEM')

publicKey = key.publickey().exportKey('PEM')

#Enkripsi RSA

RSApublicKey = RSA.importKey(publicKey)

OAEP_cipher = PKCS1_OAEP.new(RSApublicKey)

encryptedMsg1 = OAEP_cipher.encrypt(msg)

print("RSA encrypt:", encryptedMsg1)

privKey = secrets.randbelow(curve.field.n)

pubKey = privKey * curve.g

timens = time.time_ns()

print("time after= ", timens)

f = open ('encryptionRSA.txt', 'w')

f.write(str(encryptedMsg1))

f.close()

f = open ('encryptionRSA.txt', 'r')

messageRSA = f.read()

65
client = connect_mqtt()

publish(client, messageRSA)

time.sleep(2)

except KeyboardInterrupt:

print ("Measurement stopped")

GPIO.cleanup()

2. Decrypt code.

import json

import random

import time

from paho.mqtt import client as mqtt_client

import mysql.connector

import Crypto

from Crypto.PublicKey import RSA

from Crypto import Random

from Crypto.Cipher import PKCS1_OAEP

import binascii

import ast

import secrets

66
import hashlib, secrets, binascii

broker = 'broker.hivemq.com'

port = 1883

topic = "data/enkripsi/RSA"

topic2 = "data/enkripsi/RSAKEY"

mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  password="12345",

  database="datata"

def connect_mqtt():

    def on_connect(client, userdata, flags, rc):

        if rc == 0:

            print("Connected to MQTT Broker!")

        else:

            print("Failed to connect, return code %d\n", rc)

    client = mqtt_client.Client()

    client.on_connect = on_connect

    client.connect(broker, port)

67
    return client

dataRSA = []

def subscribe(client: mqtt_client):

    def on_message(client, userdata, msg):

        data = json.loads(msg.payload.decode())

        dataRSA.append(data)

        if(len(dataRSA) == 2):

            print(dataRSA)

            dekripsiRSA(dataRSA[0]['dataEnkripsiRSA'], dataRSA[1]['privateKeyRS
A'])

            dataRSA.clear()

    client.subscribe([(topic,0),(topic2,0)])

    client.on_message = on_message

  

def dekripsiRSA(dataEnkripsi, key):

    RSAprivateKey = RSA.importKey(ast.literal_eval(key))

    OAEP_cipher = PKCS1_OAEP.new(RSAprivateKey)

    decryptedMsg1 = OAEP_cipher.decrypt(ast.literal_eval(dataEnkripsi))

    print('Decryption RSA:', decryptedMsg1.decode('utf-8'))  

print("time decrypt= ", timens)

68
    print(type(dataEnkripsi))

    print(type(decryptedMsg1.decode('utf-8')))

    inserData(dataEnkripsi,decryptedMsg1.decode('utf-8'))

  

def inserData(encryptData, decryptData):

    sql = "INSERT INTO rsadata (encryptData, decryptData) VALUES (%s, %s)"

    val = (encryptData, decryptData)

    mycursor = mydb.cursor()

    mycursor.execute(sql, val)

    mydb.commit()

    print(mycursor.rowcount, "record inserted.")

def run():

    client = connect_mqtt()

    subscribe(client)

    client.loop_forever()

if __name__ == '__main__':

    run()

69

Anda mungkin juga menyukai