PENGAMAN PENGIRIMAN PESAN VIA SMS DENGAN ALGORITMA RSA BERBASIS ANDROID TUGAS AKHIR SM ANDI RISKI ALVIANTO NRP

Ukuran: px
Mulai penontonan dengan halaman:

Download "PENGAMAN PENGIRIMAN PESAN VIA SMS DENGAN ALGORITMA RSA BERBASIS ANDROID TUGAS AKHIR SM ANDI RISKI ALVIANTO NRP"

Transkripsi

1 TUGAS AKHIR SM PENGAMAN PENGIRIMAN PESAN VIA SMS DENGAN ALGORITMA RSA BERBASIS ANDROID ANDI RISKI ALVIANTO NRP Dosen Pembimbing Dr. Darmaji, S.Si, MT Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2014

2 FINAL PROJECT SM SECURITY OF MESSAGES VIA SMS BY USING RSA ALGORITHM BASED ON ANDROID ANDI RISKI ALVIANTO NRP Supervisor Dr. Darmaji, S.Si, MT Department Of Mathematics Faculty Of Mathematics and Sciences Sepuluh Nopember Institute Of Technology Surabaya 2015

3 LEMBAR PENGESAHAN PENGAMAN PENGIRIMAN PESAN VIA SMS DENGAN ALGORITMA RSA BERBASIS ANDROID SECURITY OF MESSAGES VIA SMS BY USING RSA ALGORITHM BASED ON ANDROID TUGAS AKHIR Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Sains Pada bidang studi Ilmu Komputer Program Studi S-1 Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya Oleh : ANDI RISKI ALVIANTO NRP Menyetujui, Dosen Pembimbing, Dr. Darmaji, S.Si, MT NIP Mengetahui, Ketua Jurusan Matematika FMIPA ITS Prof. Dr. Erna Apriliani, M.Si NIP Surabaya, 2 Februari 2015 v

4 Halaman ini sengaja dikosongkan vi

5 PENGAMAN PENGIRIMAN PESAN VIA SMS DENGAN ALGORITMA RSA BERBASIS ANDROID Nama : Andi Riski Alvianto NRP : Jurusan : Matematika FMIPA ITS Dosen Pembimbing : Dr. Darmaji, S.Si, MT Abstrak Saat ini penggunaan Smartphone sangat digemari oleh banyak kalangan, khususnya Smartphone berbasis Android. Mulai dari kalangan masyarakat bawah hingga kalangan atas. Salah satu fitur Smartphone yang juga banyak diminati oleh masyarakat adalah SMS. SMS adalah salah satu fitur yang banyak digunakan dan dimanfaatkan oleh masyarakat, namun ada satu masalah yang sering dihadapi oleh masyarakat dalam menggunakan SMS yaitu masalah keamanan pesan SMS. Kriptografi merupakan salah satu solusi yang dapat dimanfaatkan dan dikembangkan dalam menyelesaikan permasalahan keamanan pesan SMS. Dengan melakukan enkripsi pada pesan SMS, maka kemanan pesan SMS akan lebih terjaga dan aman. Kriptografi memiliki banyak teknik dalam melakukan pengenkripsian pesan SMS dan salah satu yang memiliki tingkat keamanan yang tinggi dan tingkat kesulitan dalam pemecahannya adalah algoritma RSA. Sehingga orang atau pihak yang tidak bertanggung jawab akan mengalami kesulitan dalam melakukan tindakannya. Pada tugas akhir ini, penulis mengembangkan sebuah aplikasi pada smartphone berbasis Android untuk memodifikasi pesan SMS menjadi ciphertext agar isi informasi dari SMS tersebut tidak diketahui oleh orang lain. Untuk pengiriman SMS sistem mengenkripsi pesan menjadi ciphertext kemudian mengirimkan ke nomor tujuan. Untuk penerimaan SMS sistem mendekripsi ciphertext vii

6 menjadi plaintext menggunakan key yang diinputkan oleh penerima kemudian menampilkan pesan asli kepada penerima. Aplikasi ini dapat dimanfaatkan oleh seseorang yang ingin mengirimkan suatu informasi rahasia kepada orang lain melalui SMS tanpa takut informasi dari pesan tersebut akan diketahui oleh orang lain. Metode yang digunakan dalam mengenkripsi dan mendekripsi pesan adalah algoritma RSA dan implementasinya menggunakan Eclipse IDE. Kata kunci : Smartphone, Android, SMS, kriptografi, enkripsi, dekripsi, RSA viii

7 SECURITY OF MESSAGES VIA SMS BY USING RSA ALGORITHM BASED ON ANDROID Name : Andi Riski Alvianto NRP : Department : Mathematics FMIPA ITS Supervisor : Dr. Darmaji, S.Si, MT Abstract Currently smartphone usage is very popular by many people, especially Android-based Smartphone. Starting from the grass root to the top ranks of society. One of the features of the smartphone is also much in demand by the people is SMS. SMS is one of the features that are widely used and utilized by society, but there is one problem often encountered by the community in the use of SMS that is SMS messages security problems. Cryptography is one of the solutions that can be utilized and developed to solve the problem of the security of SMS messages. By performing encryption on SMS messages, the SMS messages security will be more awake and safe. Cryptography has many techniques in performing of the encripting SMS messages and one that has a high level of security and the level of difficulty in solving them is the RSA algorithm. So that person or parties who has no responsibility will have difficulty in performing actions. In this final project, the author develops an application on smartphone based on Android to modify SMS to ciphertext so that information contents from SMS was not known by others. For immediate delivery system SMS encrypt message to ciphertext then sending destination number. For the acceptance SMS system to decrypt ciphertext to plaintext use the key that inputed by receiver and display original message to recipients. This application can be utilized by someone who want to send a secret information to others through SMS without fear information from that message ix

8 will be known by another. The methods used to encrypt and describe message is algoritma RSA and implementation using Eclipse IDE. Keywords: Android, Smartphone, SMS, cryptography, encryption, decryption, RSA x

9 KATA PENGANTAR Puji syukur penulis panjatkan kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-nya serta kesehatan dan keteguhan hati sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul Pengaman Pengiriman Pesan Via SMS dengan Algoritma RSA Berbasis Android sebagai syarat kelulusan dalam menempuh program S-1 Jurusan Matematika FMIPA ITS Surabaya. Dalam proses pembuatan Tugas Akhir ini, penulis mendapat bantuan dan dukungan dari berbagai pihak. Untuk itu penulis mengucapkan terima kasih kepada : 1. Ibu Dr. Erna Apriliani, M.Si selaku Ketua Jurusan Matematika FMIPA ITS. 2. Bapak Dr. Darmaji, S.Si, MT selaku Dosen Pembimbing Tugas Akhir yang telah banyak membantu, membimbing dan memberikan motivasi kepada penulis dalam penyusunan laporan Tugas Akhir ini. 3. Bapak Dr. Chairul Imron, M.I.Komp selaku Koordinator Tugas Akhir Jurusan Matematika FMIPA ITS. 4. Ibu Dra. Farida Agustini Widjajati, MS selaku dosen wali penulis yang telah memberikan motivasi. 5. Bapak dan ibu dosen serta seluruh staf Tata Usaha dan Laboratorium Jurusan Matematika FMIPA ITS yang tidak dapat penulis sebutkan satu persatu. Penulis menyadari bahwa laporan tugas akhir ini masih jauh dari kesempurnaan. Untuk itu penulis mengharap saran dan kritik yang membangun. Akhir kata penulis mohon maaf sebesar-besarnya apabila ada kesalahan yang diperbuat, baik sengaja maupun tidak. Semoga tugas akhir bermanfaat bagi pembaca khususnya dan rekan-rekan mahasiswa lainnya. Surabaya, Februari 2015 Penulis xi

10 Special thank s to: 1. Bapak dan Ibu yang telah mendukung dan memberi semangat serta doa dalam pengerjaan Tugas Akhir ini. Juga adikku Arif Krisdiyanto yang selalu memberikan refreshing pikiran. 2. Penguji sidang Tugas Akhir Pak Basuki, Pak Budi, Pak Sutrisno dan Pak Suhud terimakasih atas saran dan masukannya dalam koreksi Tugas Akhir ini. 3. Teman-teman dekatku di jurusan Matematika angkatan 2010 yang selalu bersama di jurusan dan saling menyemangati dalam kuliah, yang selalu dapat diajak gila-gilaan bersama, yang dapat diajak membuat LAN bersama. Ketika aku sangat bosan, berkumpul bersama kalian adalah salah satu pembangkit mood-ku. thanks to Om Don (Romdoni), El Cho (Khoir), Minho (Romi), Bang Gos (Aji), Kentang (Akhmad), Ridho, Zaky, Tomy dan tetua kita Mas Ipin, Mas Pandi, Bang Satria dan lain-lain yang tidak dapat disebutkan satu-persatu. 4. Juga untuk Master Danang dan Mas Arif yang bersedia membantu dalam pembuatan program. Thank s bro. 5. Teman-teman seperjuangan TA, terutama yang selalu ada di ruang TA Lab Komputasi. Selamat datang dalam dunia yang penuh perjuangan. Dan untuk yang dalam proses semangat!! 6. Teman-teman aritsmatics yang telah memberikan dukungan serta berbagi suka dan duka selama kuliah di kampus perjuangan ini. 7. Adek-adekku terima kasih atas motivasi dan dukungannya dalam menyemangati penyelesaian Tugas Akhir ini. 8. Sahabat, teman-teman serta seluruh pihak yang tidak dapat penulis sebutkan satu persatu. Semoga Allah membalas dengan kebaikan yang berlimpah. Amin. xii

11 DAFTAR ISI HALAMAN JUDUL... LEMBAR PENGESAHAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... DAFTAR ISI... DAFTAR GAMBAR... DAFTAR TABEL... DAFTAR NOTASI... i v vii ix xi xiii xvii xix xxi BAB I PENDAHULUAN 1.1 Latar Belakang Rumusan Masalah Batasan Masalah Tujuan Manfaat Sistematika Penulisan... 4 BAB II TINJAUAN PUSTAKA 2.1 Masalah Keamanan Aspek-Aspek Keamanan Serangan Keamanan Serangan Pasif Serangan Aktif Pengertian Kriptografi Algoritma Kunci Simetri Algoritma Kunci Asimetri Sistem Kriptografi RSA Teorema Fermat Fungsi Euler Algoritma RSA Algoritma Pembangkitan Kunci RSA Algoritma Enkripsi xiii

12 2.5.6 Algoritma Dekripsi Sistem ASCII Sistem Operasi Android Pengertian ROOT Custom ROM Android Flashing OS Modifikasi Kernel Keuntungan dan Kerugian Custom ROM Short Message Service (SMS) BAB III METODE PENELITIAN 3.1 Identifikasi Masalah Komparasi Penelitian Terdahulu Studi Literatur Pengembangan Perangkat Lunak User Requirement Perancangan Perangkat Lunak Implementasi Perangkat Lunak Uji Coba Perangkat Lunak Penarikan Simpulan dan Saran BAB IV ANALISA DAN PERANCANGAN 4.1 Deskripsi Sistem Analisa Sistem Analisa Kebutuhan Software Requirement Spesification (SRS) Analisa Algoritma RSA sebagai Kunci Publik Cryptosystem Analisa Perancangan Perangkat Lunak Perancangan Perangkat Lunak Perancangan Flowchart Perangkat Lunak Perancangan Data Context Diagram Perancangan Data Flow Diagram DFD Level DFD Level 2 Proses Enkripsi xiv

13 DFD Level 2 Proses Dekripsi Perancangan Proses dari Perangkat Lunak Penggunaan Kelas BigInteger Pembuatan Generator Bilangan Prima Pembentukan Kunci Publik dan Kunci Privat dengan Algoritma RSA Proses Enkripsi dengan Algoritma RSA Proses Dekripsi dengan Algoritma RSA Perancangan Proses Pengiriman Pesan Perancangan Proses Penerimaan Pesan Perancangan Tampilan Perangkat Lunak Tampilan Layout Main Tampilan Layout Tulis Pesan Tampilan Layout Inbox Tampilan Layout Baca Pesan BAB V PEMBAHASAN DAN PENGUJIAN 5.1 Pembahasan Aplikasi Pengaman SMS dengan Algoritma RSA Pembahasan Tampilan Layout Main Pembahasan Tampilan Layout Tulis Pesan Pembahasan Tampilan Layout Inbox Pembahasan Tampilan Layout Baca Pesan Proses Uji Coba Aplikasi Pengaman SMS Uji Coba Validitas Pesan Saat Enkripsi dan Dekripsi Uji Coba Response Time pada Enkripsi dan Dekripsi BAB VI PENUTUP 6.1 Simpulan Saran DAFTAR PUSTAKA xv

14 LAMPIRAN A. Cara Menginstal Perangkat Lunak B. Syarat Pendukung Perangkat Lunak C. Data-Data Uji Coba C.1 Percobaan untuk Response Time Proses Enkripsi C.2 Percobaan untuk Response Time Proses Dekripsi C.3 Validitas Pesan Saat Enkripsi dan Dekripsi 90 BIODATA PENULIS xvi

15 DAFTAR TABEL Tabel 2.1 Tabel ASCII Tabel 4.1 Spesifikasi kebutuhan perangkat lunak Tabel 5.1 Validitas pesan saat enkripsi dan dekripsi xix

16 Halaman ini sengaja dikosongkan xx

17 DAFTAR GAMBAR Gambar 2.1 Serangan terhadap keamanan... 9 Gambar 2.2 Proses enkripsi dan dekripsi Gambar 4.1 Pengiriman dan Penerimaan SMS Gambar 4.2 Use Case Diagram System Gambar 4.3 Flowchart Sistem dengan Algoritma RSA. 39 Gambar 4.4 DCD Aplikasi Pengaman SMS Gambar 4.5 DFD level Gambar 4.6 DFD level 2 Proses Enkripsi Gambar 4.7 DFD level 2 Proses Dekripsi Gambar 4.8 Flowchart Aplikasi Pengaman SMS Gambar 4.9 Rancangan Tampilan untuk Layout Main.. 49 Gambar 4.10 Tampilan Layout Tulis Pesan Gambar 4.11 Tampilan Layout Inbox Gambar 4.12 Tampilan Layout Baca Pesan Gambar 5.1 Tampilan Awal Gambar 5.2 Flowchart Pemanggilan Class Gambar 5.3 Tampilan Tulis Pesan Gambar 5.4 Function pada class tulis() Gambar 5.5 Tampilan Inbox Gambar 5.6 Flowchart Proses Inbox Gambar 5.7 Tampilan Baca Pesan Gambar 5.8 Flowchart Proses Tampilan Baca Pesan Gambar 5.9 Membuka Aplikasi Pengaman SMS Gambar 5.10 Proses Pengiriman SMS Gambar 5.11 Tampilan Inbox Bawaan Android Gambar 5.12 Tampilan Inbox pada Pengaman SMS Gambar 5.13 Proses Dekripsi Benar Gambar 5.14 Proses Dekripsi Salah Gambar 5.16 Grafik Response Time enkripsi berdasarkan jumlah karakter pesan Gambar 5.17 Grafik Response Time dekripsi berdasarkan jumlah karakter pesan xvii

18 Halaman ini sengaja dikosongkan xviii

19 DAFTAR NOTASI M : Pesan atau data dalam bentuk aslinya yang dapat terbaca. Untuk selanjutnya digunakan istilah plaintext sebagai padanan dari kata teks asli. Plaintext adalah masukan bagi algoritma enkripsi C : Pesan dalam bentuk tersembunyi. Untuk selanjutnya digunakan istilah ciphertext sebagai padanan dari kata teks sandi. Ciphertext merupakan plaintext yang telah disamarkan dengan metode kriptografi tertentu. Ciphertext adalah keluaran dari algoritma enkripsi K : Masukan bagi algoritma enkripsi dan merupakan nilai yang bebas terhadap teks asli serta menentukan hasil keluaran algoritma enkripsi. Untuk selanjutnya digunakan istilah secret key sebagai padanan dari kata kunci rahasia E e : Algoritma enkripsi atau encryption function, dimana e ϵ K merupakan encryption key yang menentukan perubahan tiap-tiap elemen M secara bijeksi (hubungan satu untuk satu) menjadi C sehingga tiap plaintext menjadi tersamar dalam bentuk ciphertext D d : Algoritma dekripsi atau decryption function, dimana d ϵ K merupakan decryption key yang menentukan perubahan tiap-tiap elemen C secara bijeksi menjadi M sehingga tiap ciphertext kembali kebentuk plaintext semula p, q : Bilangan prima yang dirahasiakan n : Hasil kali p dan q e : Kunci enkripsi d : Kunci dekripsi m : Plaintext c : Ciphertext xxi

20 Halaman ini sengaja dikosongkan xxii

21 DAFTAR PUSTAKA [1] Enterprise, J. (2013). Memahami Pemrograman Android secara cepat dan mudah. Cetakan Pertama. Elex Media Komputindo. Jakarta. [2] Heriyanto, T., dan Arradian, D. (2014). Perkembangan Android Bagi Pendidikan. (diakses pada tanggal 25 November 2014) [3] Nosrati, M. (2012). Mobile Computing : Principles, Devices, and Operating Systems. World Applied Programming Journal. [4] Noor, A. R. (2008). Tarif SMS di Indonesia, Mahal atau Murah. arif-sms-di-indonesia-mahal-atau-murah. (diakses pada tanggal 7 November 2014) [5] Kastawan, I K. (2003). Pembuatan Perangkat Lunak Pengaman Pengiriman Pesan Via dengan Algoritma RSA. Tugas Akhir Jurusan Matematika Institut Teknologi Sepuluh Nopember. Surabaya. [6] Sunarsa, R. (2012). Membedakan Encoding dan Encryption. (diakses pada tanggal 28 November 2014) [7] Ariyus, D. (2008). Pengantar Ilmu Kriptografi Teori Analisis dan Implementasi. Edisi Pertama. Penerbit ANDI. Yogyakarta. [8] Sadikin, R. (2012). Kriptografi untuk Keamanan Jaringan. Edisi Pertama. Penerbit ANDI. Yogyakarta. [9] Ariyus, D. (2006). Kriptografi Keamanan Data dan Komunikasi. Cetakan Pertama. GRAHA ILMU. Yogyakarta. 85

22 86 [10] Elgin, B. (2005). Google Buys Android for Its Mobile Arsenal. Bloomberg Businessweek. Bloomberg. Diarsipkan dari aslinya tanggal 24 Februari [11] Welch, C. (2013). Before it took over smartphones, Android was originally destined for cameras. The Verge. Diakses tanggal 1 Mei [12] Romsy. (2011). Sistem Operasi pada Handphone. (diakses pada tanggal 2 Desember 2014) [13] Sirohito, A. (2012). Memaksimalkan Kemampuan Android. lkan-kemampuan-android/. (diaksses pada tanggal 30 November 2014) [14] Nadia. (2013). Pengertian SMS (Short Message Service). Rapendik. /561-pengertian-sms-short-message-service. (diakses pada tanggal 11 Februari 2014) [15] Faritzah. (2013). Layanan Pesan Singkat. (diakses pada tanggal 1 Desember 2014) [16] Safaat, N. (2013). Berbagai Implementasi dan Pengembangan Aplikasi Mobile Berbasis Android. Cetakan Pertama. INFORMATIKA. Bandung. [17] Alfatta, H. (2007). Analisis dan Perancangan Sistem Informasi. Edisi Pertama. Penerbit ANDI. Yogyakarta.

23 BIODATA PENULIS Penulis memiliki nama lengkap Andi Riski Alvianto atau biasa dipanggil Andi. Penulis dilahirkan di Nganjuk pada 28 April 1991 dan merupakan anak pertama dari 2 bersaudara. Pendidikan formal yang pernah ditempuh yaitu di TK Nurul Huda Tambun Selatan, SDN Mekarsari 1 Tambun Selatan- Bekasi, MTsN Nganjuk, dan SMKN 1 Nganjuk. Setelah lulus dari SMK, penulis mendaftar program beasiswa Bidikmisi dan diterima di Jurusan Matematika FMIPA ITS pada tahun 2010 dan terdaftar dengan NRP Di Jurusan Matematika FMIPA ITS, penulis mengambil bidang minat Ilmu Komputer. Penulis aktif di beberapa organisasi intra kampus diantaranya kepengurusan HIMATIKA sebagai staf Departemen Dalam Negeri periode dan periode Selain itu, penulis juga aktif dalam kepengurusan BEM FMIPA ITS sebagai staf Departemen Sosial Masyarakat periode dan Kepala Biro Lingkungan Departemen Sosial Masyarakat periode Penulis juga mengikuti Lembaga Dakwah Jurusan sebagai staf kaderisasi Ibnu Muqlah periode Selain intra kampus, penulis juga mengikuti organisasi ekstra kampus sebagai staf UKM Olah Raga Air ITS Divisi Renang. Penulis juga aktif dalam berbagai kegiatan pelatihan kemahasiswaan, diantaranya LKMM Pra TD FMIPA 2010, LKMM TD HIMATIKA Disamping itu pada semester 7 penulis menjadi asisten dosen matakuliah Microsoft SQL Server 2005 di PAPSI. Untuk kritik, saran, informasi dan pertanyaan yang berhubungan mengenai Tugas Akhir ini dapat dikirimkan melalui ke andi.riski10@gmail.com.

