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

dokumen-dokumen yang mirip
TINJAUAN PUSTAKA. Kriptografi

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

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

Tipe dan Mode Algoritma Simetri (Bagian 2)

Blox: Algoritma Block Cipher

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

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

Algoritma Cipher Block EZPZ

Algoritma Enkripsi Baku Tingkat Lanjut

Data Encryption Standard (DES)

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

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

BAB III ANALISIS DAN PERANCANGAN

Prosiding Matematika ISSN:

BAB II TINJAUAN PUSTAKA

OZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5

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

BAB IV PENGUJIAN DAN ANALISIS

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

STUDI & IMPLEMENTASI ALGORITMA TRIPLE DES

Algoritma Spiral shifting

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

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

Kriptografi Modern Part -1

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

Add your company slogan TEKNIK BLOCK CIPHER. Kriptografi - Week 9 LOGO. Aisyatul Karima, 2012

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA. Arief Latu Suseno NIM:

WINDOWS VISTA BITLOCKER DRIVE ENCRYPTION

IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI DAN DEKRIPSI PADA CITRA DIGITAL

Algoritma Kriptografi Modern (Bagian 2)

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

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

BAB I PENDAHULUAN. Universitas Sumatera Utara

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

PRESENTASI TUGAS AKHIR KI091391

Perancangan Kriptografi Block Cipher 256 Bit Berbasis Pola Tarian Liong (Naga) Artikel Ilmiah

ENKRIPSI DAN DEKRIPSI DATA DENGAN ALGORITMA 3 DES (TRIPLE DATA ENCRYPTION STANDARD)

BAB III ANALISIS SISTEM

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

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

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

2. Tipe dan Mode Algoritma Simetri

Algoritma Kriptografi Modern (Bagian 2)

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

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Kriptografi Modern Part -1

BAB 2 LANDASAN TEORI

Modifikasi Blok Cipher

BEA A New Block Cipher Algorithm

BAB III ANALISA DAN DESAIN SISTEM

STUDI PERBANDINGAN CIPHER BLOK ALGORITMA BLOWFISH DAN ALGORITMA CAMELLIA

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

BAB II TINJAUAN PUSTAKA

Bab 2 Tinjauan Pustaka

DATA ENCRYPTION STANDARD (DES) STANDAR ENKRIPSI DATA. Algoritma Kriptografi Modern

PERBANDINGAN MODE CHIPER ELECTRONIC CODE BOOK DAN CHIPER BLOCK CHAINING DALAM PENGAMANAN DATA

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

Blok Cipher JUMT I. PENDAHULUAN

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

STUDI MENGENAI JARINGAN FEISTEL TAK SEIMBANG DAN CONTOH IMPLEMENTASINYA PADA SKIPJACK CIPHER

Studi dan Implementasi HMAC dengan Fungsi Hash Grøstl dan Perbandingannya dengan CMAC dengan Algoritma Cipher Blok AES

Gambar 3.1 Flowchart proses enkripsi AES

BAB IV HASIL DAN PEMBAHASAN

Implementasi dan Analisis Perbandingan Algoritma MAC Berbasis Fungsi Hash Satu Arah Dengan Algoritma MAC Berbasis Cipher Block

Algoritma AES sebagai Metode Enkripsi dalam Password Management

BAB 1 PENDAHULUAN Latar Belakang

Uji SAC Terhadap Algoritma Speck

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

II Bab II Dasar Teori

BAB I PENDAHULUAN. 1.1 Latar Belakang

Studi Mengenai Algoritma Skipjack dan Penerapannya

BAB 3 METODOLOGI PENELITIAN

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

Advanced Encryption Standard (AES)

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

BAB II TINJAUAN PUSTAKA

MODIFIKASI VIGÈNERE CIPHER DENGAN MENGGUNAKAN MEKANISME CBC PADA PEMBANGKITAN KUNCI


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

STUDI KRIPTOGRAFI MENGENAI TRIPLE DES DAN AES

STUDI MENGENAI KRIPTANALISIS UNTUK BLOCK CIPHER DES DENGAN TEKNIK DIFFERENTIAL DAN LINEAR CRYPTANALYSIS

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

Disusun oleh: Ir. Rinaldi Munir, M.T.

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

IMPLEMENTASI ENKRIPSI DATA BERBASIS ALGORITMA DES

BAB 2 TINJAUAN PUSTAKA

ANALISIS PERBANDINGAN KINERJA ALGORITMA BLOWFISH DAN ALGORITMA TWOFISH PADA PROSES ENKRIPSI DAN DEKRIPSI

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

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

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

TEKNIK ENKRIPSI DAN DESKRIPSI MENGGUNAKAN ALGORITHMA ELECTRONIC CODE BOOK (ECB)

Distribusi Difference dari S-Box Berbasis Fungsi Balikan Pada GF(2 8 )

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

BAB III ANALISIS DAN PERANCANGAN SISTEM

Transkripsi:

i ANALISIS PERBANDINGAN ALGORITME AES DENGAN MODE OPERASI ECB DAN CBC DAN PENDUGAAN WAKTU MENGGUNAKAN REGRESI LINEAR IRVANY IRSYAD DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2016

i PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Analisis Perbandingan Algoritme AES dengan Mode Operasi ECB dan CBC dan Pendugaan Waktu Menggunakan Regresi Linear adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Mei 2016 Irvany Irsyad NIM G64124005

ii ABSTRAK IRVANY IRSYAD. Analisis Perbandingan Algoritme AES dengan Mode Operasi ECB dan CBC dan Pendugaan Waktu Menggunakan Regresi Linear. Dibimbing oleh SRI WAHJUNI. Penelitian ini akan membandingkan kinerja mode operasi ECB dan CBC pada algoritme kriptografi AES dalam melakukan penyandian terhadap sebuah pesan, juga melihat perbedaaan kecepatan proses penyandian dari dua mode operasi tersebut. Dalam penelitian ini juga terdapat pegujian statistika dengan metode regresi linear dan pendugaan waktu proses berdasarkan ukuran file. Pada AES- ECB, pengulangan identik pada setiap blok yang dienkripsi akan menghasilkan sebuah pola. Pola ini dapat ditebak jika seorang kriptanalis memiliki database yang cukup untuk menerka pola tersebut dengan frekuensi kemunculan dari setiap blok. AES-CBC menawarkan solusi bagi kekurangan tersebut. Proses XOR antara initialization vector (IV) dan plaintext atau plaintext dengan ciphertext sebelumnya mampu mengacak pesan yang disandikan. Mode operasi CBC, secara tidak signifikan memakan waktu lebih lama dibanding mode ECB namun memberikan keamanan lebih dengan running time yang tidak terlalu berbeda. Kata kunci: AES, CBC, dekripsi, ECB, enkripsi, pendugaan, running time ABSTRACT IRVANY IRSYAD. Comparative Analysis of AES Algorithms with ECB and CBC Operating Mode and Time Estimation Using Linear Regression. Supervised by SRI WAHJUNI. In this research we compared the performance of the ECB and CBC operation modes on AES cryptographic algorithm to perform encryption on a message, and how the differences in speed of the encoding process of the two operation modes. There is also a statistical test of the linear regression method and estimating the processing time by the size. The identical repetition on each encrypted block at AES-ECB will produce a pattern. This pattern can be guessed if a cryptanalyst has enough database to guess the pattern by the frequency of case of each block. AES- CBC offers a solution to process an XOR between initialization vector (IV) and plaintext, or plaintext to previous ciphertext, to randomize the encrypted messages. CBC operation mode, insignificantly take longer time than ECB mode but provides more security with a running time that is not too different. Keyword: AES, CBC, decryption, ECB, encryption, estimation, running time

iii ANALISIS PERBANDINGAN ALGORITME AES DENGAN MODE OPERASI ECB DAN CBC DAN PENDUGAAN WAKTU MENGGUNAKAN REGRESI LINEAR IRVANY IRSYAD Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2016

iv Penguji: 1 Endang Purnama Giri, SKom MKom 2 Auriza Rahmad Akbar, SKomp MKom

