• Tidak ada hasil yang ditemukan

BAB IV HASIL DAN PEMBAHASAN. yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja dari

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV HASIL DAN PEMBAHASAN. yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja dari"

Copied!
38
0
0

Teks penuh

(1)

29 BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil Penelitian 4.1.1 Analisis Sistem

Tahapan analisis sistem ini merupakan tahapan untuk menganalisa masalah yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja dari algoritma. Analisis sistem ini meliputi analisis permasalahan, analisis kebutuhan sistem, dan analisis dari algoritma kriptografi.

a. Analisis Permasalahan

Alat komunikasi merupakan alat yang sangat penting karena memiliki banyak fitur-fitur yang dapat membantu orang-orang untuk lebih dekat lagi walaupun dengan jarak yang cukup jauh. Hal tersebut terlihat dari banyaknya masyarakat dunia yang memiliki alat komunikasi yaitu telepon seluler, namun dengan banyaknya pertukaran informasi yang terjadi, maka banyak pula orang-orang yang menginginkan informasi-informasi tersebut untuk kepentingan pribadi maupun kepentingan kelompok. Hal tersebut dapat terjadi apabila tidak adanya tingkat keamanan yang tinggi dari pertukaran informasi-informasi yang penting.

Berdasarkan masalah tersebut, maka sistem yang akan dibangun adalah sistem keamanan data yang berfungsi untuk mengamankan konten SMS dari para penyadap yang tidak bertanggung jawab. Sistem ini menggunakan kombinasi dari 2 (dua) algoritma yaitu AES 128 bit dan Vigenere Cipher, yang diharapkan bisa memberikan tingkat keamanan yang tinggi dari pesan yang ingin dirahasiakan.

(2)

b. Analisis Kebutuhan Sistem

Analisis kebutuhan sistem membahas secara garis besar kebutuhan sistem yang diperlukan. Sistem ini melibatkan satu aktor yaitu user dimana user tersebut bisa menjadi pengirim maupun penerima SMS. Beberapa fitur yang dibutuhkan dalam sistem ini sebagai berikut :

1) Menampilkan pesan masuk dari pengirim 2) Mengirim pesan terenkripsi ke penerima 3) Mendekripsikan Ciphertext menjadi Plaintext

4.1.2 Perancangan Sistem a. Arsitektur Sistem

Arsitektur sistem aplikasi enkripsi pesan singkat berbasis Android dapat dilihat pada gambar 4.1.

(3)

Aplikasi ini nantinya akan diimplementasikan pada mobile device Android, dimana pada saat proses pengiriman pesan, aplikasi ini akan mengirimkan teks yang sudah dienkripsi terlebih dahulu, sehingga dapat membantu pengguna untuk mengamankan pesan yang dikirimkan.

b. UML (Unified Modeling Language)

1) Use Case Diagram

Aplikasi Enkripsi pesan singkat ini hanya melibatkan satu aktor yaitu pengguna, yang dimaksud dengan pengguna adalah pengirim atau penerima, dimana pengirim dapat menjadi penerima dan penerima dapat menjadi pengirim.

(4)

2) Flow of Events

Flow of Eents bertujuan untuk mendeskripsikan atau menjelaskan diagram use case. Berikut adalah flow of events dari diagram use case pada gambar 4.2.

Tabel 4.1Flow of Events Mengirim pesan terenkripsi

Nama Use Case Mengirim pesan terenkripsi Tujuan Mengirim pesan dalam bentuk Ciphertext Prasyarat Layanan SMS aktif

Kondisi Akhir

Sukses Pesan terkirim dalam bentuk Ciphertext Kondisi Gagal Pesan tidak terkirim

Aktor Utama Pengguna Aktor Sekunder Tidak Ada

Pemicu Actor Pengguna menekan tab Message, dan menginputkan nomor tujuan, kunci serta isi dari pesan yang ingin dikirim

Alur Utama Langkah Aktor Sistem

1 Input nomor tujuan

