RANCANG BANGUN APLIKASI ENKRIPSI DAN DEKRIPSI CITRA DIGITAL MENGGUNAKAN ALGORITMA RIJNDAEL BERBASIS JAVA SE

dokumen-dokumen yang mirip
BAB III ANALISIS DAN PERANCANGAN

BAB 2 LANDASAN TEORI

IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI DAN DEKRIPSI PADA CITRA DIGITAL

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

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

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

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

TINJAUAN PUSTAKA. Kriptografi

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS DAN PERANCANGAN

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

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

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

KRIPTOGRAFI CITRA DIGITAL DENGAN ALGORITMA RIJNDAEL DAN TRANSFORMASI WAVELET DISKRIT HAAR

BAB III ANALISIS DAN PERANCANGAN

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

Algoritma Enkripsi Baku Tingkat Lanjut

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISA DAN DESAIN SISTEM

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB II LANDASAN TEORI

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

BAB II LANDASAN TEORI

Algoritma Spiral shifting

BAB III ANALISA DAN DESAIN SISTEM. perancangan pembuatan kriptografi Impementasi AES ( Advanced Encyrption

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

BAB III ANALISIS DAN DESAIN SISTEM

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

BAB III ANALISIS DAN DESAIN SISTEM


BAB I PENDAHULUAN. Universitas Sumatera Utara

Advanced Encryption Standard (AES)

APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1

(S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

dan c C sehingga c=e K dan d K D sedemikian sehingga d K

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

Bab 1 PENDAHULUAN Latar Belakang

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

PERANGKAT APLIKASI KEAMANAN DATA TEXT MENGGUNAKAN ELECTRONIC CODEBOOK DENGAN ALGORITMA DES

Bab 2 Tinjauan Pustaka

Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

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

BAB II TINJAUAN PUSTAKA

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

PERANCANGAN APLIKASI PENGAMANAN DATA TEKS DENGAN METODE ADVANCED ENCRYPTION STANDARD (AES) DAN METODE END OF FILE (EOF)

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

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

BAB I PENDAHULUAN. 1.1 Latar Belakang

Modul Praktikum Keamanan Sistem

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

BAB II LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB I PENDAHULUAN 1.1 Latar Belakang

PENERAPAN METODE MOST SIGNIFICANT BIT UNTUK PENYISIPAN PESAN TEKS PADA CITRA DIGITAL

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 TINJAUAN PUSTAKA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM. telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan bertujuan untuk

PENGGUNAAN METODE HILL CIPHER UNTUK KRIPTOGRAFI PADA CITRA DIGITAL. Muhammad Rizal 1), Afdal 2)

BAB III ANALISA DAN DESAIN SISTEM

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

BAB I PENDAHULUAN. Teknologi Quick Response Code (QR-Code) adalah salah satu teknologi

IMPLEMENTASI KRIPTOGRAFI MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDAR (AES) UNTUK PENGAMANAN DATA TEKS

BAB III ANALISA DAN PERANCANGAN

Prosiding Matematika ISSN:

PENERAPAN ALGORITMA AES : RIJNDAEL DALAM PENGENKRIPSIAN DATA RAHASIA

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

RANCANG BANGUN PROGRAM KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD

ALGORITMA KRIPTOGRAFI AES RIJNDAEL

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

ANALISIS KEMAMPUAN ALGORITMA ELGAMAL UNTUK KRIPTOGRAFI CITRA

BAB III ANALISA DAN PERANCANGAN

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

BAB II TINJAUAN PUSTAKA

SISTEM KEAMANAN ATM DENGAN MENGGUNAKAN ENKRIPSI AES PADA KARTU ATM.

Bab 2 Tinjauan Pustaka

BAB 3 ANALISIS DAN PERANCANGAN. 3.1.Analisis Perancangan Steganografi dan Kriptografi.

Gambar 3.1 Flowchart proses enkripsi AES

BAB 2 TINJAUAN PUSTAKA

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

BAB II LANDASAN TEORI

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

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

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN

Implementasi Kriptografi Algoritma AES Serta Algoritma Kompresi Huffman Dengan

