Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma...

12
1 Enkripsi Pesan Menggunakan Algoritma Blowfish dan RSA untuk Keamanan SMS Berbasis Android Nur agusyani 1 , Nerfita Nikentari 2 , Nurul Hayaty 3 1,2,3 Jurusan Teknik Informatika, Fakultas Teknik, Universitas Maritim Raja Ali Haji 1,2,3 Jl. Politeknik Senggarang, Tanjungpinang 29100 Corresponding Author : [email protected] Abstract- SMS (Short Message Service) is no stranger to the public, so many people use the SMS feature to interact with other people, and become an alternative if the cellular person they want to go to is off and when people activate their cellular, there will be a notification incoming message. Of all the conveniences, of course there is a bad side that we can get. One of them is security in sending SMS whose contents are only certain people who can know it. To overcome this problem the author wants to improve SMS security by applying the Blowfish Algorithm and RSA. The results of this study are that the messages sent are not easy to read by others, thus fulfilling the confidentiality requirements of data in cryptography. Keywords: Cryptography, SMS, Blowfish, RSA, Android Abstrak- SMS (Short Message Service) sudah tidak asing lagi dimata masyarakat, banyak sekali orang menggunakan fitur SMS untuk berinteraksi dengan orang lain, serta menjadi alternatif lain jika selular orang yang ingin dituju dalam keadaan off dan saat orang mengaktifkan selular mereka, maka akan ada notifikasi pesan yang masuk. Dari semua kemudahan itu tentu ada sisi buruk yang kita dapat. Salah satunya adalah keamanan dalam mengirim SMS yang isinya hanya orang tertentu saja yang boleh mengetahuinya. Untuk mengatasi masalah tersebut penulis ingin meningkatkan keamanan SMS dengan menerapkan Algoritma Blowfish dan RSA. Hasil dari penelitian ini adalah pesan yang dikirim tidak mudah dibaca oleh orang lain, sehingga memenuhi syarat kerahasiaan data dalam ilmu kriptografi. Kata Kunci : Kriptografi, SMS, Blowfish, RSA, Android I. PENDAHULUAN a. Latar Belakang SMS (Short Message Service) sudah tidak asing lagi dimata masyarakat, banyak sekali orang menggunakan fitur SMS untuk berinteraksi dengan orang lain, serta menjadi alternatif lain jika selular orang yang ingin dituju dalam keadaan off dan saat orang mengaktifkan selular mereka, maka akan ada notifikasi pesan yang masuk. Dari semua kemudahan itu tentu ada sisi buruk yang kita dapat. Salah satunya adalah keamanan dalam mengirim SMS yang isinya hanya orang tertentu saja yang boleh mengetahuinya. Seperti SMS yang kita kirim tidak boleh diketahui oleh orang lain karna bersifat rahasia. Keamanan dalam melakukan mengirim dan menerima pesan saat ini masih lemah, dikarenakan adanya pihak pihak yang tidak berwenang untuk mendapatkan informasi berupa pesan SMS yang ada di Smartphone kita. Hal ini membuat kita sulit menjaga privasi yang ada di Smartphone sehingga hal yang tidak perlu orang lain tahu menjadi mudah diketahui orang lain.

Transcript of Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma...

Page 1: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

1

Enkripsi Pesan Menggunakan Algoritma Blowfish dan RSA untuk

Keamanan SMS Berbasis Android

Nur agusyani1, Nerfita Nikentari2, Nurul Hayaty3

1,2,3Jurusan Teknik Informatika, Fakultas Teknik,

Universitas Maritim Raja Ali Haji 1,2,3Jl. Politeknik Senggarang, Tanjungpinang 29100

Corresponding Author : [email protected]

Abstract- SMS (Short Message Service) is no stranger to the public, so many

people use the SMS feature to interact with other people, and become an

alternative if the cellular person they want to go to is off and when people activate

their cellular, there will be a notification incoming message. Of all the

conveniences, of course there is a bad side that we can get. One of them is

security in sending SMS whose contents are only certain people who can know it.

To overcome this problem the author wants to improve SMS security by applying

the Blowfish Algorithm and RSA. The results of this study are that the messages

sent are not easy to read by others, thus fulfilling the confidentiality requirements

of data in cryptography.

Keywords: Cryptography, SMS, Blowfish, RSA, Android