v Judul Skripsi : Analisis Perbandingan Algoritme AES dengan Mode Operasi ECB dan CBC dan Pendugaan Waktu Menggunakan Regresi Linear Nama : Irvany Irsyad NIM : G64124005 Disetujui oleh Dr Ir Sri Wahjuni, MT Pembimbing Diketahui oleh Dr Ir Agus Buono, MSi MKom Ketua Departemen Tanggal Lulus:

vi PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta'ala atas rahmat dan segala karunia-nya sehingga skripsi ini berhasil diselesaikan. Tema yang dipilih dalam penelitian adalah kriptografi, dengan judul Analisis Perbandingan Algoritme AES dengan Mode Operasi ECB dan CBC dan Pendugaan Waktu Menggunakan Regresi Linear. Terima kasih penulis ucapkan kepada kedua orang tua, kakak, dan temanteman penulis yang tidak dapat disebut satu persatu atas do a serta dukungan yang diberikan. Kepada Ibu Dr Ir Sri Wahjuni, MT selaku pembimbing, Bapak Endang Purnama Giri, SKom MKom dan Bapak Auriza Rahmad Akbar, SKomp MKom selaku penguji. Kepada Ibu Shelvie Nydia Neyman, SKom MSi atas topik yang telah diberikan. Semoga karya ilmiah ini bermanfaat. Bogor, Mei 2016 Irvany Irsyad

vii DAFTAR ISI DAFTAR TABEL vii DAFTAR GAMBAR vii DAFTAR LAMPIRAN vii PENDAHULUAN 1 Latar Belakang 1 Tujuan Penelitian 1 Manfaat Penelitian 2 Ruang Lingkup Penelitian 2 TINJAUAN PUSTAKA 2 Kriptografi 2 Plaintext dan Ciphertext 3 Deskripsi algoritme AES 3 Expand Key (Ekspansi Kunci) 8 Modus Operasi Algoritme Blok 9 ECB (Electronic Codebook) 9 CBC (Cipher Block Chaining) 9 Regresi Linear 10 METODE PENELITIAN 11 Analisis 11 Perancangan 11 Padding 11 Representasi Plaintext Menjadi Blok-Blok 12 Spesifikasi Uji Keamanan 12 Spesifikasi Uji Running time 12 Spesifikasi Uji Regresi Linear Sederhana dan Pendugaan Running Time 13 Implementasi 13 HASIL DAN PEMBAHASAN 13 Skenario Uji 1 14 Skenario Uji 2 15 Analisis Uji Running time 16 Analisis Regresi Linear Sederhana dan Pendugaan Running Time 20

viii SIMPULAN DAN SARAN 22 Simpulan 22 Saran 22 DAFTAR PUSTAKA 23 LAMPIRAN 23

ix DAFTAR TABEL 1 Jumlah proses berdasarkan besaran bit blok dan kunci (Adiwidya 2009) 3 2 Ringkasan uji keamanan 16 3 Rekapitulasi running time enkripsi dan dekripsi 17 4 Group Statistik 20 5 Independent sample T-test (α = 95%) 20 6 Model summary SPSS 20 7 ANOVA 21 8 Coefficient regresi 21 DAFTAR GAMBAR 1 Proses enkripsi AES-128 (Stallings 2003)... 4 2 Matriks input, array, dan output (Stalling 2003)... 4 3 Matriks key, dan expand key (Stalling 2003)... 5 4 Proses SubBytes (Stalling 2003)... 5 5 Proses ShiftRows (Stalling 2003)... 5 6 Proses MixColumns (Stalling 2003)... 6 7 Proses AddRoundKey (Stalling 2003)... 6 8 Proses dekripsi AES-128 (Stallings 2003)... 7 9 Matriks inverse polimat (Stalling 2003)... 8 10 Proses expand key (Stalling 2003)... 8 11 Nilai konstanta Rcon (Stalling 2003)... 9 12 Skema proses mode operasi ECB (Munir 2004)... 9 13 Skema proses mode operasi CBC (Munir 2004)... 10 14 Alur program pada MatLab... 11 15 Tahap pra proses Uji Keamanan... 13 16 Tahap uji skenario 1... 14 17 Tahap uji skenario 2... 16 18 Hubungan running time enkripsi dekripsi AES-ECB... 18 19 Hubungan running time enkripsi dekripsi AES-CBC... 18 20 Perbandingan proses enkripsi mode ECB dengan CBC... 19 21 Perbandingan proses dekripsi mode ECB dengan CBC... 19 DAFTAR LAMPIRAN 1 Tabel s-box (Stalling 2003) 24 2 Tabel inverse s-box (Stalling 2003) 24 3 Simulasi uji keamanan 25 4 Algoritme operasi perkalian finite field GF(28) 28 5 Tabel RC[j] untuk AES-128 29

x

1 PENDAHULUAN Latar Belakang Data merupakan komoditas utama di ranah kemanan internet. Pengguna internet pada Mei 2015 mencapai 82 juta orang di Indonesia menurut data dari Kementrian Komunikasi dan Informatika (Kemkominfo). Hal tersebut mengisyaratkan perlu adanya tindakan keamanan terhadap data yang berjalan di internet. Bentuk ancaman terhadap data atau pesan dapat berupa ancaman pasif maupun aktif. Ancaman pasif terjadi jika pihak pengganggu secara sengaja mangambil, membaca, dan menampilkan isi pesan. Sedangkan ancaman aktif terjadi jika pihak pengganggu juga memodifikasi isi pesan tersebut (Menezes et al. 1996). Chipertext only attack merupakan salah satu jenis ancaman yang dapat terjadi, penyerang mendapatkan ciphertext dari sejumlah pesan yang telah dienkripsi menggunakan algoritme yang sama kemudian memodifikasinya. Berdasarkan analisis teori yang dilakukan oleh Giri (2004), proses enkripsi Advanced Encryption Standard (AES) memiliki kompleksitas waktu yang efisien melalui penggunaan proses-proses transformasi yang ringan dalam implementasi XOR, shift, dan substitusi. Tetapi, invers dari proses-proses tersebut terkadang memiliki efisiensi yang rendah, akibatnya proses dekripsi AES menjadi lambat dalam implementasi. Pada penelitian tersebut dilakukan juga analisis keamanan dan analisis uji perbandingan kecepatan enkripsi dengan dekripsi. Pada bagian akhir penelitian tersebut disarankan agar penelitian dikembangkan meliputi panjang blok pesan dan panjang kunci yang digunakan dari 128 bit menjadi 192 bit dan 256 bit. Saran lainnya adalah penggunaan modus operasi seperti cipher block chaining (CBC), cipher feedback (CFB), output feedback (OFB), dan counter (CTR). Penelitian tentang mode operasi CBC pernah dilakukan sebelumnya oleh Rachman (2010). Dalam penelitian tersebut dinyatakan bahwa mode operasi CBC jauh lebih rumit dan membutuhkan penanganan matematik lebih dari mode operasi ECB, namun keamanan data dapat tersimpan lebih rahasia karena bit-bit yang terenkripsi bukan dari plaintext langsung melainkan dari bit-bit yang telah terenkripsi sebelumnya. Penelitian ini akan menerapkan dua mode operasi, yaitu ECB dan CBC dan menganalisis sisi keamanan dan kecepatan. Penelitian menggunakan panjang kunci 128 bit. Kemudian melakukan pendugaan running time dengan menggunakan persamaan regresi. Tujuan Penelitian Tujuan dari penelitian ini adalah mengetahui perbandingan keamanan dan kecepatan kemudian membuat model persamaan statistika untuk melakukan pendugaan running time algoritme AES dengan menggunakan blok cipher CBC.

