TINJAUAN PUSTAKA. Kriptografi

dokumen-dokumen yang mirip
PENGEMBANGAN PROTOKOL KEAMANAN PADA JALUR KOMUNIKASI MODUL CLIENT DAN SERVER SISTEM PENILANGAN KENDARAAN BERMOTOR ANINDRA AGENG JIHADO

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

ANALISIS ALGORITME DAN WAKTU ENKRIPSI VERSUS DEKRIPSI PADA ADVANCED ENCRYPTION STANDARD (AES)

PERANCANGAN APLIKASI PENGAMANAN DATA DENGAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD (AES)

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

BAB III ANALISIS DAN PERANCANGAN

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

Algoritma Enkripsi Baku Tingkat Lanjut

BAB III ANALISIS DAN PERANCANGAN

Advanced Encryption Standard (AES)

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB 2 TINJAUAN PUSTAKA

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Proses Enkripsi dan Dekripsi menggunakan Algoritma Advanced Encryption Standard (AES)

BAB II TINJAUAN PUSTAKA

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

BAB 2 TINJAUAN PUSTAKA

MENGENAL PROSES PERHITUNGAN ENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI ADVANCE ENCRYPTION STANDARD(AES) RIJDNAEL

BAB III ANALISA MASALAH DAN PERANCANGAN

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

BAB 1 PENDAHULUAN. khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari

BAB I PENDAHULUAN. 1.1 Latar Belakang

Pengaruh Variasi Panjang Kunci, Ukuran Blok, dan Mode Operasi Terhadap Waktu Eksekusi pada Algoritma Rijndael

BAB II LANDASAN TEORI

STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0

Keamanan Sistem Komputer DES, AES, RSA

ANALISIS PERBANDINGAN ALGORITME AES DENGAN MODE OPERASI ECB DAN CBC DAN PENDUGAAN WAKTU MENGGUNAKAN REGRESI LINEAR IRVANY IRSYAD

IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI DAN DEKRIPSI PADA CITRA DIGITAL

BAB II TINJAUAN PUSTAKA

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB)

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Prosiding Matematika ISSN:

Perancangan Aplikasi Kriptografi File Dengan Metode Algoritma Advanced Encryption Standard (AES)

BAB III ANALISIS DAN PERANCANGAN

Algoritma Spiral shifting

HASIL DAN PEMBAHASAN. 2 Perangkat keras: Prosesor AMD Athlon II 245 2,9 GHz; Memori 2046 MB; HDD 160 GB. Client:

BAB III ANALISIS DAN DESAIN SISTEM

KRIPTOGRAFI CITRA DIGITAL DENGAN ALGORITMA RIJNDAEL DAN TRANSFORMASI WAVELET DISKRIT HAAR

PERANCANGAN APLIKASI KRIPTOGRAPHY ADVANCED ENCRYPTION STANDARD TUGAS AKHIR. Disusun Oleh : DEDY BUDIAWAN NPM

POLYNOMIAL FUNCTIONS DAN IMPLEMENTASINYA DALAM ALGORITMA ADVANCED ENCRYPTION STANDARD PADA DATABASE ACCOUNTING

STUDI DAN IMPLEMENTASI ADVANCED ENCRYPTION STANDARD DENGAN EMPAT MODE OPERASI BLOCK CIPHER

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

Algoritma AES sebagai Metode Enkripsi dalam Password Management

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java

Kriptografi Modern Part -1

BAB I PENDAHULUAN 1.1 Latar Belakang

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

Implementasi AES-ECB 128-bit untuk Komputasi Paralel pada GPU menggunakan Framework NVIDIA CUDA

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

Algoritma Kriptografi Modern (AES, RSA, MD5)

Implementasi Algoritma Rijndael dengan Menggunakan Kunci Enkripsi yang Berukuran Melebihi 256 bit


BAB I PENDAHULUAN 1.1 LATAR BELAKANG

STUDI KRIPTOGRAFI MENGENAI TRIPLE DES DAN AES

BAB II LANDASAN TEORI

IMPLEMENTASI ENKRIPSI DATA BERBASIS ALGORITMA DES

BAB I PENDAHULUAN 1.1. LATAR BELAKANG

Data Encryption Standard (DES)

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

STUDI & IMPLEMENTASI ALGORITMA TRIPLE DES

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