Transkripsi:

RANCANG BANGUN APLIKASI ENKRIPSI DAN DEKRIPSI CITRA DIGITAL MENGGUNAKAN ALGORITMA RIJNDAEL BERBASIS JAVA SE Yoga Aprianto (yogalionel888168@gmail.com) Rico Kurniawan (rico.kurniawan13@gmail.com) Renni Angreni, S.Kom., M.Kom. (renni@stmik-mdp.net) Program Studi Teknik Informatika STMIK GI MDP Abstrak : Citra digital merupakan salah satu data atau informasi yang sering disalahgunakan, oleh karena itu untuk menjaga keamanan dan kerahasiaan suatu data maupun informasi salah satunya dapat dengan teknik enkripsi dan dekripsi. Teknik ini berguna untuk membuat pesan, data, maupun informasi tidak dapat dibaca atau dimengerti oleh orang lain, kecuali untuk penerima yang berhak dan mengetahui teknik dekripsinya. Melihat penting dan bermanfaatnya teknik enkripsi dan dekripsi, maka akan sangat baik jika metode dalam pemrosesannya menggunakan algoritma dengan tingkat keamanan yang tinggi, salah satunya dengan algoritma Rijndael. Dalam skripsi ini dibahas tentang teknik enkripsi dan dekripsi citra digital menggunakan algoritma Rijndael. Hasil dari aplikasi ini mampu mengenkripsi dan mendekripsi file citra tanpa mengubah integritas data dari file citra tersebut. Kata kunci: Algoritma Rijndael, Citra Digital, Enkripsi, dan Dekripsi. 1. PENDAHULUAN Keamanan merupakan salah satu aspek penting dalam pengiriman data maupun komunikasi melalui jaringan. Salah satu cara untuk menjaga keamanan dan kerahasiaan suatu data maupun informasi adalah dengan teknik enkripsi dan dekripsi. Teknik ini berguna untuk membuat pesan, data, maupun informasi tidak dapat dibaca atau dimengerti oleh orang lain, kecuali untuk penerima yang berhak dan mengetahui teknik dekripsinya. Teknik enkripsi dan dekripsi dikenal dan dipelajari dalam kriptografi. Kriptografi merupakan ilmu yang mempelajari mengenai cara mengamankan suatu informasi. Pada tahun 1990-an, algoritma enkripsi yang banyak dipakai adalah algoritma DES (Data Encryption Standard). Namun, seiring dengan makin canggihnya teknologi dan berkembangnya dunia cryptanalysis, maka keamanan data dengan algoritma DES yang menggunakan kunci sepanjang 56 bit dianggap tidak memadai lagi, karena itu pada tahun 2000 terpilihlah algoritma Rijndael sebagai standar algoritma kriptografi baru pengganti algoritma DES, yang juga dinamakan sebagai algortima AES. Informasi berupa citra digital telah digunakan secara luas dalam berbagai macam bidang seperti pemerintahan, militer, badan keuangan, rumah sakit, dan perusahaan perdagangan untuk menyimpan informasi penting, misalnya hasil pemeriksaan pasien dalam bidang rumah sakit, area geografi dalam bidang penelitian, posisi musuh dalam bidang militer, produk baru dalam perusahaan, dan lain sebagainya. Melihat penting dan bermanfaatnya teknik enkripsi dan dekripsi, maka akan sangat baik pula jika metode dalam pemrosesannya menggunakan algoritma dengan tingkat keamanan yang tinggi, salah satunya dengan algoritma Rijndael. Aplikasi yang akan dibangun ini nantinya merupakan aplikasi berbasis desktop dengan dukungan bahasa pemrograman Java SE, dimana adalah bahasa pemrograman yang cross platform.berdasarkan uraian di atas, penulis tertarik untuk mengambil skripsi dengan judul Rancang Bangun Aplikasi Enkripsi dan Dekripsi Citra Digital Menggunakan Algoritma Rijndael Berbasis Java SE. Hal - 1