Abstrak- SMS (Short Message Service) sudah tidak asing lagi dimata

masyarakat, banyak sekali orang menggunakan fitur SMS untuk berinteraksi

dengan orang lain, serta menjadi alternatif lain jika selular orang yang ingin dituju

dalam keadaan off dan saat orang mengaktifkan selular mereka, maka akan ada

notifikasi pesan yang masuk. Dari semua kemudahan itu tentu ada sisi buruk yang

kita dapat. Salah satunya adalah keamanan dalam mengirim SMS yang isinya

hanya orang tertentu saja yang boleh mengetahuinya. Untuk mengatasi masalah

tersebut penulis ingin meningkatkan keamanan SMS dengan menerapkan

Algoritma Blowfish dan RSA. Hasil dari penelitian ini adalah pesan yang dikirim

tidak mudah dibaca oleh orang lain, sehingga memenuhi syarat kerahasiaan data

dalam ilmu kriptografi.

Kata Kunci : Kriptografi, SMS, Blowfish, RSA, Android

I. PENDAHULUAN

a. Latar Belakang

SMS (Short Message Service) sudah tidak asing lagi dimata masyarakat,

banyak sekali orang menggunakan fitur SMS untuk berinteraksi dengan orang

lain, serta menjadi alternatif lain jika selular orang yang ingin dituju dalam

keadaan off dan saat orang mengaktifkan selular mereka, maka akan ada notifikasi

pesan yang masuk. Dari semua kemudahan itu tentu ada sisi buruk yang kita

dapat. Salah satunya adalah keamanan dalam mengirim SMS yang isinya hanya

orang tertentu saja yang boleh mengetahuinya. Seperti SMS yang kita kirim tidak

boleh diketahui oleh orang lain karna bersifat rahasia. Keamanan dalam

melakukan mengirim dan menerima pesan saat ini masih lemah, dikarenakan

adanya pihak – pihak yang tidak berwenang untuk mendapatkan informasi berupa

pesan SMS yang ada di Smartphone kita. Hal ini membuat kita sulit menjaga

privasi yang ada di Smartphone sehingga hal yang tidak perlu orang lain tahu

menjadi mudah diketahui orang lain.

Page 2: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

2

Dalam tugas akhir ini penulis menerapkan Algoritma Blowfish dan RSA, yang

mana dalam pemilihan Algoritma Blowfish dikarenakan sampai saat ini belum

ada Cryptoanalyst yang dapat membongkar pesan tanpa kunci yang dienkripsi

dengan Algoritma Blowfish. Sedangkan RSA memiliki keamanan yang terletak

pada sulitnya memfaktorkan bilangan prima yang relatif besar. Dengan

menggabungkan kedua algoritma tersebut diharapkan teks SMS menjadi lebih

aman karena melalui 2 (dua) kali proses penyandian.

Pada penelitian yang dilakukan oleh Prafanto, (2016) mengatakan Algoritma

Blowfish termasuk kedalam chipper block dan sampai saat ini masih dianggap

aman karena belum ada attack yang benar-benar mematahkan algoritma Blowfish.

Namun pada penelitian juga menyarankan untuk menambahkan metode lain untuk

memperkuat hasil enkripsi dari Algoritma Blowfish dengan metode lain, sehingga

penulis menambahkan metode RSA untuk memperkuat kunci dalam mengenkripsi

pesan SMS.

b. Rumusan Masalah

Berdasarkan uraian latar belakang diatas, maka masalah yang dapat

dirumuskan yaitu bagaimana merancang dan membuat aplikasi android dengan

menggunakan Algoritma Blowfish dan RSA untuk mengamankan pesan berupa

SMS berbasis Android yang dapat membantu user dalam menjaga privasinya.

c. Batasan Masalah

Berdasarkan rumusan masalah di atas maka terdapat batasan masalah dalam

penelitian ini yang menjadi acuan sehingga penelitian menjadi terarah. Adapun

batasan masalah sebagai berikut:

1. Data yang dienkripsi berupa pesan teks.

2. Penelitian ini tidak memfokuskan penyerangan jaringan pengiriman SMS

pada operator.

3. Aplikasi hanya dibuat untuk merahasiakan pesan teks dengan cara enkripsi

menggunakan Algoritma Blowfish dan RSA.

d. Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk mengimplementasikan dan

mengamankan pesan berupa SMS berbasis android dengan menggunakan