Ubah pesan dan kunci menjadi bilangan Hexadesimal

2 Input kunci Enkripsi pesan 3 Input pesan Mengirimkan pesan Alur Perluasan Langkah Aksi Percabangan

(5)

Tabel 4.2Flow of Events Mendeskripsikan pesan yang diterima

Nama Use Case Mendeskripsikan pesan yang diterima Tujuan Mendeskripsikan pesan yang masih dalam bentuk

Ciphertext ke bentuk Plaintext

Prasyarat Menerima pesan dan layanan SMS aktif Kondisi Akhir

Sukses Pesan terkirim dalam bentuk Ciphertext Kondisi Gagal Pesan tidak dapat didekripsi

Aktor Utama Pengguna Aktor Sekunder Tidak Ada

Pemicu Aktor Pengguna menekan list pesan, dan memasukkan key yang sama dengan pengirim untuk menampilkan pesan asli

Alur Utama Langkah Aktor Sistem

1 Menjalankan

aplikasi Dekripsi pesan

2 Buka pesan Menampilkan isi pesan 3 Input kunci

Alur Perluasan Langkah Aksi Percabangan 1.1 Dekripsi pesan gagal

2.1 Isi pesan tidak tampil

3) Diagram Activity

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.

(6)

a) Diagram Activity Mengirim pesan terenkripsi

(7)

b) Diagram Activity Mendeskripsikan pesan yang diterima

(8)

4) Class Diagram

(9)

5) Component Diagram

Pada dasarnya component diagram adalah diagram yang menggambarkan tampilan fisik dari struktur dan hubungan antara komponen dalam sistem suatu perangkat lunak, serta menggambarkan ketergantungan diantara komponen-komponen tersebut. Diantara modul berisi kode, baik berisi source code, binary, library, executable. Pada gambar 4.6 menunjukkan component diagram aplikasi enkripsi.

Gambar 4.6Component Diagram Aplikasi Enkripsi

c. Desain Antar Muka (Interface)

Antar muka di Android dibuat dengan menggunakan bahasa pemrograman XML dan Java. Berikut adalah rancangan antar muka (interface) dari aplikasi yang akan dibuat.

(10)

1) Rancangan Tampilan Inbox

Gambar 4.7 Rancangan Tampilan Inbox

2) Rancangan Tampilan Create Message

Gambar 4.8 Rancangan Tampilan Create Message SMSCrypto

Message Sent About

List 1 List 2 List 3 List 4

Create Message

Inbox Sent About To

Key

Send

Butto n

(11)

3) Rancangan Tampilan Sent Item

Gambar 4.9 Rancangan Tampilan Sent Item

4) Rancangan Tampilan Message

Gambar 4.10 Rancangan Tamplan Message Sent Item

Message Inbox About List 1 List 2 List 3 List 4 Message From : Sender Date Time Content Message Reply Button

(12)

5) Rancangan Tampilan Sent Message

Gambar 4.11 Rancangan Tampilan Sent Message

6) Rancangan Tampilan About

Gambar 4.12 Rancangan Tampilan About Sent Message To : Receiver Date Time Content Message About Version : SMSCrypto V 1.0 Close

(13)

4.1.3 Implementasi

Dalam Eclipse versi Kepler, implementasi antarmuka dilakukan dengan sebuah layout yang berekstensi XML. Setiap file xml dalam layout dibuat class java dan ditulis dengan berekstensi.java. Adapun tampilan dari aplikasi enkripsi pesan singkat adalah sebagai beritkut :

a. Tampilan Inbox

Halaman Inbox adalah tampilan pertama kali ketika aplikasi ini dibuka, halaman ini menampilkan list pesan masuk dari pengirim dan juga terdapat menu layout untuk memudahkan user memilih activity yang telah disediakan. Untuk halaman inbox dapat dilihat pada gambar 4.13.

(14)

b. Tampilan Create Message