2. LANDASAN TEORI 2.1 Citra Digital Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra terbagi 2 yaitu ada citra yang bersifat analog dan ada citra yang bersifat digital. Citra analog adalah citra yang bersifat kontinu seperti gambar pada monitor televisi, foto sinar X, hasil CT Scan dll. Sedangkan pada citra digital adalah citra yang dapat diolah oleh computer ( T,Sutoyo et al. 2009, H.9). Sebuah citra digital dapat mewakili oleh sebuah matriks yang terdiri dari M kolom N baris, dimana perpotongan antara kolom dan baris disebut piksel ( piksel = picture element), yaitu elemen terkecil dari sebuah citra. Piksel mempunyai dua parameter, yaitu koordinat dan intensitas atau warna. Nilai yang terdapat pada koordinat (x,y) adalah f(x,y), yaitu besar intensitas atau warna dari piksel di titik itu. Oleh sebab itu, sebuah citra digital dapat ditulis dalam bentuk matriks berikut. f x, y = f(0,0) f(0,1) f(1,0) f(n 1) f(n 1,1) f(0, M 1) f(1, M 1) f(n 1, M 1) Berdasarkan gambaran tersebut, secara matematis citra digital dapat dituliskan sebagai fungsi intensitas f (x,y), dimana harga x (baris) dan y (kolom) merupakan koordinat posisi dan f(x,y) adalah nilai fungsi pada setiap titik (x,y) yang menyatakan besar intensitas citra atau tingkat keabuan atau warna dari piksel di titik tersebut. Pada proses digitalisasi (sampling dan kuantitas) diperoleh besar baris M dan kolom N hingga citra membentuk matriks M x N dan jumlah tingkat keabuan piksel G (T, Sutoyo et al. 2009, H.20). Menurut Sutoyo,T.Mulyanto,E.et al (2009 : 25), ada dua jenis format file citra yang sering digunakan dalam pengolahan citra, yaitu citra bitmap dan citra vector. Citra bitmap ini menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Sedangkan pada format file citra vektor merupakan citra vektor yang dihasilkan dari perhitungan matematis dan tidak terdapat piksel, yaitu data yang tersimpan dalam bentuk vektor posisi, dimana yang tersimpan hanya informasi vektor posisi dengan bentuk sebuah fungsi. Contoh format file citra antara lain adalah BMP, GIFF, TIF, JPG, IMG, dll. 2.2 Kriptografi Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Definisi ini mungkin cocok pada masa lalu di mana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat dan mata-mata. Namun saat ini kriptografi lebih dari sekedar privacy, tetapi juga tujuan data integrity, authentication dan non repudiation. Ada 4 (empat) tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu: 1. Kerahasiaan (confidentiality). 2. Integritas data (data integrity). 3. Otentikasi (authentication). 4. Nirpenyangkal (non-repudiation). 2.3 Algoritma Kriptografi Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan dechiphering. Algoritma kriptografi terdiri dari fungsi dasar yaitu: 2.3.1 Teknik Enkripsi Teknik enkripsi, merupakan hal yang sangat penting dalam kriptografi yang merupakan pengamanan data yang dikirimkan terjaga rahasianya, pesan asli disebut plaintext yang dirubah menjadi kodekode yang tidak dimengerti. Enkripsi bisa diartikan dengan cipher atau kode. 2.3.2 Teknik Dekripsi Teknik dekripsi, merupakan kebalikan dari enkripsi, pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (plaintext) disebut dengan dekripsi pesan. Algoritma Hal - 2