Algoritma Blowfish dan RSA.

e. Penelitian Terdahulu

Sebuah sistem keamanan sangat diperlukan bagi setiap orang demi menjaga

privasi yang seharusnya tidak perlu diketahui orang lain. Pada penelitian yang

dilakukan oleh Prafanto, (2016) dengan judul “Penerapan Algoritma Blowfish

Untuk Keamanan SMS Pada Android” juga mengatakan Algoritma Blowfish

termasuk kedalam chipper block dan sampai saat ini masih dianggap aman karena

belum ada attack yang benar-benar mematahkan algoritma Blowfish. Namun pada

penelitian juga menyarankan untuk menambahkan metode lain untuk memperkuat

hasil enkripsi dari Algoritma Blowfish dengan metode lain, sehingga penulis

menambahkan metode RSA untuk memperkuat kunci dalam mengenkripsi pesan

SMS.

Page 3: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

3

Pada penelitian yang di lakukan oleh Rahmah & Andoko, (2015) dengan judul

“Rancang Bangun Aplikasi Enkripsi SMS (Short Message Service) dengan

Metode RSA pada Telepon Seluler Berbasis Android “ penelitian ini bertujuan

untuk mengenkripsi SMS menggunakan metode RSA dengan melakukan

algoritma enkripsi maupun deskripsi, teknik ini digunakan untuk mengkonversi

data kedalam bentuk kode-kode tertentu, dengan tujuan agar informasi yang

tersimpan tidak dapat terbaca oleh siapa pun kecuali orang-orang yang berhak.

Hasil dalam penelitian ini juga menunjukkan bahwa aplikasi enkripsi SMS

menggunakan RSA mampu mengacak pesan sehingga sulit untuk dibobol. Namun

jika jumlah pesan pada SMS mengalami peningkatan maka akan dibatasi jumlah

pesan maksimal 30 karakter.

Pada penelitian yang di lakukan oleh Wibowo et al. (2015) dengan judul

“Analisis dan Implementasi Enkripsi dan Dekripsi Ganda Kombinasi Algoritma

Blowfish dan Algoritma Triple DES untuk SMS pada Smartphone Android”

Mengatakan Algoritma blowfish dan Algoritma Triple DES di implementasikan

pada smartphone android dapat mengenkripsi SMS sebelum dikirim dan

mendekripsi sms ketika diterima. Dengan menggunakan enkripsi ganda keamanan

SMS menjadi lebih terjamin dan waktu enkripsi dan dekripsi tidak memakan

waktu yang lama serta nilai Avalanche Effect yang baik. Dilihat dari nilai

Avalanche effect yang berkisar antara 43 % - 48 %.

Pada penelitian yang di lakukan oleh Rao, (2012) dengan judul “Security

Providing using Blowfish, RSA and SHA-512 Algorithms” mengatakan keamanan

baru pada transaksi dapat dirancang dengan menggunakan kombinasi dari teknik

kriptografi simetrik dan asimetrik. Tiga kriptografi seperti integritas, kerahasiaan

dan otentikasi. Perintah ini dapat dicapai dengan bantuan Secure Hash Algorithm,

Algoritma Blowfish dan Algoritma RSA. Menggunakan Blowfish untuk enkripsi,

algoritma RSA untuk otentikasi dan SHA-512 untuk integritas. Keamanan yang

baru ini telah dirancang untuk keamanan yang lebih baik dengan menggunakan

kombinasi teknik kriptografi simetrik dan asimetrik integritas.

Pada penelitian yang dilakukan oleh Hatta et al. (2016) dengan judul

”Implementasi Algoritma Blowfish dan Vigenere Chiper pada Aplikasi SMS

Berbasis Android” mengatakan bahwa untuk pengamanan isi pesan SMS melalui

aplikasi ponsel dengan cara melakukan penyandian (enkripsi) dengan Algoritma

Blowfish dan Vigenere Chiper dapat menghasilkan chipertext yang semakin rumit

dan tanpa kata kunci yang tepat pesan tidak dapat dibaca dengan jelas.

f. Landasan Teori

• SMS (Short Messaging Service)

Short Messaging Service (SMS) merupakan salah satu fitur dari GSM yang

dikembangkan dan distandarisasi oleh ETSI. Pada saat kita mengirim pesan SMS

dari handphone, maka pesan SMS tersebut tidak langsung dikirim ke handphone