2 Manfaat Penelitian Penelitian ini diharapkan dapat memberikan paparan mengenai keamanan dan kecepatan algoritme kriptografi AES dengan menggunakan blok cipher CBC dan ECB sehingga dapat digunakan sebagai bahan pustaka untuk penelitian selanjutnya atau pengembangan sistem di bidang kriptografi. Ruang Lingkup Penelitian Ruang lingkup penelitian ini antara lain: 1 Pengujian menggunakan 30 plaintext dengan ukuran file berada dalam selang 1000 byte hingga 30 000 byte. 2 Panjang blok kunci 128 bit. 3 Penelitian ini bersifat simulasi. TINJAUAN PUSTAKA Kriptografi Kriptografi merupakan studi teknik matematis yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentukasi entitas, dan autentikasi asal data. Terdapat empat tujuan utama dari kriptografi menurut Menezes et al. (1996) yaitu: 1 Kerahasiaan Adalah layanan yang digunakan untuk menjaga isi informasi dari semua pihak terkecuali bagi mereka yang berwenang memilikinya. 2 Integritas data Adalah layanan tentang perubahan data yang tidak sah. Seseorang harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak yang tidak memiliki hak untuk memastikan ke-integritas-an sebuah data. Manipulasi data meliputi hal-hal seperti penyisipan, penghapusan, dan penukaran (substitusi). 3 Otentikasi Adalah layanan yang berhubungan dengan identifikasi. Fungsi ini berlaku bagi kedua entitas dan informasi itu sendiri. Dua pihak yang sedang berkomunikasi harus mengidentifikasi satu sama lain. Beberapa hal dari sebuah informasi yang disampaikan harus dikonfirmasi seperti data asli, tanggal asli data, isi data, waktu dikirim. Untuk aspek ini kriptografi biasanya dibagi menjadi dua kelas utama: entitas otentikasi dan otentikasi asal data. 4 Non-repudiasi Adalah layanan yang mencegah sebuah entitas untuk menyangkal kesepakatan atau tindakan yang sudah dilakukan.

3 Plaintext dan Ciphertext Plaintext adalah pesan atau data asli yang dapat dibaca yang dimasukan ke dalam algoritma penyandian sebagai input. Ciphertext adalah pesan teracak yang dihasilkan algoritma penyandian sebagai output. Ciphertext bergantung kepada plaintext dan kunci rahasia yang digunakan. Untuk sebuah pesan, dua kunci berbeda akan menghasilkan ciphertext yang berbeda. Ciphertext terlihat sebagai stream data yang acak dan tidak dapat terbaca (Stallings 2003). Deskripsi Algoritme AES AES adalah algoritme penyandian yang diajukan oleh Joan Daemen dan Vincent Rijmen dengan nama algoritme Rijndael yang kemudian ditetapkan sebagai algoritme AES oleh National Institute of Standards and Technology (NIST) dalam Federal Information Processing Standards Publication (FIPS) 197. Algoritme Rijndael termasuk dalam jenis algoritme kriptografi yang bersifat simetri dan cipher blok. Dengan demikian algoritme ini menggunakan kunci yang sama saat proses enkripsi dan dekripsi serta input dan output berupa blok dengan jumlah bit tertentu (Surian 2006). Rijndael mendukung berbagai variasi ukuran blok dan kunci yang akan digunakan. Namun Rijndael mempunyai ukuran blok dan kunci yang tetap sebesar 128, 192, dan 256 bit. Pemilihan ukuran blok data dan kunci akan menentukan jumlah proses enkripsi dan dekripsi. Algoritme ini dapat ditulis dengan AES-128, AES-192, AES-256 yang menunjukkan penggunaan panjang kunci. Pada Tabel 1 ditunjukkan perbandingan jumlah proses yang harus dilalui untuk masing-masing input. Tabel 1 Jumlah proses berdasarkan besaran bit blok dan kunci (Adiwidya 2009) Tipe Panjang kunci Panjang blok input Jumlah putaran (round) AES-128 128 bit 128 bit 10 AES-192 192 bit 128 bit 12 AES-256 256 bit 128 bit 14 Proses Enkripsi Pada Gambar 1 ditunjukkan keseluruhan proses enkripsi dari algoritma penyandian AES. Terdapat empat proses utama yang digunakan, satu proses merupakan permutasi yaitu ShiftRows dan tiga proses merupakan substitusi yaitu AddRoundKey, SubBytes, dan MixColumns. Semua proses tersebut diiringi dengan penjadwalan kunci oleh proses expand key setiap round. Proses ini berakhir pada round 10 yang tidak diikuti tahapan MixCloumns. Input dari satu kali proses penyandian adalah sebesar 128 bit atau 16 byte. Input ini ditransformasi ke dalam matriks 4 4 dengan direpresentasikan dua karakter heksadesimal. Matriks ini disalin ke sebuah array matriks 4 4 yang pada setiap tahapan proses enkripsi atau dekripsi akan diubah. Pada tahapan terakhir array berupa matriks tersebut disalin kembali menjadi output dari proses penyandian. Matriks input, array dan output dapat dilihat pada Gambar 2.

4 Gambar 1 Matriks input, array, dan output (Stallings 2003) Begitu pula dengan kunci yang digunakan sebesar 128 bit akan ditransformasi ke dalam matriks 4 4 kemudian dengan representasi dua karakter heksadesimal. Proses expand key akan menghasilkan sebuah array matriks sepanjang 44 kolom. Setiap kolom pada matriks ini merepresentasikan word (w) dan dimulai dengan w0 seperti terlihat pada Gambar 3. Gambar 2 Proses enkripsi AES-128 (Stallings 2003) Sudah dijelaskan sebelumnya terdapat empat proses utama yang digunakan. Algoritme ini dimulai dengan proses boolean antara matriks input dengan matriks

5 key, yaitu XOR. Proses ini disebut dengan proses AddRoundKey yang menghasilkan sebuah matriks state yang menginisialisasi setiap round. Kemudian diikuti terurut dengan proses SubBytes, ShiftRows, MixColumns, dan AddRoundKey. Hanya saja pada round terakhir tidak terdapat proses MixColumns. Tahapan proses enkripsi selalu dimulai dan diakhiri oleh proses ini AddRoundKey. Gambar 3 Matriks key dan expand key (Stallings 2003) SubBytes SubBytes merupakan proses substitusi terhadap matriks sebesar 16 16 yang isinya merupakan semua kemungkinan kejadian permutasi dari 256 nilai 8 bit. Matriks ini disebut s-box (dapat dilihat pada Lampiran 1). Pemetaan dilakukan dengan menggunakan 4 bit terkiri dari matriks state untuk menentukan baris pada s-box, sedangkan untuk menentukan kolom dengan cara menggunakan 4 bit terkanan pada setiap sel matriks. Proses SubBytes dapat dilihat pada Gambar 4. Gambar 4 Proses SubBytes (Stallings 2003) ShiftRows ShiftRows merupakan proses permutasi matriks sederhana. Proses yang terjadi adalah pergeseran berotasi kekiri sebuah baris pada matriks, dimulai dengan baris kedua yang bergeser berotasi sebanyak satu byte ke kiri, baris ketiga bergeser berotasi sebanyak dua byte ke kiri, dan baris keempat bergeser berotasi sebanyak tiga byte ke kiri. Prores ShiftRows dapat dilihat pada Gambar 5. Gambar 5 Proses ShiftRows (Stallings 2003)

6 MixColumns MixColumns merupakan operasi pada setiap kolom secara terpisah. Setiap byte kolom dipetakan ke dalam nilai baru dengan sebuah fungsi yang melibatkan semua byte yang berada satu kolom. Proses ini menggunakan kaidah perkalian matriks dua dimensi dengan sebuah matriks polimat. Prores MixColumns dapat dilihat pada Gambar 6 dan algoritme operasi perkalian secara detail dapat dilihat pada Lampiran 4. 02 03 01 01 d4 04 [ 01 02 03 01 bf ] [ ] = [ 66 ] 01 01 02 03 5d 81 03 01 01 02 30 e5 Gambar 6 Proses MixColumns (Stallings 2003) AddRoundKey AddRoundKey merupakan proses XOR antara kolom matriks state 4 4 dengan kolom matriks key 4 4. Prores AddRoundKey dapat dilihat pada Gambar 7. Gambar 7 Proses AddRoundKey (Stallings 2003) Proses Dekripsi Tahapan pada proses dekripsi terlihat hampir sama dengan enrkripsi, akan tetapi karena ini merupakan proses penyandian ulang ke bentuk semula maka prosesnya pun berkebalikan (inverse). Proses utama tersusun sebagai berikut, InvShiftRows, InvSubBytes, AddRoundKey, dan InvMixColumns. Penjadwalan kunci dari proses expand key yang digunakan juga berbalik, pada round pertama word yang digunakan adalah w43 dan pada round terakhir word yang digunakan adalah w0. Prores AddRoundKey dapat dilihat pada Gambar 8. InvShiftRows InvShiftRows merupakan proses kebalikan dari ShiftRows. Proses yang terjadi adalah pergeseran berotasi ke kanan sebuah baris pada matriks, dimulai dengan baris kedua yang bergeser berotasi sebanyak satu byte ke kanan, baris ketiga bergeser berotasi sebanyak dua byte ke kanan, dan baris keempat bergeser berotasi sebanyak tiga byte ke kanan.