yang digunakan untuk dekripsi tentu berbeda dengan yang digunakan untuk enkripsi. 2.3.3 Kunci Kunci, yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi, kunci terbagi jadi 2 (dua) bagian yaitu kunci pribadi (private key) dan kunci umum (public key). 2.4 Algoritma Simetri Algoritma ini juga sering disebut dengan algoritma klasik, karena memakai kunci yang sama untuk kegiatan enkripsi dan dekripsinya. Gambar 1. Algoritma Simetri 2.5 Algoritma Non Simetri Algoritma tak simetri sering juga disebut dengan algoritma kunci publik, dengan arti kata kunci yang digunakan untuk melakukan enkripsi dan dekripsinya berbeda. Pada algoritma tak simetri kunci terbagi menjadi 2 (dua) bagian: 1. Kunci umum (public key) adalah kunci yang boleh semua orang tahu (dipublikasikan). 2. Kunci pribadi (private key) adalah kunci yang dirahasiakan (hanya boleh diketahui oleh satu orang). Gambar 2. Algoritma Non Simetri 2.6 Algoritma Rijndael dienkripsi dekripsi. Untuk setiap putarannya, Rijndael menggunakan kunci yang berbeda. Kunci setiap putaran disebut round key. Ukuran blok untuk algoritma Rijndael adalah 128 bit (16 byte). Algoritma Rijndael mempunyai 3 (tiga) parameter: 1. Plaintext adalah array yang berukuran 16 byte, yang berisi data masukan. 2. Ciphertext adalah array yang berukuran 16 byte, yang berisi hasil enkripsi. 3. Kunci adalah array yang berukuran 16 byte, yang berisi kunci cipher (disebut juga chiper key). 2.7 Java Plain Text SubBytes ShiftRows MixColumns SubBytes ShiftRows Cipher Text Cipher Text InvShiftRows InvSubBytes InvMixColumns InvShiftRows InvSubBytes Plain Text Gambar 3. Diagram Proses Enkripsi dan Proses Dekripsi Menurut definisi Sun Microsystem, di dalam buku M. Shalahuddin dan Rosa A.S. (2010 : 1) Java adalah nama sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer yang berdiri sendiri (standalone) ataupun pada lingkungan jaringan. Untuk beragam aplikasi yang dibuat dengan bahasa Java, java dipaketkan dalam edisi edisi berikut : 1. Java 2 Standard Edition ( J2SE ). 2. Java 2 Enterprise Edition ( J2EE ). 3. Java 2 Micro Edition ( J2ME ). Algoritma Rijndael menggunakan substitusi, permutasi dan sejumlah putaran yang dikenakan pada tiap blok yang akan Hal - 3

2.8 Metode Prototyping Prototyping merupakan metodologi pengembangan perangkat lunak yang menitikberatkan pada pendekatan aspek rancangan, fungsi dan antarmuka pengguna. Mengidentifikasi kebutuhan pemakai 4. Tahap Implementasi (Implementation). Prototype harus dicoba-coba untuk menentukan perilakunya dan mengumpulkan keluaran dari hasil eksekusi sistem sehingga didapat aplikasi yang sesuai dengan keinginan. Hasil dari implementasi akan dievaluasi untuk menilai kebenaran dan efisiensi aplikasi. Mengembangkan prototipe Prototipe dapat diterima? Ya Menggunakan prototipe Tidak 2.8 Evaluasi 2.8.1 Nilai Akurasi Parameter utama yang dapat digunakan untuk mengukur keefektifan citra yang berhasil dilakukan pada saat proses enkripsi dan proses deskripsi Nilai akurasi = x 100% Gambar 4. Prototype Metodologi prototyping membagi tahapan pengembangan perangkat lunaknya menjadi empat tahap, yaitu : 1. Tahap Analisis (Analysis) Pada tahapan ini menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Tahapan ini meliputi identifikasi objek kebutuhan, resiko kesalahan aplikasi, dan merumuskan hipotesa prototype. 2. Tahap Rancangan (Design) Setelah tahap analisis dilakukan, maka pemrogram mendesain secara terperinci sebuah rancangan prototype aplikasi yang menggambarkan keseluruhan aplikasi dan resiko-resiko yang mungkin berpengaruh pada aplikasi. 3. Tahap Pengujian Sistem Pengujian sistem bertujuan untuk menemukan kesalahan-kesalahan yang terjadi pada sistem dan melakukan revisi sistem. Tahap ini penting untuk memastikan bahwa sistem bebas dari kesalahan. 2.8.2 Black Box Testing Metode ujicoba black box memfokuskan pada keperluan fungsional dari software. Karena itu ujicoba black box memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. 3. RANCANGAN ALGORITMA DAN PROGRAM 3.1 Algoritma Aplikasi Dalam pengembangan aplikasi ini menerapkan metode enkripsi dan dekripsi dengan menggunakan algoritma Rijndael. Algoritma Rijndael merupakan jenis algoritma kriptografi yang sifatnya simetri dan chipper block. Dengan demikian algoritma ini menggunakan kunci yang sama pada saat enkripsi dan dekripsi serta input dan outputnya berupa blok dengan jumlah bit tertentu. Algoritma Rijndael mendukung berbagai variasi ukuran kunci yang akan digunakan. Namun algoritma Rijndael mempunyai ukuran kunci yang tetap sebesar 128, 192, dan 256 bit. Hal - 4