tujuan, akan tetapi terlebih dahulu dikirim ke SMS Center (SMSC) dengan prinsip

Store and Forward, setelah itu baru dikirimkan ke handphone yang dituju. Proses

pengiriman SMS dapat dilihat pada gambar 1 (Prafanto, 2016).

Page 4: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

4

Gambar 1. Skema Proses SMS

SMS bekerja dalam jaringan nirkabel. Dalam aplikasinya, pentrasmisian

SMS membutuhkan beberapa komponen khusus untuk mengirimkan pesan

sampai ke tujuan. Komponen yang diperlukan untuk melakukan komunikasi

SMS diantaranya adalah :

a. BTS (Base Transceiver Station) BTS ini merupakan sebuah perangkat yang

memfasilitasi komunikasi nirkabel antara perangkat user dengan jaringan.

Perangkat user ini dapat meliputi telepon selular, komputer dengan

koneksi internet nirkabel, dan lain-lain.

b. MSC (Mobile Switching Center) MSC ini adalah sebuah noda layanan

pengiriman utama bagi GSM/CDMA. Perangkat ini berfungsi untuk

routing panggilan suara, SMS, FAX, maupun conference call.

c. SMSC (SMS Service Center) SMSC adalah sebuah perangkat yang

terpasang pada jaringan utama SMSC ini berfungsi untuk menerima SMS

dan menelusuri nomor tujuan, dan mengirimkannya ke perangkat tujuan

(Telepon Seluler).

• Kriptografi

Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku

kata yaitu Crypto dan Graphia. Crypto artinya menyembunyikan, sedangkan Graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik

matematika yang berhubungan dengan aspek keamanan informasi, seperti

kerahasiaan data, keabsahan data, integritas data, serta autentikasi data. Untuk

melakukan kriptografi digunakan algoritma kriptografi. Algoritma kriptografi

terdiri dari dua bagian, yaitu fungsi enkripsi dan dekripsi. Enkripsi adalah proses

untuk mengubah plaintext menjadi ciphertext, sedangkan dekripsi adalah

kebalikannya yaitu mengubah ciphertext menjadi plaintext. Terdapat dua jenis

algoritma kriptografi berdasar jenis kuncinya, yaitu :

a. Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi

yang sama dengan kunci dekripsinya. Algoritma standar yang

menggunakan prinsip kunci simetri antara lain OTP, DES, RC2, RC4,

RC5, RC6, IDEA, Twofish, Blowfish, dan lain lain.

Page 5: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

5

b. Algoritma Asimetri : adalah algoritma yang kunci untuk enkripsi dan

dekripsinya jauh berbeda. Algoritma standar yang termasuk algoritma

asimetri adalah ECC, LUC, RSA, EI, Gamal dan DH.

Algoritma kriptografi ada dua, yaitu:

1. Plaintext dan Ciphertext : Pesan adalah data atau informasi yang dapat dibaca

dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks atau teks

yang dapat dibaca dengan jelas. Pesan dapat berupa data atau informasi yang

dikirim atau yang disimpan di dalam media perekaman. Pesan yang tersimpan

tidak hanya berupa teks, tetapi dapat berbentuk gambar, suara atau bunyi,

dokumen, dan video. Agar pesan tidak dapat dimengerti maknanya oleh pihak

lain, maka pesan perlu disandikan kebentuk lain yang tidak dapat dipahami.

Bentuk pesan yang tersandi disebut cipherteks. Cipherteks harus dapat diubah

kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca.

2. Enkripsi dan Dekripsi : Proses menyandikan plaintext menjadi cipherteks

disebut enkripsi. Sedangkan proses mengembalikan ciphertext menjadi

plaintext semula dinamakan dekripsi. Enkripsi dan dekripsi dapat diterapkan

baik pada pesan yang dikirim maupun pada pesan tersimpan. Istilah encryption

of data in motion mengacu pada enkripsi pesan yang ditransmisikan melalui

saluran komunikasi, sedangkan istilah encryption of data at-rest mengacu pada

enkripsi dokumen yang disimpan di dalam storage.

3. Tujuan Kriptografi : Ada empat tujuan dari ilmu kriptografi ini yang juga

merupakan aspek keamanan informasi yaitu:

a. Kerahasiaan adalah layanan yang digunakan untuk menjaga isi dari

informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia

untuk membuka atau mengupas informasi yang telah disandi.

b. Integritas data adalah berrhubungan dengan penjagaan dari perubahan

data secara tidak sah. Untuk menjaga integritas data, sistem harus

memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-

pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan

pensubsitusian data lain kedalam data yang sebenarnya.

c. Autentifikasi adalah berhubungan dengan identifikasi atau pengenalan,

baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak

yang saling berkomunikasi harus saling memperkenalkan diri. Informasi

yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya,

dan waktu pengiriman.

d. Non-repudiasi adalah usaha untuk mencegah terjadinya penyangkalan

terhadap pengiriman suatu informasi oleh yang orang mengirimkan atau

membuat (Hatta et al., 2016).

• Algoritma blowfish

Blowfish adalah kunci dengan panjang variabel, 64-bit block cipher. Algoritma

ini terdiri dari dua bagian: bagian ekspansi kunci dan bagian enkripsi data.

Ekspansi kunci mengkonversi kunci paling banyak 448 bit menjadi beberapa subkunci array sebesar 4168 byte.

Enkripsi data terjadi melalui jaringan Feistel 16-putaran. Setiap putaran terdiri

dari permutasi bergantung-kunci, dan substitusi bergantung pada kunci dan data.

Semua operasi adalah XOR dan tambahan pada kata-kata 32-bit. Satu-satunya

Page 6: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

6

operasi tambahan adalah empat pencarian data array yang diindeks perputaran

(Schneier, 1996).

Pada saat Blowfish dirancang, diharapkan mempunyai kriteria perancangan

sebagai berikut :

a. Cepat, Blowfish melakukan enkripsi data pada microprocessors 32-bit

dengan rate 26 clock cycles per byte.

b. Compact (ringan), Blowfish dapat dijalankan pada memori kurang dari 5K.

c. Sederhana, Blowfish hanya menggunakan operasi-operasi sederhana:

penambahan, XOR, dan lookup tabel pada operan 32-bit.

d. Memiliki tingkat keamanan yang bervariasi, panjang kunci yang digunakan

oleh Blowfish dapat bervariasi dan bisa sampai sepanjang.

• Struktur Algoritma Blowfish

Blowfish menggunakan sejumlah besar subkunci. Kunci ini harus diprediksi

sebelum enkripsi atau dekripsi data. Langkah – langkahnya sebagai berikut:

Pembangkitan Kunci - Kunci

1. Terdapat kotak permutasi (P-box) yang terdiri dari 18 buah 32 bit subkunci:

P1,P2, P3, ... P18. P-box ini telah ditetapkan sejak awal, 4 buah P-box awal

adalah sebagai berikut:

P1 = 0x243f6a88

P2 = 0x85a308d3

P3 = 0x13198a2e

P4 = 0x03707344

2. XOR-kan P1 dengan 32 bit awal kunci, xorkan P2 dengan 32 bit berikutnya

dari kunci, dan teruskan hingga seluruh panjang kunci telah terxorkan.

3. Terdapat 64 bit dengan isi kosong, bit-bit tersebut dimasukkan ke langkah 2.

4. Gantikan P1 dan P2 dengan keluaran dari langkah 3.

5. Enkripsikan keluaran langkah 3 dengan langkah 2 kembali.

6. Gantikan P3 dan P4 dengan keluaran dari langkah 5

7. Lakukan seterusnya hingga seluruh P-box teracak sempurna.

8. Total keseluruhan, terdapat 521 iterasi untuk menghasilkan subkunci subkucni

yang dibutuhkan. Aplikasi hendaknya menyimpannya daripada menghasilkan

ulang subkunci-subkunci tersebut.

Enkripsi-Dekripsi Data

Proses enkripsi-dekripsi data pada algoritma blowfish sebagai berikut:

1. Masukan dari proses ini adalah 64 bit data yang diinisialkan “x”.

2. Bagi x menjadi 2 buah bagian sama besar, xL (x kiri) sepanjang 32 bit, dan xR

(x kanan) sepanjang 32 bit.

3. Lakukan iterasi sebanyak i=1 hingga i=16:

xL = xL XOR P[i]; (2,1) (2,1)

xR = F(xL) XOR xR; (2,2)

Swap(xL, xR); (2,3)

4. Fungsi F adalah sebagai berikut:

bagi xL menjadi 4 buah 8 bit a, b, c, dan d.

F(xL) = ((S[1,a] + S2[2,b] mod 232) XOR S[3,c]) + S[4,d] mod 232. (2,4) 5. Langkah terakhir adalah:

Swap(xL, xR); (2,5)

xL = xR XOR P[17]; (2,6)

xR = xL XOR P[18]; (2,7)

Page 7: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

7

gabungkan xL dan xR menjadi 64 bit return hasil gabungan.

6. Pada proses dekripsi langkah-langkahnya sama persis dengan proses enkripsi,

namun hanya saja P-box digunakan dengan urutan yang terbalik

(Octamanullah, 1997) .

• Algoritma RSA

RSA merupakan algoritma kriptografi asimetris. Ditemukan pertama kali pada

tahun 1977 oleh Ron Rivest, Adi Shamir, dan Leonard Adleman. Nama RSA

sendiri diambil dari inisial nama depan ketiga penemunya tersebut. Sebagai

algoritma kunci publik, RSA mempunyai dua kunci, yaitu kunci publik dan kunci

pribadi. Kunci publik boleh diketahui oleh siapa saja, dan digunakan untuk proses

enkripsi. Sedangkan kunci pribadi hanya pihak - pihak tertentu saja yang boleh

mengetahuinya, dan digunakan untuk proses dekripsi. Keamanan sandi RSA

terletak pada sulitnya memfaktorkan bilangan yang besar. Sampai saat ini RSA

masih dipercaya dan digunakan secara luas di internet.

RSA adalah metode yang menggunakan perhitungan matematika yang rumit

dan disertai dengan kunci pengaman awal (dengan private key maupun dengan

public key) sehingga amat sulit untuk ditembus oleh hacker. Adapun prinsip

pengamanan metode ini adalah bagaimana sistem dapat mengamankan proses

penyimpanan dan pengiriman dokumen. Mula-mula dokumen dalam bentuk teks

dienkripsi dengan metode RSA.Sehingga dokumen tidak dapat dibaca oleh

siapapun, karena teks telah berubah menjadi susunan huruf yang teracak.

Dokumen yang susunan hurufnya telah teracak tersebut jika ingin dibaca oleh

pemilik dokumen, maka dokumen tersebut harus dibuka dengan dekripsi RSA

kembali (Sahara et al., 2017).

• Struktur Algoritma RSA

Pembangkitan Kunci

1. Pilih dua bilangan prima sembarang, p dan q secara acak. p ≠ q. Bilangan ini

harus cukup besar.

2. Hitung n = p . q (sebaiknya p ≠ q, sebab jika p = q maka n = p2 sehingga, p

dapat diperoleh dengan menarik akar pangkat dua dari n).

3. Hitung Φ(n) = (p - 1)(q - 1)

4. Pilih kunci public key , e yang relatif prima dengan Φ(n).

5. Bangkitkan kunci private dengan menggunakan persamaan (V), yaitu e . d = 1

(mod Φ(n)) ekivalen dengan e . d = k Φ(n)+1, sehingga secara sederhana d

dapat dihitung dengan d = 1 + kΦ(n) e.

Hasil dari algoritma di atas :

- Kunci public adalah pasangan (e,n)

- Kunci private adalah pasangan (d,n)

Page 8: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

8

Metode Enkripsi

Langkah-langkah dalam mengenkripsi pesan:

1. Nyatakan pesan menjadi blok-blok plainteks: m1, m2, m3, … ( syarat: 0 < mi

< n – 1)

2. Hitung blok cipherteks ci untuk blok plainteks pi dengan persamaan

ci = mie mod n , dalam hal ini, e adalah kunci publik

Metode Dekripsi

Proses dekripsi dilakukan dengan menggunakan persamaan

mi = cid mod n, dalam hal ini, d adalah kunci privat.

• Android

Android merupakan sistem operasi (OS) untuk perangkat mobile berbasiskan

linux, yang dimodifikasi sedemikan rupa, sehingga dapat dijalankan dalam

perangkat seperti komputer tablet dan smartphone. Dikembangkan pertama kali

oleh Andorid.Inc, yang kemudian namanya digunakan sebagai nama proyek

sistem operasi Android.

Pada tahun 2005, Google membeli OS (Operating System) Android dari

Android.Inc, sebagai strategi untuk memasuki pasar mobile handset. Google