7 Gambar 8 Proses dekripsi AES-128 (Stallings 2003) InvSubBytes InvSubBytes merupakan proses yang sama dengan SubBytes pada proses enkripsi, hanya saja tabel pemetaan yang digunakan kali ini adalah inverse s-box (Lampiran 2). AddRoundKey Proses AddRoundKey pada proses dekripsi identik dengan proses dekripsi yaitu proses XOR antara matriks state 4 4 dengan matriks key 4 4 yang merupakan hasil dari proses expand key. InvMixColumns InvMixColomns merupakan proses perkalian matriks dua dimensi antara matriks state dengan sebuah matriks inverse polimat. Matriks inverse polimat dapat dilihat pada Gambar 9.

8 Gambar 9 Matriks invers polimat (Stalling 2003) Expand Key (Ekspansi Kunci) Gambar 10 Proses expand key (Stallings 2003) Expand key merupakan proses untuk membangkitkan kunci bagi setiap round pada proses enkripsi maupun dekripsi. Proses Expand key dapat dilihat pada Gambar 10. Proses ini akan membangkitkan 44 word dimulai dengan w0. Empat word pertama didapat dengan langsung menyalin 4 bytes pertama dari kunci asli, sedangkan untuk word pembangkitan selanjutnya menggunakan aturan sebagai berikut: 1 Proses rot word yaitu melakukan pergeseran berotasi satu byte ke kiri (b0, b1, b2, b3) menjadi (b1, b2, b3, b0). (b0, b1, b2, b3) = (k12, k13, k14, k15). 2 Proses sub word yaitu melakukan substitusi terhadap s-box seperti pada proses SubBytes. 3 Lakukan XOR antara sub word dengan nilai konstanta Rcon[j] yang bersuaian dengan setiap round. Tabel konstanta Rcon[j] dapat dilihat pada Gambar 11 dan perhitungan secara detail dapat dilihat pada Lampiran 5. 4 Lakukan proses XOR antara w(0-3) dengan hasil dari langkah ketiga.

9 Gambar 11 Nilai konstanta Rcon (Stallings 2003) Modus Operasi Algoritme Blok Modus operasi algoritme blok merupakan aturan aliran proses algotritme kriptografi blok antara aliran prose suatu blok terhadap proses blok lainnya. Beberapa modus operasi blok diantaranya ECB, CBC, CFB, dan OFB. Implementasi pada penelitian ini hanya menggunakan modus operasi ECB dan CBC (Giri 2004). ECB (Electronic Codebook) Pada mode operasi ini, setiap plaintext Pi dienkripsi secara independen menjadi blok ciphertext Ci. Secara matematis, modus operasi ECB dinyatakan dengan: Ci = Ek(Pi); untuk proses enkripsi (1) Pi = Dk(Ci); untuk proses dekripsi (2) dalam hal ini Pi dan Ci adalah plaintext dan ciphertext blok ke-i. Skema enkripsi dan dekripsi dengan mode operasi ECB dapat dilihat pada Gambar 12. Gambar 12 Skema proses mode operasi ECB (Lung dan Munir 2004) CBC (Cipher Block Chaining) Mode ini menerapkan mekanisme umpan balik (feedback) pada sebuah blok, dalam hal ini hasil enkripsi blok sebelumnya diumpanbalikkan ke dalam enkripsi blok current kemudian di-xor-kan dengan plaintext current. Dengan mode CBC, setiap blok ciphertext bergantung tidak hanya pada blok plaintextnya tetapi juga pada seluruh blok plaintext sebelumnya. Dekripsi dilakukan dengan memasukkan blok ciphertext current ke fungsi dekripsi, kemudia meng-xor -kan hasilnya dengan blok ciphertext sebelumnya. Dalam hal ini, blok ciphertext sebelumnya berfungsi sebagai umpan maju (feedforward) pada akhir proses dekripsi. Secara matematis, modus operasi ECB dinyatakan dengan persamaan berikut:

10 Ci = Ek(Pi Ci-1); untuk proses enkripsi (3) Pi = Dk(Pi) Ci-1; untuk proses dekripsi (4) dalam hal ini, Ci-2 = IV (initialization vector). IV dapat diberikan oleh pengguna atau dibangkitkan secara acak oleh program. Jadi, untuk menghasilkan blok cipherteks pertama (Ci-1), IV digunakan untuk menggantikan blok cipherteks sebelumnya. Sebaliknya pada dekripsi, blok plainteks diperoleh dengan cara meng- XOR-kan IV dengan hasil dekripsi terhadap blok cipherteks pertama. Pada mode CBC, blok plainteks yang sama menghasilkan blok cipherteks yang berbeda hanya jika blok-blok plainteks sebelumnya berbeda. Skema enkripsi dan dekripsi dengan mode CBC dapat dilihat pada Gambar 13. Gambar 13 Skema proses mode operasi CBC (Lung dan Munir 2004) Regresi Linear Regresi linear merupakan teknik untuk membangun persamaan matematik. Persamaan ini menggambarkan antara dua atau lebih variabel dan menaksir nilai variabel dependen berdasarkan pada nilai tertentu pada nilai variabel independennya (Hidayah 2011). Walpole (1992) menyatakan bahwa persamaan matematik yang memungkinkan kita meramalkan nilai-nilai suatu peubah takbebas dari nilai-nilai satu atau lebih peubah bebas disebut persamaan regresi. Pada penelitian ini nilai peubah atau variabel independen (bebas) adalah ukuran file dan running time merupakan variabel dependen. Adapun bentuk persamaan dari regresi linier ini adalah: y = a+bx (5) Nilai a menyatakan perpotongan dengan sumbu tegak, dan b adalah kemiringan atau gradiennya. Lambang y digunakan di sini untuk membedakan antara nilai ramalan yang dihasilkan persamaan regresi dan nilai pengamatan y yang sesungguhnya untuk nilai x tertentu.

11 METODE PENELITIAN Analisis Penelitian ini akan membandingkan kinerja mode operasi ECB dan CBC pada algoritme kriptografi AES dalam melakukan penyandian terhadap sebuah pesan, juga melihat perbedaaan kecepatan proses penyandian dari dua mode operasi tersebut. Dalam penelitian ini juga terdapat pegujian statistika dengan metode regresi linear dan pendugaan waktu proses berdasarkan ukuran file. Perancangan Perancangan ini merupakan alur batch program dan alur program AES pada MatLab. Program ini digambarkan dengan flow diagram dan dapat dilihat pada Gambar 14. (a) (b) Gambar 14 Alur program pada MatLab Padding Proses padding akan menambahkan karakter ASCII dengan kode heksadesimal yang dikurangi satu dari jumlah karakter yang ditambahkan. Hal ini dilakukan agar pada saat pesan didekripsi mudah untuk mengidentifikasi pesan aslinya. Maksimal jumlah padding setiap blok adalah 15 karakter, artinya kemungkinan karakter ASCII yang ditambahkan ke dalam pesan memiliki kode heksadesimal antara 00 sampai 0E. Satu blok pesan terdiri dari 16 karakter atau 16 byte. Proses tersebut dituliskan dengan pseudocode berikut:

12 start end panjang_padding = 16 (ukuran_file mod 16) if ukuran_file mod 16!= 0 then for i = 1 to panjang_padding do plaintext = [plaintext panjang_padding] end for end if Representasi Plaintext Menjadi Blok-Blok Program demo algoritme AES pada MatLab yang digunakan merupakan program yang berjalan dengan ketentuan panjang pesan 128 bit dan kunci 128 bit. Pesan dipetakan kedalam variabel array kemudian diproses satu-persatu. Proses tersebut dituliskan sebagai berikut: Start end read k ukuran_file = length (plaintext); jumlah_blok = ceil(ukuran_file / 16); for i = 1 to jumlah_blok do for j = 1 to 16 index_plaintext(i,k) = plaintext(l); l = l + 1 k = k + 1 end for k = 1 end for Spesifikasi Uji Keamanan Uji keamanan dilakukan dalam beberapa skenario seperti yang dilakukan Lung dan Munir (2004), kasus-kasus uji sebagi berikut: 1 Skenario uji 1 Skenario ini bertujuan untuk menguji tingkat keamanan data algoritma kriptografi AES dengan mode operasi ECB terhadap pengubahan satu bit blok ciphertext, penambahan blok ciphertext, dan penghilangan satu blok ciphertext. 2 Skenario uji 2 Skenario ini bertujuan untuk menguji tingkat keamanan data algoritma kriptografi AES dengan mode operasi CBC terhadap pengubahan satu bit blok ciphertext, penambahan blok ciphertext, dan penghilangan satu blok ciphertext. Masing-masing skenario uji menggunakan tiga blok plaintext dengan harapan cukup menggambarkan situasi uji keamanan yang dilakukan. Spesifikasi Uji Running time Uji running time dilakukan dengan menggunakan 30 ukuran file teks berbeda dalam selang 1 byte sampai 1000 byte sebagai objek kajian, dilanjutkan dengan pengukuran running time dari setiap perlakuan. Ulangan setiap perlakuan dilakukan sebanyak 10 kali (Giri 2004).

13 Spesifikasi Uji Regresi Linear Sederhana dan Pendugaan Running Time Uji regresi dilakukan untuk mengetahui hubungan antara variabel ukuran file dan waktu proses. Pengujian ini menggunakan regresi linear sederhana, ukuran file menjadi variabel bebas (independen) dan waktu proses menjadi variabel terikat (dependen). Regresi linear sederhana akan menghasilkan sebuah persamaan regresi yang akan digunakan sebagai alat pendugaan waktu proses berdasarkan ukuran file. Implementasi Implementasi dirancang dan dibangun dengan menggunakan perangkat keras dan lunak sebagai berikut: 1 Perangkat keras: Processor Intel Core i3 1.7 GHz RAM 4 GB Harddisk 500 GB 2 Perangkat lunak: Sistem operasi Windows 10 64 bit MatLab versi 7.11.0.584 SPSS versi 22 HASIL DAN PEMBAHASAN Pengujian keamanan dilakukan dengan memberikan perlakuan yang sama antara mode operasi ECB dan CBC dalam perannya pada algoritme kriptografi AES dan membuat beberapa skenario pengujian. Plaintext dan kunci yang digunakan untuk penyandian berjumlah tiga blok plaintext dapat dilihat pada Gambar 15. Pengubahan satu bit blok ciphertext dilakukan pada blok kedua, penambahan blok ciphertext diposisikan setelah blok ciphertext kedua, dan penghilangan satu blok ciphertext dilakukan terhadap blok ciphertext kedua. Gambar 15 Tahap pra proses Uji Keamanan

14 Skenario Uji 1 Skenario ini menguji keamanan algoritme kriptografi AES dengan mode operasi ECB, hasilnya dapat dilihat pada Gambar 16: 1 Pengubahan satu bit blok ciphertext pada blok ciphertext kedua, hanya mengakibatkan perubahan terhadap blok plaintext kedua pada hasil dekripsinya. 2 Penambahan satu blok ciphertext setelah blok ciphertext kedua mengakibatkan adanya tambahan satu blok plaintext yang letaknya persis setelah blok plaintext kedua tanpa mempengaruhi hasil dekripsi blok plaintext lainnya. 3 Penghapusan satu blok ciphertext pada blok ciphertext kedua mengakibatkan hilangnya blok plaintext kedua tanpa mempengaruhi hasil dekripsi blok plaintext lainnya. Hasil ini menunjukkan kelemahan juga kelebihan mode operasi ECB, karena setiap blok dapat diproses secara terpisah, hal ini dapat dimanfaatkan dalam pengiriman data terenkripsi secara acak. Jika mode operasi ECB dikerjakan dengan prosesor parallel (multiple processor), maka setiap prosesor dapat melakukan enkripsi atau dekripsi blok plaintext yang berbeda-beda (Rachman 2010). Gambar 16 Tahap uji skenario 1

15 Terjadinya kerusakan satu blok ciphertext hanya akan mempengaruhi blok yang bersangkutan pada saat didekripsi hal ini juga salah satu kelebihan mode operasi ECB Karena setiap blok diproses secara terpisah, hal ini memungkinkan terjadinya kesamaan hasil enkripsi (dengan asumsi blok plaintext yang dienkripsi sama). Penggunaan kata-kata yang sering berulang serpeti dan, yang, pada, karena, merupakan salah satu kelemahan mode operasi ECB, karena saat di enkripsi akan menghasilkan bagian ciphertext yang sama. Pola ini dapat dipecahkan dengan serangan berbasis statistik menggunakan frekuensi kemunculan blok ciphertext (Rachman 2010). Sengaja mengubah satu atau beberapa bit pada sebuah blok ciphertext juga akan menghasilkan blok plaintext yang berbeda. Skenario Uji 2 Skenario ini menguji keamanan algoritme kriptografi AES dengan mode operasi CBC, hasilnya dapat dilihat pada Gambar 17: 1 Pengubahan satu bit blok ciphertext pada blok ciphertext kedua, mengakibatkan perubahan terhadap blok plaintext kedua pada hasil dekripsinya dan satu kesalahan bit diawal pada blok ciphertext berikutnya. 2 Penambahan satu blok ciphertext setelah blok ciphertext kedua mengakibatkan adanya tambahan satu blok plaintext yang letaknya persis setelah blok plaintext kedua diikuti dengan perubahan blok plaintext seterusnya. 3 Penghapusan satu blok ciphertext pada blok ciphertext kedua mengakibatkan hilangnya blok plaintext kedua diikuti dengan perubahan blok plaintext seterusnya. Hasil ini menunjukkan kelemahan juga kelebihan mode operasi CBC. Dalam segi kelebihan mode operasi CBC jauh lebih aman. Hasil enkripsinya tidak menghasilkan pola seperti mode operasi ECB, hal ini dikarenakan ada tambahan operasi Boolean yaitu XOR pada plaintext sebelum proses enkripsi dan pada ciphertext setelah didekripsi. Blok plaintext yang sama juga tidak menghasilkan blok ciphertext yang sama setelah dienkripsi Dari segi kelemahan, sifat-sifat yang didapat dari hasil pengujian diatas dapat dimanfaatkan oleh pihak ketiga. Dengan sengaja menambahkan satu atau lebih blok ciphertext ditengah-tengah file terenkripsi akan menghasilkan plaintext yang berbeda. Sama halnya dengan mode operasi ECB, mengubah satu atau beberapa bit pada sebuah blok ciphertext juga akan menghasilkan blok plaintext yang berbeda, tetapi ini hanya berpengaruh pada blok ciphertext yang bersangkutan dan satu kesalahan bit pada posisi yang sama dalam blok ciphertext berikutnya. Dengan melihat hasil uji keamanan, dapat penulis tarik kesimpulan bahwa mode operasi CBC lebih unggul dalam hal ketangguhan data, dan lebih menyulitkan para kriptanalis untuk melihat isi file terenkripsi. Hal-hal seperti pengubahan bit atau penambahan blok ciphertext dapat diatasi dengan mengimplementasikan fungsi hash.