Halaman Create Message menampilkan text field untuk nomor tujuan, kunci, dan juga isi pesan yang ingin dikirimkam. Ada beberapa menu layout yang akan muncul ketika menekan tombol menu pada Device yang digunakan. Pada saat pengguna menekan tombol Send maka sistem akan otomatis mengirim teks ke class Vigenere.java, hasil dari proses vigenere akan di kirimkan lagi ke class generateAES.java yang akan memproses algoritma AES.

Class Vigenere.java

static String encrypt(String text, String key) { String res = "";

int lengthPlainText = text.length(); int lengthKey = key.length();

int j = 0;

for (int i = 0; i < lengthPlainText; i++) { if (j >= lengthKey) {

key = text;

lengthKey = lengthPlainText; j = 0;

}

res += (char) (((int) text.charAt(i) + key.charAt(j)) % 128);

j = ++j % key.length(); }

return res; }

static String decrypt(String text, final String key) { String res = "";

int lengthCipherText = text.length(); int lengthKey = key.length();

int j = 0; int temp1; int a = 0;

for (int i = 0; i < lengthCipherText; i++) { if (j >= lengthKey) {

temp1 = (int) text.charAt(i) - (int) res.charAt(a); if (temp1 < 0) {

temp1 += 128; ...

(15)

Class generateAES.java }

res += (char) (temp1 % 128); a++;

} else {

temp1 = (int) text.charAt(i) - (int) key.charAt(j); if (temp1 < 0) {

temp1 += 128; }

res += (char) (temp1 % 128); } j = ++j % key.length(); } return res; } } ...

public static String encrypt(String seed, String cleartext) throws Exception {

byte[] rawKey = getRawKey(seed.getBytes());

byte[] result = encrypt(rawKey, cleartext.getBytes()); return toHex(result);

}

public static String decrypt(String seed, String encrypted) throws Exception {

byte[] rawKey = getRawKey(seed.getBytes()); byte[] enc = toByte(encrypted);

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

}

private static byte[] getRawKey(byte[] seed) throws Exception { KeyGenerator kgen = KeyGenerator.getInstance("AES"); SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); sr.setSeed(seed);

kgen.init(128, sr); // 192 and 256 bits may not be available SecretKey skey = kgen.generateKey();

byte[] raw = skey.getEncoded(); return raw;

} ...

(16)

private static byte[] encrypt(byte[] raw, byte[] clear) throws Exception {

SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES");

cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted = cipher.doFinal(clear); return encrypted;

}

private static byte[] decrypt(byte[] raw, byte[] encrypted) throws Exception {

SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES");

cipher.init(Cipher.DECRYPT_MODE, skeySpec); byte[] decrypted = cipher.doFinal(encrypted); return decrypted;

}

public static String toHex(String txt) { return toHex(txt.getBytes()); }

public static byte[] toByte(String hexString) { int len = hexString.length()/2;

byte[] result = new byte[len]; for (int i = 0; i < len; i++)

result[i] = Integer.valueOf(hexString.substring(2*i, 2*i+2), 16).byteValue();

return result; }

public static String toHex(byte[] buf) { if (buf == null)

return "";

StringBuffer result = new StringBuffer(2*buf.length); for (int i = 0; i < buf.length; i++) {

appendHex(result, buf[i]); }

return result.toString(); }

private final static String HEX = "0123456789ABCDEF"; private static void appendHex(StringBuffer sb, byte b) {

sb.append(HEX.charAt((b>>4)&0x0f)).append(HEX.charAt(b&0x0f)); }

(17)

Proses kalkulasi algoritma tidak akan bekerja sebelum pengguna menginput semua text field yang telah ada pada aplikasi. Hal tersebut karena proses pemanggilan class algoritma ada pada proses pengiriman SMS. Tampilan Halaman create message dapat dilihat pada gambar 4.14.

(18)

c. Tampilan Sent Item

Halaman ini menampilkan list pesan terkirim dan juga terdapat menu layout untuk memudahkan user memilih activity yang telah disediakan. Yang dapat dilihat pada gambar 4.15.