mengambil alih seluruh pengembangannya dan memperkerjakan Andy Rubin,

Rich Miner, Nick Sears dan Chris White. Andy Rubin sebagai pimpinan proyek

tersebut. Di bawah manajemen Google, android dan kode – kodenya dirilis secara

open source di bawah lisensi Apache. Google juga menyediakan platform terbuka,

agar para pengembang dapat menciptakan aplikasi mereka sendiri untuk perangkat

mobile, dan hal inilah yang membuat android tumbuh dengan cepat.

Android dikembangkan dengan modifikasi dari kernel linux, tujuannya agar

lebih ringan dan dapat dijalankan didalam sebuah perangkat mobile seperti

smartphone dan komputer tablet. Saat ini banyak sekali vendor – vendor besar

yang sudah menggunakan android sebagai operating system di perangkat mereka.

Jika dahulu Nokia dengan Syimbian-nya yang sempat menjadi market leader,

sekarang sudah tertinggal oleh Android sebagai sistem operasi smartphone (Ardi,

2013).

Page 9: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

9

II. METODE PENELITIAN

• Diagram Alir Enkripsi Blowfish dan RSA

Mulai

Inisialisasi Pbox

P1...P18, Kunci (K),

K1, K2

Tentukan

(K) 64 bit

K/2 = K1 dan K2

P [1] = P[1] Xor K1[1]

P[i] = P[i] Xor K2[i]

Tentukan

String_Nol = 0

64 bit

NewP[1] = String_Nol Xor P[1]

NewP[i] = String_Nol Xor P[i]

Tukar NewP[1]

dan NewP[i]

I 16

P[1] = P[17] Xor K1[1]

P[i] = P[18] Xor K2[i]

Tentukan

String_Nol = 0

64 bit

NewP[1] = String_Nol Xor P[1]

NewP[i] = String_Nol Xor P[i]

Tukar NewP[1]

dan NewP[i]

Tentukan bil prima p

dan q. Dimana p q

dan p > q

Hitung n = p * q

M = (p-1)(q-1)

Jika (e.m) = 1

Tentukan e

Dimana

1 < e < n-1

Hitung (e,m)

T

Y

Kunci publik (e,n)

Tentukan d

Hitung d = (1+n.m)/e

Kunci privat (d,n)

Plainteks

x = 64 Bit

x/2 = xL & xR

xL = xL XOR Pi

Xr = F(xL) XOR xR

Bagi xL menjadi 4 bagian 8 bit

a,b,c dan d

F(xL)= ((S[1,a] + S[2,b] mod 232)

XOR S[3,c]) + S[4,d] mod 232

Tukar xL dan xR

xL = xR XOR P17

xR = xL XOR P18

Tukar xL & xR

I = 16

T

Y

Satukan

xL dan xR = Chiperteks

Kunci publik (e,n)

Chiperteks > ASCII (Desimal) = m

n m

C = me mod n

Selesai

Chiperteks

Y

T

Chiperteks

x = 64 Bit

Pembangkitan kunci

Blowfish dan RSA

Proses Enkripsi Blowfish

dan RSA

T

Y

Gambar 2. Flowchart Proses Enkripsi Algoritma Blowfish dan RSA

Page 10: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

10

• Diagram Alir Dekripsi Blowfish dan RSA

Mulai

Inisialisasi Pbox

P1...P18, Kunci (K),

K1, K2

Tentukan

(K) 64 bit

K/2 = K1 dan K2

P [1] = P[1] Xor K1[1]

P[i] = P[i] Xor K2[i]

Tentukan

String_Nol = 0

64 bit

NewP[1] = String_Nol Xor P[1]

NewP[i] = String_Nol Xor P[i]

Tukar NewP[1]

dan NewP[i]

I 16

P[1] = P[17] Xor K1[1]

P[i] = P[18] Xor K2[i]

Tentukan

String_Nol = 0

64 bit

NewP[1] = String_Nol Xor P[1]

NewP[i] = String_Nol Xor P[i]

Tukar NewP[1]

dan NewP[i]

Tentukan bil prima p

dan q. Dimana p q

dan p > q

Hitung n = p * q

M = (p-1)(q-1)

Jika (e.m) = 1

Tentukan e

Dimana

1 < e < n-1

Hitung (e,m)

T

Y

Kunci publik (e,n)