16 Gambar 17 Tahap uji skenario 2 Kekurangan Kelebihan Tabel 2 Ringkasan uji keamanan ECB Terdapat hasil penyandian yang sama terhadap blokblok identik. Kerusakan pesan hanya terjadi pada blok-blok yang termodifikasi. CBC Memiliki dampak yang besar terhadap serangan ciphertext-only attack. Menghasilkan ciphertext yang lebih rumit. Analisis Uji Running time Kecepatan merupakan salah satu faktor yang menjadi pertimbangan dalam memilih sebuah algoritme. Bobot pertimbangan tentunya akan berbeda, misalnya ketika memilih algoritme sorting dan algoritme keamanan. Pada algoritme sorting, asumsi memilih proses yang paling cepat dapat dibenarkan, sedangkan pada algoritme keamanan ada faktor lain yang tentunya sama atau lebih penting yaitu protokol keamanan itu sendiri. Perbandingan kecepatan menjadi hal yang kompleks dan memiliki berbagai faktor yang mempengaruhi hasil pengujian seperti yang sudah dibahas pada penelitian Giri (2004), beberapa faktor tersebut yaitu, sistem operasi yang digunakan, spesifikasi komputer yang digunakan (prosesor, RAM, media penyimpanan, dan lain-lain), dan juga platform bahasa pemrograman yang digunakan (assembly, compiler, interpreter).

17 Pada uji running time ini diasumsikan bahwa faktor background processes diabaikan. Parameter yang direkam adalah waktu proses enkripsi dan dekripsi algoritme kriptografi AES dengan dua mode operasi yaitu ECB dan CBC. Hasil perekaman ini digunakan untuk membandingkan running time kedua mode operasi tersebut. Rekapitulasi data disajikan pada Tabel 3. Ukuran file (byte) Tabel 3 Rekapitulasi running time enkripsi dan dekripsi Ukuran Enkripsi Dekripsi setelah Jumlah ECB CBC ECB padding blok (detik) (detik) (detik) (byte) CBC (detik) 1000 1008 63 0.546 0.909 0.576 0.919 2000 2016 126 1.084 1.801 1.142 1.816 3000 3008 188 1.629 2.711 1.776 2.745 4000 4016 251 2.166 3.600 2.267 3.647 5000 5008 313 2.711 4.509 2.975 4.619 6000 6016 376 3.246 5.403 3.614 5.510 7000 7008 438 3.785 6.298 3.966 6.340 8000 8016 501 4.330 7.198 4.497 7.222 9000 9008 563 4.876 8.114 5.236 8.133 10000 10016 626 5.410 9.003 5.642 9.024 11000 11008 688 5.965 9.919 6.417 9.953 12000 12016 751 6.513 10.819 6.777 10.856 13000 13008 813 7.045 11.716 7.409 11.760 14000 14016 876 7.584 12.616 7.944 12.675 15000 15008 938 8.168 13.638 8.409 13.566 16000 16016 1001 8.960 14.885 9.119 14.454 17000 17008 1063 9.432 15.640 10.308 15.369 18000 18016 1126 9.941 16.590 10.188 16.269 19000 19008 1188 10.613 17.652 10.639 17.172 20000 20016 1251 10.971 18.269 11.391 18.090 21000 21008 1313 11.545 19.220 11.960 18.967 22000 22016 1376 12.042 20.058 12.437 19.907 23000 23008 1438 12.683 21.076 13.278 20.778 24000 24016 1501 13.234 22.061 13.542 21.683 25000 25008 1563 15.167 24.204 14.179 22.589 26000 26016 1626 14.659 24.649 14.558 23.473 27000 27008 1688 15.104 25.168 15.221 24.417 28000 28016 1751 15.175 25.251 15.777 25.320 29000 29008 1813 15.612 26.013 16.522 26.136 30000 30016 1876 16.196 26.968 17.059 27.092 Berdasarkan Tabel 1, running time dari proses enkripsi maupun dekripsi kedua mode operasi terus bertambah seiring meningkatnya ukuran file. Hal ini dikarenakan bertambahnya blok pesan yang mengakibatkan pengulangan proses enkripsi dan dekripsi ikut bertambah. Laju pertumbuhan running time mengalami peningkatan disetiap blok sebesar 16 byte (128 bit), bukan berdasarkan peningkatan

18 jumlah byte plaintext yang sama. Representasi kedalam bentuk grafik untuk melihat hubungan antara proses enkripsi dan dekripsi dapat dilihat pada Gambar 18. 30 Running time (detik) 25 20 15 10 5 Enkripsi Dekripsi 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Ukuran file (kilobyte) Gambar 18 Hubungan running time enkripsi dekripsi AES-ECB Dari Gambar 19, terlihat laju pertumbuhan running time enkripsi dekripsi dengan mode CBC tidak sejalan dengan pernyataan bahwa laju pertumbuhan running time seiring dengan kenaikan ukuran file. Dapat dilihat pada proses enkripsi selang ukuran file 17000 18000 byte yang mengalami penurunan running time. Hal ini desebabkan oleh background processes yang berjalan di sistem operasi yang mengkonsumsi resource dari komputer. Microsoft pun menegaskan perlunya pengembangan dalam efisiensi background processes pada sistem operasi sistem windows untuk meningkatkan performance (Microsoft 2009). Terbukti bahwa permasalahan background processes mempengaruhi kegiatan uji running time. 30 Running time (detik) 25 20 15 10 5 Enkripsi Dekripsi 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Ukuran file (kilobyte) Gambar 19 Hubungan running time enkripsi dekripsi AES-CBC Dari grafik hubungan running time enrkipsi-dekripsi terlihat bahwa proses dekripsi memiliki running time yang lebih lama dibanding proses enkripsi, karena proses invers dari proses-proses seperti XOR, pergeseran (shift), dan substitusi memiliki efisiensi yang rendah. Terutama pada proses invers MixColumn yang

19 terdapat perkalian, perjumlahan dan juga pergeseran bit. Invers MixColumn merupakan proses yang menyumbangkan waktu terbanyak disbanding invers ShiftRows, invers SubBytes dan invers AddRoundKey. Hal ini juga sudah dibuktikan pada penelitian sebelumnya dengan uji statistik menggunakan independent sample T-test dengan asumsi enkripsi dan dekripsi merupakan dua proses berbeda. Hasilnya menyatakan terdapat perbedaan representasi nilai rataan pada proses enkripsi dan dekripsi sebesar 0.7756. Nilai yang cukup besar jika diketahui nilai rataan nyata proses enkripsi dan dekripsi yaitu 1.5410 dan 2.3165 (Giri 2004). Perbandingan proses enkripsi dan dekripsi pada mode operasi ECB dan CBC dapat dilihat pada Gambar 20 dan 21. Running time (detik) 18 16 14 12 10 8 6 4 2 0 ECB CBC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Ukuran file (kilobyte) Gambar 20 Perbandingan proses enkripsi mode ECB dengan CBC. 30 Running time (detik) 25 20 15 10 5 ECB CBC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Ukuran file (byte) Gambar 21 Perbandingan proses dekripsi mode ECB dengan CBC Penulis juga melakukan uji statistik menggunakan independent sample T-test untuk mengetahui besar perbedaan running time enkripsi pada mode ECB dan CBC. Asumsi yang digunakan adalah bahwa proses enkripsi pada kedua mode operasi merupakan dua proses yang berbeda dan hanya ditentukan oleh variabel bebas berupa ukuran file. Hasil yang didapat dari uji statistik dapat dilihat pada Tabel 4 dan 5.

