• Tidak ada hasil yang ditemukan

JUDUL IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES 128 BIT SEBAGAI PENGAMAN SMS PADA SMARTPHONE BERBASIS ANDROID NASKAH PUBLIKASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "JUDUL IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES 128 BIT SEBAGAI PENGAMAN SMS PADA SMARTPHONE BERBASIS ANDROID NASKAH PUBLIKASI"

Copied!
15
0
0

Teks penuh

(1)

JUDUL

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES 128 BIT SEBAGAI

PENGAMAN SMS PADA SMARTPHONE BERBASIS ANDROID

NASKAH PUBLIKASI

diajukan oleh

Joko Tri Susilo Widodo

10.11.3599

kepada

SEKOLAH TINGGI MENAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM YOGYAKARTA

YOGYAKARTA

2014

(2)

ii

NASKAH PUBLIKASI

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES 128 BIT SEBAGAI

PENGAMAN SMS PADA SMARTPHONE BERBASIS ANDROID

disusun oleh

Joko Tri Susilo Widodo

10.11.3599

Dosen Pembimbing

Ema Utami, Dr., S.Si, M.Kom

NIK. 190302037

Tanggal, 10 Pebruari 2014

Ketua Jurusan

Teknik Informatika

Sudarmawan, MT

NIK. 190302035

(3)

iii

IMPLEMENTATIONS AES 128 BIT ALGORITHM OF CRYPTOGRAPHY AS A SAFETY SMS ON ANDROID-BASED SMARTPHONNE

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES 128 BIT SEBAGAI PENGAMAN SMS PADA SMARTPHONE BERBASIS ANDROID

Joko Tri Susilo Widodo Ema Utami

Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA

ABSTRACT

Today wiretapping case sms increasing in Indonesia. In the discussion of this study, the authors build an SMS application design security using 128-bit AES cryptography algorithm is applied to the Smart Phone based on Android. The authors chose 128 bit AES algorithm for AES algorithm using substitution, permutation, and a number of rounds imposed on each block to be encrypted or decrypted, than for every revolution, AES uses a different key, so the algorithm is classified as very secure and is currently still unresolved for cryptanalyst. The implementation of this application realized using Eclipse SDK 4.2. Applications that apply to Android-Based Smart Phone is expected to be one of the solution of the case.

(4)

1

1. Pendahuluan

Dewasa ini sudah banyak cara untuk mendapatkan Informasi termasuk untuk pengiriman pesan, sudah banyak sarana untuk mengirimkan pesan sehingga kita bisa dengan mudah mengirim dan menerima pesan. Begitu cepat dan mudahnya kita mengirim pesan kepada orang lain meski jauh sekalipun, hanya dengan sekali klik pesan tersebut terkirim dan diterima pada saat yang sama. Dari fasilitas pengiriman pesan yang kita dapatkan ini, kita sering mengabaikan tentang keamanan pesan dari pihak ketiga. Dan salah satu yang harus benar-benar dijaga keamanan dan kerahasiaannya adalah pesan yang bersifat rahasia negara karena jika pesan itu diketahui oleh pihak ketiga dan tersebar maka akan mengancam persatuan dan keamanan negara.

Ada berbagai macam pengamanan pesan, salah satunya dengan cara meng-enkripsi pesan tersebut. Enkripsi adalah proses untuk menyamarkan isi dari pesan, sehingga orang yang tidak berkepentingan atau bahkan penyadap tidak bisa mengetahui isi dari pesan tersebut. Proses enkripsi membuat pesan yang tersamarkan isinya namun masih berbentuk tulisan oleh karena itu walau pesan itu telah di enkripsi tetap akan menimbulkan kecurigaan sehingga dapat memicu orang yang ingin tau makna pesan untuk mencari makna sebenarnya dari pesan tersebut. Kriptografi masih bisa depecahkan oleh para Kriptanalis yang memang orang yang mempunyai kemampuan untuk memecahkan enkripsi pesan.