Tentukan d

Hitung d = (1+n.m)/e

Kunci privat (d,n)

Pembangkitan kunci

Blowfish dan RSA

Proses Dekkripsi

Blowfish dan RSA

x/2 = xL & xR

xL = xR XOR P18

xR = xL XOR P17

Bagi xL menjadi 4 bagian 8 bit

a,b,c dan d

F(xL)= ((S[1,a] + S[2,b] mod 232)

XOR S[3,c]) + S[4,d] mod 232

Tukar xL dan xR

xL = xL XOR Pi

Xr = F(xL) XOR xR

Tukar xL & xR

I = 16

Satukan xL dan xR

T

Y

Selesai

Kunci rahasia (d,n)

M = Cd mod n

Plainteks

X = 64 bit

m > ASCII (Karakter)

Chiperteks

Plainteks

T

Y

Gambar 3. Flowchart Proses Dekripsi Algoritma Blowfish

Page 11: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

11

III. HASIL PENELITIAN

A. Tampilan Enkripsi Pesan

Gambar 4. Tampilan Enkripsi Pesan

Penjelasan gambar 4 merupakan tampilan Enkripsi Pesan yang mana user

dapat menginput pesan asli yang akan dikirimkan, setelah itu user menginputkan

kunci Blowfish dan RSA, lalu klik button Enkripsi pesan maka akan muncul hasil

pembangkitan kunci RSA, yang mana hasil ini akan dipakai untuk mendekripsi

pesan yang terenkripsi maka secara otomatis pesan ter-enkripsi akan muncul

dibawahnya.

B. Tampilan Dekripsi Pesan

Gambar 5. Tampilan Dekripsi Pesan

Penjelasan gambar 5 merupakan tampilan dekripsi pesan yang mana pesan

yang ter-enkripsi akan didekripsi dengan cara user memasukkan kunci Blowfish

dan kunci. Pada kunci RSA ini adalah hasil dari pembangkitan kunci pada gambar

4, setelah itu user klik button dekripsi pesan maka pesan asli akan muncul sesuai

yang di inputkan dari awal.

Page 12: Keamanan SMS Berbasis Androidrepository.umrah.ac.id/3789/1/NurAgusyani-140155201022...Algoritma Simetri : adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

12

IV. KESIMPULAN

Kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut :

1. Aplikasi mampu mengamankan isi pesan dengan melakukan enkripsi

pesan.

2. Tanpa menggunakan hasil pembangkitan kunci RSA yang tepat maka

chiperteks tidak dapat didekripsi dengan benar.

3. Sistem telah memenuhi kerahasian data.

V. DAFTAR PUSTAKA

Ardi, A., 2013, “Mobile Programming: Pengembangan Aplikasi untuk Android

Phone”, PT. Skripta Media Creative, Yogyakarta

Hatta, M., Kusnadi, & Sanjaya, N., 2016, Implementasi Algoritma Blowfish dan

Vigenere Chiper pada Aplikasi SMS Berbasis Android, 15–22.

Octamanullah, M., 1997, Perbandingan Algoritma Kriptografi Kunci Simetrik

BlowFish dan TwoFish, 1–15.

Prafanto, A., 2016, Penerapan Algoritma Blowfish Untuk Keamanan SMS Pada

Android.

Rahmah, I. F., & Andoko, B. S. Rancang Bangun Aplikasi Enkripsi SMS (

SHORT MESSAGE SERVICE ) Dengan Metode RSA Pada Telepon

Seluler, 2015.

Rao, G. H., 2012, Security Providing using Blowfish , RSA and SHA-512

Algorithms, 8491, 4–6.

Sahara, R., Prastiawan, H., Rohman, A., Komputer, F. I., Buana, U. M., Raya, J.,

Barat, J., 2017, Implementasi Keamanan SMS Dengan Algoritma RSA Pada

Smartphone Android, IX(2), 118–122.

Shceneir, B., 1996, "Shceneir On Security", Tanggal akses 07 Januari 2019.,

https://www.scheneir.com/academic/blowfish/

Wibowo, guntur tri, Rumani, & Saputra, R. E., 2015, Analisa dan Implementasi

Enkripsi dan Dekripsi Ganda Kombinasi Algoritma Blowfish dan Algoritma

Tripple DES untuk SMS pada Smartphone Android, 2(2), 3404–3411.