Gambar 4.15 Tampilan Sent Item

d. Tampilan Message

Halaman ini akan muncul pada saat user menekan list SMS pada Inbox, terdapat text field kunci untuk menginputkan kunci yang sama dengan pengirim, hal tersebut bertujuan untuk mendekripsikan ciphertext menjadi plaintext. Dapat dilihat pada gambar 4.16.

(19)

Gambar 4.16 Tampilan View Message

e. Tampilan Sent Message

Sama halnya dengan halaman message, halaman ini akan muncul ketika user menekan list sent item. Halaman ini dapat dilihat pada gambar 4.17.

(20)

f. Tampilan About

Halaman ini hanya menampilkan versi dari aplikasi SMSCrypto. Yang dapat dilihat pada gambar 4.18.

Gambar 4.18 Tampilan About

4.1.4 Pengujian Sistem

Pengujian sistem merupakan hal terpenting yang bertujuan untuk menemukan kesalahan–kesalahan atau kekurangan–kekurangan pada perangkat lunak yang diuji. Pengujian bermaksud untuk mengetahui perangkat lunak yang dibuat sudah memenuhi kriteria yang sesuai dengan tujuan perancangan perangkat lunak tersebut.

(21)

a. Perancanaan Pengujian Table 4.3 Rencana Pengujian

Kelas Uji Butir Uji Jenis

Pengujian

Inbox

Menampilkan list pesan masuk Black box Menampilkan isi SMS ketika menekan

list pesan Black box

Menampilkan Reply SMS ketika

menekan tombol reply pada isi SMS Black Box

Kategori

Manampilkan fitur create message

ketika menekan tab Black box Manampilkan fitur sent message

ketika menekan tab Black box

Menampilkan versi aplikasi ketika

menekan tab Black box

Fitur Create Message

Menampilkan input untuk mengirim

SMS Black box

Menampilkan Kontak dari Device Black box

Fitur Sent Message

Menampilkan list pesan terkirim Black box Menampilkan isi pesan terkirim ketika

(22)

b. Kasus dan Hasil Pengujian Black Box 1) Pengujian Alpha

Pengujian fungsional yang digunakan untuk menguji sistem yang baru adalah metode pengujian alpha. Pengujian alpha berfokus pada persyaratan fungsional perangkat lunak.

a) Pengujian Inbox Tabel 4.4 Pengujian Inbox

Kasus dan Hasil Uji Data Masukan Reaksi yang

diharapkan Pengamatan Kesimpulan Membuka

aplikasi

Muncul halaman inbox

List pesan masuk

tampil Diterima

Menekan list pesan

Muncul isi dari

SMS Isi SMS tampil Diterima

Menekan tombol Reply Muncul halaman Reply message Inputan mengirim SMS tampil Diterima

b) Pengujian Fitur Create Message Tabel 4.5 Pengujian Fitur Create Message

Kasus dan Hasil Uji Data Masukan Reaksi yang

diharapkan Pengamatan Kesimpulan Menekan tab

Message

Muncul halaman input untuk mengirim SMS

Halaman input untuk mengirim SMS tampil Diterima Menekan tombol Kontak Muncul Kontak dari Device

Isi Kontak dari

(23)

c) Pengujian Fitur Sent Message Tabel 4.6 Pengujian Fitur Sent Message

Kasus dan Hasil Uji Data Masukan Reaksi yang

diharapkan Pengamatan Kesimpulan Menekan tab

Sent

Muncul halaman Sent Message

List pesan terkirim

tampil Diterima

Menekan List pesan terkirim

Muncul isi dari pesan terkirim

Isi pesan terkirim

tampil Diterima

2) Kesimpulan Pengujian Alpha

Berdasarkan hasil pengujian alpha yang dilakukan, maka dapat disimpulkan bahwa secara fungsional semua proses pada aplikasi enkripsi pesan singkat berbasis Android dapat berjalan sesuai yang diharapkan.