2. Landasan Teori

2.1 SMS (Short Message Service)

SMS adalah kependekan dari Short Messages Services.Ini merupakan sebuah teknologi yang menyediakan pelayanan pengiriman dan penerimaan pesan antar mobile phone. SMS pertama kali dikenalkan di Eropa sekitar tahun 1992. Teknologi SMS hanya dapat membawa data yang terbatas.Seperti namanya “Short Messages Services”, data yang mampu ditampung juga terbatas.Hanya 160 karakter per sms.1

2.2 Kriptografi

Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana penyembunyian pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi pengertian kriptograi modern adalah tidak hanya dengan penyembuyian pesan, namun lebih pada sekumpulan teknik yang menyediakan keamanan informasi. Berikut ini adalah rangkuman beberapa mekanisme yang berkembang pada kiptigrafi modern :

1

(5)

2

1. Fungsi Hash, fungsi hash adalah fungsi yang melakukan pemetaan pesan

dengan panjang sembarang kesebuah teks khusus yang disebut message digest dengan panjang tetap. Fungsi hash dipakai sebagai nilai uji (cheek value) pada

mekanisme keutuhan data.

2. Penyandian dengan fungsi simetri (Symmetric key encipherment). Penyandian dengan funfsi simetri adala penyandian yang kunci enkripsi dan dekripsi bernilai sama. Kunci pada penyandian simetri diasumsikan bersifat rahasia hanya orang yang melakukan enkripsi dan dekripsi yang mengetahuinya. Oleh karenau penyandian dengan kunci simetri disebut juga dengan penyandian dengan kunci rahasia secret key encipherment.

3. Penyandian dengan kunci asimetri (asimetri key encipherment). Penyandian dengan kunci asimetri atau sering juga disebut dengan penyandian kunci public (public key) adalah penyandian dengan kunci enktipsi dan dekripsi berbeda nilai. Kunci enkripsi yang disebut juga dengan kunci public (public key) bersifat terbuka. Sedangkan kunci dekripsi yang disebut juga kunci privat (private key) tertutup/ rahasia.2

Gambar 2.1 Konsep Kriptografi Secara Umum

2 Ivan Michael Siregar. “ Membongkar Source Code Berbagai Aplikasi Android”. Hal 299.

(6)

3

2.2.1 Algoritma AES 128bit

Advanded Encryption Standard (AES) dipublikasikan oleh NIST(National Institude of Standard and Technology)pada tahun 2001. AES merupakan blok kode simetris untuk menggantikan DES (Data Encryption Standard).3

AES mendukung berbagai variasi ukuran blok dan kunci yang akan digunakan. Namun AES mempunyai ukuran blok dan kunci yang tetap sebesar 128, 192, 256 bit. Pemilihan ukuran blok data dan kunci akan menentukan jumlah proses yang harus dilalui untuk proses enkripsi dan dekripsi. Berikut adalah perbandingan jumlah proses yang harus dilalui untuk masing-masing masukan.

Blok-blok data masukan dan kunci dioperasikan dalam bentuk array. Setiap anggota array sebelum menghasilkan keluaran ciphertext dinamakan dengan state. Setiap state akan mengalami proses yang secara garis besar terdiri dari empat tahap yaitu, AddRoundKey, SubBytes, ShiftRows, dan MixColumns. Kecuali tahap MixColumns, ketiga tahap lainnya akan diulang pada setiap proses sedangkan tahap MixColumns tidak akan dilakukan pada tahap terakhir. Proses dekripsi adalah kebalikkan dari dekripsi.

2.3 Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi.Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka.Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat perangkat lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras, piranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.4

Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile.5 Di lain pihak, Google merilis kode-kode Android dibawah license Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler.6

3 Dony Ariyus.” Pengantar ilmu KRIPTOGRAFI”. hal 165

4H, Nazruddin Safaat, 2012, Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, Bandung : Informatika, Hal 1

5

Ibid, Hal 2 6

(7)

4

2.4 Eclipse