20 Tabel 4 Grup statistik Proses Mode N Mean Std. Std. error deviation mean Enkripsi ECB 30 8.54640 4.906720 0.895840 CBC 30 8.82750 4.969683 0.907336 Dekripsi ECB 30 14.19860 8.136525 1.485519 CBC 30 14.01670 7.939253 1.449503 Proses F t df Tabel 5 Independent sample T-test (α = 95%) Sig. (2- tailed) Mean difference Std. error difference 95% Confidence interval of the difference Lower Upper Enkripsi 0.004-0.220 57.991 0.826-0.281100 1.275064-2.833427 2.271227 Dekripsi 0.045 0.088 57.965 0.930 0.181900 2.075530-3.972778 4.336578 Keterangan: N F t df Sig.(2-tailed) = jumlah data = nilai Levene s test (uji asumsi homogen) = nilai perbandingan rataan = digree of freedom (derajat bebas) = nilai signifikan Dari hasil uji statistik dengan selang kepercayaan α = 95% pada proses enrkipsi didapatkan nilai Sig. > 0.05 yaitu sebesar 0.826 dan pada proses dekripsi didapatkan nilai Sig. > 0.05 yaitu sebesar 0.930. Dapat disimpulkan bahwa running time antara mode ECB dan CBC memiliki rataan laju pertumbuhan running time yang tidak berbeda signifikan. Kesimpulan lain mengenai laju pertumbuhan running time proses enkripsi dengan mode operasi ECB memiliki rataan yang lebih rendah disbanding dengan CBC, hal ini dinyatakan oleh nilai mean difference yang bernilai negatif sebesar -2.811. Uji statistik ini menunjukkan bahwa proses penyandian dengan mode operasi CBC memakan waktu lebih lama dibanding ECB. Secara teori proses pada mode operasi CBC memiliki proses yang tidak dilakukan pada mode ECB, yaitu proses XOR pada plaintext sebelum masuk ke proses penyandian. Analisis Regresi Linear Sederhana dan Pendugaan Running Time Regresi Linear Sederhana Pengujian ini dilakukan terhadap proses enkripsi dan dekripsi algoritme kriptografi AES dengan menggunakan mode operasi CBC. Dalam implementasinya pada software SPSS, pengujian ini menghasilkan tiga tabel yang menjelaskan korelasi antara variabel ukuran file dengan variabel running time, pembuktian linearitas dan persamaan regresi yang digunakan sebagai alat pendugaan nilai variabel running time. Tabel 6 Model summary SPSS Model R R square Std. error of the estimate Enkripsi 1.000 0.999 273.403 Dekripsi 1.000 1.000 28.956

21 Tabel 6 menampilkan nilai R yang merupakan faktor dari nilai koefisien korelasi. Dari hasil yang didapat nilai korelasinya adalah 1.000. Nilai ini dapat menginterpratasikan bahwa variabel ukuran file sangat mempengaruhi nilai dari variabel running time. Dalam tabel ini juga diperoleh nilai R Square atau koefisien determinasi yang menunjukkan seberapa bagus model regresi yang dibentuk dari variabel ukuran file dan running time. Nilai koefisien determinasi yang diperoleh sebesar 0.999 atau dapat diinterpretasikan 99.9% yang artinya bahwa variabel ukuran file memiliki pengaruh sebesar 99.9% terhadap variabel running time. Tabel 7 ANOVA Model Sum of Squares df Mean Square f Sig. Enkripsi Regression 2245407017.212 1 2245407017.212 30039.137 0.000 Residual 2092982.788 28 74749.385 Total 2247500000.000 29 Dekripsi Regression 2247476522.893 1 2247476522.893 2680455.569 0.000 Residual 23477.107 28 838.468 Total 2247500000.000 29 Tabel 7 menampilkan nilai taraf signifikan atau linearitas dari regersi. Kriterianya dapat dilihat berdasarkan uji F atau uji nilai signifikan (Sig.). Penulis menggunakan nulai uji Sig. dengan ketentuan jika Sig. < 0.05, maka model regresi dinyatakan linear. Dari Tabel 7 didapat nilai Sig. sebesar 0.00. Dengan demikian dapat ditarik kesimpulan model regresi yang dibuat memenuhi kriteria linear. Tabel 8 Coefficient regresi Model Unstandardized coefficients Standardized coefficients t Sig. B Std. error Beta Enkripsi (Constant) -129.949 103.074-1.261 0.218 size 1770.597 10.216 1.000 173.318 0.000 Dekripsi (Constant) -42.280 10.866-3.891 0.001 size 1108.840 0.677 1.000 1637.210 0.000 Pada Tabel 8 terdapat model persamaan regresi dengan koefisien konstanta dan koefisien variabel yaitu: Y = -129.949 + 1770.597X; untuk proses enkripsi (6) Y = - 42.28 + 1108.84X; untuk proses dekripsi (7) Koefisien B dinamakan sebagai koefisien arah regresi dan menyatakan ratarata variabel Y untuk setiap perubahan variabel X. Perubahan ini merupakan pertambahan jika koefisien B bernilai positif dan penurunan jika B bernilai negatif. Sehingga dari persamaan tersebut dapat diterjemahkan sebagai berikut: Konstanta sebesar -129.949 pada persamaan regresi proses enkripsi menyatakan bahwa jika tidak ada nilai size maka nilai partisipasi sebesar -129.949. Konstanta sebesar -42.280 pada persamaan regresi proses dekripsi menyatakan bahwa jika tidak ada nilai size maka nilai partisipasi sebesar -42.280. Koefisien regresi X sebesar 1770.597 pada persamaan regresi proses enkripsi menyatakan bahwa setiap penambahan satu nilai size makan nilai pertisipasinya sebesar 1770.597.

22 Koefisien regresi X sebesar 1108.840 pada persamaan regresi proses dekripsi menyatakan bahwa setiap penambahan satu nilai size makan nilai pertisipasinya sebesar 1108.840. Pendugaan Running Time Dalam melakukan pendugaan nilai variabel running time menggunakan persamaan regresi yang telah didapat, perlu adanya identifikasi akurasi model regresi. Dapat dilihat dari hasil regresi menggunakan SPSS penulis menggunakan nilai standard error of estimate dengan ketentuan jika standard error of estimate < Std. deviation variabel y (running time), maka model regresi yang dihasilkan dapat digunakan dalam pendugaan running time. Nilai standard error of estimate dari proses enkripsi dan dekripsi berturut-turut dengan menggunakan mode CBC sebesar 0.049 dan 0.063, sedangkan nilai Std. deviation variabel running time sebesar 1.557 dan 1.739. Dari nilai tersebut didapat fakta bahwa proses enkripsi dengan mode CBC memiliki persentase kesalahan sebesar 3.14% dan tinggkat akurasi pendugaan model regresi sebesar 96.85%. Proses dekripsi memiliki tingkat kesalahan lebih besar yaitu 3.62% sehingga memiliki persntase akurasi yang tidak lebih baik yaitu 96.37%. Hasil ini terbilang baik dalam meramalkan sebuah nilai yang belum diketahui. SIMPULAN DAN SARAN Simpulan Pengulangan identik pada setiap blok yang dienkripsi akan menghasilkan sebuah pola. Pola ini dapat ditebak jika seorang kriptanalis memiliki database yang cukup untuk menerka pola tersebut dengan frekuensi kemunculan dari setiap blok. Hal tersebut menunjukkan kurangnya ketangguhan dalam merahasiakan sebuah pesan. Berbeda dengan AES-ECB, AES-CBC menawarkan solusi bagi kekurangan tersebut. Proses XOR antara initialization vector (IV) dan plaintext atau plaintext dengan ciphertext sebelumnya mampu mengacak pesan yang disandikan, sehingga hasilnya akan lebih kompleks. Melihat dari hasil uji running time mode operasi CBC, secara tidak signifikan memang memakan waktu lebih lama dibanding mode ECB. Hal ini dibuktikan dengan pengujian statistik menggunakan metode independent sample T-test yang hasilnya menyatakan mean difference bernilai -0.0463. Nilai tersebut terbilang sangat kecil mengingat rataan untuk running time proses ECB dan CBC adalah 2.5763 dan 2.6226. Untuk kesimpulan akhir yang didapat bahwa meskipun proses penyandian yang lebih kompleks namun memberikan keamanan lebih dengan running time yang tidak terlalu berbeda, maka mode operasi CBC lebih baik digunakan pada algoritme kriptografi AES. Saran Kecepatan algoritme kriptografi AES sangat bergantung dengan ukuran file atau banyaknya bit data yang diproses. Jika data yang diproses dapat dikurangi