Perancangan Kriptografi Block Cipher 256 Bit Berbasis pada Pola Tuangan Air Artikel Ilmiah

APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

APLIKASI PENGAMAN ISI LAYANAN PESAN SINGKAT PADA TELEPON SELULER BERBASIS J2ME MENGGUNAKAN ALGORITHMA SIMETRI SKRIPSI. Oleh : MIFTAHUL.

2. Tipe dan Mode Algoritma Simetri

Bab 2 Tinjauan Pustaka

PROTOKOL KEAMANAN DOKUMEN DIGITAL PADA SISTEM E-PROCUREMENT MENGGUNAKAN AES, RSA, DAN SHA1 PERMADHI SANTOSA

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

Algoritma AES (Advanced Encryption Standard) dan Penggunaannya dalam Penyandian Pengompresian Data

STUDI, IMPLEMENTASI DAN PERBANDINGAN ALGORITMA KUNCI SIMETRI TRIPLE DATA ENCRYPTION STANDARD DAN TWOFISH

ADVANCED ENCRYPTION STANDARD (AES): RIJNDAEL. Pertemuan ke-7 Dr. R. Rizal Isnanto, S.T., M.M., M.T.

STUDI PERBANDINGAN CIPHER BLOK ALGORITMA BLOWFISH DAN ALGORITMA CAMELLIA

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

Kriptografi Modern Part -1

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI

RANCANG BANGUN PROGRAM KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD

ADVANCED ENCRYPTION STANDARD (AES) DENGAN ONE TIME PASSWORD UNTUK KEAMANAN LAYANAN SMS BANKING

PERBANDINGAN ALGORITMA KRIPTOGRAFI DES DENGAN ICE

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

STUDI TERHADAP ADVANCED ENCRYPTION STANDARD (AES) DAN ALGORITMA KNAPSACK DALAM PENGAMANAN DATA

Studi Mengenai Algoritma Skipjack dan Penerapannya

+ Basic Cryptography

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

IMPLEMENTASI ALGORITMA KRIPTOGRAFI DENGAN S-BOX DINAMIS BERGANTUNG PADA KUNCI UTAMA BERBASIS ADVANCED ENCRYPTION STANDARD (AES)

BAB 2 TINJAUAN PUSTAKA

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

KOMBINASI ALGORITMA DES DAN ALGORITMA RSA PADA SISTEM LISTRIK PRABAYAR

Algoritma Kriptografi Modern (Bagian 2)

PENERAPAN ALGORITMA AES (ADVANCE ENCRYPTION STANDARD) 128 DAN VIGENERE CIPHER PADA APLIKASI ENKRIPSI PESAN SINGKAT BERBASIS ANDROID

Transkripsi:

2 2 Penelitian ini berfokus pada poin a, yaitu pengembangan sistem mobile serta melakukan perlindungan komunikasi data. 3 Spesifikasi sistem dibuat berdasarkan pada alur proses penilangan yang berlaku di wilayah Bogor. 4 Data yang digunakan adalah data yang bersifat dummy. 5 Penerapan algoritme AES menggunakan panjang blok kunci 128 bit yang dibangkitkan secara acak. 6 Perlindungan keamanan dalam komunikasi data hanya menggunakan algoritme RSA dan AES untuk menjaga kerahasiaan data. Manfaat Penelitian Manfaat dari penelitian ini adalah dihasilkannya suatu aplikasi yang dapat memenuhi kebutuhan informasi pengguna pada proses penilangan. Penelitian ini juga diharapkan dapat memberi contoh penerapan protokol keamanan komunikasi data menggunakan algoritme RSA dan AES. Kriptografi TINJAUAN PUSTAKA Kriptografi adalah studi teknik matematis yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data (Menezes et al. 1996). Ilmu kriptografi merupakan alat utama programmer untuk hal yang berkaitan dengan aspek keamanan di dalam aplikasinya. Ada empat tujuan utama kriptografi menurut Menezes et al. (1996): 1 Kerahasiaan, yaitu layanan untuk menjaga isi informasi hanya untuk yang berhak. 2 Integritas data, yaitu layanan yang berkaitan terhadap perubahan data. 3 Autentikasi, yaitu layanan yang berkaitan dengan idetifikasi. 4 Non-repudiasi, yaitu layanan yang mencegah suatu entitas melanggar kesepakatan. Kriptografi Kunci Publik Kriptografi kunci publik mempunyai kunci yang berbeda untuk melakukan enkripsi dan dekripsi. Kunci untuk enkripsi disebut kunci publik yang nilainya dapat diketahui secara umum sementara kunci untuk dekripsi disebut kunci privat yang nilainya rahasia. Algoritme kunci publik dapat digunakan untuk kerahasiaan dan autentikasi ataupun keduanya. Skema kunci publik dapat dilihat pada Gambar 1. Karakteristik penting yang dimiliki algoritme kunci publik adalah tidak layak untuk mencari kunci dekripsi hanya dengan mengetahui algoritme kriptografi dan kunci enkripsi (Stallings 2005). Gambar 1 Skema kunci publik (Stallings 2005). Salah satu algoritme kunci publik yang terkenal adalah RSA yang juga digunakan pada penelitian ini. Kriptografi Kunci Simetris Gambar 2 Skema kunci simetris (Stallings 2005). Kriptografi secret key atau kunci simetris adalah kriptografi yang hanya melibatkan satu kunci dalam proses enkripsi dan dekripsi. Proses dekripsi dalam kriptografi kunci simetris merupakan kebalikan dari proses enkripsi. Skema kunci simetris dapat dilihat pada Gambar 2. Algoritme AES sendiri merupakan sebuah algoritme kriptografi kunci simetris yang beroperasi dalam bentuk blok 128-bit. Algoritme AES mendukung panjang kunci 128- bit, 192-bit, dan 256-bit. Algoritme AES kunci 128-bit digunakan pada penelitian ini untuk menyandikan data yang dikirim antara client dan server.

3 Padding Pada umumnya, plaintext memiliki ukuran yang tidak sama dengan algoritme blok cipher yang digunakan. Hal ini diatasi dengan padding yaitu dengan menambahkan bit tambahan agar ukuran blok semestinya terpenuhi. Tidak ada aturan baku mengenai padding. Semua skema padding dapat digunakan asalkan prosesnya dapat dibalik atau unpadding. Penelitian ini menggunakan skema penambahan byte dengan karakter ASCII yang mempunyai kode sama dengan jumlah padding yang ditambahkan di blok tersebut. Skema padding dapat ditulis sebagai berikut: C padd = N padd = 16 - (P length mod 16) dengan C padd adalah kode ASCII yang digunakan sebagai padding, N padd adalah jumlah padding, dan P length adalah panjang byte dari plaintext. Sebagai contoh apabila plaintext panjangnya 88 bit atau 11 byte, diperlukan 16 (11 mod 16), yaitu lima byte padding. Kode ASCII 5 ditambahkan sebanyak lima kali pada blok ciphertext. Modus Operasi Algoritme Blok Modus operasi algoritme blok merupakan aturan yang memetakan n-bit blok plaintext ke n-bit blok-blok ciphertext, dalam hal ini n merupakan panjang blok. Pada umumnya, blok cipher mengoperasikan blok plaintext dan ciphertext menjadi 64 bit atau lebih (Schneier 1996). Contoh modus operasi algoritme blok adalah Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB), dan Counter (CTR) (Stalling 2005). Penelitian ini menggunakan ECB sebagai modus algoritme blok pada implementasi AES. Electronic Codebook (ECB) Electronic Codebook (ECB) merupakan modus operasi algoritme blok yang mengoperasikan plaintext secara satu blok utuh menggunakan kunci yang sama. Gambar 3 menunjukkan skema dari modus operasi agloritme blok ECB. Modus operasi algoritme blok ECB dapat ditulis sebagai berikut: RSA C i = E(K,P i ) dengan i = 1,...,k P i = D(K,C i ) dengan i = 1,...,k Algoritme RSA merupakan algoritme kunci publik yang populer. Nama RSA diambil dari Rivest, Shamir, dan Adleman yang merupakan pengembang algoritme tersebut. Algoritme ini berdasar pada bilangan prima dan konsep matematika sederhana, yaitu relatif sulit untuk mencari faktor bilangan prima p dan q dari bilangan komposit r. Hal ini cepat dilakukan jika r mempunyai sedikit digit. Akan tetapi, jika digit r melampaui 100, faktor primanya akan sulit dicari. Langkah-langkah pembuatan kunci publik dan kunci privat algoritme RSA adalah sebagai berikut: 1 Bangkitkan dua bilangan prima p dan q. Kedua bilangan ini bersifat rahasia. 2 Lakukan perkalian n = p x q. Hasil perkalian dapat diketahui orang lain tanpa resiko diketahuinya p dan q. 3 Hitung φ = (p - 1)(q - 1). Bilangan φ bersifat rahasia. 4 Pilih bilangan bulat e dengan 1 < e < φ yang relatif prima terhadap φ. Relatif prima dapat diartikan gcd(e, φ) = 1. 5 Hitung integer d dengan 1 < d < φ sehingga ed 1 (mod φ). Perhitungan dapat dilakukan dengan menggunakan algoritme Euclid. 6 Didapat kunci publik adalah pasangan (r, e) dan kunci privat adalah d. Setelah mendapat kunci publik dan kunci privat, dapat dilakukan enkripsi dan dekripsi. Enkripsi dapat dilakukan dengan menggunakan persamaan: c = m e (mod n) Gambar 3 Skema Electronic Codebook (Stalling 2005). Dekripsi dapat dilakukan dengan menggunakan persamaan: m = c d (mod n)