Dalam Skripsi ini akan dibahas algoritma Rijndael menggunakan kunci sebesar 128 bit. Ukuran blok untuk algoritma Rijndael adalah 128 bit atau 16 byte. Jumlah iterasi dalam proses enkripsi dan dekripsi dipengaruhi oleh ukuran kunci yang akan dipakai. Misalkan N b adalah panjang blok dibagi 32 dan N k adalah panjang kunci dibagi 32, maka jumlah iterasinya : N r = max (N k, N b ) + 6 Tabel 1. Perbandingan Jumlah Iterasi Algoritma Rijndael No Start Enkripsi File Citra ( XOR Cipher Key ) n = 10 i = 1 i n-1 Panjang Kunci Ukuran Blok Jumlah Round (Nk) (Nb) (Nr) AES - 128 4 4 10 AES - 192 6 4 12 AES - 256 8 4 14 SubBytes ShiftRows SubBytes ShiftRows Yes Tabel 1 menunjukkan dengan menggunakan blok cipher sebesar 128 bit dan kunci sebesar 128 bit, maka dalam proses enkripsi dan dekripsinya dengan algoritma Rijndael melakukan 10 iterasi. 3.1.1 Key Schedule Tahap key schedule bertujuan membangun 10 sub-kunci yang akan digunakan pada tiap iterasi dalam tahap enkripsi dan dekripsi. Di awal akan dimasukkan suatu kunci yang disebut cipher key, yang seterusnya akan dilakukan ekspansi terhadap cipher key tersebut. 3.1.2 Proses Enkripsi Proses enkripsi Rijndael diawali dengan proses diikuti sembilan iterasi dengan struktur yang tersusun atas empat proses yaitu SubBytes, ShiftRows, MixColumns, dan. Akhir proses enkripsi yaitu iterasi kesepuluh yang tersusun atas tiga proses terurut SubBytes, ShiftRows, dan yang keseluruhan proses tersebut diiringi proses key schedule bagi setiap iterasi. Seluruh fungsi operasi (penjumlahan dan perkalian) yang tercakup dalam AES merupakan operasi-operasi yang didefinisikan dalam ruang lingkup GF(2 8 ) dengan polynomial irreducible pembangkit f (x) = x 8 + x 4 + x 3 + x + 1. ( XOR Sub-Kunci ke-10 ) Cipher Text End Gambar 5. Flowchart Proses Enkripsi Algoritma Rijndael 3.1.2.1 Transformasi Transformasi ini melakukan proses XOR antara tabel state pada plaintext dengan 128 bit kunci yang sudah dibangkitkan sebelumnya. 3.1.2.2 Transformasi SubBytes MixColumns ( XOR Sub-Kunci ke-i ) i = i + 1 Transformasi SubBytes memetakan setiap array state dengan menggunakan tabel substitusi S-Box. Sebuah tabel S-Box terdiri dari 16x16 baris dan kolom dengan masingmasing berukuran 1 byte. Rijndael memiliki satu buah S-Box yang akan dipakai pada setiap iterasi. Cara subsitusinya adalah sebagai berikut : Setiap byte pada table state α(r,c) = xy denan xy adalah digit heksadesimal dari α (r,c), nilai substitusinya adalah elemen dalam S-Box yang merupakan perpotongan baris ke x dengan kolom ke y dan menghasilkan nilai substitusi baru yaitu b(r,c). Hal - 5