23 tetapi tidak mengubah keaslian dari plaintext, hal ini sangat berguna untuk mengurangi running time. Penggunaan kompresi data Huffman pada optimasi kecepatan running time dapat dilakukan pada penelitian berikutnya. DAFTAR PUSTAKA Adiwidya BMD. 2009. Algoritma AES (Advanced Encryption Standard) dan penggunaanya dalam penyandian pengompresian data [laporan]. Bandung (ID): Institut Teknologi Bandung. Giri EP. 2004. Analisis algoritme dan waktu enkripsi versus dekripsi pada Advanced Encryption Standard [skripsi]. Bogor (ID): Institut Pertanian Bogor. Hidayah AN. 2011. Metode Theil pada analisis regresi linear sederhana nonparametrik [skripsi]. Semarang (ID): Universitas Negeri Semarang. Lung C, Munir R. 2004. Studi dan implementasi advanced encryption standard dengan empat mode operasi blok cipher [laporan]. Bandung (ID): Institut Teknologi Bandung. Menezes A, Van Oorschot P, Vanstone S. 1996. Handbook of Applied Cryptography. Massachusetts (US): CRC Press. Rachman AK. 2010. Perbandingan mode cipher electronik codebook dan cihper block chaining dalam pengamanan data. Jurnal Teknologi. 3(1): 84 89. Stallings W. 2003. Cryptography and Network Security Principles and Practice. Ed ke-3. New Jersey (US): Pearson Education. Surian D. 2006. Algoritma kriptografi AES Rijndael. Jurnal Teknik Elektro. 8(2): 97 101. Walpole RE. 1992. Pengantar Statistik. Ed ke-3. Jakarta (ID): Gramedia.

24 Lampiran 1 Tabel s-box (Stallings 2003) Lampiran 2 Tabel inverse s-box (Stallings 2003)

25 Lampiran 3 Simulasi uji keamanan PLAINTEXT: satu dua tiga empat lima enam tujuh delapan KEY: 1234567812345678 PRA PROSESSING transformasi plaintext ke dalam bilangan heksadesimal: 73 61 74 75 20 64 75 61 20 74 69 67 61 20 65 6d 70 61 74 20 6c 69 6d 61 20 65 6e 61 6d 20 74 75 6a 75 68 20 64 65 6c 61 70 61 6e transformasi plaintext ke dalam bilangan heksadesimal setelah padding: 73 61 74 75 20 64 75 61 20 74 69 67 61 20 65 6d 70 61 74 20 6c 69 6d 61 20 65 6e 61 6d 20 74 75 6a 75 68 20 64 65 6c 61 70 61 6e 05 05 05 05 05 transformasi key ke dalam bilangan heksadesimal: 31 32 33 34 35 36 37 38 31 32 33 34 35 36 37 38 SKENARIO UJI 1 AES-ECB setelah proses penyandian pesan, akan menghasilkan ciphertext: Ç:õCR& >Ò ŠÈïèF ßýÿ`MþjÊs<ÉR@ºt¾ÕðdØ + I transformasi ciphertext ke dalam bilangan heksadesimal: c7 1f 3a f5 0c 43 52 26 bf 3e d2 98 8a c8 ef 8e e8 46 ac df fd ff 7f 60 4d c3 be 6a ca 73 8e 3c c9 52 40 ba 74 be 90 08 d5 f0 64 d8 82 2b a5 49 pengubahan satu bit blok ciphertext pada blok ciphertext kedua, bit heksadesimal pertama (e8 menjadi e9): satu dua tiga em š3fã ñ%ü ˆ Zjuh delapan transformasi plaintext ke dalam bilangan heksadesimal: 73 61 74 75 20 64 75 61 20 74 69 67 61 20 65 6d 87 9a 33 15 46 e3 8d f1 25 fc 92 8d 88 07 94 5a 6a 75 68 20 64 65 6c 61 70 61 6e penambahan blok ciphertext setelah blok ciphertext kedua (74 61 6d 62 61 68 20 62 6c 6f 63 6b 20 75 6a 69): satu dua tiga empat lima enam tu H vry ô\ º B juh delapan

26 Lampiran 3 Lanjutan transformasi plaintext ke dalam bilangan heksadesimal: 73 61 74 75 20 64 75 61 20 74 69 67 61 20 65 6d 70 61 74 20 6c 69 6d 61 20 65 6e 61 6d 20 74 75 07 48 15 76 72 59 8b f4 5c 09 ba 9b 42 a4 90 0b 6a 75 68 20 64 65 6c 61 70 61 6e penghilangan satu blok ciphertext pada blok ciphertext kedua: satu dua tiga emjuh delapan transformasi plaintext ke dalam bilangan heksadesimal: 73 61 74 75 20 64 75 61 20 74 69 67 61 20 65 6d 6a 75 68 20 64 65 6c 61 70 61 6e SKENARIO UJI 2 AES-CBC initialization vector: 00 11 22 33 44 55 66 77 88 99 aa bb cc dd e eff setelah proses penyandian pesan, akan menghasilkan ciphertext: î ¾¾c 0êyÆM«Ú`p Õ 6Øèïg\U9 µ \±më ZjG RS K transformasi ciphertext ke dalam bilangan heksadesimal: 97 ee ad 11 be be 63 b8 30 ea 79 c6 4d ab da 60 70 a8 d5 91 b8 b8 36 d8 e8 ef 67 5c 55 39 10 9b b5 08 5c b1 6d eb 09 1f 5a 6a 47 84 52 53 87 4b pengubahan satu bit blok ciphertext pada blok ciphertext kedua, bit heksadesimal pertama (70 menjadi 71): satu dua tiga emá Œ$`> ølƒž µ^5kuh delapan transformasi plaintext ke dalam bilangan heksadesimal: 73 61 74 75 20 64 75 61 20 74 69 67 61 20 65 6d c1 f7 8c 24 60 3e 20 f8 4c 83 8e f7 07 b5 5e 35 6b 75 68 20 64 65 6c 61 70 61 6e penambahan blok ciphertext setelah blok ciphertext kedua (74 61 6d 62 61 68 20 62 6c 6f 63 6b 20 75 6a 69): satu dua tiga empat lima enam tuwààçêá½, æýç n¼ðó½µzûôáj pi transformasi plaintext ke dalam bilangan heksadesimal: 73 61 74 75 20 64 75 61 20 74 69 67 61 20 65 6d 70 61 74 20 6c 69 6d 61 20 65 6e 61 6d 20 74 75

27 Lampiran 3 Lanjutan 77 e0 c0 e7 ca e1 bd 2c b4 e6 dd c7 17 9d 80 90 6e bc d0 d3 bd b5 7a db f4 e1 6a 17 70 49 7f f7 penghilangan satu blok ciphertext pada blok ciphertext kedua: satu dua tiga em 3 bc9 dpº Ïþ transformasi plaintext ke dalam bilangan heksadesimal: 73 61 74 75 20 64 75 61 20 74 69 67 61 20 65 6d 8d 33 10 a0 62 63 39 01 a8 64 70 ba 1d 97 cf fe

28 Lampiran 4 Algoritme operasi perkalian finite field GF(28) 02 03 01 01 d4 04 [ 01 02 03 01 ] [ bf ] = [ 66 ] 01 01 02 03 5d 81 03 01 01 02 30 e5 Untuk mendapatkan hasil blok 04 dilakukan perhitungan sebagai berikut: - (02.d4) 04=(02.d4)+(03.bf)+(01.5d)+(01.30) Mulai dengan mengubah nilai heksadesimal d4 menjadi bilangan biner, lakukan 1-bit left shift kemudian di-xor-kan dengan (0001 1011) berdasarkan aturan perkalian finite field GF(2 8 ) dalam buku tulisan Stalling pada tahun 2003. d4=1101 0100 (02.d4)=1101 0100 1 (02.d4)=1010 1000 0001 1011 (02.d4)=1011 0011 - (03.bf) Mulai dengan mengubah nilai heksadesimal bf menjadi bilangan biner. Dalam melakukan perkalian dengan 03, dapat diubah menjadi sebagi berikut: (03.bf)=bf (02.bf) (03.bf)=1011 1111 1011 1111 1 (03.bf)=1011 1111 0111 1110 0001 1011 (03.bf)=1101 1010 - (01.5d) dan (01.30) Pada dasarnya perkalian dengan angka 1 tidak merubah hasil apapun, oleh karna itu bagian ini hanya perlu mengubah nilai menjadi bilangan biner. 5d=0101 1101 30=0011 0000 Langkah selanjutnya adalah meng-xor-kan semua hasil tersebut. 04=(02.d4)+(03.bf)+(01.5d)+(01.30) 04=1011 0011 1101 1010 0101 1101 0011 0000 04=0000 0100 04=04 (heksadesimal)