Eclipse adalah IDE software yang digunakan oleh banyak bahasa pemrograman seperti Java, Ada, C, C++, COBOL, Phyton dan lain-lain7. Di dalam IDE Eclipse terdapat layanan system extensible (semacam sistem penambahan plugins), editor, drbugger, control tools, pengaturan direktori dan lain-lain8. IDE Eclipse intinya adalah suatu software yang lingkungannya dikondisikan agar memudahkan pengembang membangun suatu aplikasi9.

Eclipse merupakan kakas universal untuk semua platform yang mana sifat universal Eclipse didapat dari kemampuannya untuk menerima aneka modul tambahan (plig-in) di dalamnya10.

3. Analisis

3.1 Analisis SWOT 3.1.1 Strenght

Kekuatan dari aplikasi ini adalah pada keamanan untuk menjaga isi pesan dari pengirim kepada penerima pesan dari penyadap. Dengan menggunakan Algoritma kriptografi AES 128 bit pesan sudah sangat aman dari ancaman para penyadap yang menginginkan isi pesan tersebut meskipun mereka mendapatkan pesannya namun pesan tersebut tidak bisa terbaca oleh sang penyadap dikarenakan pesan tersebut sudah tersandikan menjadi karakter acak yang tidak bisa dibaca..

3.1.2 Weakness

Dari ukuran panjang kuncinya, Algoritma AES 128 bit termasuk paling kecil jika dibandingkan dengan AES 256bit hal ini menjadi kelemahan aplikasi ini karena cryptanalis bisa membongkar kunci algoritma AES 128bit lebih cepat jika dibandingkan dengan AES256bit.

3.1.3 Opportunities

Aplikasi ini memiliki peluang yang sangat bagus jika digunakan untuk Smartohone Andoid karena sangat mendukung keamanan dalam informasi di dalam SMS.

3.1.4 Threat

Ancaman yang ada adalah pada perkembangan Android yang pesat dan jumlah perangkat Android yang memiliki banyak tipe, dan perkembangan.

7

Dodit Suprianto dan Rini Agustina, S.Kom, M.Pd, Pemrograman Aplikasi Android, hal 14 8 Ibid.hal 14 9 Ibid. 10

(8)

5

4. Hasil Penelitian dan Pembahasan

4.1 Class SecureSMS.java

Class ini memiliki fungsi sebagai halaman utama aplikasi.yang ditampilkan adalah tombol Send SMS, Read SMS, About dan Help. Berikut ini listing programnya:

4.2 Class AES.java

Class ini merupakan metode Algoritma Kriptografi AES 128 bit untuk mengenkripsi ataupun men-dekripsi pesan dalam aplikasi ini. Class ini akan di panggil

. . .

btnKirim.setOnClickListener(new View.OnClickListener() {

@Override

publicvoid onClick(View v) {

// TODO Auto-generated method stub

Intent intent = newIntent(getBaseContext(), SendSMS.class);

startActivity(intent);

}

});

btnBaca.setOnClickListener(new View.OnClickListener() {

@Override

publicvoid onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = newIntent(getBaseContext(), InboxSMS.class);

startActivity(intent);

}

});

btnAbout.setOnClickListener(new View.OnClickListener() {

@Override

publicvoid onClick(View v) {

// TODO Auto-generated method stub

Intent intent = newIntent(SecureSMS.this, About.class);

startActivity(intent);

}

});

btnHelp.setOnClickListener(new View.OnClickListener() {

@Override

publicvoid onClick(View v) {

// TODO Auto-generated method stub

Intent intent = newIntent(SecureSMS.this, Help.class);

startActivity(intent); } }); } . . .

(9)

6

dengan method encrypt atau decrypt pada halaman Send SMS dan Read SMS sehingga pesan ter-enkripsi ataupun terdekripsi menggunakan Algoritma Kriptografi AES 128bit yang ada pada Class ini.