4 Sebelumnya pesan terlebih dahulu direpresentasikan sebagai integer m dengan m {0, 1, 2,..., n 1}. Pada penelitian ini, digunakan library java.math.biginteger untuk mencari kunci privat dan representasi pesan. Kunci privat dicari dengan cara: privatekey = publickey.modinverse(phi) Pesan yang akan dienkripsi direpresentasikan menjadi BigInteger dengan baris kode berikut: BigInteger msg = new BigInteger(message) Advanced Encryption Standard (AES) Algoritme Rijndael merupakan algoritme pemenang sayembara yang diadakan oleh National Institute of Standards and Technology (NIST). Sayembara tersebut diadakan untuk untuk membuat standar algoritme kriptografi yang baru pengganti Data Encyption Standard atau biasa disingkat DES. Standar baru dinamakan Advanced Encryption Standard (AES). Oleh karena itulah Rijndael juga disebut AES. Algoritme AES ditemukan oleh Vincent Rijmen dan Joan Daemen. Ada tiga kriteria pada saat Rijndael didesain (Daemen & Rijmen 2002), yaitu: 1 Ketahanan terhadap serangan yang sudah diketahui. 2 Kecepatan dan kode yang compact pada berbagai platform. 3 Desain yang sederhana. Gambar 4 menunjukkan proses enkripsi pada AES. Enkripsi AES Secara umum, algoritme AES melakukan putaran enkripsi sebanyak sepuluh putaran yang terbagi dalam tiga bagian, yaitu initial round, 1-9 round, dan final round. Dilakukan empat proses utama, yaitu: SubBytes, ShiftRows, MixColumns, dan AddRoundKey. Pada initial round, dilakukan proses AddRoundKey pada state awal yang masih berupa plaintext dengan cipher key. Pada sembilan round berikutnya, akan dilakukan empat proses transformasi, yaitu SubBytes, ShiftRows, MixColumns, dan AddRoundKey. Final round merupakan putaran terakhir yang hanya melibatkan proses transformasi SubBytes, ShiftRows, dan AddRoundKey. Gambar 4 Proses enkripsi AES (Stalling 2005). Pada enkripsi dilakukan ekspansi kunci untuk memperoleh round key. Pada round pertama digunakan w[4,7] pada matriks ekspansi kunci sebagai round key pertama. a SubBytes Subbytes merupakan tahap subsitusi byte plaintext menggunakan kaidah permutasi S- Box. AES mendefinisikan S-Box (Lampiran 1) sebagai byte matriks 16 x 16 yang memuat semua permutasi yang mungkin dari nilai 8 byte. Hanya ada satu S-Box yang digunakan untuk menyubsitusikan byte pada matriks state di semua round. Subsitusi dilakukan dengan menggunakan nilai heksadesimal pertama sebagai baris dan nilai heksadesimal kedua sebagai kolom pada S- Box. Sebagai contoh, nilai heksadesimal {A9}