3.1.2.3 Transformasi ShiftRows Start Transformasi ShiftRows akan beroperasi pada tiap baris dalam tabel state.proses ini akan bekerja dengan cara memutar elemen matriks hasil proses transformasi SubByte, pada 3 baris terakhir (baris 1, 2, dan 3) ke kiri 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. Dekripsi Cipher Text ( XOR Sub-Kunci ke-10 ) Inv ShiftRows Inv SubBytes 3.1.2.3 Transformasi MixColumns n = 1 i = 9 Transformasi ini mengalikan setiap kolom dari table state dengan polinom α(x) mod (x 4 + 1). Setiap kolom diperlukan sebagai polinom 4 suku pada GF (2 8 ). Sementara itu, polinom α(x) yang ditetapkan yaitu α(x) = {03}x 3 + {01}x 2 + {01}x + {02} dengan tiap konstantanya merupakan bilangan heksadesimal. i n Yes ( XOR Sub-Kunci ke-i ) Inv MixColumns Inv ShiftRows No ( XOR Cipher Key ) File Citra End 3.1.3 Proses Dekripsi Struktur proses dekripsi Rijndael secara umum sama dengan proses enkripsi, tetapi pada proses dekripsi Rijndael memiliki urutan proses transformasi penyusun tiap iterasi yang berbeda. Tidak hanya itu, transformasi yang digunakan pun merupakan transformasi kebalikan atau invers dari proses transformasi penyusun setiap iterasi pada proses enkripsi. Meskipun proses pembentukan key schedule pada proses dekripsi dan enkripsi identik, akan tetapi proses penjadwalan penggunaan kunci pada setiap iterasi pada dekripsi berkebalikan dengan proses enkripsi. Penjadwalan kunci pada proses dekripsi pada tiap iterasi dimulai dari word ke-43 sampai word ke-0 atau dimulai dari sub-kunci ke 10 sampai cipher key. Inv SubBytes i = i - 1 Gambar 6. Flowchart Proses Dekripsi Algoritma Rijndael 3.1.3.1 Transformasi Invers atau kebalikan dari transformasi adalah proses XOR antara state 128 bit pada ciphertext dengan 128 bit round-key yang dibangkitkan sebelumnya dengan menggunakan kunci tiap iterasi yang berkebalikan dari proses enkripsi. 3.1.3.2 Transformasi InvShiftRows Invers dari transformasi ShiftRows juga memutar byte-byte pada 3 baris terakhir dengan jumlah putaran yang sama hanya saja dengan arah kebalikannya yaitu ke kanan. 3.1.3.3 Transformasi InvSubBytes Invers dari transformasi SubByte adalah substitusi yang menggunakan tabel invers S- Box. Hal - 6

3.1.3.4 Transformasi InvMixColumns Invers dari transformasi MixColumns adalah mengalikan setiap kolom dari tabel state pada 16 byte ciphertext dengan polinom b(x) mod (x 4 + 1). Setiap kolom diperlakukan sebagai polinom 4 suku pada GF(2 8 ). Sementara itu, Polinom b(x) yang ditetapkan yaitu b(x) = {0B}x 3 + {0D}x 2 + {09}x + {0E} dengan tiap konstantanya merupakan bilangan heksadesimal. 4. IMPLEMENTASI DAN PENGUJIAN PROGRAM 4.1 Prosedur Uji Coba Prosedur uji coba program menjelaskan tentang cara pengoperasian program serta tahap-tahap yang perlu dilakukan user untuk menjalani aplikasi enkripsi dan dekripsi file citra ini. Gambar 8. Tampilan Antarmuka Menu Enkripsi Kemudian user memilih browse maka akan muncul open dialog file gambar yang digunakan untuk memilih file gambar pada drive penyimpanan dan kemudian menampilkan gambar asli yang terlihat pada gambar. 4.1.1 Tahapan Menjalankan Program Tahap awal yang harus dilakukan user untuk menjalankan aplikasi ini adalah dengan cara mengeksekusi aplikasi sehingga tampil menu utama yang terdiri dari beberapa menu pilihan. 4.1.1.2 Tampilan Antarmuka Menu Utama Halaman tampilan menu utama aplikasi merupakan tampilan dimana untuk mulai menggunakan aplikasi yang terlihat pada gambar Gambar 9. Tampilan Open Image Setelah gambar asli dipilih maka akan tampil original image yang terlihat pada gambar. Gambar 7. Tampilan AntarmukaMenu Utama 4.1.1.3 Tampilan Antarmuka Menu Enkripsi Pada saat user mengklik tombol menu enkripsi, maka akan masuk pada tampilan menu enkripsi yang terlihat pada gambar Gambar 10. Tampilan Original Image Kemudian masukan key dan klik tombol enkripsi maka citra asli akan menjadi file.enk yang tidak bisa dibuka atau dilihat. File inilah yang merupakan file hasil enkripsi citra asli yang akan tersimpan secara otomatis Hal - 7