publicclass Aes {

publicstatic String encrypt(String kunci, String plaintext, int

tipe) throws Exception {

byte[] rawKey = rawKey(kunci.getBytes(),tipe);

byte[] hasil = encrypt(rawKey,plaintext.getBytes());

returnk_hexa(hasil); }

publicstatic String decrypt(String kunci, String plaintext, int

tipe) throws Exception {

byte[] rawKey = rawKey(kunci.getBytes(), tipe);

byte[] enc = k_byte(plaintext);

byte[] result = decrypt(rawKey, enc);

returnnew String(result); }

privatestaticbyte[] encrypt(byte[] raw, byte[] clear) throws

Exception {

SecretKeySpec s_kunci_rahasia = newSecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES");

cipher.init(Cipher.ENCRYPT_MODE, s_kunci_rahasia);

byte[] encrypted = cipher.doFinal(clear);

return encrypted; }

privatestaticbyte[] decrypt(byte[] raw, byte[] encrypted) throws

Exception {

SecretKeySpec s_kunci_rahasia = newSecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES");

cipher.init(Cipher.DECRYPT_MODE, s_kunci_rahasia);

byte[] decrypted = cipher.doFinal(encrypted);

return decrypted; }

privatestaticbyte[] rawKey(byte[] kunci,int tipe) throws

Exception {

KeyGenerator kunci_gen = KeyGenerator.getInstance("AES"); SecureRandom acak = SecureRandom.getInstance("SHA1PRNG");

acak.setSeed(kunci);

kunci_gen.init(tipe, acak);

SecretKey kunci_rahasia = kunci_gen.generateKey();

byte[] raw = kunci_rahasia.getEncoded();

return raw; }

publicstatic String d_hexa(String hexa) { returnnew String(k_byte(hexa)); }

(10)

7

4.3 Tampilan Menu Utama

Menu Utama adalah tampilan utama dari aplikasi ini dan akan muncul pertama kali ketika pengguna membuka aplikasi ini. Terdiri dari 4 Button yang digunakan untuk masuk ke tiap halaman activity.

publicstatic String k_hexa(byte[] buffer) {

if (buffer == null)

{

return"";

}

StringBuffer hasil = newStringBuffer(2 * buffer.length);

for (int i = 0; i < buffer.length; i++)

{

appendHex(hasil, buffer[i]);

}

return hasil.toString(); }

publicstaticbyte[] k_byte(String hexa_string) {

int panjang = hexa_string.length() / 2;

byte[] hasil = newbyte[panjang];

for (int i = 0; i < panjang; i++)

{

hasil[i] = Integer.valueOf(hexa_string.substring(2

* i,2 * i + 2),16).byteValue();

}

return hasil; }

privatefinalstatic String hexa = "0123456789ABCDEF";

privatestaticvoid appendHex(StringBuffer str_buffer, byte b) { str_buffer.append(hexa.charAt((b >> 4) &

0x0f)).append(hexa.charAt(b & 0x0f)); }

(11)

8

Gambar 4.1 Tampilan Menu Utama

Tampilan Send SMS berisi tiga textbox dan dua button, textbox masing-masing digunakan untuk input kontak, pesan dan key dan tombol yang berfungsi masing-masing untuk look-up kontak dan kirim sms sekaligus enkripsi sms.

Gambar 4.2 Tampilan Send SMS

Read SMS berisi satu textbox yang digunakan untuk menginputkan key dan satu tombol yang digunakan untuk men-dekripsi pesan.

(12)

9

Gambar 4.3 Tampilan Read SMS

Tampilan About berisi textView sebagai info aplikasi.

Gambar 4.4 Tampilan About

(13)

10

Gambar 4.5 Tampilan Help

4.4 Analisis Hasil

Tahap ini akan menjelaskan analisis kinerja dari aplikasi SecureSMS. Hasil yang di dapatkan ketika pengguna mengirimkan pesan yang sudah ter-enkripsi adalah karakter dari cipherteks menjadi lebih panjang dari plainteks oleh karena itu pesan hanya dibatasi sampai 80 karakter karena pengiriman pesan standar hanya 160 karakter per sms, jika pengguna memasukkan 80 karakter dan kemudian di enkripsi maka pesan yang terkirim tetap 160 karakter karena aplikasi ini mengirimkan cipherteks.

Hasil yang didapatkan ketika melakukan dekripsi pesan adalah semua pesan yang ada di dalam Inbox sms akan di enkripsi seluruhnya dan yang akan bisa di baca hanya pesan yang mempunyai kunci yang sama.

Hasil lain yang didapatkan adalah ketika pengguna memasukkan jumlah karakter untuk key atau kombinasi key, hal ini tidak berpengaruh pada jumlah karakter yang berubah ketika plaintext menjadi ciphertext melainkan ini mempengaruhi pada perputaran key tersebut dengan kata lain jika kombinasi antara huruf dan angka dan

(14)

11

Gambar 4.6 Perbandingan kombinasi key

Gambar 4.7 kombinasi key dengan karakter yang lebih panjang

5. Kesimpulan

Setelah melalui beberapa tahapan dalam menyelesaikan Aplikasi SecureSMS dapat disimpulkan bahwa :

1. Cara mengamankan pesan yang akan dikirimkan oleh pengguna yaitu dengan cara meng-enkripsi pesan tersebut menggunakan Algoritma kriptografi AES 128bit.

2. Cara membuat pengaman pesan di smartphone berbasis android adalah membuat coding progam java dan xml sebagai intarfacenya dengan menggunakan eclipse.

(15)

12

3. Penerapan Algoritma Kriptografi AES bisa diterapkan dengan cara membuat

class java.

DAFTAR PUSTAKA

Agustina, S. D. (2012). Pemrograman Aplikasi Android. Yogyakarta: Mediakom.

Dony, A. (2008). Pengantar Ilmu Kriptografi Teori Analisis Dan Implementasi. Yogyakarta: Andi Offset.

H, S. N. (2012). Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika.

Hantoro, W. G. MOBILE BROADBAND Trend Teknologi Wireless Saat ini dan Masa Datang.

Gambar

Gambar 2.1 Konsep Kriptografi Secara Umum
Gambar 4.2 Tampilan Send SMS
Gambar 4.4 Tampilan About
Gambar 4.7 kombinasi key dengan karakter yang lebih panjang

Referensi

Dokumen terkait

Tujuan pembelajaran membaca al-Qur’an juga mengandung tujuan kognitif, afektif dan psikomotorik. Pengajaran tentang huruf-huruf hijaiyah, tanda baca dan tajwid

Penurunan kadar sulfur terbesar terjadi pada minyak dari plastik PP warna yang diadsorpsi dengan campuran 55% bentonite dan 45% karbon aktif yaitu 23,52%.

1) Sebagai tolak ukur bagi pihak yang berkepentingan pada perusahaan untuk mempertimbangkan dan memperhatikan kondisi perusahaan setelah dilakukannya analisis mengenai

Sehingga dapat simpulkan bahwa dividen merupakan hak dari pemegang saham atas pembelian saham dimana dividen ini diperoleh dari pembagian laba perusahaan yang dibagikan

Bentuk partisipasi masyarakat Mojo terhadap kegiatan Ekowisata Hutan Mangrove dapat dilihat berdasarkan variabel-variabel yang digunakan yaitu usaha/ kegiatan yang terkait

Dari jumlah penderita TB Paru yang masih banyak, diharapkan suatu upaya yang dilakukan untuk menurunkan angka kesakitan penderita TB Paru, selain memandu penderita

Sejak beberapa tahun terakhir, penulisan referensi R dalam bentuk buku teks berbahasa Inggris mulai digalakkan oleh beberapa penerbit terkenal diantaranya Chapmann

Selain itu, penelitian Hendiarto (2006) bertujuan untuk mengetahui peran perlakuan perpajakan Pemprov DKI dalam mendukung fungsi regulerend Pajak Air Bawah Tanah,