3) Pengujian Beta

Pengujian beta dilakukan untuk menguji aplikasi pada smartphone android yang sesungguhnya, hal ini bertujuan agar peneliti dapat mengetahui kinerja dari aplikasi pada tiap-tiap smartphone yang akan dilakukan pengujian. Pengujian ini menggunakan berbagai macam tipe smartphone dan versi operating system (OS) android.

Tabel 4.7 Jenis Smartphone Android

Smartphone Type Android Version

Samsung Galaxy S Advance GT-I9070 2.3.6 (Gingerbread)

Samsung Galaxy Tab 2 10.1 GT-P5100 4.0.3 (Ice Cream Sandwich) Samsung Galaxy Core GT-I8260 4.1.2 (Jelly Bean)

(24)

a) Tampilan aplikasi di Samsung Galaxy S Advance

Aplikasi di uji coba langsung pada device dengan OS 2.3.6 (Gingerbread), dan sukses berjalan tanpa ada masalah atau error. Tampilan aplikasi pada Handphone Samsung Galaxy S Advance dapat dilihat pada gambar 4.19.

(25)

b) Tampilan aplikasi di Samsung Galaxy Tab 2 10.1

Jenis Tab merupakan device yang memiliki resolusi gambar cukup besar dibandingkan dengan device yang lain, Samsung Galaxy Tab 2 menggunakan OS 4.0.3 (Ice Cream Sandwich) dan compatible dengan aplikasi yang telah dibuat. Tampilan aplikasi pada Samsung Galaxy Tab 2dapat dilihat pada gambar 4.20.

(26)
(27)

c) Tampilan aplikasi di Samsung Galaxy Core

Dengan menggunakan OS 4.1.2 (Jelly Bean) Samsung Galaxy Core memiliki kecepatan dan interface yang menarik dibandingkan dengan OS sebelumnya. Pada device ini aplikasi berjalan dengan baik tanpa ada kendala yang ditemukan. Tampilan aplikasi dapat dilihat pada gambar 4.21.

(28)

4) Kesimpulan Pengujian Beta Tabel 4.8 Pengujian pada Smartphone

Smartphone Inbox Fitur Create Message

Fitur SentMessage Samsung Galaxy S Advance Sukses Sukses Sukses Samsung Galaxy Tab 2 10.1 Sukses Sukses Sukses

Samsung Galaxy Core Sukses Sukses Sukses

Hasil dari pengujian beta yang telah dilakukan pada semua tipe smartphone Android dan versi OS menunjukan bahwa semua fitur yang ada dalam aplikasi enkripsi pesan singkat ini dapat berjalan dengan baik sesuai fungsinya.

c. Running Emulator

Emulator merupakan Virtual Device yang dapat menampilkan aplikasi sesuai dengan tampilan yang ada pada smartphone sesungguhnya, Tampilan pada emulator dapat dilihat pada gambar 4.22.

(29)

Gambar 4.22 Tampilan aplikasi pada Emulator d. Review Google Play

Statistik dari jumlah instalasi aplikasi di tiap-tiap device berjuamlah 24 downloader, jumlah ini didapatkan pada tanggal 17 Desember 2013, hal tersebut membuktikan bahwa aplikasi ini dapat berjalan dengan baik di tiap-tiap device yang diinstal. Tampilan statistik dapat dilihat pada gambar 4.23.

(30)

Aplikasi SMSCrypto tidak hanya diinstal oleh pengguna Android di Indonesia saja, hal tersebut dapat dilihat dari statistik instalasi aplikasi di tiap-tiap Negara. Indonesia, Nigeria, Romania, Saudi Arabia, dan United States (US) merupakan Negara-negara yang telah menginstal aplikasi tersebut. Tampilan statistic dapat dilihat pada gambar 4.24.

Gambar 4.24 Tampilan Statistik Instal by Country