pada drive penyinpanan selokasi dengan citra asli yang terlihat pada gambar. menampilkan nama file yang berextention.enk yang terlihat pada gambar. Gambar 14. Tampilan Open Image Gambar 11. Tampilan Sukses Hasil Enkripsi Setelah itu user mengklik tombol hasil enkripsi untuk melihat file hasil enkripsi dengan memilih nama file hasil enkripsi tersebut yang terlihat pada gambar. Setelah file enkripsi dipilih maka akan tampil nama file enkripsi tersebut dan tombol dekripsi akan aktif yang terlihat pada gambar. Gambar 15. Tampilan Nama File Dekripsi Gambar 12. Tampilan Lihat Hasil Enkripsi Kemudian masukan key yang sama dengan proses enkripsi dan klik tombol dekripsi maka file enkripsi akan menjadi file.jpg yang terlihat pada gambar. 4.1.1.4 Tampilan Antarmuka Menu Dekripsi Pada saat user mengklik menu dekripsi, maka akan masuk ke menu dekripsi, menu ini dipilih untuk mengubah file enkripsi menjadi citra asli yang terlihat pada gambar. Gambar 16. Tampilan Sukses Hasil Dekripsi Gambar 13. Tampilan Antarmuka Menu Dekripsi User memilih browse maka akan muncul open dialog file enkripsi yang digunakan untuk memilih file enkripsi pada file drive penyimpanan komputer dan hanya Setelah itu user mengklik tombol hasil dekripsi untuk melihat file hasil dekripsi dengan memilih nama file gambar, dimana file hasil dekripsi diberi penambahan nama di belakang nama file yaitu 01, 02 dan seterusnya yang terlihat pada gambar. Hal - 8

Tabel 2. Hasil Pengujian Enkripsi dan Dekripsi Pada Skenario Pertama Gambar 17. Tampilan Lihat Hasil Dekripsi 4.1.1.5 Tampilan Antarmuka Menu About Pada saat user memilih mennu about, maka akan tampil informasi tentang pembuat aplikasi yang terlihat pada gambar. Dari Tabel 2 diatas diperoleh nilai akurasi sebagai berikut. Nilai akurasi = x 100% = 100% Gambar 18. Tampilan Menu About Tabel 3. Hasil Pengujian Enkripsi dan Dekripsi Pada Skenario Kedua 4.2 Uji Coba dan Analisis Hasil Pengujian Pada implementasi algoritma Rijndael dalam mengamankan data citra digital, dilakukan beberapa uji coba dengan menggunakan beberapa variasi jenis kunci input. Ukuran kunci sepanjang 128 bit (16 karakter) dan divariasikan dengan menggunakan berbagai jenis karakter baik angka, huruf, simbol, maupun gabungan dari ketiganya. Pada tahap uji coba ini akan dilakukan dengan 2 skenario yaitu skenario pertama adalah dilakukan pengujian dengan berbagai macam ukuran gambar atau citra, skenario kedua adalah dengan berbagai macam warna yaitu citra black white,citra grayscale dan citra RGB Dari Tabel 3 diatas diperoleh nilai akurasi sebagai berikut. Nilai akurasi = x 100% = 100% Dari nilai akurasi yang diperlihatkan pada tabel 2 dan 3 menunjukkan secara keseluruhan bahwa teknik enkripsi dan dekripsi menggunakan algoritma Rijndael lebih baik, dimana proses enkripsi dan Hal - 9