24 BAB I PENDAHULUAN 1.1 Latar Belakang Smartphone berkembang pesat saat ini, dunia terasa semakin sempit. Sekarang ini telepon selular (ponsel) seperti menjadi kebutuhan pribadi yang harus terpenuhi untuk bisa saling berkomunikasi antar orang. Jika membicarakan tentang smartphone, maka Android lebih dipilih dibandingkan dengan platform lainnya dikarenakan pasarnya sangat besar. Berbeda dengan ios yang cenderung eksklusif, Android bisa diaplikasikan pada ponsel apapun. Inilah yang membuat pasar aplikasi berbasis Android lebih luas [1]. Penggunaan smartphone atau mobile phone pintar di Indonesia melonjak 28% sejak tahun Lebih lanjut secara rinci pengguna android sendiri meningkat 15 kali lipat, tahun 2011 pengguna android pada salah satu jaringan telepon yaitu jaringan Telkomsel orang, sementara sampai saat ini sudah menembus 2,5 juta orang. Kelebihan-kelebihan yang dimiliki mobile phone android menyebabkan pengembangan aplikasi smartphone ini berkembang pesat [2]. Sistem operasi Android dikenalkan pada tahun 2008 dan pada tahun 2012 Android telah menguasai 59% pasar smartphone dunia. Sehingga membuat android menjadi sistem operasi mobile phone yang terpopuler di dunia saat ini [3]. Mobile phone android dapat digunakan untuk berbagai aktivitas karena memuat banyak fitur dan aplikasi. Salah satu fitur atau aplikasi yang digunakan agar dapat saling berkomunikasi dan untuk mengirimkan pesan adalah dengan menggunakan SMS (Short Message Service). SMS merupakan salah satu sarana komunikasi antara semua orang di dunia. SMS sangat populer di Eropa, Asia dan Australia. Dimulai dari sekedar mengirim pesan dari jaringan lokal hingga mengirim pesan antar negara. Teknologi ini banyak dipilih karena selain praktis, biaya yang harus dikeluarkan untuk mengirimkan 1

25 2 satu SMS cukup terjangkau (di Indonesia, tergantung operator sebuah SMS berkisar antara Rp. 250,- sampai Rp. 350,- saja). Karena faktor inilah, SMS telah banyak digunakan. Namun pesan yang dikirimkan pada orang yang diinginkan belum tentu terjaga kerahasiaannya [4]. Kasus penyadapan telah ada sekitar 100 tahun yang lalu. Salah satu contoh kasus penyadapan yang terkenal yaitu perkara yang dilaporkan pada tahun 1867 oleh sebuah makelar saham Wall Street bekerjasama dengan Western Union untuk melakukan penyadapan ke operator telegrap yang dikirim ke koran yang ada di Timur Tengah kemudian pesan telegrap tersebut diganti dengan yang palsu. Berbagai alat komunikasi yang ada saat ini belum tentu aman untuk digunakan, karena belum ada standar keamanan yang dapat digunakan oleh alat-alat tersebut. Oleh karena itu, komunikasi ini sangat rentan terhadap serangan pihak ketiga yang seringkali sangat merugikan. Untuk menjaga agar pesan yang dikirimkan tidak diketahui orang lain maka diperlukan suatu perangkat lunak yang berfungsi untuk mengamankan pengiriman pesan tersebut. Untuk itulah akan dibuat suatu perangkat lunak berbasis Android yang berfungsi untuk enkripsi (encryption) dan dekripsi (decryption) pesan yang telah dibuat tersebut. Proses enkripsi sendiri adalah sebuah proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti (tidak terbaca). Untuk melakukan pengamanan pesan khususnya via SMS dengan menggunakan teknik kriptografi dengan menggunakan algoritma RSA. Dari sekian banyak algoritma kriptografi kunci-publik yang pernah dibuat, algoritma yang paling populer adalah algoritma RSA. Algoritma RSA dibuat oleh 3 orang peneliti dari MIT (Massachussets Institute of Technology) pada tahun 1976, yaitu Ron Rivest, Adi Shamir, dan Leonard Adleman. Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan prima yang relatif besar. Pemfaktoran dilakukan untuk memperoleh kunci privat. Selama pemfaktoran bilangan prima

26 3 yang besar belum ditemukan algoritma yang berhasil memecahkan, maka selama itu pula keamanan algoritma RSA tetap terjamin. Pada penelitian sebelumnya Algoritma RSA telah digunakan dalam beberapa penyelesaian masalah. Seperti salah satu penyelesaian masalah terkait tentang pengamanan pesan untuk mengamankan pesan dengan algoritma RSA. Pengamanan yang dilakukan bertujuan untuk mengamankan pesan yang dikirimkan melalui agar terjaga kerahasiaannya saat sampai ke penerima pesan [5]. Dalam tugas akhir ini, seorang pengirim pesan (sender) menuliskan pesan yang akan dikirimkan pada penerima pesan (receiver), setelah pesan ditulis pengirim akan melakukan proses enkripsi pesan yang akan dikirim agar pesan tersandikan dan tidak dapat terbaca. Aplikasi ini akan menampilkan kunci publik, kunci privat, dan nilai modulus serta pesan yang telah terenkripsi. Kemudian pengirim melakukan proses pengiriman pesan yang telah terenkripsi beserta kunci privat dan nilai modulusnya, setelah terkirim maka pengirim akan menerima laporan pengirimannya. Dari pihak penerima akan menerima pesan yang terenkripsi beserta kuncinya dalam kotak masuk. Penerima akan melakukan proses dekripsi pesan yang tersandikan setelah memilihnya dan menuliskan kuncinya. Setelah proses dekripsi dijalankan maka akan ditampilkan pesan asli yang dikirimkan oleh pengirim pesan agar dapat dibaca. 1.2 Rumusan Masalah Berdasar latar belakang yang ada, masalah yang muncul dalam tugas akhir ini adalah: a. Bagaimana mengimplementasikan algoritma RSA pada telepon seluler berbasis Android untuk mengamankan pengiriman SMS. b. Bagaimana mengembangkan perangkat lunak pada telepon seluler berbasis Android yang bisa mengenkripsi dan

27 4 mendekripsi pesan tersebut menggunakan suatu algoritma kriptografi yaitu algoritma RSA. 1.3 Batasan Masalah Dalam penulisan tugas akhir ini akan dibatasi pada masalah sebagai berikut : a. Fungsi editornya terbatas hanya pada mengirim, menerima, enkripsi dan deskripsi pesan melalui emulator Android. b. Plainteks yang akan diproses berdasarkan ASCII. c. Pesan yang dikirim bersifat personal atau antar dua pengguna saja. 1.4 Tujuan Tujuan penulisan tugas akhir ini adalah untuk menerapkan metode pengamanan data, khususnya algoritma RSA, untuk aplikasi pada perangkat lunak yang bisa mengamankan pesan dalam bentuk SMS yaitu suatu perangkat lunak yang berbentuk editor khusus yang mirip dengan aplikasi yang ada di pasaran. 1.5 Manfaat Manfaat yang didapat dari penulisan tugas akhir ini berdasarkan latar belakang dan permasalahan tersebut adalah untuk menjaga kerahasiaan pengiriman pesan yang dilakukan, sehingga dapat menjaga privasi dari pihak-pihak yang tidak bertanggungjawab. 1.6 Sistematika Penulisan Tugas akhir ini ditulis dengan sistematika penulisan sebagai berikut: BAB I PENDAHULUAN Berisi tentang latar belakang, rumusan dan batasan masalah serta tujuan dan manfaat penelitian. BAB II TINJAUAN PUSTAKA Memaparkan dasar teori yang digunakan penulis dalam mengerjakan tugas akhir.

28 5 BAB III METODOLOGI PENELITIAN Menjelaskan alur kerja dan metode yang digunakan penulis dalam mengerjakan tugas akhir. BAB IV ANALISA DAN PERANCANGAN Menyajikan analisa dan perancangan data yang digunakan untuk menyelesaikan permasalahan dalam mencapai tujuan penelitian. BAB V PEMBAHASAN DAN PENGUJIAN Bab ini menjelaskan mengenai pembahasan dan hasil pengujian implementasi pada setiap proses dalam mengidentifikasi ciphertext dan melakukan pembahasan terhadap hasil yang diperoleh. BAB VI PENUTUP Bab ini merupakan penutup, berisi tentang kesimpulan yang dapat diambil dan saran yang selayaknya dilakukan bila tugas akhir ini dilanjutkan.

29 6 Halaman ini sengaja dikosongkan

30 BAB II TINJAUAN PUSTAKA Dalam pengerjaan tugas akhir ini diperlukan tinjauan pustaka yang menjadi dasar teori pendukung untuk menyelesaikan masalah yang diteliti. 2.1 Masalah Keamanan Kehidupan kita saat ini telah dilingkupi oleh kriptografi. Mulai dari mengakses internet, mengaktifkan peluru kendali, hingga transaksi di bank seperti transaksi di mesin ATM dan transaksi dengan kartu kredit pun sudah menggunakan kriptografi. Begitu pentingnya kriptografi untuk keamanan informasi (information security), sehingga jika berbicara masalah keamanan yang berkaitan dengan penggunaan komputer, maka orang tidak bisa memisahkannya dengan kriptografi. Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem informasi. Salah satu hal penting dalam komunikasi menggunakan komputer dan dalam jaringan komputer untuk menjamin keamanan pesan, data atau pun informasi adalah enkripsi. Enkripsi dapat diartikan sebagai sebuah proses yang dilakukan untuk mengubah pesan asli menjadi pesan yang tersandikan. Sebuah cipher adalah sebuah algoritma untuk menampilkan enkripsi dan kebalikannya dekripsi. Informasi yang asli disebut sebagai plaintext, dan bentuk yang sudah dienkripsi disebut sebagai ciphertext. Pesan ciphertext berisi seluruh informasi dari pesan plaintext, tetapi tidak dalam format yang dapat dibaca oleh manusia ataupun komputer tanpa menggunakan mekanisme yang tepat untuk melakukan dekripsi. Prosedur enkripsi sangat bervariasi tergantung pada kunci yang akan mengubah rincian dari operasi algoritma. Tanpa menggunakan kunci, cipher tidak dapat digunakan untuk proses dekripsi. Sistem cipher merupakan suatu sistem yang telah siap untuk di otomasi, jadi teknik ini digunakan dalam sistem keamanan jaringan komputer. Keamanan sistem dibutuhkan 7

31 8 karena nilai informasi menjadi sangat penting dan menuntut untuk mengakses dan menyediakan informasi secara cepat dan akurat menjadi sangat esensial bagi sebuah organisasi [6]. 2.2 Aspek-Aspek Keamanan Agar lebih bisa memahami jenis-jenis ancaman terhadap keamanan, kita perlu mendefinisikan aspek-aspek keamanan terlebih dahulu. Keamanan data dan informasi memiliki beberapa aspek penting, antara lain : a. Authentification : agar penerima informasi dapat memastikan keaslian pesan, bahwa pesan itu datang dari orang yang dimintai informasi. Dengan kata lain, informasi itu benar-benar datang dari orang yang dikehendaki. b. Integrity : keaslian pesan yang dikirim melalui jaringan dan dapat dipastikan bahwa informasi yang dikirim tidak dimodifikasi oleh orang yang tidak berhak. c. Non-repudiation : pengirim tidak dapat mengelak bahwa dialah yang telah mengirim informasi tersebut. d. Authority : Informasi yang berada pada sistem jaringan tidak dapat dimodifikasi oleh pihak yang tidak berhak mengaksesnya. e. Confidentiality : usaha untuk menjaga informasi dari orang yang tidak berhak mengakses. Kerahasiaan ini biasanya berhubungan dengan informasi yang diberikan ke pihak lain. f. Availability : aspek ini berhubungan dengan ketersediaan informasi ketika dibutuhkan. [7] 2.3 Serangan Keamanan Sistem keamanan jaringan yang dioperasikan pada jaringan publik rentan terhadap serangan oleh siapapun. Orang yang berusaha meruntuhkan keamanan jaringan disebut sebagai penyerang. Misalnya penyerang ingin mengungkap isi teks asli sehingga dia dapat mengungkap teks sandi lainnya kemudian informasi atau data yang ada dalam sistem komputer dirusak, dihapus, sehingga jika dibutuhkan maka sudah tidak ada lagi. Itu

32 9 termasuk serangan serius jika data tidak dapat lagi dilihat. Secara umum serangan pada sistem keamanan dapat dikategorikan menjadi 2 jenis yaitu serangan pasif (passive attack) dan serangan aktif (active attack) seperti Gambar 2.1 dibawah ini : Gambar 2.1 Serangan terhadap keamanan [8] Serangan Pasif Pada serangan pasif, penyerang hanya mengumpulkan data yang melintas pada jaringan publik (jaringan yang bisa diakses oleh penyerang). Serangan pasif tidak melakukan modifikasi data yang melintas atau merusan sistem, penyerang hanya punya kemampuan membaca saja (read only). Lalu berdasarkan data yang dikumpulkan, penyerang melakukan analisis untuk menggagalkan keamanan jaringan. Karena tidak melakukan perubahan data dan mengganggu sistem, serangan pasif susah untuk dideteksi namun serangan pasif dapat dicegah dengan cara misalkan selalu menggunakan sandi (encryption) ketika pengiriman pesan. Oleh karena itu, penekanan untuk mengatasi serangan pasif lebih pada pencegahan dari pada pendeteksian. Berikut ini beberapa jenis serangan yang digolongkan sebagai serangan pasif, antara lain:

33 10 a. Snooping Snooping merujuk pada kegiatan yang bermaksud mendapatkan data yang tengah terkirim pada jaringan biasanya melalui akses yang tidak berwenang. Contoh aktivitas snooping misalnya sebuah disadap oleh penyerang. Untuk mengalahkan penyerang sehingga aktivitas snooping tidak bermakna, data yang terkirim dibuat tidak kasat mata (nonintelligible) dengan menggunakan mekanisme penyandian (encipherment). b. Traffic Analysis Traffic analysis merupakan kegiatan serangan pasif dengan melakukan monitoring terhadap lalu lintas data pada jaringan. Data-data lalu lintas jaringan dikumpulkan dan kemudian dianalisis sehingga penyerang dapat mengetahui maksud data-data itu Serangan Aktif Sebuah serangan aktif dapat mengakibatkan perubahan data yang terkirim dan jalannya sistem akan terganggu. Pada serangan aktif seakan-akan penyerang memperoleh kemampuan untuk mengubah data pada lalu lintas data selain kemampuan baca. Jenis-jenis serangan aktif adalah sebagai berikut: a. Masquerade Masquerade adalah serangan aktif yang dilakukan oleh penyerang dengan cara penyerang mengambil alih (menirukan) perilaku pengirim atau penerima. Misalnya pada saat Alice ingin membuat kunci bersama dengan Bob, Charlie mengambil alih peran Bob sehingga Alice tidak sadar bahwa dia mengirim pesan ke Charlie bukan ke Bob. b. Modification Modification adalah serangan aktif yang dilakukan oleh penyerang dengan cara penyerang mengambil alih jalur komunikasi untuk mengubah atau menghapus atau menunda pesan yang sedang terkirim untuk keuntungan penyerang. Contohnya sebuah pesan Kirim ke akun Alice