5 dipetakan sebagai baris A dan kolom 9 pada S- Box yang ternyata memuat nilai heksadesimal {D3}. Subsitusi dilakukan dengan mengganti {A9} dengan {D3}. Lebih jelasnya proses SubBytes dapat dilihat pada Gambar 5. dengan matriks state. Lebih jelasnya dapat dilihat pada persamaan berikut (Stalling 2005): = Gambar 5 Ilustrasi proses SubBytes (Stalling 2005). b ShiftRows Proses ShiftRows pada dasarnya menggeser baris pada matriks state dengan aturan sebagai berikut: 1 Baris pertama tidak bergeser (tetap). 2 Baris kedua dilakukan pergeseran secara rotasi satu byte ke kiri. 3 Baris ketiga dilakukan pergeseran secara rotasi dua byte ke kiri. 4 Baris keempat dilakukan pergeseran secara rotasi tiga byte ke kiri. Pergeseran secara rotasi ke kiri mengakibatkan byte paling kiri berpindah ke byte paling kanan pada dalam satu baris matriks state. Lebih jelasnya diberikan Gambar 6 yang merupakan ilustrasi proses SubBytes. Gambar 6 Ilustrasi proses ShiftRows (Stalling 2005). c MixColumns Proses MixColumns mengoperasikan kolom secara terpisah. Setiap byte kolom dipetakan menjadi nilai baru dengan suatu fungsi yang melibatkan semua nilai pada kolom tersebut. Transformasi didapat dengan melakukan operasi perkalian matriks forward mix columns Semua operasi penjumlahan dan perkalian untuk masing-masing nilai pada perkalian matriks dilakukan pada ruang lingkup finite field GF(2 8 ). d AddRoundKey AddroundKey merupakan proses XOR antara matriks state dan matriks round key. Matriks round key merupakan matriks hasil ekspansi kunci yang dibangkitkan pada setiap round. Gambar 7 merupakan contoh dari proses AddRoundKey. Gambar 7 Contoh AddRoundKey (Stalling 2005). Dekripsi AES Alur dekripsi AES kebalikan dari alur enkripsi. Proses transformasi pada dekripsi juga merupakan kebalikan terhadap proses transformasi enkripsi. Perbedaanya adalah pada penjadwalan kunci yang dimulai dari word ke- 43 sampai word ke-0. Pada initial round dilakukan proses AddRoundKey pada state awal yang merupakan ciphertext dengan w[40,43] dari matriks ekspansi kunci. Selanjutnya dilakukan sembilan putaran yang meliputi proses tranformasi InvShiftRows, InvSubBytes, AddRoundKey, dan InvMixColumns. Sementara itu, final round hanya dilakukan proses InvShiftRows, InvSubBytes, dan AddRoundKey. Round key pertama pada proses dekripsi dimulai dari word ke-36 sampai word ke-39 dari matriks ekpansi kunci. Hal ini terus berlanjut sampai round kesepuluh yang menggunakan word ke-0 sampai word ke 3 untuk proses XOR

6 dengan matriks state. Lebih jelasnya alur proses dekripsi dapat dilihat pada Gambar 8. Inverse S-Box merupakan matriks 16x16 yang memuat nilai antilog dari S-Box. Matriks inverse S-Box dapat dilihat pada Lampiran 2. c AddRoundKey AddroundKey pada dekripsi sama dengan AddRoundKey pada enkripsi. AddRoundKey melakukan proses XOR antara matriks state dan round key. Perbedaannya terletak pada round key yang digunakan pada proses enkripsi dan pada proses dekripsi. Sebagai contoh pada round pertama enkripsi, digunakan round key w[4,7] sementara pada round pertama dekripsi digunakan round key w[36,39]. d InvMixColumns Proses InvMixColumns melakukan operasi perkalian matriks inverse mix columns dengan matriks state. Berikut merupakan persamaan untuk perkalian InvMixColumns: = Gambar 8 Proses dekripsi AES (Stalling 2005) a InvShiftRows InvShiftRows mengembalikan pergeseran byte yang telah dilakukan oleh forward ShiftRows. InvShiftRows memiliki aturanaturan sebagai berikut: 1 Baris pertama tidak bergeser (tetap). 2 Baris kedua dilakukan pergeseran secara rotasi satu byte ke kanan. 3 Baris ketiga dilakukan pergeseran secara rotasi dua byte ke kanan. 4 Baris keempat dilakukan pergeseran secara rotasi tiga byte ke kanan. Pergeseran satu byte ke kanan akan menyebabkan byte paling kanan akan berpindah ke byte paling kiri. b InvSubBytes InvSubBytes pada dasarnya sama dengan proses transformasi SubBytes namun menggunakan inverse S-Box alih-alih S-Box. Operasi penjumlahan dan perkalian untuk masing-masing nilai pada perkalian matriks dilakukan pada ruang lingkup finite field GF(2 8 ). Ekspansi Kunci Ekspansi kunci merupakan proses pembangkitan round key dari kunci AES. Pembangkitan dilakukan per word sebanyak 44 word. Gambar 9 merupakan ilustrasi proses ekspansi kunci. Gambar 9 Ilustrasi ekspansi kunci (Stalling 2005)