Pada Google Developer dapat dilihat Crashes & Anrs dari aplikasi, form ini dapat menampilkan laporan kerusakan dari tiap user yang menggunakan aplikasi SMSCrypto. Tampilan Crashes & Anrs dapat dilihat pada gambar 4.25.

(31)

4.2 Pembahasan

Telepon seluler merupakan salah satu alat komunikasi yang paling banyak digunakan karena dapat mempermudah orang untuk saling berkomunikasi antara satu dengan yang lainnya. Namun dengan banyaknya pengguna telepon seluler, maka semakin banyak pula penyadapan yang terjadi, hal tersebut diakibatkan kurangnya keamanan yang diberikan oleh pihak pengembang telepon seluler dan juga pihak provider yang menyediakan layanan untuk saling berkomunikasi.

Berdasarkan hasil penelitian yang telah dicapai, aplikasi enkripsi pesan singkat ini dapat menjadi solusi dari permasalahan yang ada sebelumnya. Dibandingkan dengan penelitian sebelumnya yang hanya menggunakan 1 (satu) algoritma dan masih menggunakan platform berbasis J2ME, aplikasi enkripsi pesan singkat berbasis Android ini dapat mengamankan isi SMS dengan melakukan 2 (dua) kali proses enkripsi menggunakan 2 (dua) algoritma yang berbeda yaitu AES 128 bit dan Vigenere Cipher. Pada aplikasi ini terdapat fitur-fitur layanan yang sama dengan aplikasi SMS yang sudah tertanam pada sistem operasi Android, seperti melihat pesan masuk, mengirimkan pesan, dan juga melihat kontak dari nomor tujuan, namun yang membedakaannya ialah pada aplikasi enkripsi pesan singkat memiliki proses enkripsi dan dekripsi yang bertujuan untuk mengamankan isi dari pesan yang ingin dikirimkan. Adapun cara kerja dari algoritma Vigenere dan AES 128 adalah sebagai berikut :

(32)

4.2.1 Algoritma Vigenere Cipher

Dalam penelitian ini penulis mengambil contoh kata ‘gorontalo’ sebagai plaintext, dan ‘arif’ sebagai key yang digunakan untuk melakukan enkripsi plaintext menjadi ciphertext.

Plaintext :

Kunci :

Chipertext :

Ket : Nilai desimal yang digunakan di ambil dari table ASCII

Pada contoh diatas kata kunci ‘arif’ diulang sedemikian rupa hingga panjang kunci sama dengan panjang plaintext. Jika dihitung dengan rumus enkripsi vigenere cipher extended, plainteks huruf pertama ‘g’ (yang memiliki nilai Pi = 103) akan dilakukan pergeseran dengan huruf ‘a’ (yang memiliki Ki = 97) maka prosesnya sebagai berikut:

Ci = ( Pi + Ki ) mod 128 = (103 + 97) mod 128 = 200 mod 128 = 72

Ci = 72 maka karakter ciphertext dengan nilai 72 adalah ‘H’. Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap karakter hingga

g o r o n t a l o 103 111 114 111 110 116 97 108 111 a r i f a r i f a 97 114 105 102 97 114 105 102 97 H a [ U O f J R P 72 97 91 85 79 102 74 82 80

(33)

semua plaintext telah terenkripsi menjadi ciphertext. Setelah semua huruf terenkripsi maka proses dekripsinya dapat dihitung sebagai berikut:

Pi = ( Ci – Ki ) + 128 = ( 72 – 93 ) +128 = –25 + 128 = 103

Pi = 103 maka karakter plaintext dengan nilai 103 adalah ‘g’. Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap karakter hingga semua ciphertext telah terdekripsi menjadi plaintext.

4.2.2 Algoritma AES (Advance Encryption Standard) 128 1) AddRoundKey

Pada proses ini subkey digabungkan dengan plaintext. Proses penggabungan ini menggunakan operasi XOR untuk setiap byte dari subkey dengan byte yang bersangkutan dari plaintext. Untuk setiap tahap, subkey dibangkitkan dari kunci utama dengan menggunakan proses key schedule. Setiap subkey berukuran sama dengan plaintext yang bersangkutan. Proses AddRoundKey diperlihatkan pada Gambar 4.26.