dekripsi yang dilakukan terhadap file citra tersebut, tidak mempengaruhi ukuran piksel dan ukuran memori dari file citra yang asli. Hal ini dikarenakan file citra hasil enkripsi memiliki ukuran memori yang sama atau sesuai dengan file citra asli sehingga setelah dilakukan proses dekripsi file citra bisa kembali seperti semula tanpa mengubah ukuran piksel dan ukuran memori dari file citra asli. Tabel 7. Hasil Pengujian Running Time Proses Dekripsi Pada Skenario Kedua Tabel 4. Hasil Pengujian Running Time Proses Enkripsi Pada Skenario Pertama Tabel 5. Hasil Pengujian Running Time Proses Enkripsi Pada Skenario Kedua Dari tabel 4, 5, 6 dan 7 menunjukkan perbedaan yang cukup signifikan untuk running time dengan ukuran piksel yang berbeda, makin besar ukuran piksel, maka makin besar pula running time yang dibutuhkan. Dalam kasus variasi jenis kunci input juga tidak mempengaruhi ukuran piksel dan memori serta tidak ditemukan perbedaan running time yang signifikan, karena semua angka, huruf, simbol dan gabungan ketiganya akan diubah menjadi bilangan ASCII, sehingga tidak terjadi perbedaan yang besar dari segi running time ketika menggunakan variasi jenis kunci. 5. PENUTUP 5.1 Kesimpulan Tabel 6. Hasil Pengujian Running Time Proses Dekripsi Pada Skenario Pertama Algoritma Rijndael dapat diimplementasikan atau diterapkan dalam teknik enkripsi dan dekripsi pada citra digital berbasis java SE. Variasi jenis kunci input (angka saja, huruf saja, simbol saja dan gabungan ketiganya) yang digunakan untuk proses enkripsi dan dekripsi tidak mempengaruhi ukuran ukuran piksel dan ukuran memori file citra asli atau file tidak mengalami perubahan ukuran piksel dan ukuran memori, sehingga integritas citra terpenuhi. Algoritma Rijndael dapat melakukan proses enkripsi dan dekripsi pada bermacam Hal - 10

macam citra seperti citra RGB, citra grayscale, dan citra black white. 5.2 Saran Ukuran kunci yang digunakan dalam teknik enkripsi dan dekripsi untuk selanjutnya dapat dicoba dengan ukuran yang beragam yakni 192 bit dan 256 bit. Untuk pengembangan selanjutnya, dapat mengaplikasikan algoritma Rijndael dalam mengamankan data selain citra digital, seperti audio dan video. DAFTAR PUSTAKA [1] Ariyus, Dony.2008. Pengantar Ilmu KRIPTOGRAFI. Yogyakarta, Penerbit: Andi. [2] Federal Information Processing Standards Publication 197, 2001. Anouncing the ADVANCED ENCRYPTION STANDARD (AES) hal. 1-51. [3] Grossman, D. A. dan Frieder, O., 2004, Information Retrieval : Algorithms and Heuristics, Springer. [4] Joan Daemen & Vincent Rijmen. A Specification for Rijndael, the AES Algorithm. [5] Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika Bandung. [6] Perangkat Lunak (Terstruktur dan Berorientasi Objek). Modula, Bandung. [7] Putra, Darma. 2010. Pengolahan Citra Digital. Yogyakarta. Penerbit: Andi. [8] Shalahuddin, Muhammad dan Rosa A.S. 2011. Modul Pembelajaran Rekayasa. [9] Supardi, Ir. Yuniar, Belajar Semua Edisi Java 2 untuk Segala Tingkat, PT. Elex Media Komputindo, Jakarta, 2009. [10] Sutoyo. T. et al. 2009. Teori Pengolahan Citra Digital, Yogyakarta. Penerbit: Andi. Hal - 11