7 Langkah-langkah ekspansi kunci adalah sebagai berikut: 1 Word pertama (w 0 ) hingga word ke-4 (w 3 ) merupakan penyalinan langsung dari kunci AES. 2 Word selanjutnya apabila memenuhi persyaratan jika i mod 4 = 0 dengan i merupakan indeks dari word, dilakukan proses sebagai berikut: Rot Word Rot Word merupakan proses pergeseran byte dimana byte yang terletak pada baris paling atas berpindah ke baris paling bawah. Sub Word Sub Word merupakan proses subsitusi byte pada word menggunakan kaidah S- Box. XOR Proses XOR dilakukan pada hasil dari sub word dengan Rcon[i/4]. Rcon merupakan konstanta dengan nilai yang berbeda-beda untuk setiap round. Pembangkitan tabel RC[j] dapat dilihat pada Lampiran 3. 3 Lakukan proses XOR dengan w i-4. Setelah didapatkan ke-44 word, didapat 11 round key yang masing-masing berisikan empat word. Round key tersebut digunakan pada proses AddRoundKey. LightWeight UI Toolkit LightWeight UI Toolkit (LWUIT) merupakan application programming interface (API) yang memudahkan programmer membuat tampilan antarmuka lebih menarik dan lebih dinamis pada aplikasi mobile. Antarmuka menggunakan LWUIT membuatnya beroperasi seragam pada berbagai device. Pada aplikasi Polimat Mobile, LWUIT digunakan agar tampilan tidak berubah pada berbagai tipe dan sistem operasi telepon genggam yang digunakan. Metode Pengembangan Perangkat Lunak Waterfall Model waterfall mengambil aktivitas proses (spesifikasi, pengembangan, validasi, dan evolusi) lalu merepresentasikannya sebagai fase proses yang terpisah seperti spesifikasi kebutuhan, perancangan perangkat lunak, implementasi, pengujian, dan proses selanjutnya (Sommerville 2007). Analisis Kebutuhan sistem Gambar 10 Perancangan sistem & perangkat lunak Implementasi & pengujian unit Integrasi & pengujian sistem Operasi & pengelolaan Proses pengembangan perangkat lunak dengan metode Waterfall (Sommerville 2007). Gambar 10 merupakan tahapan-tahapan penting dari model Waterfall menurut Sommerville (2007) yang dapat dijabarkan sebagai berikut: 1 Analisis dan definisi kebutuhan. Layanan, batasan, dan tujuan sistem ditetapkan melalui pembicaraan dengan pengguna sistem. Informasi tersebut kemudian didefinisikan secara detail dan menjadi spesifikasi sistem. 2 Perancangan sistem dan perangkat lunak. Perancangan sistem berfungsi untuk menetapkan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak meliputi identifikasi dan deskripsi abstraksi sistem perangkat lunak. 3 Implementasi dan pengujian unit. Pada tahap ini perancangan direalisasikan dalam bentuk unit. Pengujian unit meliputi verifikasi bahwa setiap unit memenuhi spesifikasinya. 4 Integrasi dan pengujian sistem. Seluruh unit perangkat lunak diuji sebagai sebuah sistem secara keseluruhan untuk memastikan bahwa kebutuhan perangkat lunak telah terpenuhi. 5 Operasi dan pengelolaan. Pada tahap ini, sistem telah digunakan. Pemeliharaan meliputi perbaikan error yang tidak diketahui saat tahap sebelumnya, mengoptimalkan implementasi dari tiap unit sistem, dan penambahan layanan baru sesuai kebutuhan sistem. Model waterfall digunakan pada sistem yang sudah jelas kebutuhannya dan tidak berubah banyak dalam pengembangannya.