(34)

Plaintext Cipher Key

Gambar 4.26 proses AddRoundKey

Hasil dari proses XOR pada byte pertama yaitu 19, bilangan ini didapatkan dari proses XOR antara bilangan 32 dan 2b, sebelum melakukan XOR bilangan 32 dan 2b diubah dalam bentuk biner, proses perhitungan sebagai berikut:

32 : 00110010 2b : 00101011 XOR : 00011001

Angka biner 00011001 jika diubah kedalam bentuk hexadecimal menjadi bilangan 19. Begitu seterusnya dilakukan proses XOR antara byte plaintext dan key untuk menghasilkan penggabungan XOR antara kedua state.

2b 28 ab 09 7e ae f7 cf 15 d2 15 4f 16 a6 88 3c 32 88 31 e0 43 5a 31 37 f6 30 98 07 a8 8d a2 34 19 a0 9a e9 3d f4 c6 f8 e3 e2 8d 48 be 2b 2a 08 XOR

(35)

2) SubBytes

Proses SubBytes adalah operasi yang akan melakukan substitusi tidak linear dengan cara mengganti setiap byte state dengan byte pada sebuah tabel yang dinamakan tabel SBox. Sebuah tabel S-Box terdiri dari 16x16 baris dan kolom dengan masing-masing berukuran 1 byte.

State

Hasil SubByte

Gambar 4.27 proses SubByte

Dari gambar diatas dapat dilihat bahwa byte pertama dengan bilangan 19 pada state dimasukkan pada table S-Box dan menghasilkan bilangan d4, proses tersebut dilakukan pada semua byte yang terdapat pada state untuk menghasilkan state baru sesuai dengan algoritma AES.

19 a0 9a e9 3d f4 c6 f8 e3 e2 8d 48 be 2b 2a 08 d4 e0 b8 le 27 bf b4 41 11 98 5d 52 ae f1 e5 30

(36)

3) ShiftRows

Proses ShiftRows akan beroperasi pada tiap baris dari tabel state. Proses ini akan bekerja dengan cara memutar bytes-bytes pada 3 baris terakhir ( baris 1, 2, dan 3 ) dengan jumlah perputaran yang berbeda-beda. Baris 1 akan diputar sebanyak 1 kali, baris 2 akan diputar sebanyak 2 kali, dan baris 3 akan diputar sebanyak 3 kali. Sedangkan baris 0 tidak akan diputar. Proses ShiftRows dapat dilihat pada Gambar 4.28 dibawah ini : State Hasil Digeser 1 byte Digeser 2 byte Digeser 3 byte

Gambar 4.28 proses ShiftRows 4) MixColums

Dalam proses perkalian antara bilangan hexadesimal dan desimal, maka sebelum proses perkalian dilakukan, bilangan hexadesimal diubah kedalam bentuk biner, proses perkalian tidak berhenti pada proses perubahan bilangan hexadesimal saja, untuk menjadikan hasil perkalian menjadi bentuk biner 8 bit, maka bilangan 02 di ubah menjadi 1 bit dan dilakukan pergeseran kekiri sebanyak 1 bit pada bilangan hexadesimal yang telah diubah kedalam biner. Jika bit paling kiri dari nilai asli (sebelum pergeseran) adalah 1, maka nilai tersebut akan di XOR dengan (00011011) d4 e0 b8 le 27 bf b4 41 11 98 5d 52 ae f1 e5 30 d4 e0 b8 le bf b4 41 27 5d 52 11 98 30 ae f1 e5

(37)

Dari state awal dapat dihitung mixcolums pada baris pertama yaitu: s0 = {d4 . 02} + {bf . 03} + {5d . 01} + {30 . 01} 1. {d4 . 02} d4 = 1101 0100 {d4 . 02} = 1101 0100 << 1 = 1010 1000 XOR 0001 1011 = 1011 0011 (jawaban)