34 11 kemudian pesan tersebut diubah oleh Charlie menjadi Kirim ke akun Charlie. c. Replay Replay adalah serangan aktif yang terdiri atas pencatatan secara pasif data unit dan transmisi ulang untuk menimbulkan efek yang diinginkan penyerang. Contohnya Charlie pernah meminta Bob mengirim ke Charlie, lalu Bob mengirim pesan Kirim ke akun Charlie ke Bank, Charlie mencatat pesan Kirim ke akun Charlie dan mengirim ulang ke Bank. d. Denial of Service Denial of service adalah serangan aktif yang bertujuan agar sistem menjadi collapse sehingga tidak mampu memberikan respons atau layanan yang semestinya kepada pengguna. Serangan ini biasanya dilakukan dengan membuat sesrver menjadi overload dengan permintaan bodong (dummy). 2.4 Pengertian Kriptografi Kriptografi berasal dari bahasa yunani, menurut bahasa dibagi menjadi dua kata yaitu kripto yang berarti rahasia dan graphia yang berarti tulisan. Menurut terminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari satu tempat ketempat lain [9]. Kriptografi bisa dianggap sebagai seni penyandian untuk merahasiakan informasi dan sebaliknya, seni untuk memecahkan kriptografi dikenal sebagai sebutan kriptanalisis dan gabungan dari keduanya disebut kriptologi. Sebuah skema enkripsi dan deskripsi pesan terdiri dari sebuah encryption function {E e : e ϵ K dan sebuah decryption function { D d : d ϵ K dimana e dan d adalah key yang unik yang memenuhi hubungan D d = E e -1 sehingga D d ( E e ( M ) ) = M. Hubungan proses enkripsi dan dekripsi terhadap pesan dan ciphertext dapat dijelaskan dalam Gambar 2.2 berikut :

35 12 Gambar 2.2 Proses enkripsi dan dekripsi Dalam notasi persamaan matematika, proses tersebut dapat dituliskan sebagai berikut: E e (M) = C D d (C) = M D d (E e (M)) = M Dalam kriptografi, cipher yang menggunakan kunci ada dua, yaitu algoritma kunci simetri dan algoritma kunci asimetri Algoritma Kunci Simetri Algoritma kunci simetri adalah algoritma enkripsi yang menggunakan kunci yang sama dalam proses enkripsi dan dekripsi. Kunci yang digunakan harus diketahui dan disepakati oleh pengirim dan penerima dan disalurkan melalui channel yang aman. Kekuatan algoritma, persetujuan dan kerahasiaan atas kunci yang digunakan oleh pengirim dan penerima dalam proses enkripsi dan dekripsi menjadi hal yang paling utama dalam algoritma ini. Selain disebut dengan kunci simetri, algoritma ini juga biasa dikenal dengan sebutan single key, one key, secret key ataupun conventional encryption karena kunci enkripsi (e) yang digunakan sama dengan kunci dekripsi (d). Setiap komunikasi antara pengirim dan penerima yang berbeda digunakan kunci

36 13 yang berbeda pula. Karena itulah jumlah kunci akan terus bertambah seiring bertambahnya jumlah pengirim dan penerima Algoritma Kunci Asimetri Algoritma kunci asimetri adalah algoritma yang menggunakan kunci yang berbeda pada proses enkripsi dan dekripsi, dengan kata lain kunci enkripsi tidak sama dengan kunci dekripsi. Walaupun keduanya berbeda tetapi tetap memiliki hubungan dalam pembentukannya, yaitu kunci dekripsi dihitung berdasarkan kunci enkripsi. Dengan adanya hubungan ini sebuah pesan terenkripsi yang dikirim oleh pengirim akan bisa didekripsi dengan tepat oleh penerima dengan menggunakan kunci dekripsi yang dimilikinya walaupun kedua kunci tersebut berbeda. 2.5 Sistem Kriptografi RSA Pada tahun 1977, Ronald L. Rivest, Adi Shamir, dan Leonard M. Adleman merumuskan algoritma praktis yang mengimplementasikan sistem kriptografi kunci publik yang disebut dengan sistem kriptografi RSA. Dalam RSA digunakan beberapa algoritma untuk melakukan enkripsi dan dekripsi. Perbedaan antara enkripsi dan dekripsi hanya terletak pada eksponen yang digunakan. Eksponen disini merupakan bentuk perkalian dengan bilangan yang sama yang dilakukan berulang kali. Sepasang kunci yang dipakai pada kedua proses ini adalah kunci publik (e,n) sebagai kunci enkripsi dan kunci privat d sebagai sebagai kunci dekripsi dimana e, d dan n adalah bilangan bulat positif. Algoritma RSA adalah sebuah block cipher algorithm (algoritma yang bekerja per blok data) yang mengelompokkan plaintext menjadi blok-blok terlebih dahulu sebelum dilakukan enkripsi hingga menjadi ciphertext. Setiap blok plaintext dan ciphertext direpresentasikan sebagai bilangan bulat positif pada interval [0,n-1] untuk sebuah n tertentu. Sebenarnya algoritma RSA memanfaatkan Fungsi Euler dan bentuk umum dari Teorema Fermat.

37 Teorema Fermat Secara umum teorema ini berbunyi: Jika p adalah bilangan prima dan m adalah bilangan bulat yang tidak habis dibagi dengan p, yaitu PBB(m, p) = 1, maka m p-1 1 (mod p) (1) Fungsi Euler Fungsi Euler mendefinisikan (n) untuk n 1 menyatakan jumlah bilangan bulat positif yang lebih kecil dari n dan relatif prima terhadap n. Dengan memperhatikan Teorema Fermat dan definisi dari Fungsi Euler, dapat diturunkan sebuah bentuk umum dari Teorema Fermat yaitu jika PBB(m, n) = 1, maka m Φ(n) 1 (mod n) (2) Algoritma RSA Seperti telah disinggung sebelumnya, algoritma ini diturunkan dari Fungsi Euler dan Teorema Fermat serta memanfaatkan sifat-sifat dari aritmatika modulo. Berikut adalah proses penurunan algoritma dimulai dari persamaan (2). Berdasarkan sifat a k b k (mod n) maka persamaan (2) dapat ditulis menjadi m kφ(n) 1 k (mod n) (3) atau m kφ(n) 1 (mod n) (4) Berdasarkan sifat ac bc (mod n) jika a b (mod n), maka perkalian persamaan (4) dengan m akan menghasilkan m kφ(n) + 1 m (mod n) (5) Misalkan e. d = kφ(n) + 1 (6) Dengan mensubtitusikan persamaan (6) ke dalam persamaan (5) diperoleh m e. d m (mod n) (7) yang artinya perpangkatan m dengan e diikuti dengan perpangkatan dengan d dan dilakukan operasi modulo terhadap n

38 15 akan menghasilkan m semula. Sehingga enkripsi dan dekripsi dapat dirumuskan sebagai berikut E e (m) = c m e (mod n) (8) D d (c) = m c d (mod n) (9) Karena e. d = d. e, maka D d (E e (m)) = E e (D d (m)) m e. d (mod n) (10) Algoritma Pembangkitan Kunci RSA Sebagai algoritma kunci asimetri, algoritma RSA membutuhkan dua kunci yang berbeda untuk enkripsi dan dekripsi. Bilangan yang dipilih sebagai kunci adalah bilangan prima yang besar, dengan alasan pemfaktoran sebuah bilangan hasil perkalian dari dua bilangan prima yang besar menjadi dua bilangan prima yang sesuai akan sangat sulit. Sehingga keamanan dari algoritma RSA dapat terjamin. Kenyataannya, memfaktorkan bilangan bulat menjadi faktor primanya bukanlah pekerjaan yang mudah. Karena belum ditemukan algoritma yang efisien untuk melakukan pemfaktoran. Cara yang biasa 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. Berikut cara algoritma pembangkitan pasangan kunci adalah sebagai berikut : 1. Pilih dua bilangan prima sembarang, p dan q secara acak. p q. Bilangan ini harus cukup besar (minimal 100 digit). 2. Hitung n = p. q (sebaiknya p q, sebab jika p = q maka n = p 2 sehingga, p dapat diperoleh dengan menarik akar pangkat dua dari n). 3. Hitung Φ(n) = (p - 1)(q - 1) menurut fungsi euler. 4. Pilih kunci publik, e yang relatif prima dengan Φ(n). 5. Bangkitkan kunci privat dengan menggunakan persamaan e. d = 1 (mod Φ(n)) ekivalen dengan e. d = k Φ(n)+1,

39 16 sehingga secara sederhana d dapat dihitung dengan 1 + kφ(n) d = e Hasil dari algoritma di atas : a. Kunci publik adalah pasangan (e,n) b. Kunci privat adalah pasangan (d,n) Catatan : n tidak bersifat rahasia, sebab diperlukan pada perhitungan enkripsi / dekripsi. Contoh : Misalkan Alice akan membangkitkan kunci publik dan kunci privat miliknya. Alice memiliki p = 47 dan q = 71 (dalam prakteknya, kedua bilangan ini haruslah bilangan besar). Selanjutnya Alice menghitung n = p. q = = 3337 Φ(n) = (p 1 ) (q - 1) = 3220 Alice memilih kunci publik e = 79, karena 79 relatif prima dengan Alice mengumumkan nilai e dan n kepada publik, selanjutnya Alice menghitung kunci dekripsi d seperti dituliskan pada langkah intruksi 5 dengan menggunakan persamaan 1 + k Φ(n) 1 + (k x 3220) d = Atau d = e 79 Dengan mencoba nilai nilai k = 1, 2, 3, diperoleh nilai d yang bulat adalah Ini adalah kunci privat untuk mendekripsikan pesan. Kunci privat ini harus dirahasiakan oleh Alice. Jadi perhitungan kunci ini menghasilkan pasangan kunci private dan public : a. Kunci publik : (e = 79, n = 3337) b. Kunci privat: (d=1019, n = 3337) Algoritma Enkripsi Langkah-langkah pada proses enkripsi adalah sebagai berikut.

40 17 a. Plaintext diubah menjadi ke dalam bentuk bilangan. Untuk mengubah plaintext yang berupa huruf menjadi bilangan dapat digunakan kode ASCII dalam sistem bilangan desimal. b. Plaintext m dinyatakan menjadi blok-blok m 1, m 2,m 3,., sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0,n-1], sehingga transformasinya menjadi satu ke satu. c. Setiap blok m i dienkripsi menjadi blok c i dengan rumus E e (m) = m i e mod n = c i Algoritma Dekripsi Pada algoritma dekripsi, operasi yang dilakukan hampir sama dengan enkripsi akan tetapi eksponen yang digunakan adalah private exponent d untuk mengembalikan pesan seperti semula. Berikut langkah-langkah pada proses dekripsi. a. Setiap blok ciphertext c i didekripsi kembali menjadi blok m i dengan rumus D d (c) = c d mod n = m b. Kemudian blok-blok m 1, m 2,m 3,., diubah kembali ke bentuk huruf dengan melihat kode ASCII hasil dekripsi. Contoh : Misalkan Bob mengirim pesan kepada Alice. Pesan (plaintext) yang akan dikirim ke Alice adalah m = HARI INI atau dalam sistem pengkodean ASCII adalah Bob memecah m menjadi blok yang lebih kecil, misalnya m dipecah menjadi enam blok yang berukuran 3 digit : m 1 = 726 m 4 = 273 m 2 = 582 m 5 = 787 m 3 = 733 m 6 = 003 Nilai nilai m i ini masih terletak dalam selang [0, ] agar transformasi menjadi satu ke satu. Bob mengetahui kunci publik Alice adalah e = 79 dan n = Alice dapat mengenkripsikan setiap blok plaintext sebagai berikut : c 1 = mod 3337 = 215;

41 18 c 2 = mod 3337 = 776; c 3 = mod 3337 = 1743; c 4 = mod 3337 = 933; c 5 = mod 3337 = 1731; c 6 = mod 3337 = 158; Jadi chipertext yang dihasilkan adalah c = Dekripsi dilakukan dengan menggunakan kunci privat d = Blok blok chipertext didekripsikan sebagai berikut : 1. m 1 = mod 3337 = m 2 = mod 3337 = m 3 = mod 3337 = m 4 = mod 3337 = m 5 = mod 3337 = m 6 = mod 3337 = 003 Blok chipertext diubah menjadi seperti semula menjadi plaintext dan mendapat hasil m = atau diubah dalam sistem pengkodean ASCII menjadi HARI INI. 2.6 Sistem ASCII Plaintext yang akan dienkripsi dengan algoritma RSA merupakan angka-angka, sedangkan pesan yang dikirimkan biasanya berbentuk teks atau tulisan. Sehingga dibutuhkan suatu kode yang sifatnya universal untuk mengubah pesan teks menjadi plaintext dalam bentuk bilangan. ASCII (American Standard Code for Information Interchange) atau Kode Standar Amerika untuk pertukaran informasi merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal. Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 8 bit. Dimulai dari hingga Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan Desimal

42 19 Kode ASCII dari karakter yang umum digunakan dalam penulisan data adalah 32 sampai 126, seperti diberikan pada tabel 2.1 berikut. Tabel 2.1 Tabel ASCII Karakter Kode Kode Kode Karakter Karakter ASCII ASCII ASCII Spasi 64 ` 96! 33 A 65 a B 66 b 98 # 35 C 67 c 99 $ 36 D 68 d 100 % 37 E 69 e 101 & 38 F 70 f G 71 g 103 ( 40 H 72 h 104 ) 41 I 73 i 105 * 42 J 74 j K 75 k 107, 44 L 76 l M 77 m N 78 n 110 / 47 O 79 o P 80 p Q 81 q R 82 r S 83 s T 84 t U 85 u V 86 v W 87 w X 88 x Y 89 y 121 : 58 Z 90 z 122 ; 59 [ 91 { 123

43 20 < 60 \ = 61 ] > 62 ^ 94 ~ 126? 63 _ Sistem Operasi Android Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005 [10]. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober Android, Inc. didirikan di Palo Alto, California, pada bulan Oktober 2003 oleh Andy Rubin (pendiri Danger), Rich Miner (pendiri Wildfire Communications, Inc.), Nick Sears (mantan VP T-Mobile), dan Chris White (kepala desain dan pengembangan antarmuka WebTV) untuk mengembangkan "perangkat seluler pintar yang lebih sadar akan lokasi dan preferensi penggunanya" [10]. Tujuan awal pengembangan Android adalah untuk mengembangkan sebuah sistem operasi canggih yang diperuntukkan bagi kamera digital, namun kemudian disadari bahwa pasar untuk perangkat tersebut tidak cukup besar, dan pengembangan Android lalu dialihkan bagi pasar telepon pintar untuk menyaingi Symbian dan Windows Mobile (iphone Apple belum dirilis pada saat itu) [11]. Meskipun para pengembang Android adalah pakar-pakar teknologi yang berpengalaman, Android Inc. dioperasikan secara diam-diam, hanya diungkapkan bahwa para pengembang sedang menciptakan sebuah perangkat lunak yang diperuntukkan bagi telepon seluler.

44 21 Google mengakuisisi Android Inc. pada tanggal 17 Agustus 2005, menjadikannya sebagai anak perusahaan yang sepenuhnya dimiliki oleh Google. Pendiri Android Inc. seperti Rubin, Miner dan White tetap bekerja di perusahaan setelah diakuisisi oleh Google. Setelah itu, tidak banyak yang diketahui tentang perkembangan Android Inc., namun banyak anggapan yang menyatakan bahwa Google berencana untuk memasuki pasar telepon seluler dengan tindakannya ini. Di Google, tim yang dipimpin oleh Rubin mulai mengembangkan platform perangkat seluler dengan menggunakan kernel Linux. Google memasarkan platform tersebut kepada produsen perangkat seluler dan operator nirkabel, dengan janji bahwa mereka menyediakan sistem yang fleksibel dan bisa diperbarui. Google telah memilih beberapa mitra perusahaan perangkat lunak dan perangkat keras, serta mengisyaratkan kepada operator seluler bahwa kerjasama ini terbuka bagi siapapun yang ingin berpartisipasi. Dengan menyediakan sebuah platform pengembangan yang terbuka, pengembang Android menawarkan kemampuan untuk membangun aplikasi yang sangat kaya dan inovatif. Pengembang bebas untuk mengambil keuntungan dari perangkat keras, akses informasi lokasi, menjalankan background services, mengatur alarm, tambahkan pemberitahuan ke status bar, dan banyak lagi. Pemakaian sistem operasi Android pada smartphone pada saat ini banyak digunakan oleh perusahaan penghasil telepon seluler. Karena keunggulannya sebagai software yang memakai basis kode komputer yang bisa diunduh oleh pengguna smartphone tanpa membayar biaya aplikasi tersebut. Diyakini smartphone yang menggunakan sistem operasi Android akan lebih murah harganya dibandingkan smartphone yang menggunakan sistem operasi yang berbayar. Fungsi dari sistem operasi itu sendiri bagi smartphone antara lain : 1. Sebagai sarana/jembatan untuk personalisasi smartphone, misal menambahkan aplikasi/game lain lebih baik (banyak) dari yang tanpa sistem operasi.

45 22 2. Sebagai penyeimbang fitur. Smartphone berfitur super lengkap jika tidak diimbangi sistem operasi yang handal. Fitur-fitur tersebut bisa tidak berjalan mulus (loading yang terlalu lama, mengalami hang, dan sebagainya). 3. Sebagai sarana ber-multitasking. Multitasking adalah suatu fungsi dimana sebuah smartphone bisa menjalankan beberapa aplikasi secara bersamaan dalam waktu yang bersamaan pula. Walaupun ada beberapa smartphone tanpa sistem operasi dapat ber-multitasking, namun tak semaksimal smartphone yang bersistem operasi. 4. Sebagai penentu User Interface (UI) yang digunakan. UI atau antarmuka yang digunakan pun berbeda antar sistem operasi. UI meliputi tampilan, struktur/tata letak menu, animasi, dan sebagainya. Pengguna Android (Android User) biasanya pertama menggunakan Handheld (HH) Android sedikit merasa bingung. Handheld adalah perangkat elektronik mobile yang dapat digenggam yang mempunyai sistem operasi yang lebih kecil dari mikrokomputer yang mempunyai memori yang terbatas seperti PDA (Personal Digital Assistant), handphone dan sebagainya. Setelah memodifikasi barulah merasakan beberapa kecanggihan dari aplikasi yang didukung Android, kemudian mendowload dan menginstall aplikasi yang menurutnya diperlukan. Namun ketika banyak aplikasi yang didownload maka kapasitas memori internal dari handheld tidak mencukupi, dan merasa dibatasi (terbatas) karena keterbatasan memori internal dari perangkat handheld yang digunakan. Masalah seperti itu bisa diselesaikan dengan Android, karena sistem operasi Android adalah Open Source yang bebas dimodifikasi. Caranya adalah dengan rooting, mengupgrade ROM (custom ROM), flashing OS atau modifikasi kernel, karena dengan melakukan custom ROM maka pengguna dapat mengkostumisasi perangkat android sesuai dengan keinginannya.

46 Pengertian ROOT Root itu semacam hak akses tertinggi di dalam sistem android. Ketika pertama kali menggunakan handheld Android yang baru saja dibeli dari toko, kita belum mendapatkan hak akses tersebut. Misal di windows, istilahnya kita hanya sebagai guest, belum jadi administrator. Fungsi kita melakukan root untuk mendapatkan hak akses tertinggi, yaitu seandainya kita mempunyai komputer baru yang sudah diinstall windows namun hanya dapat masuk dan mengakses sebagai guest saja. Hal itu sama ketika menggunakan Android tanpa di-root. Banyak aplikasi-aplikasi penting seperti titanium backup untuk membackup data, shoot me dan drocap untuk print screen halaman, setcpu untuk mengatur clock CPU, dan lain-lain yang tidak dapat dijalankan. Root itu merupakan gerbang awal dari permainan berikutnya. Permainan di sini merupakan istilah saat flashing custom rom / OS, overclock CPU, mengganti kernel bawaan, semua gerbangnya dari root itu sendiri. Tanpa root kita tidak dapat melakukan hal-hal tersebut Custom ROM Android Android Mod atau yang lebih dikenal dengan istilah Custom ROM Android adalah file sistem firmware perangkat seperti telepon seluler atau tablet pc, yang berbasiskan sistem operasi Android yang dimodifikasi serta dikustomisasi sesuai keinginan (Custom Developer), dengan mengubah firmware resmi dan asli (Stock ROM ) bawaan vendor perangkat tersebut. Tujuan pembuatan custom ROM adalah untuk mengubah atau menambah fitur dari firmware perangkat Android sehingga mempunyai kemampuan, keandalan serta kinerja dan performansi melebihi dari apa yang sudah ditawarkan oleh firmware aslinya. Kemampuan tersebut dapat berupa perbaikan fitur, seperti Wi-Fi, Bluetooth, USB, audio, display, Reboot, Rooted, Network, 3G Modem, kemudahan Install Aplikasi-apps (.apk) dan lain sebagainya, bahkan Over Clock Processor perangkat Android tersebut. Jadi ketika orang menyebutkan custom ROM,

47 24 sebenarnya itu merupakan modified OS untuk Android yang dibangun oleh kalangan publik secara bebas, karena Android merupakan open source sehingga setiap individu dapat dengan bebas memodifikasi sistem operasi android itu sendiri Flashing OS Flashing OS merupakan suatu cara memasukkan data sistem operasi atau menginstall sistem operasi dan kernelnya di dalam handheld android. Caranya hampir sama dengan ketika menginstall ulang komputer. Pertama masuk recovery mode, setelah itu hapus / wipe seluruh data sistem operasi yang lama. Kemudian hapus cache memory dari sistem operasi yang lama, Jadi intinya kita melakukan full wipe, setelah itu baru kita install OS baru / custom ROM. Di dalam clockworkmod recovery semuanya telah tersedia, kita tinggal menggunakan saja. Instalasi OS tersebut yang dimaksud sebagai flashing. Jadi apabila kita mendengar kata flashing, itu sebenarnya adalah instalasi, namun dilakukan lewat recovery Modifikasi Kernel Kernel merupakan sistem inti yang menjadi jantung dari sistem operasi. Operasi-operasi yang dijalankan oleh sistem operasi tersebut diproses oleh kernel. Kernel di Android juga bisa dimodifikasi, dan tentunya akan membawa keuntungan bagi sistem operasi atau custom ROM-nya itu sendiri. Biasanya, orang membangun kernel itu disesuaikan dengan custom ROM-nya, tidak bisa seenaknya mengganti kernel dengan kernel lain yang tidak direkomendasikan oleh pembuat custom ROM. Di saat kita mem-flashing custom ROM pada handheld Android, didalam custom ROM itu sendiri sebenarnya sudah tersedia kernel dan terkadang kernel tersebut sudah dimodifikasi. Namun tidak semua handheld menyediakan custom kernel, ada beberapa handheld yang bootloader-nya dikunci oleh perusahaan handheld-nya sehingga kita hanya dapat mengganti sistem operasinya saja, tanpa dapat mengganti kernelnya.

48 Keuntungan dan Kerugian Custom ROM Keuntungan Melakukan Custom ROM a. Peningkatan kinerja dan optimasi pada perangkat, dimana pengguna lebih maksimal menggunakan perangkat Android. b. Memaksimalkan penggunaan memori SD Card eksternal sebagai tempat menyimpan Aplikasi-apps. Biasanya untuk handphone-handphone lama yang masih mempunyai memori internal kecil. c. Beberapa Custom ROM menawarkan fitur yang mengurangi pemborosan baterai. Jadi beterai perangkat bisa lebih irit. d. Ada beberapa Custom ROM yang menawarkan fitur Over Clocking yang terintegrasi, sehingga akses aplikasi perangkat lebih cepat. e. Pengguna memungkinkan untuk root akses ke perangkat serta memudahkan Install Aplikasi tanpa menuju Market Android (sideload apps-aftermarket). Kerugian Melakukan Custom ROM a. Adanya kesulitan-kesulitan yang muncul saat Installasi salah satu Custom ROM, data hilang, file-file sistem korup, beberapa perangkat bahkan tidak bisa booting sama sekali. b. Beberapa Custom ROM malah dapat menjadi masalah pada perangkat anda (bug), maka masuklah forum untuk memperdalam ini. c. Fungsi beberapa bagian perangkat akan hilang atau tidak bisa digunakan setelah menginstall beberapa jenis ROM yang dimodifikasi tersebut, tidak sebelum anda menggunakan firmware asli atau Stock ROM. d. Garansi ponsel/tablet pc akan hilang/batal sejak saat setelah installasi Custom ROM. Jadi tidak perlu khawatir lagi dengan handheld Android yang terbatas kemampuanya, ternyata masih bisa dimodifikasi dan dimaksimalkan kemampuanya. Namun disarankan sebelum melakukan rooting, custom ROM hingga modifikasi kernel sendiri sebaiknya mencari informasi terlebih dahulu melalui internet atau

49 26 buku-buku, atau dengan berkonsultasi dengan para ahli modifikasi android dan sebaiknya dalam melakunyanya didampingi oleh sang ahli modifikasi agar ketika terjadi kesalahan dalam rooting, atau flashing tidak langsung panik yang membuat kesalahan makin bertambah. Selain itu dapat juga bergabung dengan forum-forum Android user yang ada untuk menambah informasi yang dapat membantu. Jadi manfaatkan Android anda semaksimal mungkin. 2.8 Short Message Service (SMS) SMS adalah suatu fasilitas untuk mengirim dan menerima suatu pesan singkat berupa teks melalui perangkat nirkabel, yaitu perangkat komunikasi telepon selular, dalam hal ini perangkat nirkabel yang digunakan adalah telepon selular. Salah satu kelebihan dari SMS adalah biaya yang murah. Selain itu SMS merupakan metode store dan forward sehingga keuntungan yang didapat adalah pada saat telepon selular penerima tidak dapat dijangkau, dalam arti tidak aktif atau diluar service area, penerima tetap dapat menerima SMS-nya apabila telepon selular tersebut sudah aktif kembali. SMS menyediakan mekanisme untuk mengirimkan pesan singkat dari dan menuju media-media wireless dengan menggunakan sebuah Short Messaging Service Center (SMSC), yang bertindak sebagai sistem yang berfungsi menyimpan dan mengirimkan kembali pesan-pesan singkat [14]. Pada dasarnya semua pesan yang dikirim dengan SMS- MT (melalui aplikasi perangkat lunak) dan SMS-MO (melalui telepon seluler) panjang pesan hanya dibatasi pada 160 karakter untuk satu satuan SMS. Hal ini dipengaruhi oleh pemanfaatan ruang sisa pada jalur sinyal GSM. Lebih jelasnya, ruang sisa itu dibatasi sepanjang 140 octets atau 1120 bits. Pembatasan ini telah mencakup proses untuk encoding-decoding dengan standar abjad yang berbeda untuk sistem ponsel atau jaringan yang berbeda. Ukuran standardnya adalah dengan 7 bit alfabet, kemudian mulai dikembangkan standard 8 bit alfabet dan 16 bit UTF-16 alfabet.

50 27 Maksud dari 7 bit alphabet adalah standard untuk karakter huruf inggris termasuk yang dipakai Indonesia. Panjang karakter maksimal per SMS adalah 160 karakter (semua karakter termasuk spasi). Sedangkan untuk 8 bit, karakter maksimal hanya 140 karakter dan untuk 16 bit alfabet maksimal 70 karakter termasuk pengembangan emoticon. Emoticon yakni karakter khusus yang berbentuk simbol ekspresi atau sering disebut smilies yang merupakan kombinasi dari beberapa karakter. Ada pula karakterkarakter khusus seperti huruf Arab, Jepang, Korea, dan lain-lain yang juga menggunakan tipe standard 16 bit. Standard 16 bit sendiri merupakan karakter Unicode UCS2 yang dapat melakukan proses encoding-decoding. Perkembangan dari segi ukuran lainnya adalah SMS dapat pula menerjemahkan data biner yang merupakan bentuk selain teks seperti nada dering, gambar, logo atau teks untuk operator dan lain-lain yang memanfaatkan sisa 1120 bits ini. Keterbatan karakter SMS ini kemudian memunculkan konsep baru yaitu Long SMS yang memungkinkan untuk dapat mengirimkan pesan singkat panjang namun tetap dengan sisa ruang 1120 bits. Perkembangan ini berhasil memunculkan kekuatan baru SMS namun kapasitas maksimal tiap satuan SMS tetap mengacu pada ketiga standard (7 bits, 8 bits, atau 16 bits). Prosesnya adalah memecah pesan bila lebih dari karakter maksimal melebihi standard. Proses dimulai dengan pengkategorian User data Header berisi informasi segmentasi, kemudian mengirimkannya masing-masing sebagai satu pesan SMS. Setelah sampai di ponsel tujuan, sistem ponsel penerima akan menterjemahkan kembali pecahan Long SMS tersebut menjadi satu SMS, namun kembali lagi pada perbedaan teknologi masing-masing sistem ponsel, jika ponsel penerima hanya menggunakan standard 7 bits, maka satu pesan tersebut tetap diterjemahkan kedalam SMS yang membuat SMS terpecah dan menjadi beberapa pesan teks yang berbeda. Untuk menutupi kekurangan pada SMS maka dikembangkanlah EMS (Enhanced Mesagging Service) yang dapat memuat data biner seperti gambar bergerak (animasi) atau melodi yang

51 28 sekarang lebih popular dengan sebutan MMS (Multimedia Messaging Service) [15].

52 BAB III METODOLOGI PENELITIAN Pada bab ini diuraikan metodologi penelitian dalam Tugas Akhir ini. Pembahasan metodologi penelitian berguna sebagai acuan sehingga penelitian ini dapat dilakukan secara sistematis. 3.1 Identifikasi Masalah Identifikasi masalah merupakan tahap awal penelitian, dimana pada tahap ini bertujuan untuk mendapatkan dan mempertajam masalah yang selanjutnya akan dibahas dalam penelitian. 3.2 Komparasi Penelitian Terdahulu Pada penelitian sebelumnya algoritma RSA digunakan terkait tentang pengamanan pesan via . Pengamanan pesan yang dilakukan untuk mengenkripsi agar terjaga kerahasiaannya saat sampai ke penerima pesan yang dituju. Dari penelitian tersebut penulis mengembangkan algoritma RSA untuk pengamanan pesan via SMS berbasis Android. 3.3 Studi Literatur Pada tahap ini dilakukan studi yang berkaitan dengan permasalahan yang ada. Studi literatur dilakukan terhadap jurnaljurnal ilmiah, tugas akhir, dan buku-buku yang berhubungan dengan kriptografi, Algoritma RSA, pemrograman Android dan Short Message Service (SMS). 3.4 Pengembangan Perangkat Lunak User Requirement Tahap user requirement akan dijelaskan mengenai langkahlangkah untuk merumuskan kebutuhan pengguna untuk merancang sebuah perangkat lunak yang sesuai dengan kebutuhan dan masalah yang dihadapi. 29

53 Perancangan Perangkat Lunak Perancangan penelitian yang akan dilakukan pada tahap ini antara lain, yaitu: a. Perancangan Flowchart, Data Context Diagram dan Data Flow Diagram b. Perancangan generator bilangan prima. c. Penentuan nilai bitlength pada algoritma RSA. d. Pra-pemrosesan : proses konversi dari huruf menjadi bilangan biner. e. Penerapan fungsi enkripsi dan dekripsi algoritma RSA pada Eclipse IDE. f. Perancangan tampilan aplikasi yang sesuai dengan permasalahan penelitian ini. g. Perancangan aplikasi untuk mengambil kontak telepon bawaan dari Android. h. Perancangan aplikasi agar dapat menerima dan mengirim pesan antar emulator. i. Pengujian aplikasi untuk mengirim dan menerima pesan yang telah terenkripsi. j. Pengujian validitas plaintext sebelum dikirimkan dan setelah dilakukannya proses dekripsi. k. Pengujian response time pada saat melakukan proses enkripsi dan proses dekripsi. 3.5 Implementasi Perangkat Lunak Proses ini merupakan proses perwujudan perancangan yang telah dilakukan ke dalam bentuk interface sistem maupun kodekode program sesuai dengan IDE (Integrated Development Environment) yang dipilih, yaitu Eclipse IDE. IDE adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source. Pengertian open source sendiri adalah setiap orang boleh melihat kode pemrograman perangkat lunak ini.

54 Uji Coba Perangkat Lunak Dalam uji coba ini akan dilakukan proses enkripsi dan dekripsi pesan menggunakan algoritma RSA, kemudian dilanjut untuk mengirim dan menerima pesan yang telah terenkripsi menggunakan dua buah emulator yang selanjutnya akan diterapkan dalam telepon seluler yang sesungguhnya bersistem operasi Android. Pada tahap ini juga akan diuji validitas SMS setelah dilakukan proses enkripsi dan dekripsi apakah sesuai yang diharapkan. Serta menguji response time pada saat melakukan proses enkripsi dan proses dekripsi. 3.7 Penarikan Simpulan dan Saran Pada tahap ini akan dibahas penarikan simpulan mengenai aplikasi pengaman pengiriman pesan via SMS dengan algoritma RSA berbasis Android yang telah dibuat dan saran sebagai masukan untuk pengembangan penelitian lebih lanjut.

55 32 Halaman ini sengaja dikosongkan

56 BAB IV ANALISA DAN PERANCANGAN Bab ini akan membahas analisa dan perancangan sistem perangkat lunak yang akan dibangun untuk pengiriman dan penerimaan pesan yang telah terenkripsi dengan menggunakan algoritma RSA pada telepon seluler yang bersistem operasi Android. 4.1 Deskripsi Sistem Banyak fitur-fitur aplikasi yang disediakan oleh Android sebagai sistem operasi telepon seluler seperti pemutaran video, mengakses layanan internet dan sebagainya. Akan tetapi, fiturfitur yang digunakan seperti telepon seluler biasa lainnya yaitu seperti SMS, call, dan MMS masih dapat digunakan pada perangkat lunak berbasis Android tersebut. Dari sekian banyak fitur yang dimiliki oleh Android, salah satunya yang masih banyak digunakan yaitu SMS. SMS digunakan untuk mengirim dan menerima pesan singkat kepada pengguna telepon seluler lainnya. Layanan SMS menggunakan aplikasi SMS bawaan telepon seluler yang masih banyak digunakan oleh setiap orang, bukanlah merupakan jalur yang aman dalam pertukaran informasi. Pesan yang dikirim menggunakan aplikasi SMS bawaan telepon seluler masih berupa teks terbuka yang belum terenkripsi selain itu pengiriman SMS yang dilakukan tidak sampai ke penerima secara langsung, akan tetapi pengiriman SMS harus melewati SMSC yang berfungsi mencatat komunikasi yang terjadi antara pengirim dan penerima. Dengan tersimpannya SMS pada SMSC, seorang operator dapat memperoleh informasi atau membaca SMS di dalam SMSC tersebut, hal ini dapat dibuktikan dari beberapa kasus yang ditangani pihak kepolisian, kejaksaan dan KPK pihakpihak tersebut meminta transkip SMS ke operator GSM untuk dijadikan bahan pembuktian dalam persidangan. 33

57 34 Dengan demikian dibutuhkan suatu metode dan aplikasi yang dapat mempertimbangkan solusi encrypted end to end dengan melakukan enkripsi terhadap pesan SMS. Enkripsi adalah proses mengubah suatu pesan asli (plaintext) menjadi sebuah sandi atau kode yang tidak terbaca (ciphertext) dan tidak dapat dimengerti. Untuk mengembalikan pesan kebentuk asli seperti semula diperlukan suatu proses yang disebut dekripsi. Enkripsi dimaksudkan untuk melindungi dan menyamarkan informasi agar tidak terlihat oleh pihak atau orang yang bukan seharusnya [16]. Salah satu metode enkripsi yang umum digunakan yaitu asimetris kriptografi. Kunci asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk proses dekripsi. Semua orang yang mendapatkan kunci publik dapat mengenkripsikan suatu pesan, sedangkan hanya satu orang saja yang memiliki kunci privat untuk melakukan pembongkaran terhadap sandi yang dikirim untuknya. Contoh algoritma kunci asimetris yang terkenal yaitu algoritma RSA yang dirancang oleh Ronald L. Rivest, Adi Shamir dan Leonard M. Adleman pada tahun Perangkat lunak yang akan dikembangkan merupakan perangkat lunak yang diterapkan pada telepon seluler yang bersistem operasi Android dan memiliki fungsi untuk melakukan enkripsi dan dekripsi. Perangkat lunak juga dapat melakukan pengiriman dan penerimaan pesan. Pengguna akan berinteraksi dengan perangkat lunak, pengguna memasukkan pesan dengan menggunakn keypad yang dimiliki oleh telepon selular. Pesan yang telah dibuat dan terenkripsi dikirimkan ke telepon selular lain melalui jaringan SMS. Secara umum arsitektur global perangkat lunak dapat dilihat pada Gambar 4.1 berikut. SMS Dikirim SMS Diterima Jaringan SMS Pengirim Penerima Gambar 4.1 Pengiriman dan Penerimaan SMS

58 35 Hal-hal yang dapat dilakukan oleh pengguna terhadap sistem dapat dilihat pada diagram use case pada Gambar 4.2 berikut. Tulis Pesan Enkripsi Terima Pesan Pengirim Dekripsi Penerima Akses Inbox Akses About Gambar 4.2 Use Case Diagram System Proses-proses use case diagram system pada gambar diatas akan dijelaskan dibawah ini : 1. Tulis Pesan Pengirim menulis pesan pada aplikasi untuk dikirim ke nomor tujuan yang diinginkan. 2. Enkripsi Pengirim mengenkripsi pesan yang akan dikirim agar pesan tersandikan dan tidak dapat dibaca oleh orang lain yang tidak mempunyai kunci untuk membukanya. 3. Akses Inbox Pengirim / penerima dapat melihat dan membaca pesan di dalam kotak masuk pada perangkat lunak ini dengan memilih pesan masuk yang diinginkan. 4. Terima Pesan Penerima mendapatkan pesan dari pengirim berupa pesan yang telah disandikan.

59 36 5. Dekripsi Penerima mendekripsi pesan yang tersandikan agar dapat terbaca. 6. Akses About Penerima / pengirim mendapat keterangan mengenai aplikasi seperti versi dan pembuat aplikasi. 4.2 Analisa Sistem Analisa sistem adalah teknik pemecahan masalah yang menguraikan bagian-bagian komponen dengan mempelajari seberapa bagus komponen-komponen tersebut bekerja dan berinteraksi untuk mencapai tujuan mereka [17]. Analisa merupakan tahapan awal dan sangat penting, karena kesalahan pada tahap ini akan menyebabkan kesalahan pada tahap selanjutnya. Analisa merupakan fondasi untuk menentukan sukses atau tidaknya suatu sistem yang akan dibuat. Dalam perancangan sistem nantinya hal yang sangat penting adalah dengan mengetahui masalah yang timbul dan kebutuhan yang yang dibutuhkan Analisa Kebutuhan Pada tahap analisa kebutuhan dilakukan pengumpulan informasi proses pengiriman pesan yang telah dienkripsi oleh algoritma RSA dan daftar kebutuhan user secara lengkap. Hal ini dapat diperoleh dengan menyusun scope of work software yang akan dibuat beserta perangkat lunak yang dibutuhkan. Pada penelitian ini, scope of work software yang dibuat meliputi : a. Proses pembangkitan kunci publik dan kunci privat. b. Proses enkripsi dan dekripsi dengan algoritma RSA. c. Proses transformasi karakter kedalam kode ASCII dan sebaliknya. d. Proses penyimpanan hasil enkripsi dan nomor telepon pengirim yang akan dikirim. e. Proses pengiriman dan penerimaan SMS.

60 37 f. Proses verifikasi SMS ketika SMS telah diterima. Sedangkan kebutuhan perangkat lunak yang dibutuhkan pada penelitian ini adalah yang memiliki kemampuan sebagai berikut : a. Dapat melakukan proses komputasi dengan cepat, termasuk penanganan input dan output. b. Memiliki tingkat ketelitian yang tinggi. c. Memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak, khususnya yang bersistem operasi Android seperti mengambil kontak dan SMS masuk dari bawaan Android serta mengirim dan menerima SMS. Dari kebutuhan tersebut Eclipse IDE dapat memenuhi semua kriteria, sehingga dapat digunakan untuk membangun sistem pada penelitian ini Software Requirement Spesification (SRS) Spesifikasi kebutuhan perangkat lunak yang akan dikembangkan di Pengaman SMS dapat dilihat di Tabel 4.1 berikut: Tabel 4.1 Spesifikasi kebutuhan perangkat lunak No SRS ID Deskripsi 1 SRS - 1 Menerima masukan berupa No. Tujuan dan pesan asli 2 SRS - 2 Mengenkripsi pesan menggunakan algoritma RSA 3 SRS - 3 Mengirimkan pesan dan memberikan laporan kepada pengirim bahwa pesan yang telah dienkripsi sudah dikirim ke Nomor Tujuan 4 SRS - 4 Memberikan Nomor Pengirim dan ciphertext kepada penerima 5 SRS - 5 Mendekripsi ciphertext menggunakan kunci yang telah dimasukkan 6 SRS - 6 Menampilkan pesan asli yang telah di dekripsi kepada penerima

61 Analisa Algoritma RSA sebagai Kunci Publik Cryptosystem Algoritma RSA adalah sebuah algoritma penyandian data yang termasuk dalam kunci publik cryptosystem yang memerlukan sepasang kunci untuk setiap usernya, kunci tersebut adalah kunci publik dan kunci privat. Kunci publik boleh diketahui umum yang digunakan untuk proses pengenkripsian data. Sedangkan kunci privat adalah kunci rahasia yang tidak boleh diketahui oleh pihak lain selain user pemiliknya. Seperti yang dijelaskan pada Sub Bab 2.5, proses pembentukan kunci pada Algoritma RSA akan menghasilkan kunci publik (e,n) dan kunci privat (d) dimana e sebagai public exponent dan d sebagai private exponent. Dengan algoritma RSA, enkripsi mampu disajikan hanya dengan satu algoritma. Proses enkripsi adalah perhitungan c = m e mod n dengan e sebagai public exponent dan proses dekripsi merupakan perhitungan m = c d mod n dengan d sebagai private exponent. Keamanan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non-prima menjadi faktor primanya, yang dalam hal ini n = p. q. Sekali n berhasil difaktorkan menjadi p dan q maka ϕn = (p-1)(q-1) dapat dihitung. Jika algoritma pemfaktoran ini ditemukan maka dengan sangat mudah kunci privat yang merupakan pasangan kunci publik milik user bisa diketahui. Penemu algoritma RSA menyarankan agar panjang nilai p dan q lebih dari 100 digit. Dengan demikian hasil kali n = p. q akan lebih dari 200 digit. Menurut Rivest dan kawan-kawan, usaha untuk mencari faktor bilangan 200 digit membutuhkan waktu komputasi selama 4 milyar tahun (dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik). Inilah yang membuat algoritma RSA tetap direkomendasikan untuk digunakan dalam penyandian pesan selagi belum ditemukan algoritma yang mampu untuk memfaktorkan bilangan bulat menjadi faktor primanya.

62 Analisa Perancangan Perangkat Lunak Perangkat lunak pengaman SMS dalam tugas akhir ini dibuat menurut algoritma RSA, mulai dari pembentukan kunci, enkripsi dan dekripsi. Serangan pematahan algoritma RSA pada program pengamanan data ini mungkin dilakukan dengan memanfaatkan persamaan e.d = 1 mod ϕ(n) atau e.d = k.ϕ(n)+1. Jika seorang hacker masuk sebagai user dan mendapat kunci privat d maka hacker tersebut dapat menghitung nilai ϕ(n) sehingga secara logika nilai kunci privat user lainnya bisa dihitung dari nilai kunci publik masing-masing user. 4.3 Perancangan Perangkat Lunak Perancangan Flowchart Perangkat Lunak Perancangan ini ditujukan untuk mempermudah pembuatan program. Dalam penelitian ini flowchart dibuat untuk mengetahui langkah-langkah apa saja yang harus diterapkan, agar sistem yang dibuat dapat menghasilkan keluaran yang sesuai dengan harapan berupa hasil dari proses enkripsi dan dekripsi. Pengirim Penerima Mulai Input Plainteks Enkripsi Pesan dan mengirim hasil enkripsi Menerima Kunci Privat, Modulus Ciphertext dan No Pengirim Dekripsi Pesan Plainteks Bangkitkan Kunci Selesai Kunci Publik Kunci Privat Modulus Ciphertext Gambar 4.3 Flowchart Perangkat Lunak

63 40 Skenario berjalannya flowchart perangkat lunak pada Gambar 4.3 adalah sebagai berikut : 1. Mulai menjalankan sistem. 2. Langkah awal dari perancangan sistem adalah pengirim melakukan proses masukan pesan asli yang akan disandikan. 3. Kemudian dilakukan proses enkripsi pesan. Pada proses enkripsi akan melakukan proses bangkitkan kunci yang keluarannya adalah kunci publik, kunci privat, modulus dan pesan yang telah terenkripsi menjadi ciphertext. Setelah proses bangkitkan kunci, pengirim pesan mengirimkan hasil enkripsi kepada penerima pesan. 4. Penerima menerima ciphertext dari pengirim. 5. Kemudian dilakukan proses dekripsi yang keluarannya adalah pesan asli (plaintext) 6. Sistem telah selesai dijalankan Perancangan Data Context Diagram Pendefinisian dengan Data Context Diagram (DCD) atau DFD level 0 memberikan data yang mengalir antara sistem dengan lingkungan yang digambarkan secara global. Gambar 4.4 DCD Aplikasi Pengaman SMS Pada Gambar 4.4 menjelaskan bahwa pengirim memasukkan plaintext dan nomor tujuan kepada sistem. Sistem memberikan keluaran berupa laporan pesan terkirim kepada pengirim. Penerima memasukkan ciphertext kepada sistem dan sistem memberikan keluaran berupa plaintext kepada penerima.

64 Perancangan Data Flow Diagram Data Flow Diagram (DFD) adalah representasi grafik dari sebuah sistem. DFD menggambarkan komponenkomponen sebuah sistem, aliran-aliran data di mana komponen-komponen tersebut, dan asal, tujuan, dan penyimpanan dari data tersebut DFD Level 1 Gambar 4.5 DFD level 1 Gambar 4.5 merupakan DFD level 1 dari aplikasi perangkat lunak Pengaman SMS. Pada DFD level 1, sistem akan dipecah menjadi proses-proses kecil sehingga dapat menjelaskan prosesproses dan arus data yang mengalir dalam sistem. Proses-proses yang terdapat dalam DFD level 1 adalah: 1. Input Plaintext dan Nomor Pengirim Pengirim memasukkan pesan asli (plaintext) dan nomor tujuan ke dalam sistem. 2. Tulis Pesan

65 42 Dalam proses tulis pesan ini akan dilakukan pengenkripsian pesan dengan algoritma enkripsi RSA. 3. Pengiriman pesan Proses ini melakukan pengiriman pesan yang telah dienkripsi serta memberikan laporan pengiriman kepada pengirim bahwa pesan telah dikirimkan ke nomor yang telah dimasukkan. 4. Baca Pesan Proses ini melakukan pendekripsian pesan. Apabila kunci benar maka ciphertext akan menjadi pesan asli. Jika kunci salah pesan akan tetap didekripsi akan tetapi pesan yang didapat bukan pesan asli DFD Level 2 Proses Enkripsi Gambar 4.6 DFD level 2 Proses Enkripsi Proses-proses yang terdapat dalam DFD level 2 pada proses enkripsi pada Gambar 4.6 adalah sebagai berikut. 1. Transformasi karakter ke kode ASCII Proses ini melakukan transformasi pesan asli (plaintext) ke dalam kode ASCII. 2. Enkripsi Setelah pesan ditransformasikan ke dalam kode ASCII, proses selanjutnya adalah melakukan pengenkripsian pesan dengan metode enkripsi RSA yang akan menghasilkan kunci

66 43 privat, modulus dan ciphertext yang akan dikirimkan ke penerima pesan. 3. Pengiriman pesan Sistem akan mengirimkan hasil enkripsi serta memberikan laporan pengiriman kepada pengirim bahwa pesan telah dikirimkan DFD Level 2 Proses Dekripsi Gambar 4.7 DFD level 2 Proses Dekripsi Gambar 4.7 adalah DFD level 2 proses dekripsi pesan yang dapat dijelaskan sebagai berikut. 1. List Inbox Penerima akan menerima nomor pengirim ciphertext yang telah dikirimkan oleh pengirim di dalam list inbox. 2. Dekripsi Setelah kita memilih pesan pada list inbox, kemudian akan dilakukan pemanggilan class baca() untuk melakukan proses dekripsi pesan.

67 44 3. Transformasi ASCII ke karakter Proses ini melakukan transformasi pesan ASCII yang selesai didekripsi yang kemudian dikembalikan kedalam bentuk karakter atau pesan asli. 4.4 Perancangan Proses dari Perangkat Lunak Penggunaan Kelas BigInteger Jika presisi bilangan bulat (Long) dan floating point sudah tidak memadai, dapat menggunakan kelas BigInteger untuk dapat melakukan operasi aritmatika untuk bilangan bulat yang sangat besar sehingga kelas ini sering dipakai dalam aplikasi kriptografi yang melibatkan ratusan bahkan ribuan bit. Pada algoritma RSA, terdapat beberapa besaran yang digunakan. Besaran-besaran tersebut merupakan variabel atau objek dari kelas BigInteger. Karena dalam kelas BigInteger sudah mempunyai metode-metode khusus dalam kriptografi maka dapat mempermudah dalam proses perancangan Pembuatan Generator Bilangan Prima Algoritma RSA memerlukan dua bilangan prima p dan q untuk pembentukan kunci. Oleh karena itu diperlukan sebuah program untuk menentukan bilangan prima. Dalam tugas akhir ini penulis menggunakan angka acak / random yang digunakan untuk memudahkan user agar tidak perlu menginput p dan q secara manual, tetapi secara otomatis. Penggunaan bilangan prima jauh mempermudah proses perhitungan Φ(n) untuk n = p. q dimana p dan q bilangan prima bila dibandingkan dengan proses perhitungan Φ(n) untuk sembarang bilangan bulat positif n. Hal ini dikarenakan apabila menggunakan bilangan prima maka Φ(n) dapat dengan mudah dihitung menggunakan Fungsi Euler dan Teorema Fermat menjadi Φ(n) = (p - 1)(q - 1) dan tentunya persamaan ini tidak akan dapat dipenuhi jika salah satu dari p atau q tidak prima karena menyebabkan Φ(p) < (p - 1) atau Φ(q) < (q - 1).

68 Pembentukan Kunci Publik dan Kunci Privat dengan Algoritma RSA Setelah proses pembentukan bilangan prima dilakukan maka dipilih dua buah bilangan prima yang cukup besar dengan selisih keduanya relatif kecil. Hitung modulus n dari perkalian p dan q. Selanjutnya p dan q akan terus digunakan sebagai bilangan prima pembentuk kunci publik dan kunci privat. Dengan kata lain, proses pemilihan dua bilangan prima sebagai pembentuk kunci publik dan kunci privat hanya dilakukan sekali saja namun tidak menutup kemungkinan suatu saat nilai p dan q harus diubah demi pembaharuan sistem pengaman data pada aplikasi ini. Dengan p dan q yang sama maka modulus n yang digunakan pada setiap pembentukan e pada kunci publik dan kunci privat d berikut adalah sama. Selain pada proses ini, modulus n juga diperlukan pada proses lain seperti enkripsi dan dekripsi. Namun seiring perkembangan teknologi dan peningkatan kecepatan komputer, memunculkan anjuran pemakaian kunci yang lebih panjang. Pada tahun 1992, RSA Coding yang menggunakan kunci 512 digit dapat dipecahkan dalam waktu 7 bulan. Lebih dianjurkan untuk menggunakan ukuran kunci 1024 bit untuk hal yang berhubungan dengan hukum dan 2048 bit untuk kunci-kunci yang ekstrem, seperti kunci yang digunakan oleh alat untuk verfikasi wewenang. Beberapa standar pada saat ini lebih menganjurkan 1024 bit untuk penggunaan dalam bidang hukum. Informasi yang lebih tidak terlalu penting sudah cukup dienkripsi dengan kunci 768 bit Proses Enkripsi dengan Algoritma RSA Inti dari proses enkripsi adalah perhitungan c = m e mod n dimana c, m dan n dalam bilangan bulat positif dan e yang telah direpresentasikan dalam biner. Untuk mencapai bentuk bilanganbilangan yang diperlukan dalam perhitungan tersebut dibuatlah proses pendukung. Proses pendukung itu adalah proses pengubahan tiap karakter pesan dari bentuk text kedalam bentuk bilangan bulat positif. Setelah proses perhitungan c = m e mod n

69 46 dengan bentuk bilangan yang telah terpenuhi maka proses enkripsi dengan algoritma RSA dapat dijalankan. Algoritma 8.2 Enkripsi RSA Input K publik = (e,n), m Output c = m e mod n. Z n Proses Dekripsi dengan Algoritma RSA Dalam proses dekripsi yang menjadi intinya adalah perhitungan m = c d mod n dimana c, m dan n dalam bilangan bulat positif dan d yang telah direpresentasikan dalam bentuk biner. Proses yang digunakan dalam proses deskripsi adalah mengembalikan nilai m yang semula dalam bentuk bilangan bulat (ciphertext) menjadi m ke bentuk text (plaintext). Dengan kata lain proses ini adalah invers dari proses enkripsi. Algoritma 8.2 Dekripsi RSA Input K privat = d, K publik = (e,n), c Output m = c d mod n. Z n Perancangan Proses Pengiriman Pesan Maksud dari pengiriman pesan disini adalah pengiriman pesan kepada seseorang melalui sebuah jaringan telepon selular. Pengiriman pesan dapat berupa pesan yang sudah terenkripsi atau pun pesan biasa yang tanpa melalui perubahan kode enkripsi. Apabila akan mengirim pesan pada aplikasi ini yang pertama kali dilakukan adalah menulis pesan yang ingin disandikan, kemudian setelah melakukan proses enkripsi user akan melakukan pengiriman pesan yang telah disandikan serta mengirimkan kunci D dan kunci N (kunci D dan kunci N berfungsi untuk menterjemahkan pesan yang disandikan menjadi pesan yang dapat dibaca oleh manusia).

70 47 Proses pengiriman pesan ini sebenarnya tidak terkait langsung dengan algoritma RSA, hanya sebagai jembatan untuk mengirimkan pesan yang dibuat. Adapun teknologi yang digunakan oleh pengirim pesan ini adalah teknologi SMS yang berfungsi untuk mengirimkan pesan pada suatu jaringan, dalam hal ini adalah jaringan telepon Perancangan Proses Penerimaan Pesan Sama halnya seperti pengiriman pesan, penerimaan pesan ini berfungsi untuk menerima pesan yang dalam hal ini berbentuk SMS. Pada saat adanya pesan sandi yang masuk, maka terdapat list-list pesan dalam bentuk ListView atau Array. Kemudian setelah pesan yang diterima masuk kedalam Inbox maka langkah selanjutnya akan dilakukan proses deskripsi untuk menampilkan pesan yang tersandikan oleh proses enkripsi yang kemudian dijadikan pesan asli setelah memasukkan kuncikunci yang diperlukan. 4.5 Perancangan Tampilan Perangkat Lunak Perancangan tampilan merupakan tahap yang juga sangat penting selain perancangan proses pada pembuatan aplikasi. Pada perancangan tampilan ini akan dibahas satu persatu tampilan yang akan dibuat untuk mendukung perancangan proses yang telah dibahas sebelumnya, pembahasan akan dilakukan satu persatu berdasarkan layout yang dibuat pada Eclipse IDE. Pembahasan akan dijelaskan secara terurut dari layout awal saat aplikasi dijalankan, proses enkripsi dan proses dekripsi, pengambilan kotak masuk dari inbox bawaan Android hingga layout akhir, kecuali untuk layout About yang hanya berisi tentang informasi aplikasi ini, tidak akan dibahas karena tidak begitu penting. Diagram alur aplikasi Pengaman SMS dapat dilihat pada Gambar 4.8 berikut.

71 48 Gambar 4.8 Flowchart Aplikasi Pengaman SMS Tampilan Layout Main Layout Main merupakan layout utama dari perangkat lunak Pengaman SMS ini, pada form ini terdapat beberapa tombol utama yang menghubungkan ke fungsi-fungsi editor yang tersedia, seperti Tulis Pesan, Baca Pesan dan About. Tombol Tulis Pesan berfungsi untuk mengenkripsi pesan dan tombol Baca Pesan berfungsi untuk menampilkan list pesan dan membaca pesan yang telah terenkripsi, kemudian mendekripsinya kembali agar pesan asli bisa diketahui oleh penerima pesan.

72 49 Tombol About berfungsi untuk menampilkan tentang pembuat aplikasi dan versi dari aplikasi ini. Pada Gambar 4.9 merupakan tampilan awal dari aplikasi Pengaman SMS. Gambar 4.9 Rancangan Tampilan untuk Layout Main Tampilan Layout Tulis Pesan Layout ini merupakan tampilan yang menampilkan layout yang berfungsi untuk menulis, mengirim dan mengenkripsi pesan. Jika ingin menulis pesan maka textbox-textbox yang ada harus terisi sesuai dengan field-field yang ada. Tombol Kirim Pesan yang berada di bawah sendiri berfungsi untuk menjalankan proses enkripsi dan menampilkan hasil dari pesan yang telah di enkripsi beserta kunci-kuncinya serta untuk mengirimkan pesan yang telah tersandikan kepada pengirim yang dituju oleh pengguna. Untuk tampilannya seperti Gambar 4.10 berikut.

73 50 Gambar 4.10 Tampilan Layout Tulis Pesan Tampilan Layout Inbox Pada layout Inbox berfungsi untuk menampilkan SMS yang ter-update dan menampilkannya dalam list pesan yang nantinya akan digunakan untuk melakukan proses dekripsi pesan. List dalam proses ini bersifat array, dan aplikasi ini menggunakan array yang berasal dari bawaan android bukan array pada umumnya. Terdapat satu fungsi untuk memanggil pesan yang berada pada inbox bawaan dari Android kemudian akan ditampilkan di list pesan pada aplikasi Pengaman SMS ini. Gambar 4.11 merupakan tampilan dari Layout Inbox.

74 51 Gambar 4.11 Tampilan Layout Inbox Tampilan Layout Baca Pesan Pada tampilan Baca Pesan ini terdapat beberapa textfield yang harus diisi pengguna agar pesan yang disandikan dapat dibaca oleh penerima, textfield yang harus diisi pengguna adalah memasukkan kunci d dan kunci n (modulus) untuk melakukan proses dekripsi pesan. Untuk nomor telepon pengirim dan pesan yang terenkripsi secara otomatis diambil dari list pesan yang berada pada layout Inbox. Setelah pengguna atau penerima pesan menekan tombol terjemahkan yang berupa gambar gembok terbuka maka proses dekripsi untuk mendapatkan pesan asli akan dimulai. Kemudian hasil atau pesan aslinya akan ditampilkan pada textfield hasil yang berada dibawah tombol terjemahkan. Rancangan tampilan dari layout baca pesan seperti gambar 4.12 berikut.

75 52 Gambar 4.12 Tampilan Layout Baca Pesan

76 BAB V PEMBAHASAN DAN PENGUJIAN Pada pembahasan kali ini akan ditunjukkan bagaimana pembahasan implementasi dari rancangan yang telah dibahas pada bab sebelumnya. Pada bab ini juga akan ditunjukkan bagaimana cara kerja dari perangkat dengan menguji cobanya sehingga dapat memenuhi tujuan yang ingin dicapai pada pembuatan tugas akhir ini, yaitu pengamanan pesan SMS dengan algoritma RSA sehingga pengiriman atau penerimaan pesan dapat terjaga kerahasiaannya. 5.1 Pembahasan Aplikasi Pengaman SMS dengan Algoritma RSA Adapun aplikasi yang penulis buat dibuat di perangkat lunak Eclipse IDE dengan spesifikasi komputer antara lain: 1. logo laptop adalah acer aspire Sistem Operasinya memakai windows 8 32bit, dan 3. Installed Memory (RAM) 2 GB. 4. Harddisk 500 GB Rincian dari aplikasi ini meliputi : 1. Nama Aplikasi : PengamanSMS 2. Android_version : 2.3 ke atas dapat menggunakan aplikasi ini. 3. Jumlah emulator yang digunakan dalam tahap ini adalah dua emulator yang meliputi emulator pertama dengan nomor 5554 dan emulator kedua dengan nomor Aplikasi diuji di selular android : Lenovo A390 dan Samsung Galaxy Ace 3. Dalam proses aplikasi ini terdapat tiga proses, meliputi : 1. Proses mengirimkan pesan yang telah terenkripsi 2. Proses pembuatan inbox yang dibuat dalam bentuk list array 3. Proses melakukan enkripsi SMS dan dekripsi SMS 53

77 54 Proses koding aplikasi ini terdiri dari 6 class meliputi class Secure(), class tulis(), class RSA(), class inboxsms(), class baca(), class about(). Dalam pembuatan masing masing class terdapat banyak fungsi yang akan dijelaskan dalam pembahasan ini Pembahasan Tampilan Layout Main Gambar 5.1 Tampilan Awal Pada tampian awal pada Gambar 5.1 ini dijalankan dengan emulator Android yaitu Eclipse IDE dan merupakan awal mula dalam menjalanan proses aplikasi. Pada tampilan awal aplikasi mempunyai tiga buah pilihan yaitu Tulis Pesan, Baca Pesan dan About. Fungsi dari masing masing pilihan ini meliputi : 1. Tulis Pesan => pilihan ini merupakan awal mula dalam melakukan proses pengiriman pesan dari pesan yang akan di enkripsi.

78 55 2. Baca Pesan => pilihan ini dipakai saat adanya pesan sandi yang masuk, maka saat pilihan ini dipilih terdapat list list pesan dalam bentuk ListView. 3. About => saat pilihan ini dipilih maka akan muncul keterangan mengenai aplikasi ini. Adapun koding java tampilan awal ini ditempatkan di class Secure() yang isinya meliputi : public class Secure extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_secure); //ke menu tulis pesan Button write=(button)findviewbyid(r.id.tulissms); write.setonclicklistener(new View.OnClickListener(){ public void onclick(view v){ Intent create=new Intent(getApplicationContext(), tulis.class); startactivity(create); ); //ke menu inbox Button read=(button)findviewbyid(r.id.bacasms); read.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { Intent list=new Intent(getApplicationContext(), inboxsms.class); startactivity(list); ); // ke menu about Button ttg=(button)findviewbyid(r.id.tentang); ttg.setonclicklistener(new View.OnClickListener(){ public void onclick(view v){ Intent tentang=new Intent(getApplicationContext(), about.class); startactivity(tentang); );

79 56 Adapun dari penjelasan koding diatas meliputi : setcontentview(r.layout.activity_secure); Koding diatas merupakan langkah awal dalam proses class ini karena memiliki fungsi memanggil tampilan design pada tampilan awal aplikasi dalam format main.xml (segala tampilan aplikasi berfomat xml dan dipanggil ke koding java dengan sintak koding ini). Button write=(button)findviewbyid(r.id.tulissms); Sintak ini mendeklarasikan tombol button Tulis Pesan yang nantinya jika di klik, akan memanggil class tulis. Cara dalam melakukan pemanggilan class yaitu dengan sintak di bawah ini. Intent create=new Intent(getApplicationContext(), tulis.class); Sama halnya dengan button Baca Pesan dan About. Sintak untuk memanggil class inbox dan class about dengan menggunakan sintak. Intent list=new Intent(getApplicationContext(), inboxsms.class); Dan Intent tentang=new Intent(getApplicationContext(), about.class); Sedangkan untuk sintak dibawah berfungi untuk menjalankan kegunaan dari button. write.setonclicklistener(new View.OnClickListener(){ public void onclick(view v){ read.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { ttg.setonclicklistener(new View.OnClickListener(){ public void onclick(view v){

80 57 Untuk proses dengan alur flowchart dapat digambarkan pada Gambar 5.2 sebagai berikut : Gambar 5.2 Flowchart Pemanggilan Class

81 Pembahasan Tampilan Layout Tulis Pesan Dalam tahap ini, disaat pengguna memilih menu Tulis Pesan maka tampilan awal dari aplikasi akan memanggil class tulis(). Tampilan dari Tulis Pesan diberikan oleh Gambar 5.3 berikut. Gambar 5.3 Tampilan Tulis Pesan Pengirim dapat memasukkan nomor telepon secara manual dan terdapat juga tombol Add Contact yang berfungsi mengambil kontak atau nomor telepon secara otomatis ke kontak bawaan Android. Jadi pengirim dapat memilih penerima yang diinginkan yang berada pada kontak bawaan Android. Adapun button kirim pesan akan berfungsi untuk mengenkripsi pesan yang telah dimasukkan oleh pengirim pesan dan mengirimkan hasil pesan yang sudah dienkripsi dimana pesan yang sudah terenkripsi akan ditampilkan di textfield hasil. Dalam tampilan ini, class yang digunakan adalah class tulis() yang mempunyai beberapa function yaitu seperti pada gambar 5.4 berikut ini.

82 59 Gambar 5.4 Function pada class tulis() Dalam function kirimsms() mempunyai fungsi yang bertugas untuk mengirimkan pesan yang telah dienkripsi dan mengirim nomor telepon pengirim kepada penerima pesan. Jadi penerima pesan hanya mendapatkan nomor telepon pengirim dan pesan yang telah dienkripsi pada list Inbox yang berada pada aplikasi Pengaman SMS. Berikut isi dari function kirimsms() ini yaitu : kirim.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { String notelp = phone_no.gettext().tostring().trim(); long starttime = System.currentTimeMillis(); String plain = pesan.gettext().tostring().trim(); chipertext=new StringBuilder(); RSA rsa = new RSA(); if(notelp.length()>0 && plain.length()>0){ sentpi = null; deliveredpi = null; chipertext=new StringBuilder(); rsa.generatersakeys(rsa.getkeylength()); String plaintext=pesan.gettext().tostring().trim(); char[] huruf=plaintext.tochararray(); for(int i=0;i<huruf.length;i++){ chipertext.append(rsa.encrypt((string)integer.tohexstring((int)huruf[i]),rsa.gete())+"."); e.settext(rsa.gete().tostring()); d.settext(rsa.getd().tostring()); N.setText(rsa.getN().toString()); hasil.settext(chipertext);

83 60 String pesan_chiper = rsa.getd().tostring()+"-"+ rsa.getn().tostring()+"."+chipertext; kirimsms(notelp, pesan_chiper); else if(notelp.length()==0 && plain.length()>0){ Toast.makeText(getBaseContext(),"no HP tidak boleh kosong", Toast.LENGTH_LONG).show(); else if(plain.length()==0 && notelp.length()>0) { Toast.makeText(getBaseContext(),"Pesan tidak boleh kosong", Toast.LENGTH_LONG).show(); else if(plain.length()==0 && notelp.length()==0) { Toast.makeText(getBaseContext(),"Pesan dan no HP tidak boleh kosong", Toast.LENGTH_LONG).show(); long endtime = System.currentTimeMillis(); System.out.println("It took " + (endtime - starttime) + " milliseconds"); ); Function kirimsms() didukung oleh sintak berikut yang merupakan bawaan dari Android itu sendiri untuk mengirimkan pesan. Berikut sintaknya. mybroadcast=new BroadcastReceiver() public void onreceive(context arg0,intent arg1) { switch(getresultcode()) { case Activity.RESULT_OK: Toast.makeText(getBaseContext(),"SMS Terkirim", Toast.LENGTH_SHORT).show(); break; case Activity.RESULT_CANCELED: Toast.makeText(getBaseContext(),"SMS not delivered", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: Toast.makeText(getBaseContext(),"Generic failure", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NO_SERVICE: Toast.makeText(getBaseContext(),"No Service",

84 61 Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NULL_PDU: Toast.makeText(getBaseContext(),"Null PDU", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_RADIO_OFF: Toast.makeText(getBaseContext(),"Radio Off", Toast.LENGTH_SHORT).show(); break; ; registerreceiver(mybroadcast,new IntentFilter("SMS_SENT")); Dalam function kirimsms() terdapat parameter yakni String notelp dan String pesan_chiper seperti dibawah ini. public void kirimsms(string notelp, String pesan_chiper) Parameter ini akan memudahkan aplikasi dalam melakukan proses pengiriman nomor telepon pengirim dan pesan yang telah terenkripsi. Sedangkan untuk parameter String notelp, String d_key dan String N_key pada function kirimkey() memudahkan untuk pengiriman kunci seperti dibawah ini. public void kirimkey(string notelp, String d_key, String N_key) Untuk function selanjutnya merupakan function main() yang bertugas sebagai proses jalannya pengiriman pesan yang disandikan berikut juga nomor telepon pengirim. Isi koding dari function main adalah sebagai berikut. public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); setcontentview(r.layout.tulis); kirim = (Button)findViewById(R.id.kirim); phone_no = (EditText)findViewById(R.id.NoTujuan); pesan = (EditText)findViewById(R.id.pesan); hasil = (EditText)findViewById(R.id.hasil); e = (EditText)findViewById(R.id.e); d = (EditText)findViewById(R.id.d); N = (EditText)findViewById(R.id.modulus); contact=(button) findviewbyid(r.id.kontak);

85 62 //ambil kontak telp contact.setonclicklistener(new public void onclick(view v) { kontak(); private void kontak() { Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startactivityforresult(intent, RQS_PICK_CONTACT); ); kirim.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { String notelp = phone_no.gettext().tostring().trim(); long starttime = System.currentTimeMillis(); String plain = pesan.gettext().tostring().trim(); chipertext=new StringBuilder(); RSA rsa = new RSA(); if(notelp.length()>0 && plain.length()>0){ sentpi = null; deliveredpi = null; chipertext=new StringBuilder(); rsa.generatersakeys(rsa.getkeylength()); String plaintext=pesan.gettext().tostring().trim(); char[] huruf=plaintext.tochararray(); for(int i=0;i<huruf.length;i++){ chipertext.append(rsa.encrypt((string)integer.tohexstring((int)huruf[i]),rsa.gete())+"."); e.settext(rsa.gete().tostring()); d.settext(rsa.getd().tostring()); N.setText(rsa.getN().toString()); hasil.settext(chipertext); String pesan_chiper = rsa.getd().tostring()+"-"+ rsa.getn().tostring()+"."+chipertext; kirimsms(notelp, pesan_chiper);

86 63 else if(notelp.length()==0 && plain.length()>0){ Toast.makeText(getBaseContext(),"no HP tidak boleh kosong", Toast.LENGTH_LONG).show(); else if(plain.length()==0 && notelp.length()>0) { Toast.makeText(getBaseContext(),"Pesan tidak boleh kosong", Toast.LENGTH_LONG).show(); else if(plain.length()==0 && notelp.length()==0) { Toast.makeText(getBaseContext(),"Pesan dan no HP tidak boleh kosong", Toast.LENGTH_LONG).show(); long endtime = System.currentTimeMillis(); System.out.println("It took " + (endtime - starttime) + " milliseconds"); ); Function dari main yang sudah dijelaskan ini mempunyai dua tugas, yang dimana tugas pertama adalah mengambil kontak dari list kontak yang sudah ada pada Android, tugas kedua adalah enkripsi pesan dan mengirimkan pesan yang sudah dienkripsi. Untuk pengambilan kontak yang ada pada Android secara otomatis dengan menggunakan sintak dibawah ini. contact.setonclicklistener(new View.OnClickListener(){ public void onclick(view v) { kontak(); private void kontak() { Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startactivityforresult(intent, RQS_PICK_CONTACT); ); Tugas kedua function main() dalam proses melakukan enkripsi yang pertama kali dilakukan adalah memanggil class RSA() dengan cara menuliskan sintak. RSA rsa = new RSA();

87 64 Untuk proses enkripsi dan dekripsi yang dipanggil dari class RSA() menggunakan function parameter yang terdiri dari parameter pesan yang akan disandikan, parameter kunci D, kunci E dan kunci N. Untuk isi koding dari class RSA() yang berfungsi untuk melakukan proses penyandian pesan (enkripsi) dan menterjemahkan pesan (dekripsi) adalah sebagai berikut. public class RSA { //encrypt public BigInteger encrypt( String hexstr, BigInteger publickey){ BigInteger str = new BigInteger( hexstr, 16 ); BigInteger c = str.modpow( publickey, this.modulus ); return c; //decrypt public char decrypt( BigInteger c, BigInteger D, BigInteger N ){ BigInteger m = c.modpow( D,N ); return (char)integer.parseint(m.tostring(16),16); private int keybitlen = 512; private SecureRandom srand = new SecureRandom(); private BigInteger NEGONE = new BigInteger( "-1" ); protected BigInteger publickey, privatekey, modulus = new BigInteger( "-1" ); public int getkeylength(){ return keybitlen; public BigInteger getn(){ return modulus; public BigInteger gete(){ return publickey; public BigInteger getd(){ return privatekey; //generate key public void generatersakeys( int bitlength ){ BigInteger p = BigInteger.probablePrime( ( bitlength/16), this.srand ); BigInteger q = BigInteger.probablePrime( ( bitlength/16), this.srand );

88 65 BigInteger n = p.multiply( q ); BigInteger phi = ( p.subtract( BigInteger.ONE ) ). multiply( q.subtract( BigInteger.ONE ) ); BigInteger publickey=biginteger.probableprime( (bitlength/256), this.srand ); BigInteger privatekey = publickey.modinverse(phi); while( publickey.gcd( phi ).compareto( BigInteger.ONE )!= 0 ){ publickey = publickey.add( BigInteger.ONE ); if( publickey.compareto( phi ) == 1 ){ // Unable to find keys, try again this.generatersakeys( bitlength ); this.publickey = publickey; this.privatekey = privatekey; this.modulus = n; // Generates usable RSA keys based on message size. // Results can be accessed from invoking RSA.genPublicKey, // RSA.genPrivateKey, and RSA.genModulus public void generatersakeys( String message ){ BigInteger temp = new BigInteger( message, 16 ); this.generatersakeys( temp.bitlength() * 2 ); // Allows user to get the private key protected BigInteger getprivatekey(){ return this.privatekey; // Allows user to get the public key protected BigInteger getpublickey(){ return this.publickey; // Allows user to get the modulus protected BigInteger getmodulus(){ return this.modulus; Dalam class RSA() mempunyai dua tugas penting yaitu melakukan proses pembuatan kunci dengan sintak. public void generatersakeys( int bitlength ){ BigInteger p = BigInteger.probablePrime( ( bitlength/2), this.srand ); BigInteger q = BigInteger.probablePrime( ( bitlength/2), this.srand );

89 66 BigInteger n = p.multiply( q ); BigInteger phi = ( p.subtract( BigInteger.ONE ) ). multiply( q.subtract( BigInteger.ONE ) ); BigInteger publickey = new BigInteger( "2" ); BigInteger privatekey = publickey.modinverse(phi); while( publickey.gcd( phi ).compareto( BigInteger.ONE )!= 0 ){ publickey = publickey.add( BigInteger.ONE ); if( publickey.compareto( phi ) == 1 ){ this.generatersakeys( bitlength ); this.publickey = publickey; this.privatekey = privatekey; this.modulus = n; public void generatersakeys( String message ){ BigInteger temp = new BigInteger( message, 16 ); this.generatersakeys( temp.bitlength() * 2 ); protected BigInteger getprivatekey(){ return this.privatekey; protected BigInteger getpublickey(){ return this.publickey; protected BigInteger getmodulus(){ return this.modulus; Perlu diingat bahwa dalam menggunakan metode RSA sesuai algoritma pembentuk kunci publik dan kunci privat, proses penentuan p dan q haruslah bilangan prima, penulis menggunakan angka acak (random) yang digunakan untuk memudahkan pengguna agar tidak perlu menginput p dan q secara manual, tetapi secara otomatis. Tugas kedua adalah melakukan proses enkripsi dan dekripsi dengan sintak : //encrypt public BigInteger encrypt( String hexstr, BigInteger publickey){ BigInteger str = new BigInteger( hexstr, 16 ); BigInteger c = str.modpow( publickey, this.modulus );

90 67 return c; //decrypt public char decrypt( BigInteger c, BigInteger D, BigInteger N ){ BigInteger m = c.modpow( D,N ); return (char)integer.parseint(m.tostring(16),16); Proses enkripsi dilakukan dengan fungsi parameter, dan parameter yang digunakan adalah parameter BigInteger hexstr dan parameter BigInteger publickey. BigInteger hexstr merupakan parameter isi pesan yang akan dikirim ke nomor tujuan yang telah dimasukkan, jadi untuk mengirimkan pesan yang bertipe text, mula-mula text harus diubah tipe datanya menjadi BigInterger dalam proses enkripsi agar memudahkan dalam proses perhitungan dan BigInteger dikembalikan lagi ke text untuk proses dekripsi. Dalam aplikasi Pengaman SMS ini penulis menggunakan standard kode ASCII untuk mengubah setiap karakter menjadi bentuk biner sehingga pengguna dan penerima hanya tinggal menggunakan aplikasi Pengaman SMS ini. Sintak yang sangat penting dalam proses enkripsi dan dekripsi pada aplikasi Pengaman SMS ini adalah sebagai berikut. //encrypt BigInteger c = str.modpow( publickey, this.modulus ); //decrypt BigInteger m = c.modpow( D,N ); Penggunaan modpow merupakan operasi matematika yang sangat berperan penting untuk pemangkatan yang besar dalam metode kriptografi RSA Pembahasan Tampilan Layout Inbox Tampilan ini mempunyai fungsi menampilkan list pesan yang ada di bawaan inbox Android yang nantinya akan digunakan untuk melakukan proses dekripsi pesan. Tampilan dari pilihan Inbox pada Gambar 5.5 berikut.

91 68 Gambar 5.5 Tampilan Inbox Dalam menampilkan list pesan, pengguna sebelumnya memilih tombol Baca Pesan secara otomatis akan muncul kotak dialog List SMS yang masuk. Pada list SMS hanya menampilkan nomor telepon pengirim dan SMS yang dikirim dan untuk kuncinya dikirim berbeda. List SMS ini secara otomatis update setiap kali ada SMS masuk, baik SMS biasa ataupun SMS yang telah terenkripsi. Proses alur dalam bentuk flowchart ditampilkan oleh Gambar 5.6 berikut. Gambar 5.6 Flowchart Proses Inbox

92 69 Dalam tampilan Inbox ini, class yang termasuk dalam proses tampilan ini adalah class inboxsms() yang nantinya akan berhubungan dengan class baca(). Pembuatan koding dari class inboxsms() adalah sebagai berikut: public class inboxsms extends ListActivity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); List<SMSData> smslist = new ArrayList<SMSData>(); Uri uri = Uri.parse("content://sms/inbox"); Cursor c= getcontentresolver().query(uri, null, null, null,null); startmanagingcursor(c); String datasms[]; datasms=new String[c.getCount()]; // Read the sms data and store it in the list if(c.movetofirst()) { for(int i=0; i < c.getcount(); i++) { SMSData sms = new SMSData(); sms.setbody(c.getstring(c.getcolumnindexorthrow ("body")).tostring()); sms.setnumber(c.getstring(c.getcolumnindexorthrow ("address")).tostring()); smslist.add(sms); datasms[i]=sms.getnumber()+"\n"+sms.getbody(); c.movetonext(); ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android.r.layout.simple_list_item_1, datasms); setlistadapter(adapter); protected void onlistitemclick(listview l, View v, int position, long id) { String sms = (String)getListAdapter().getItem(position); String data[]=sms.split("\n"); String isi[]=data[1].split("\\.",2); String kunci[]=isi[0].split("\\-",2); Intent i=new Intent(this,baca.class); //oper nomor pengirim ke form baca //oper isi pengirim ke form baca i.putextra("no", data[0]); //oper isi pengirim ke form baca

93 70 i.putextra("sms", isi[1]); //memecah kunci d i.putextra("key1", kunci[0]); //memecah kunci N i.putextra("key2", kunci[1]); startactivity(i); Dalam proses class dari class inboxsms() terdapat satu function dan dua macam proses. Function yang terdapat pada class ini berfungsi untuk memanggil pesan yang berada pada inbox bawaan dari Android dapat ditampilkan di list pesan pada aplikasi Pengaman SMS ini. Function untuk pemanggilan inbox bawaan Android ini dipanggil dengan sintak dibawah ini. Uri uri = Uri.parse("content://sms/inbox"); Setelah function terdapat dua buah proses yaitu yang pertama adalah proses yang berfungsi untuk menampilkan list pesan di tampilan Inbox dan proses kedua adalah proses untuk memanggil class baca() dan memindahkan data pesan dari list pesan dapat tertampil di class baca(). Pembuatan koding proses menampilkan list pesan adalah sebagai berikut : protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); List<SMSData> smslist = new ArrayList<SMSData>(); Uri uri = Uri.parse("content://sms/inbox"); Cursor c= getcontentresolver().query(uri, null, null, null,null); startmanagingcursor(c); String datasms[]; datasms=new String[c.getCount()]; // Read the sms data and store it in the list if(c.movetofirst()) { for(int i=0; i < c.getcount(); i++) { SMSData sms = new SMSData(); sms.setbody(c.getstring(c.getcolumnindexorthrow ("body")).tostring()); sms.setnumber(c.getstring(c.getcolumnindexorthrow ("address")).tostring()); smslist.add(sms);

94 71 datasms[i]=sms.getnumber()+"\n"+sms.getbody(); c.movetonext(); ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android.r.layout.simple_list_item_1, datasms); setlistadapter(adapter); Dalam proses ini bisa disebut sebagai main class dari class inboxsms() dan untuk menampilkan sms yang ter-update maka aplikasi ini memanggil function yang ada pada class ini, seperti yang sudah dijelaskan sebelumnya, list dalam proses pemanggilan pesan ini bersifat array, dan aplikasi ini menggunakan array yang berasal bawaan dari Android. Proses yang kedua adalah membuat class inboxsms() dapat terhubung dengan class baca() yang berguna untuk melakukan proses menterjemahkan pesan yang disandikan. Berikut koding proses pemanggilan class baca() dari class inboxsms(). protected void onlistitemclick(listview l, View v, int position, long id) { String sms = (String)getListAdapter().getItem(position); String data[]=sms.split("\n"); String isi[]=data[1].split("\\.",2); String kunci[]=isi[0].split("\\-",2); Intent i=new Intent(this,baca.class); //oper nomor pengirim dan isi ke form baca i.putextra("no", data[0]); i.putextra("sms", isi[1]); //memecah kunci d dan kunci N i.putextra("key1", kunci[0]); i.putextra("key2", kunci[1]); startactivity(i); Bisa dilihat bahwa proses ini berjalan saat pengguna klik pesan yang ingin dibaca pada list sms dan otomatis pesan dan no telepon pengirim akan ditampilkan di tampilan Baca Pesan. Sintak Intent dan start activity merupakan sintak yang digunakan untuk memanggil class lain.

95 Pembahasan Tampilan Layout Baca Pesan Dalam tampilan ini, proses ini hanya akan berjalan jika pengguna memilih pilihan Baca Pesan pada tampilan awal dan klik list pesan yang ingin dibaca. Class yang digunakan dalam tampilan ini adalah class baca(). Pada tampilan baca pesan ini nomor pengirim, isi pesan, kunci d dan kunci N akan secara otomatis terisi ketika penerima memilih pesan yang berada pada list SMS pada tampilan inbox. Kunci d dan kunci N berfungsi untuk melakukan proses dekripsi pesan. Untuk Berikut tampilan baca pesan seperti Gambar 5.7. Gambar 5.7 Tampilan Baca Pesan Berikut alur flowchart dalam proses dari tampilan baca pesan pada Gambar 5.8.

96 73 Gambar 5.8 Flowchart Proses Tampilan Baca Pesan Berikut proses pembuatan koding dari tampilan baca pesan ini dengan class baca(). public class baca extends Activity { StringBuilder original=new StringBuilder(); String pesan, plain, kunci_dd, kunci_nn, no, isi, kunci1,kunci2, arrayisi[]=new String[2]; EditText pho_no, isi_pesan, kunci_d, kunci_n ; TextView pesan_terjemah ; Button terjemah; public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); setcontentview(r.layout.baca); Bundle extras=getintent().getextras(); pho_no = (EditText)findViewById(R.id.phone_no_pengirim); isi_pesan = (EditText)findViewById(R.id.isi_pesan_enkrip); kunci_d = (EditText)findViewById(R.id.kunci_d); kunci_n = (EditText)findViewById(R.id.kunci_N); pesan_terjemah = (TextView)findViewById (R.id.plaintext_pesan); no=extras.getstring("no"); isi=extras.getstring("sms"); kunci1=extras.getstring("key1");

97 74 kunci2=extras.getstring("key2"); pho_no.settext(no); isi_pesan.settext(isi); kunci_d.settext(kunci1); kunci_n.settext(kunci2); terjemah = (Button)findViewById(R.id.dekrip); terjemah.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { long starttime = System.currentTimeMillis(); original=new StringBuilder(); pesan = isi_pesan.gettext().tostring().trim(); kunci_dd = kunci_d.gettext().tostring(); kunci_nn = kunci_n.gettext().tostring(); RSA test_akhir = new RSA(); String code[]=pesan.split("[.]"); if (kunci_dd.length()>0 && kunci_nn.length()>0){ BigInteger d_key = new BigInteger(kunci_dd); BigInteger n_key = new BigInteger(kunci_nn); for(int i=0;i<code.length;i++){ BigInteger value=new BigInteger(code[i]); original.append(test_akhir.decrypt(value,d_key, n_key)); pesan_terjemah.settext(original.tostring()); else if (kunci_dd.length()==0 && kunci_nn.length()==0){ Toast.makeText(getBaseContext(),"Kunci tidak boleh kosong", Toast.LENGTH_LONG).show(); else if (kunci_dd.length()==0 && kunci_nn.length()>0){ Toast.makeText(getBaseContext(),"Kunci d harus diisi", Toast.LENGTH_LONG).show(); else if (kunci_dd.length()>0 && kunci_nn.length()==0){ Toast.makeText(getBaseContext(),"Modulus harus diisi", Toast.LENGTH_LONG).show(); long endtime = System.currentTimeMillis(); System.out.println("It took " + (endtime - starttime) + " milliseconds"); );

98 75 Dalam pembuatan koding ini, yang pertama kali harus dilakukan adalah melakukan pemindahan data pesan yang ada di class inboxsms() ke class baca() dengan memanggil sintak. setcontentview(r.layout.baca); //sintak ini berfungsi untuk memanggil data yang ada pada class inboxsms() Bundle extras=getintent().getextras(); no=extras.getstring("no"); isi=extras.getstring("sms"); kunci1=extras.getstring("key1"); kunci2=extras.getstring("key2"); pho_no.settext(no); isi_pesan.settext(isi); kunci_d.settext(kunci1); kunci_n.settext(kunci2); Sebelum proses dekripsi dilakukan langkah awal yaitu mengubah tipe data pada kunci dan pesan yang awalnya adalah bertipe string diubah ke tipe data BigInteger dengan sintak. BigInteger d_key = new BigInteger(kunci_dd); BigInteger n_key = new BigInteger(kunci_nn); for(int i=0;i<code.length;i++){ BigInteger value=new BigInteger(code[i]); Dan barulah memanggil class RSA() dan melakukan proses dekripsi dengan sintak. RSA test_akhir = new RSA(); String code[]=pesan.split("[.]"); if (kunci_dd.length()>0 && kunci_nn.length()>0){ BigInteger d_key = new BigInteger(kunci_dd); BigInteger n_key = new BigInteger(kunci_nn); for(int i=0;i<code.length;i++){ BigInteger value=new BigInteger(code[i]); original.append(test_akhir.decrypt(value,d_key,n_key)); pesan_terjemah.settext(original.tostring()); 5.2 Proses Uji Coba Aplikasi Pengaman SMS Pada uji coba kali ini akan dilakukan percobaan terhadap masing-masing interface yang terkait dengan peranan fungsi enkripsi dan dekripsi, pengiriman dan penerimaan pesan.

99 76 Contoh: Berikut Tahap uji coba dari aplikasi Pengaman SMS ini: 1. Pengguna 1 (5554) membuka aplikasi Pengaman SMS seperti Gambar 5.9 dan pilih menu Tulis Pesan. Gambar 5.9 Membuka aplikasi Pengaman SMS 2. Ketik nomor tujuan pengguna 2 dan isi pesan ( pin 34$2!7* ) dan klik tombol kirim pesan untuk melakukan proses enkripsi pesan dan pengiriman pesan seperti pada Gambar Gambar 5.10 Proses Pengiriman SMS

100 77 Kunci D = Kunci N = Ciphertext = Pengguna 2 (5556) akan menerima pesan dari pengguna 1 dalam 2 sisi yaitu seperti Gambar 5.11 dan Gambar 5.12 : Gambar 5.11 Tampilan Inbox Bawaan Android Gambar 5.12 Tampilan Inbox pada Pengaman SMS

101 78 4. Pengguna dua klik pesan yang ingin didekripsikan dan pengguna dua harus mengisi kunci D dan N yang sudah dikirimkan oleh pengguna 1 Gambar 5.13 Proses Dekripsi Benar Jika kunci yang dimasukkan benar maka pesan asli dapat muncul seperti pada Gambar Jika salah satu kunci atau kedua kunci yang dimasukkan salah, maka pesan tidak terbaca seperti pada Gambar 5.14 berikut. Gambar 5.14 Proses Dekripsi Salah

102 Uji Coba Validitas Pesan Saat Enkripsi dan Dekripsi Uji coba ini bertujuan untuk memperlihatkan validitas SMS yang akan dikirim sesuai atau tidak dengan SMS yang akan diterima. Pada Tabel 5.1 berikut ini akan ditampilkan beberapa data percobaan yang memperlihatkan validitas pesan saat dilakukan proses enkripsi dan dekripsi (Data lebih lengkap dapat dilihat di Lampiran pada akhir tugas akhir ini). Percobaan ke Tabel 5.1 Validitas pesan saat enkripsi dan dekripsi Hasil Plaintext Ciphertext (Enkripsi) Halo apa kabar Nama kamu siapa Andi Riski Alvianto Plaintext (Dekripsi) Halo apa kabar Nama kamu siapa Andi Riski Alvianto

103 80 4 Desa Kramat Nganjuk Desa Kramat Nganjuk Dari presentasi keseluruhan uji coba diperoleh rata-rata kesesuaian plaintext pada saat sebelum dienkripsi dan sesudah didekripsi pada seluruh data hasil uji coba adalah 100%. Jadi dapat disimpulkan bahwa validitas pesan saat sebelum proses enkripsi dan setelah dilakukan proses dekripsi adalah sesuai, sehingga keamanan plaintext dapat terjamin kerahasiaannya. 5.4 Uji Coba Response Time pada Enkripsi dan Dekripsi Pada uji coba kali ini akan dilakukan pengukuran response time yang diperlukan pada saat proses enkripsi dan dekripsi dijalankan. Pengukuran waktu dibandingkan dengan jumlah karakter pesan yang dibuat, dengan satuan waktu dalam detik. Uji coba dilaksanakan sebanyak 30 kali dengan hasil yang terlihat pada Gambar Data-data percobaan yang dilakukan dilampirkan pada bagian akhir tugas akhir ini.

104 81 Gambar 5.15 Grafik Response Time enkripsi berdasarkan jumlah karakter pesan Dari percobaan tersebut diperoleh response time rata-rata proses enkripsi adalah 0, detik per karakter atau 14,925 milidetik per karakter. Demikian juga halnya dengan proses dekripsi dilakukan hal yang sama, sehingga diperoleh grafik seperti Gambar 5.16 berikut ini. Gambar 5.16 Grafik Response Time dekripsi berdasarkan jumlah karakter pesan Dari percobaan tersebut diperoleh response time rata-rata proses dekripsi adalah 0, detik per karakter atau 4,679 milidetik per karakter.

105 82 Halaman ini sengaja dikosongkan

106 BAB VI PENUTUP 6.1 Simpulan Berdasarkan hasil dari pembuatan dan uji coba yang dilakukan terhadap aplikasi SMS kriptografi dengan menerapkan metode RSA pada android, maka didapatkan simpulan seperti : 1. Validitas pesan yang akan dikirim setelah melakukan proses enkripsi dan dekripsi adalah 100% sehingga untuk keamanan pengiriman pesan asli terjamin aman. 2. Membuktikan bahwa metode RSA tidak hanya cuma digunakan untuk mengamankan data dan digital signature, tetapi metode ini dapat diterapkan untuk proses pengiriman dan penerimaan pesan berbasis SMS. 3. Penyamaran pesan menjadi ciphertext pada saat proses enkripsi dengan Algoritma RSA dapat mencegah orang lain untuk mengetahui pesan asli yang dimaksud. 4. Response time rata-rata untuk proses enkripsi yaitu 14,925 milidetik per karakter, sedangakan untuk proses dekripsi ratarata response time-nya adalah 4,679 milidetik per karakter. 6.2 Saran Dengan melihat hasil yang dicapai pada penelitian ini, ada beberapa hal yang penulis sarankan untuk pengembangan selanjutnya, yaitu : 1. Aplikasi ini dapat dikembangkan tidak sebatas hanya untuk SMS saja tetapi media sosial lainnya yang bersangkutan dengan pengiriman pesan seperti Line, Whatsapp, BBM, dan lain-lain. 2. Parameter titik pada ciphertext dihilangkan, jika bisa tidak hanya angka saja tetapi ditambah dengan kombinasi huruf. 3. Untuk pengiriman SMS bisa lebih dari satu penerima atau multiuser. 83

107 DAFTAR PUSTAKA [1] Enterprise, J. (2013). Memahami Pemrograman Android secara cepat dan mudah. Cetakan Pertama. Elex Media Komputindo. Jakarta. [2] Heriyanto, T., dan Arradian, D. (2014). Perkembangan Android Bagi Pendidikan. (diakses pada tanggal 25 November 2014) [3] Nosrati, M. (2012). Mobile Computing : Principles, Devices, and Operating Systems. World Applied Programming Journal. [4] Noor, A. R. (2008). Tarif SMS di Indonesia, Mahal atau Murah. arif-sms-di-indonesia-mahal-atau-murah. (diakses pada tanggal 7 November 2014) [5] Kastawan, I K. (2003). Pembuatan Perangkat Lunak Pengaman Pengiriman Pesan Via dengan Algoritma RSA. Tugas Akhir Jurusan Matematika Institut Teknologi Sepuluh Nopember. Surabaya. [6] Sunarsa, R. (2012). Membedakan Encoding dan Encryption. (diakses pada tanggal 28 November 2014) [7] Ariyus, D. (2008). Pengantar Ilmu Kriptografi Teori Analisis dan Implementasi. Edisi Pertama. Penerbit ANDI. Yogyakarta. [8] Sadikin, R. (2012). Kriptografi untuk Keamanan Jaringan. Edisi Pertama. Penerbit ANDI. Yogyakarta. [9] Ariyus, D. (2006). Kriptografi Keamanan Data dan Komunikasi. Cetakan Pertama. GRAHA ILMU. Yogyakarta. 85

108 86 [10] Elgin, B. (2005). Google Buys Android for Its Mobile Arsenal. Bloomberg Businessweek. Bloomberg. Diarsipkan dari aslinya tanggal 24 Februari [11] Welch, C. (2013). Before it took over smartphones, Android was originally destined for cameras. The Verge. Diakses tanggal 1 Mei [12] Romsy. (2011). Sistem Operasi pada Handphone. (diakses pada tanggal 2 Desember 2014) [13] Sirohito, A. (2012). Memaksimalkan Kemampuan Android. lkan-kemampuan-android/. (diaksses pada tanggal 30 November 2014) [14] Nadia. (2013). Pengertian SMS (Short Message Service). Rapendik. /561-pengertian-sms-short-message-service. (diakses pada tanggal 11 Februari 2014) [15] Faritzah. (2013). Layanan Pesan Singkat. (diakses pada tanggal 1 Desember 2014) [16] Safaat, N. (2013). Berbagai Implementasi dan Pengembangan Aplikasi Mobile Berbasis Android. Cetakan Pertama. INFORMATIKA. Bandung. [17] Alfatta, H. (2007). Analisis dan Perancangan Sistem Informasi. Edisi Pertama. Penerbit ANDI. Yogyakarta.

109 84 Halaman ini sengaja dikosongkan

110 LAMPIRAN A. Cara Menginstal Perangkat Lunak Untuk dapat menjalankan perangkat lunak ini dengan baik, maka diperlukan setup beberapa hal sebagai berikut. 1. Download atau copy PengamanSMS.apk 2. Klik icon PengamanSMS.apk untuk memulai instalasi. 3. Sebelum diinstall PengamanSMS.apk meminta persetujuan. 4. Setelah instalasi selesai PengamanSMS siap dijalankan. B. Syarat Pendukung Perangkat Lunak Perangkat lunak ini telah dicoba dan berjalan dengan baik pada piranti-piranti sebagai berikut. 1. Laptop Acer Aspire Processor Intel Core TM i5 CPU M 2.40GHz 3. Memory 2.00 GB 4. Microsoft Windows 8.1 Pro 5. Eclipse IDE C. Data-Data Uji Coba C.1 Percobaan untuk Response Time Proses Enkripsi Percobaan ke Karakter Waktu Enkripsi 87 Waktu Enkripsi per Karakter

111 Rata-rata C.2 Percobaan untuk Response Time Proses Dekripsi Percobaan Waktu Dekripsi Karakter Waktu Dekripsi ke per Karakter

112 Rata-rata

113 C.3 Validitas Pesan Saat Enkripsi dan Dekripsi Percobaan ke d modulus plaintext Halo apa kabar Nama kamu siapa Andi Riski Alvianto Kramat Nganjuk Hasil ciphertext (enkripsi) plaintext (dekripsi) Halo apa kabar Nama kamu siapa Andi Riski Alvianto Kramat Nganjuk

114 ~!@#$%^& ~!@#$%^& *()_+=-{ *()_+=-{

115 \][;'": \][;'": ?><,./;-) ?><,./;-) nomorku nomorku Rumahku nomor Rumahku nomor kode pos kode pos 64419

116 pin bbm 7d hasil 2^2+3=7 pin 2&j9)o> 34% * 2 = 68% pin bbm 7d hasil 2^2+3=7 pin 2&j9)o> 34% * 2 = 68%

117 94 Halaman ini sengaja dikosongkan

118 BIODATA PENULIS Penulis memiliki nama lengkap Andi Riski Alvianto atau biasa dipanggil Andi. Penulis dilahirkan di Nganjuk pada 28 April 1991 dan merupakan anak pertama dari 2 bersaudara. Pendidikan formal yang pernah ditempuh yaitu di TK Nurul Huda Tambun Selatan, SDN Mekarsari 1 Tambun Selatan- Bekasi, MTsN Nganjuk, dan SMKN 1 Nganjuk. Setelah lulus dari SMK, penulis mendaftar program beasiswa Bidikmisi dan diterima di Jurusan Matematika FMIPA ITS pada tahun 2010 dan terdaftar dengan NRP Di Jurusan Matematika FMIPA ITS, penulis mengambil bidang minat Ilmu Komputer. Penulis aktif di beberapa organisasi intra kampus diantaranya kepengurusan HIMATIKA sebagai staf Departemen Dalam Negeri periode dan periode Selain itu, penulis juga aktif dalam kepengurusan BEM FMIPA ITS sebagai staf Departemen Sosial Masyarakat periode dan Kepala Biro Lingkungan Departemen Sosial Masyarakat periode Penulis juga mengikuti Lembaga Dakwah Jurusan sebagai staf kaderisasi Ibnu Muqlah periode Selain intra kampus, penulis juga mengikuti organisasi ekstra kampus sebagai staf UKM Olah Raga Air ITS Divisi Renang. Penulis juga aktif dalam berbagai kegiatan pelatihan kemahasiswaan, diantaranya LKMM Pra TD FMIPA 2010, LKMM TD HIMATIKA Disamping itu pada semester 7 penulis menjadi asisten dosen matakuliah Microsoft SQL Server 2005 di PAPSI. Untuk kritik, saran, informasi dan pertanyaan yang berhubungan mengenai Tugas Akhir ini dapat dikirimkan melalui ke andi.riski10@gmail.com.

Pengaman Pengiriman Pesan Via SMS dengan Algoritma RSA Berbasis Android

Pengaman Pengiriman Pesan Via SMS dengan Algoritma RSA Berbasis Android A-1 Pengaman Pengiriman Pesan Via SMS dengan Algoritma RSA Berbasis Android Andi Riski Alvianto dan Darmaji Jurusan Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Teknologi Sepuluh

Lebih terperinci

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Penelitian sebelumnya yang terkait dengan penelitian ini adalah penelitian yang dilakukan oleh Syaukani, (2003) yang berjudul Implementasi Sistem Kriptografi

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi 2.1.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani criptos yang artinya adalah rahasia, sedangkan graphein artinya tulisan. Jadi kriptografi

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Keamanan Data Keamanan merupakan salah satu aspek yang sangat penting dari sebuah sistem informasi. Masalah keamanan sering kurang mendapat perhatian dari para perancang dan

Lebih terperinci

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman) Media Informatika Vol. 9 No. 2 (2010) PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman) Dahlia Br Ginting Sekolah Tinggi Manajemen Informatika dan Komputer

Lebih terperinci

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal BAB I PENDAHULUAN Bab Pendahuluan akan menjabarkan mengenai garis besar skripsi melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal yang akan dijabarkan adalah latar belakang,

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Beberapa tahun terakhir ini terjadi perkembangan yang pesat pada teknologi, salah satunya adalah telepon selular (ponsel). Mulai dari ponsel yang hanya bisa digunakan

Lebih terperinci

BAB I PENDAHULUAN , 1.1. Latar Belakang

BAB I PENDAHULUAN , 1.1. Latar Belakang BAB I PENDAHULUAN Pada bab ini berisi tentang latar belakang pembuatan dari aplikasi enkripsi dan dekripsi RSA pada smartphone android, rumusan masalah, tujuan, batasan masalah yang ada pada pembuatan

Lebih terperinci

Perhitungan dan Implementasi Algoritma RSA pada PHP

Perhitungan dan Implementasi Algoritma RSA pada PHP Perhitungan dan Implementasi Algoritma RSA pada PHP Rini Amelia Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Sunan Gunung Djati Bandung. Jalan A.H Nasution No.

Lebih terperinci

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara Konsep Enkripsi dan Dekripsi Berdasarkan Kunci Tidak Simetris Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara Dalam tulisan saya pada bulan Agustus lalu telah dijelaskan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 7 BAB 2 LANDASAN TEORI 2.1 Kriptografi 2.1.1 Pengertian kriptografi Kriptografi (Cryptography) berasal dari Bahasa Yunani. Menurut bahasanya, istilah tersebut terdiri dari kata kripto dan graphia. Kripto

Lebih terperinci

PERBANDINGAN ALGORITMA CAESAR CIPHER TERHADAP BLOWFISH 128 BIT UNTUK ENKRIPSI SMS BERBASIS JAVA

PERBANDINGAN ALGORITMA CAESAR CIPHER TERHADAP BLOWFISH 128 BIT UNTUK ENKRIPSI SMS BERBASIS JAVA PERBANDINGAN ALGORITMA CAESAR CIPHER TERHADAP BLOWFISH 128 BIT UNTUK ENKRIPSI SMS BERBASIS JAVA YOYON TARYONO 41515110188 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA

Lebih terperinci

BAB III ANALISIS. Pada tahap analisis, dilakukan penguraian terhadap topik penelitian untuk

BAB III ANALISIS. Pada tahap analisis, dilakukan penguraian terhadap topik penelitian untuk BAB III ANALISIS Pada tahap analisis, dilakukan penguraian terhadap topik penelitian untuk mengidentifikasi dan mengevaluasi proses-prosesnya serta kebutuhan yang diperlukan agar dapat diusulkan suatu

Lebih terperinci

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA ABSTRAK ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA Makalah ini membahas tentang pengamanan pesan rahasia dengan menggunakan salah satu algoritma Kryptografi, yaitu algoritma ElGamal. Tingkat keamanan

Lebih terperinci

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi JURNAL DUNIA TEKNOLOGI INFORMASI Vol. 1, No. 1, (2012) 20-27 20 Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi 1 Program Studi

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Masalah Kebutuhan manusia akan perangkat informasi dan komunikasi seakan menjadi kebutuhan yang tidak terpisahkan dalam kehidupan. Dengan banyaknya aplikasi

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan

Lebih terperinci

ANALISIS DAN IMPLEMENTASI KEAMANAN MENGGUNAKAN ALGORITMA SEBAGAI ENKRIPSI DAN DEKRIPSI PADA MOZILLA THUNDERBIRD SKRIPSI

ANALISIS DAN IMPLEMENTASI KEAMANAN  MENGGUNAKAN ALGORITMA SEBAGAI ENKRIPSI DAN DEKRIPSI PADA MOZILLA THUNDERBIRD SKRIPSI ANALISIS DAN IMPLEMENTASI KEAMANAN E-MAIL MENGGUNAKAN ALGORITMA SEBAGAI ENKRIPSI DAN DEKRIPSI PADA MOZILLA THUNDERBIRD SKRIPSI MUHAMMAD JANUAR RAMBE 061401044 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN

Lebih terperinci

Algoritma RSA dan ElGamal

Algoritma RSA dan ElGamal Bahan Kuliah ke-15 IF5054 Kriptografi Algoritma RSA dan ElGamal Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 15.1 Pendahuluan 15. Algoritma RSA dan

Lebih terperinci

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN Mohamad Ray Rizaldy - 13505073 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung, Jawa Barat e-mail: if15073@students.if.itb.ac.id

Lebih terperinci

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL Deny Adhar Teknik Informatika, STMIK Potensi Utama Medan Jln. Kol. Yos. Sudarso Km. 6,5 No. 3A Medan adhar_7@yahoo.com Abstrak SQLite database

Lebih terperinci

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit Nur Fadilah, EntikInsannudin Jurusan Teknik Informatika Fakultas Sains dan Teknologi UIN Sunan Gunung Djati Bandung Jln. A.H.Nasution

Lebih terperinci

IMPLEMENTASI PENGAMANAN DATA ENKRIPSI SMS DENGAN ALGORITMA RC4 BERBASIS ANDROID

IMPLEMENTASI PENGAMANAN DATA ENKRIPSI SMS DENGAN ALGORITMA RC4 BERBASIS ANDROID IMPLEMENTASI PENGAMANAN DATA ENKRIPSI SMS DENGAN ALGORITMA RC4 BERBASIS ANDROID Sapto Subhan 1), Safrina Amini 2), Pipin Farida Ariyani 3) 1),2),3 ) Teknik Informatika, Universitas Budi Luhur Jl. Raya

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Masalah Kebutuhan manusia akan perangkat informasi dan komunikasi seakan menjadi kebutuhan yang tidak terpisahkan dalam kehidupan. Dengan banyaknya aplikasi

Lebih terperinci

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL Deny Adhar Teknik Informatika, STMIK Potensi Utama Medan Jln. Kol. Yos. Sudarso Km. 6,5 No. 3A Medan adhar_7@yahoo.com Abstrak SQLite database

Lebih terperinci

MEMBANGUN APLIKASI KEAMANAN DATA TEKS DENGAN METODE RSA CRT BERBASIS ANDROID

MEMBANGUN APLIKASI KEAMANAN DATA TEKS DENGAN METODE RSA CRT BERBASIS ANDROID KARYA ILMIAH MAHASISWA TEKNIK INFORMATIKA 1 MEMBANGUN APLIKASI KEAMANAN DATA TEKS DENGAN METODE RSA CRT BERBASIS ANDROID Herix Saputra Budihani Abstrak Keamanan data merupakan sesuatu yang harus diperhatikan

Lebih terperinci

APLIKASI SMS ENKRIPSI PADA ANDROID DENGAN ALGORITMA RC4 DAN BASE64

APLIKASI SMS ENKRIPSI PADA ANDROID DENGAN ALGORITMA RC4 DAN BASE64 APLIKASI SMS ENKRIPSI PADA ANDROID DENGAN ALGORITMA RC4 DAN BASE64 SKRIPSI Disusun Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Pada Jurusan Ilmu Komputer / Informatika Disusun oleh:

Lebih terperinci

1. BAB 1 PENDAHULUAN. 1.1 Latar Belakang

1. BAB 1 PENDAHULUAN. 1.1 Latar Belakang 1. BAB 1 PENDAHULUAN 1.1 Latar Belakang Android kini merupakan sistem operasi mobile yang paling banyak digunakan di dunia dibandingkan sistem operasi mobile lainnya. Contohnya survei yang dilakukan oleh

Lebih terperinci

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan BAB 1 PENDAHULUAN 1.1 Latar Belakang Dunia semakin canggih dan teknologi informasi semakin berkembang. Perkembangan tersebut secara langsung maupun tidak langsung mempengaruhi sistem informasi. Terutama

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisis Masalah Secara umum data dikategorikan menjadi dua, yaitu data yang bersifat rahasia dan data yang bersifat tidak rahasia. Data yang bersifat tidak rahasia

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan

Lebih terperinci

BAB I PENDAHULUAN. Perkembangan teknologi informasi yang semakin pesat. dapat dirasakan hampir di setiap bidang kehidupan. Salah

BAB I PENDAHULUAN. Perkembangan teknologi informasi yang semakin pesat. dapat dirasakan hampir di setiap bidang kehidupan. Salah BAB I PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi informasi yang semakin pesat dapat dirasakan hampir di setiap bidang kehidupan. Salah satunya di bidang komunikasi dan informasi. Hal ini terlihat

Lebih terperinci

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM 3.1 Analisis Kebutuhan Aplikasi KriptoSMS ini digunakan untuk mengirim dan menerima pesan. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi

Lebih terperinci

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH JOVI TANATO NPM: 2012730011 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI DAN SAINS UNIVERSITAS KATOLIK PARAHYANGAN 2017 UNDERGRADUATE

Lebih terperinci

AGUNG RAHMAT RAMADHAN NIM.

AGUNG RAHMAT RAMADHAN NIM. LAPORAN SKRIPSI APLIKASI PELINDUNG SOURCE CODE PHP DARI PELANGGARAN HAK CIPTA MENGGUNAKAN ALGORITMA RC4 DAN BASE64 SERTA PERLINDUNGAN SATU ARAH ENKRIPSI TANPA DEKRIPSI AGUNG RAHMAT RAMADHAN NIM. 201451062

Lebih terperinci

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB I PENDAHULUAN 1.1. Latar Belakang BAB I PENDAHULUAN 1.1. Latar Belakang Kemajuan teknologi internet sebagai media penghantar informasi telah diadopsi oleh hampir semua orang dewasa ini. Dimana informasi telah menjadi sesuatu yang sangat

Lebih terperinci

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014) KRIPTOGRAFI Reference William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014) Bruce Schneier Applied Cryptography 2 nd Edition (2006) Mengapa Belajar Kriptografi

Lebih terperinci

PERANCANGAN APLIKASI KRIPTOGRAFI BERBASIS WEB DENGAN ALGORITMA DOUBLE CAESAR CIPHER MENGGUNAKAN TABEL ASCII

PERANCANGAN APLIKASI KRIPTOGRAFI BERBASIS WEB DENGAN ALGORITMA DOUBLE CAESAR CIPHER MENGGUNAKAN TABEL ASCII PERANCANGAN APLIKASI KRIPTOGRAFI BERBASIS WEB DENGAN ALGORITMA DOUBLE CAESAR CIPHER MENGGUNAKAN TABEL ASCII Endah Handayani 1), Wheny Lebdo Pratitis 2), Achmad Nur 3) Syaifudin Ali Mashuri 4), Bagus Nugroho

Lebih terperinci

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK Chandra Program Studi Magister S2 Teknik Informatika Universitas Sumatera Utara Jl. Universitas No. 9A Medan, Sumatera Utara e-mail : chandra.wiejaya@gmail.com

Lebih terperinci

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Bab 2: Kriptografi. Landasan Matematika. Fungsi Bab 2: Kriptografi Landasan Matematika Fungsi Misalkan A dan B adalah himpunan. Relasi f dari A ke B adalah sebuah fungsi apabila tiap elemen di A dihubungkan dengan tepat satu elemen di B. Fungsi juga

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi terminologinya, kata kriptografi berasal dari bahasa Yunani yaitu crypto yang berarti secret (rahasia) dan graphia yang berarti writing (tulisan).

Lebih terperinci

BAB 3 KRIPTOGRAFI RSA

BAB 3 KRIPTOGRAFI RSA BAB 3 KRIPTOGRAFI RSA 3.1 Sistem ASCII Sebelumnya, akan dijelaskan terlebih dahulu Sistem ASCII sebagai system standar pengkodean dalam pertukaran informasi yaitu Sistem ASCII. Plainteks yang akan dienkripsi

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Pertukaran data berbasis komputer menghasilkan satu komputer saling terkait dengan komputer lainnya dalam sebuah jaringan komputer. Perkembangan teknologi jaringan

Lebih terperinci

Pengenalan Kriptografi

Pengenalan Kriptografi Pengenalan Kriptografi (Week 1) Aisyatul Karima www.themegallery.com Standar kompetensi Pada akhir semester, mahasiswa menguasai pengetahuan, pengertian, & pemahaman tentang teknik-teknik kriptografi.

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi. Dalam hal ini, sangat terkait dengan betapa pentingnya informasi

Lebih terperinci

BAB I PENDAHULUAN. dengan munculnya berbagai sistem operasi yang lengkap layaknya komputer,

BAB I PENDAHULUAN. dengan munculnya berbagai sistem operasi yang lengkap layaknya komputer, BAB I PENDAHULUAN I.. Latar Belakang Beberapa tahun terakhir ini terjadi perkembangan yang sangat pesat di bidang teknologi pengolahan data pesan teks, salah satunya ialah smartphone. Itu dapat dilihat

Lebih terperinci

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC Perbandingan Sistem Kriptografi Publik RSA dan ECC Abu Bakar Gadi NIM : 13506040 1) 1) Jurusan Teknik Informatika ITB, Bandung, email: abu_gadi@students.itb.ac.id Abstrak Makalah ini akan membahas topik

Lebih terperinci

BAB I PENDAHULUAN. dan SMS hingga ponsel cerdas. Ponsel cerdas atau juga dikenal dengan smartphone memiliki

BAB I PENDAHULUAN. dan SMS hingga ponsel cerdas. Ponsel cerdas atau juga dikenal dengan smartphone memiliki BAB I PENDAHULUAN I.1. Latar Belakang Masalah Perkembangan teknologi dimasa sekarang begitu meningkat dengan pesat, Dengan adanya penemuan-penemuan teknologi baru akan sangat membantu dalam menyelesaikan

Lebih terperinci

KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS

KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS 061401001 PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

Lebih terperinci

Penggunaan Teori Bilangan dan Kriptografi dalam Peningkatan Keamanan Aplikasi Personal and Group Messaging

Penggunaan Teori Bilangan dan Kriptografi dalam Peningkatan Keamanan Aplikasi Personal and Group Messaging Penggunaan Teori Bilangan dan Kriptografi dalam Peningkatan Keamanan Aplikasi Personal and Group Messaging Verena Severina / 13515047 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi memberi pengaruh besar bagi segala aspek kehidupan. Begitu banyak manfaat teknologi tersebut yang dapat diimplementasikan dalam kehidupan. Teknologi

Lebih terperinci

BAB I PENDAHULUAN. multiplayer games, transfer data, vidio streaming dan lain-lain. Berbagai

BAB I PENDAHULUAN. multiplayer games, transfer data, vidio streaming dan lain-lain. Berbagai BAB I PENDAHULUAN I.1 Latar Belakang Perkembangan teknologi pada zaman sekarang ini tidak dipungkiri sangatlah cepat, khusus teknologi informasi salah satunya telepon seluler, fitur dan kecanggihan pada

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Teori Bilangan 2.1.1 Keterbagian Jika a dan b Z (Z = himpunan bilangan bulat) dimana b 0, maka dapat dikatakan b habis dibagi dengan a atau b mod a = 0 dan dinotasikan dengan

Lebih terperinci

PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE)

PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE) PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE) TIANUR SITIO 41511120025 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2015

Lebih terperinci

BAB 2 LANDASAN TEORI Interaksi Manusia dan Komputer. interaktif untuk digunakan oleh manusia. Golden Rules of Interaction Design, yaitu:

BAB 2 LANDASAN TEORI Interaksi Manusia dan Komputer. interaktif untuk digunakan oleh manusia. Golden Rules of Interaction Design, yaitu: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Interaksi Manusia dan Komputer Interaksi manusia dan komputer adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif

Lebih terperinci

APLIKASI ENKRIPSI SMS (SHORT MESSAGE SERVICE) MENGGUNAKAN ALGORITMA DATA ENCRYPTION STANDARD (DES) BERBASIS ANDROID

APLIKASI ENKRIPSI SMS (SHORT MESSAGE SERVICE) MENGGUNAKAN ALGORITMA DATA ENCRYPTION STANDARD (DES) BERBASIS ANDROID APLIKASI ENKRIPSI SMS (SHORT MESSAGE SERVICE) MENGGUNAKAN ALGORITMA DATA ENCRYPTION STANDARD (DES) BERBASIS ANDROID Syamsul Bahri Lubis (0911794) Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma

Lebih terperinci

IMPLEMENTASI KEAMANAN MENGGUNAKAN PERTUKARAN KUNCI DIFFIE HELLMAN DAN ALGORITMA ENKRIPSI BLOWFISH KOMPETENSI JARINGAN KOMPUTER SKRIPSI

IMPLEMENTASI KEAMANAN  MENGGUNAKAN PERTUKARAN KUNCI DIFFIE HELLMAN DAN ALGORITMA ENKRIPSI BLOWFISH KOMPETENSI JARINGAN KOMPUTER SKRIPSI IMPLEMENTASI KEAMANAN EMAIL MENGGUNAKAN PERTUKARAN KUNCI DIFFIE HELLMAN DAN ALGORITMA ENKRIPSI BLOWFISH KOMPETENSI JARINGAN KOMPUTER SKRIPSI RAE A.P. HERE WOLLO NIM. 0908605054 PROGRAM STUDI TEKNIK INFORMATIKA

Lebih terperinci

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI E-MAIL Satya Fajar Pratama NIM : 13506021 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if16021@students.if.itb.ac.id

Lebih terperinci

cepat dan kian merambah ke setiap komponen teknologi informasi itu sendiri. Dari mulai dikenalnya komputer, hardware, software, hingga

cepat dan kian merambah ke setiap komponen teknologi informasi itu sendiri. Dari mulai dikenalnya komputer, hardware, software, hingga APLIKASI PHONEBOOK DARURAT BERBASIS ANDROID ECA (Emergency Call Aplication) 1. Latar Belakang Perkembangan di bidang teknologi informasi saat ini semakin cepat dan kian merambah ke setiap komponen teknologi

Lebih terperinci

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. BAB I PENDAHULUAN 1.1 Latar Belakang Pada proses pengiriman data (pesan) terdapat beberapa hal yang harus diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. Oleh karenanya

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisa Masalah Perkembangan teknologi di bidang komunikasi semakin tahun semakin maju. Barbagai perangkat lunak untuk mengembangkan aplikasi ponselpun bermunculan,

Lebih terperinci

BAB I PENDAHULUAN. teknologi, salah satunya adalah telepon selular (ponsel). Mulai dari ponsel yang

BAB I PENDAHULUAN. teknologi, salah satunya adalah telepon selular (ponsel). Mulai dari ponsel yang BAB I PENDAHULUAN I.1. Latar Belakang Beberapa tahun terakhir ini terjadi perkembangan yang pesat pada teknologi, salah satunya adalah telepon selular (ponsel). Mulai dari ponsel yang hanya bisa digunakan

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis Masalah Email sudah digunakan orang sejak awal terbentuknya internet dan merupakan salah satu fasilitas yang ada pada saat itu. Tak jarang orang menyimpan

Lebih terperinci

SKRIPSI BILQIS

SKRIPSI BILQIS ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA MENGGUNAKAN ALGORITMA ONE TIME PAD (OTP) DENGAN PEMBANGKIT BILANGAN ACAK LINEAR CONGRUENTIAL GENERATOR (LCG) SKRIPSI BILQIS 081401072 PROGRAM STUDI S1 ILMU

Lebih terperinci

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012 ANALISIS ALGORITMA ENKRIPSI ELGAMAL, GRAIN V1, DAN AES DENGAN STUDI KASUS APLIKASI RESEP MASAKAN Dimas Zulhazmi W. 1, Ary M. Shiddiqi 2, Baskoro Adi Pratomo 3 1,2,3 Jurusan Teknik Informatika, Fakultas

Lebih terperinci

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE Muhammad Fikry Teknik Informatika, Universitas Malikussaleh e-mail: muh.fikry@unimal.ac.id Abstract Data merupakan aset yang paling berharga untuk

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan: BAB III ANALISA DAN PERANCANGAN 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan: Gambar 3.1 Tahap awal pengerjaan Gambar di atas adalah tahapan awal dalam pengerjaan pembuatan aplikasi SMS Kriptografi

Lebih terperinci

BAB I PENDAHULUAN. keamanan, kerahasiaan, dan keotentikan data. Oleh karena itu diperlukan suatu

BAB I PENDAHULUAN. keamanan, kerahasiaan, dan keotentikan data. Oleh karena itu diperlukan suatu BAB I PENDAHULUAN I.1. Latar Belakang Di era globalisasi saat ini, mendapatkan informasi sangatlah mudah. Setiap orang dengan mudah mendapatkan data ataupun berita yang diinginkan. Hal ini didukung dengan

Lebih terperinci

PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA SKRIPSI DEWI TRY AGUSTINA

PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA SKRIPSI DEWI TRY AGUSTINA PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA SKRIPSI DEWI TRY AGUSTINA 041401015 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

PENGAMANAN DOKUMEN MENGGUNAKAN METODE RSA (RIVEST SHAMIR ADLEMAN)BERBASIS WEB

PENGAMANAN DOKUMEN MENGGUNAKAN METODE RSA (RIVEST SHAMIR ADLEMAN)BERBASIS WEB PENGAMANAN DOKUMEN MENGGUNAKAN METODE RSA (RIVEST SHAMIR ADLEMAN)BERBASIS WEB Ardelia Nidya Agustina 1, Aryanti 2, Nasron 2 Program Studi Teknik Telekomunikasi, Jurusan Teknik Elektro, Politeknik Negeri

Lebih terperinci

PERANCANGAN APLIKASI PENGAMANAN INFORMASI TEKS DENGAN MENGGUNAKAN ALGORITMA KRIPTOGRAFI ALPHA-QWERTY REVERSE

PERANCANGAN APLIKASI PENGAMANAN INFORMASI TEKS DENGAN MENGGUNAKAN ALGORITMA KRIPTOGRAFI ALPHA-QWERTY REVERSE PERANCANGAN APLIKASI PENGAMANAN INFORMASI TEKS DENGAN MENGGUNAKAN ALGORITMA KRIPTOGRAFI ALPHA-QWERTY REVERSE DESIGN OF TEXT INFORMATION SECURITY APPLICATION USING CRYPTOGRAPHIC ALGORITHM OF ALPHA-QWERTY

Lebih terperinci

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara 5 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi adalah ilmu yang mempelajari bagaimana mengirim pesan secara rahasia sehingga hanya orang yang dituju saja yang dapat membaca pesan rahasia tersebut.

Lebih terperinci

RANCANGAN KRIPTOGRAFI HYBRID KOMBINASI METODE VIGENERE CIPHER DAN ELGAMAL PADA PENGAMANAN PESAN RAHASIA

RANCANGAN KRIPTOGRAFI HYBRID KOMBINASI METODE VIGENERE CIPHER DAN ELGAMAL PADA PENGAMANAN PESAN RAHASIA RANCANGAN KRIPTOGRAFI HYBRID KOMBINASI METODE VIGENERE CIPHER DAN ELGAMAL PADA PENGAMANAN PESAN RAHASIA Bella Ariska 1), Suroso 2), Jon Endri 3) 1),2),3 ) Program Studi Teknik Telekomunikasi Jurusan Teknik

Lebih terperinci

Universitas Sumatera Utara

Universitas Sumatera Utara ii PERSETUJUAN Judul : SISTEM TANDA TANGAN DIGITAL PADA PESAN TEKS MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RSA Kategori : SKRIPSI Nama : LIA SILVIANA Nomor Induk Mahasiswa : 071402051 Program Studi

Lebih terperinci

APLIKASI SHORT MESSAGE SERVICE DENGAN ENKRIPSI TEKS MENGGUNAKAN ALGORITMA ADVANCED ENCRYPTION STANDARD BERBASIS MOBILE PADA PLATFORM ANDROID

APLIKASI SHORT MESSAGE SERVICE DENGAN ENKRIPSI TEKS MENGGUNAKAN ALGORITMA ADVANCED ENCRYPTION STANDARD BERBASIS MOBILE PADA PLATFORM ANDROID APLIKASI SHORT MESSAGE SERVICE DENGAN ENKRIPSI TEKS MENGGUNAKAN ALGORITMA ADVANCED ENCRYPTION STANDARD BERBASIS MOBILE PADA PLATFORM ANDROID Andi Harmin Program Studi Teknik Komputer STMIK Profesional

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi. BAB 2 LANDASAN TEORI 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi. 2.1.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa yunani yaitu

Lebih terperinci

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang BAB II LANDASAN TEORI Pada bab ini akan diberikan beberapa definisi, penjelasan, dan teorema yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang diberikan diantaranya adalah definisi

Lebih terperinci

IMPLEMENTASI KRIPTOGRAFI PADA CHATTING MENGGUNAKAN METODE ONE TIME PAD (OTP) BERBASIS ANDROID

IMPLEMENTASI KRIPTOGRAFI PADA CHATTING MENGGUNAKAN METODE ONE TIME PAD (OTP) BERBASIS ANDROID IMPLEMENTASI KRIPTOGRAFI PADA CHATTING MENGGUNAKAN METODE ONE TIME PAD (OTP) BERBASIS ANDROID TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah

Lebih terperinci

APLIKASI PENGIRIMAN PESAN PENGKODEAN MENGGUNAKAN METODE AES 128 BIT BERBASIS ANDROID SKRIPSI. Diajukanoleh : YUDITH ADI SUCAHYO NPM :

APLIKASI PENGIRIMAN PESAN PENGKODEAN MENGGUNAKAN METODE AES 128 BIT BERBASIS ANDROID SKRIPSI. Diajukanoleh : YUDITH ADI SUCAHYO NPM : APLIKASI PENGIRIMAN PESAN PENGKODEAN MENGGUNAKAN METODE AES 128 BIT BERBASIS ANDROID SKRIPSI Diajukanoleh : YUDITH ADI SUCAHYO NPM : 0734010025 Kepada JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

Lebih terperinci

TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI

TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI A.A. NGURAH PRADNYA ADHIKA NIM. 0608605084 JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

DESAIN DAN IMPLEMENTASI PRETTY GOOD PRIVACY (PGP) UNTUK KEAMANAN DOKUMEN PADA PT PUTRA JATRA MANDIRI PALEMBANG

DESAIN DAN IMPLEMENTASI PRETTY GOOD PRIVACY (PGP) UNTUK KEAMANAN DOKUMEN PADA PT PUTRA JATRA MANDIRI PALEMBANG DESAIN DAN IMPLEMENTASI PRETTY GOOD PRIVACY (PGP) UNTUK KEAMANAN DOKUMEN PADA PT PUTRA JATRA MANDIRI PALEMBANG Yuni Riadi Jurusan Teknik Informatika STMIK PalComTech Palembang Abstrak Desain dan implementasi

Lebih terperinci

SEJARAH ANDROID. Dinda Paramitha. Abstrak. Pendahuluan. Pembahasan.

SEJARAH ANDROID. Dinda Paramitha. Abstrak. Pendahuluan. Pembahasan. SEJARAH ANDROID Dinda Paramitha Paramitha@raharja.info Abstrak Android, pengguna Android tidaklah sedikit, bahkan hampir semua orang di dunia menggunakan Andriod, tapi tidak banyak diantara kita yang mengetahui

Lebih terperinci

Bab 1 PENDAHULUAN Latar Belakang

Bab 1 PENDAHULUAN Latar Belakang Bab 1 PENDAHULUAN 1.1. Latar Belakang Sistem keamanan pengiriman data (komunikasi data yang aman) dipasang untuk mencegah pencurian, kerusakan, dan penyalahgunaan data yang terkirim melalui jaringan komputer.

Lebih terperinci

IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID

IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID SKRIPSI HARI RAHMAN NIHE 111401114 PROGRAM STUDI S1 ILMU

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Banyak sekali transaksi-transaksi elektronik yang terjadi setiap detiknya di seluruh dunia, terutama melalui media internet yang dapat diakses kapanpun dan dari manapun.

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1. Kriptografi Kriptografi secara etimologi berasal dari bahasa Yunani kryptos yang artinya tersembunyi dan graphien yang artinya menulis, sehingga kriptografi merupakan metode

Lebih terperinci

BAB I PENDAHULUAN. Di era globalisasi saat ini, mendapatkan informasi sangatlah mudah. Setiap

BAB I PENDAHULUAN. Di era globalisasi saat ini, mendapatkan informasi sangatlah mudah. Setiap BAB I PENDAHULUAN I.1. Latar Belakang Di era globalisasi saat ini, mendapatkan informasi sangatlah mudah. Setiap orang dengan mudah mendapatkan data ataupun berita yang diinginkan. Hal ini didukung dengan

Lebih terperinci

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB I PENDAHULUAN 1.1 LATAR BELAKANG BAB I PENDAHULUAN 1.1 LATAR BELAKANG Didalam pertukaran atau pengiriman informasi permasalahan yang sangat penting adalah keamanan dan kerahasiaan pesan, data atau informasi seperti dalam informasi perbankan,

Lebih terperinci

Pemampatan Data Sebagai Bagian Dari Kriptografi

Pemampatan Data Sebagai Bagian Dari Kriptografi Pemampatan Data Sebagai Bagian Dari Kriptografi Muhammad Ismail Faruqi, Adriansyah Ekaputra, Widya Saseno Laboratorium Ilmu dan Rekayasa Komputasi Departemen Teknik Informatika, Institut Teknologi Bandung

Lebih terperinci

IMPLEMENTASI ALGORITMA RSA UNTUK PENGAMANAN DATA BERBENTUK TEKS

IMPLEMENTASI ALGORITMA RSA UNTUK PENGAMANAN DATA BERBENTUK TEKS IMPLEMENTASI ALGORITMA RSA UNTUK PENGAMANAN DATA BERBENTUK TEKS Pahrizal 1, David Pratama 2 1,2 Informatika, Fakultas Teknik, Universitas Muhammadiyah Bengkulu Jl. Bali Po. Box, 118 Kota Bengkulu 38119

Lebih terperinci

Kriptografi. A. Kriptografi. B. Enkripsi

Kriptografi. A. Kriptografi. B. Enkripsi Kriptografi A. Kriptografi Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. Proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut plaintext) menjadi pesan

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Seiring dengan perkembangan teknologi, tingkat keamanan terhadap suatu informasi yang bersifat rahasia pun semakin tinggi. Hal ini merupakan aspek yang paling penting

Lebih terperinci

BAB I PENDAHULUAN. dalam kehidupan manusia. Kemajuan teknologi dengan kehidupan manusia seakan-akan tidak

BAB I PENDAHULUAN. dalam kehidupan manusia. Kemajuan teknologi dengan kehidupan manusia seakan-akan tidak BAB I PENDAHULUAN I.1. Latar Belakang Perkembangan Teknologi Informasi dan Komunikasi pada saat ini sangatlah pesat. Tidak dapat dipungkiri bahwa kemajuan dan perkembangan teknologi mempunyai peranan penting

Lebih terperinci

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA CAESAR CIPHER DALAM BENTUK QR CODE BERBASIS ANDROID AHMAD SOLEH PROGRAM STUDI INFORMATIKA

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA CAESAR CIPHER DALAM BENTUK QR CODE BERBASIS ANDROID AHMAD SOLEH PROGRAM STUDI INFORMATIKA APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA CAESAR CIPHER DALAM BENTUK QR CODE BERBASIS ANDROID AHMAD SOLEH 41513010002 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA

Lebih terperinci

BAB I PENDAHULUAN. dari isinya, informasi dapat berupa penting atau tidak penting. Bila dilihat dari sifat

BAB I PENDAHULUAN. dari isinya, informasi dapat berupa penting atau tidak penting. Bila dilihat dari sifat BAB I PENDAHULUAN 1.1 Latar Belakang Informasi adalah inti yang dipertukarkan dalam proses berkomunikasi. Jenis informasi yang digunakan dalam komunikasi pun bermacam-macam. Jika dilihat dari isinya, informasi

Lebih terperinci

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA BAB IV HASIL DAN UJI COBA IV.1. Hasil Berdasarkan hasil dari perancangan yang telah dirancang oleh penulis dapat dilihat pada gambar-gambar berikut ini. IV.1.1. Tampilan Awal Tampilan ini adalah tampilan

Lebih terperinci

ABSTRAK. Kata kunci :SSL, RSA, MD5, Autentikasi, Kriptografi. Universitas Kristen Maranatha

ABSTRAK. Kata kunci :SSL, RSA, MD5, Autentikasi, Kriptografi. Universitas Kristen Maranatha ABSTRAK Dalam dunia internet tidak ada yang benar-benar aman. Selalu saja ada celah dalam setiap aplikasi yang dibuat. Untuk memininalisir serangan dapat menggunakan enkripsi pada data ketika data tersebut

Lebih terperinci

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III ANALISA MASALAH DAN PERANCANGAN BAB III ANALISA MASALAH DAN PERANCANGAN III.1. Analisa Sub bab ini berisikan tentang analisa sistem yang akan dibangun. Sub bab ini membahas teknik pemecahan masalah yang menguraikan sebuah sistem menjadi

Lebih terperinci

PERANCANGAN APLIKASI MEMO MENGGUNAKAN ALGORITMA KRIPTOGRAFI CAESAR CIPHER DAN RSA BERBASIS ANDROID

PERANCANGAN APLIKASI MEMO MENGGUNAKAN ALGORITMA KRIPTOGRAFI CAESAR CIPHER DAN RSA BERBASIS ANDROID PERANCANGAN APLIKASI MEMO MENGGUNAKAN ALGORITMA KRIPTOGRAFI CAESAR CIPHER DAN RSA BERBASIS ANDROID Muhammad Aziz Fatchur Rachman 1) 1) Magister Teknik Informatika, Universitas Amikom Yogyakarta Jl. Ringroad

Lebih terperinci