Sebelum melakukan perkalian, bilangan d4 diubah kedalam bentuk biner, setelah itu bilangan 02 di ubah menjadi 1bit dan dilakukan pergeseran 1bit kekiri pada bilangan biner, karena nilai asli bit pertama adalah 1 sebelum pergeseran maka bilangan tersubut di XOR dengan 0001 1011.

2. {bf . 03} bf = 1011 1111 03 = 11 = 10 XOR 01 Bit 10 = 02 {03} . {bf} = {10 XOR 01} . {1011 1111} = {1011 1111 . 10} XOR {1011 1111 . 01} = {1011 1111 . 10} XOR {1011 1111} (karena {1011 1111} x 1[desimal] = 1011 1111) = 0111 1110 XOR 0001 1011 XOR 1011 1111 = 1101 1010 (jawaban)

(38)

3.{5d . 01}

{5d . 01} = 0101 1101 . 1 = 0101 1101 (jawaban)

Karena bilangan biner dikalikan 1 dalam decimal akan menjadi bilangan biner itu sendiri.

4.{30 . 01}

{30 . 01} = 0011 0000 . 1 = 0011 0000 (jawaban)

Bilangan-bilangan biner tadi dimasukkan dalam rumus dan dihitung kembali sesuai banyaknya bit pada matriks.

s0 = {d4 . 02} + {bf . 03} + {5d . 01} + {30 . 01}

= 1011 0011 XOR 1101 1010 XOR 0101 1101 XOR 0011 0000 = 0000 0100 = 04 (dalam Hex) State

02

01

01

03

02

01

03

01

01

03

02

01

01

03

01

02

Hasil MixColums

Gambar 4.29 Proses MixColums d4 e0 b8 le bf b4 41 27 5d 52 11 98 30 ae f1 e5 d4 bf 5d 30 04 e0 48 28 66 cb f8 06 81 19 d3 26 e5 9a 7a 4c =

Gambar

Gambar 4.1 Arsitektur Sistem
Gambar 4.2 Use Case Diagram
Tabel 4.1 Flow of Events Mengirim pesan terenkripsi
Tabel 4.2 Flow of Events Mendeskripsikan pesan yang diterima
+7

Referensi

Dokumen terkait

usia remaja yang melahirkan, wanita usia 15-19 tahun, dengan MDG 5.4; (4) Proporsi kelahiran dari ibu, usia 15-24 tahun, yang ditolong oleh tenaga kesehatan terlatih, di

Persoalan cabai merah sebagai komoditas sayuran yang mudah rusak, dicirikan oleh produksinya yang fluktuatif, sementara konsumsinya relatif stabil. Kondisi ini menyebabkan

Penurunan ini ditandai oleh beberapa keadaan misalnya mukosa mulut yang kering, pasien yang terlihat sering membasahi bibirnya, pasien yang merasa sering kehausan, pasien

Berdasarkan permasalahan yang telah di uraikan di atas, maka perlu diketahui pengaruh dosis dolomit dan pupuk fosfor yang tepat sehingga dapat memperbaiki

Pengertian kalibrasi menurut ISO/IEC Guide 17025:2005 dan Vocabulary of International Metrology (VIM) adalah serangkaian kegiatan yang membentuk hubungan antara

Menurut Manuaba (2008; h.389) disebutkan perdarahan terjadi karena gangguan hormon, gangguan kehamilan, gangguan KB, penyakit kandungan dan keganasan genetalia. 55)

Dalam kedudukannya sebagai pengelola barang, dan dihubungkan dengan amanat pasal 6 ayat (2) Undang-undang nomor 17 tahun 2003, Gubernur juga berwenang mengajukan usul untuk

menyatakan dengan sesungguhnya bahwa karya ilmiah yang berjudul: Pemanfaatan Bakteri Antagonis Bacillus subtilis Dan Pseudomonas fluorescens Untuk Mengendalikan