ENKRIPSI DAN DEKRIPSI DENGAN ALGORITMA AES 256 UNTUK SEMUA JENIS FILE Voni Yuniati (1), Gani Indriyanta (2), Antoniu Rahmat C (3) Abtrak: Kemajuan teknologi komputer dan telekomunikai telah menjadi kebutuhan dan angat membantu dalam menyeleaikan banyak pekerjaan dengan epat, akurat, dan efiien. Namun eiring dengan kemajuan teknologi, terdapat dampak negatif berupa penyadapan data ehingga apek keamanan dalam pertukaran informai dianggap penting. Dalam dunia informai terdapat data-data penting dan berifat rahaia yang tidak boleh diketahui oleh umum. Kriptografi merupakan alah atu olui atau metode pengamanan data yang tepat untuk menjaga kerahaiaan dan kealian data, erta dapat meningkatkan apek keamanan uatu data atau informai. Metode ini bertujuan agar informai yang berifat rahaia dan dikirim melalui uatu jaringan, eperti LAN atau Internet, tidak dapat diketahui atau dimanfaatkan oleh orang atau pihak yang tidak berkepentingan. Kriptografi mendukung kebutuhan dua apek keamanan informai, yaitu perlindungan terhadap kerahaiaan data informai dan perlindungan terhadap pemaluan dan pengubahan informai yang tidak diinginkan. Hail penelitian menunjukkan bahwa algoritma AES dengan panjang kuni 256 bit dapat menyandikan ii uatu file ehingga dapat mengamankan file terebut. Ukuran file enkripi akan bertambah 11 byte dari file ali karena adanya proe penambahan header yang berii informai ekteni file. Dalam pengembangan item berikutnya diharapkan item dapat mempunyai failita untuk menyembunyikan folder yang digunakan untuk menyimpan file enkripi maupun file dekripi. Kata Kuni : Advaned Enryption Standard, dekripi, enkripi, kriptografi, Rijndael 1. Pendahuluan Perkembangan teknologi komputer dan telekomunikai dewaa ini telah mengalami kemajuan yang angat peat dan udah menjadi uatu kebutuhan, karena banyak pekerjaan dapat dieleaikan dengan epat, akurat, dan efiien. Sejalan dengan perkembangan teknologi terebut, emakin mengubah ara mayarakat dalam berkomunikai. Dulu komunikai jarak jauh maih menggunakan ara yang konvenional, yaitu dengan ara aling mengirim urat, tetapi ekarang komunikai jarak jauh dapat dilakukan dengan mudah dan epat yaitu dengan adanya teknologi eperti email, SMS ( Short Meaging Servie ), dan internet yang merupakan alah atu teknologi telekomunikai yang paling banyak digunakan. Internet telah membuat komunikai emakin terbuka dan pertukaran informai juga emakin epat melewati bata-bata negara dan budaya. Namun tidak emua perkembangan teknologi komunikai memberikan dampak yang poitif dan menguntungkan. Salah atu dampak negatif dalam perkembangan teknologi adalah adanya penyadapan data, yang merupakan alah atu maalah yang paling ditakuti oleh para pengguna jaringan komunikai. Dengan adanya penyadapan data maka apek keamanan dalam pertukaran informai dianggap penting, karena uatu komunikai data jarak jauh belum tentu memiliki jalur tranmii yang aman dari penyadapan ehingga keamanan informai menjadi bagian penting dalam dunia informai itu endiri. Di dalam dunia informai terdapat data-data yang tidak terlalu penting jadi jika publik mengetahui data terebut pemilik data tidak terlalu dirugikan. Tetapi apabila pemilik data adalah pihak militer atau pihak pemerintah, keamanan dalam pertukaran informai menjadi angatlah penting karena data yang mereka kirim adalah data-data rahaia yang tidak boleh diketahui oleh publik. ( 1) Voni Yuniati, Alumni Fakulta Teknik Informatika Univerita Kriten Duta Waana Yogyakarta. Email : 22043475@ukdw.a.id ( 2) Ir. Gani Indriyanta, M.T., Doen Teknik Informatika, Fakulta Teknik, Univerita Kriten Duta Waana. Email : ganind@ukdw.a.id ( 3) Antoniu Rahmat C, S.Kom., M.C., Doen Teknik Informatika, Fakulta Teknik, Univerita Kriten Duta Waana. Email : anton@ukdw.a.id
23 JURNAL INFORMATIKA, VOLUME 5 NOMOR 1, APRIL 2009 Kriptografi merupakan alah atu olui atau metode pengamanan data yang tepat untuk menjaga kerahaiaan dan kealian data, erta dapat meningkatkan apek keamanan uatu data atau informai. Metode ini bertujuan agar informai yang berifat rahaia dan dikirim melalui uatu jaringan, eperti LAN atau internet, tidak dapat diketahui atau dimanfaatkan oleh orang atau pihak yang tidak berkepentingan. Kriptografi mendukung kebutuhan dua apek keamanan informai, yaitu perlindungan terhadap kerahaiaan data informai dan perlindungan terhadap pemaluan dan pengubahan informai yang tidak diinginkan. Untuk mengetahui apakah uatu algoritma kriptografi dapat mengamankan data dengan baik dapat dilihat dari egi lamanya waktu proe pembobolan untuk memeahkan data yang telah diandikan. Seiring dengan perkembangan teknologi komputer yang emakin anggih, maka dunia teknologi informai membutuhkan algoritma kriptografi yang lebih kuat dan aman. Saat ini, AES ( Advaned Enryption Standard ) merupakan algoritma ipher yang ukup aman untuk melindungi data atau informai yang berifat rahaia. Pada tahun 2001, AES digunakan ebagai tandar algoritma kriptografi terbaru yang dipublikaikan oleh NIST ( National Intitute of Standard and Tehnology ) ebagai pengganti algoritma DES ( Data Enryption Standard ) yang udah berakhir maa penggunaannya. Algoritma AES adalah algoritma kriptografi yang dapat mengenkripi dan mendekripi data dengan panjang kuni yang bervariai, yaitu 128 bit, 192 bit, dan 256 bit. 2. Dekripi Singkat Mengenai Advaned Enryption Standard Input dan output dari algoritma AES terdiri dari urutan data ebear 128 bit. Urutan data yang udah terbentuk dalam atu kelompok 128 bit terebut diebut juga ebagai blok data atau plaintext yang nantinya akan dienkripi menjadi iphertext. Cipher key dari AES terdiri dari key dengan panjang 128 bit, 192 bit, atau 256 bit. Perbedaan panjang kuni akan mempengaruhi jumlah round yang akan diimplementaikan pada algoritma AES ini. Berikut ini adalah Tabel 1 yang memperlihatkan jumlah round / putaran ( Nr ) yang haru diimplementaikan pada maingmaing panjang kuni. Tabel 1 Perbandingan Jumlah Round dan Key Dikutip dari: Kriptografi, 2006, halaman 158 Jumlah Key (Nk) Ukuran Blok (Nb) Jumlah Putaran (Nr) AES 128 4 4 10 AES 192 6 4 12 AES 256 8 4 14 Pada daarnya, operai AES dilakukan terhadap array of byte dua dimeni yang diebut dengan tate. State mempunyai ukuran NROWS X NCOLS. Pada awal enkripi, data maukan yang berupa in0, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15 dialin ke dalam array tate. State inilah yang nantinya dilakukan operai enkripi / dekripi. Kemudian keluarannya akan ditampung ke dalam array out. Gambar 1 mengilutraikan proe penyalinan dari input byte, tate array, dan output byte : Gambar 1 Proe Input Byte, State Array, dan Output Byte Dikutip dari: Kriptografi, 2006, halaman 161
Yuniati, Enkripi Dan Dekripi Dengan Algoritma Ae 256 Untuk Semua Jeni File 24 Pada aat permulaan, input bit pertama kali akan diuun menjadi uatu array byte dimana panjang dari array byte yang digunakan pada AES adalah epanjang 8 bit data. Array byte inilah yang nantinya akan dimaukkan atau diopy ke dalam tate dengan urutan dimana r ( row / bari ) dan (olumn/kolom) : [r,] = in[r+4] untuk 0 r < 4 dan 0 < Nb edangkan dari tate akan diopy ke output dengan urutan : out[r+4] = [r,] untuk 0 r <4 dan 0 < Nb 3. Proe Enkripi Advaned Enryption Standard Proe enkripi algoritma AES terdiri dari 4 jeni tranformai byte, yaitu SubByte, ShiftRow, Mixolumn, dan AddRoundKey. Pada awal proe enkripi, input yang telah diopykan ke dalam tate akan mengalami tranformai byte AddRoundKey. Setelah itu, tate akan mengalami tranformai SubByte, ShiftRow, MixColumn, dan AddRoundKey eara berulang-ulang ebanyak Nr. Proe ini dalam algoritma AES diebut ebagai round funtion. Round yang terakhir agak berbeda dengan round-round ebelumnya dimana pada round terakhir, tate tidak mengalami tranformai MixColumn. Ilutrai proe enkripi AES dapat digambarkan eperti pada Gambar 2 di bawah ini : Gambar 2 Ilutrai Proe Enkripi AES Dikutip dari: Kriptografi, 2006, halaman 159 3.1 AddRoundKey Pada proe enkripi dan dekripi AES proe AddRoundKey ama, ebuah round key ditambahkan pada tate dengan operai XOR. Setiap round key terdiri dari Nb word dimana tiap word terebut akan dijumlahkan dengan word atau kolom yang bereuaian dari tate ehingga : [,, ] [,,, ] [ w ] untuk 0 Nb 0,, 1, 2, 3, = 0, 1, 2, 3, round* Nb+ [ w i ] adalah word dari key yang bereuaian dimana i = round*nb+. Tranformai AddRoundKey pada proe enkripi pertama kali pada round = 0 untuk round elanjutnya round = round + 1, pada proe dekripi pertama kali pada round = 14 untuk round elanjutnya round = round - 1.
25 JURNAL INFORMATIKA, VOLUME 5 NOMOR 1, APRIL 2009 3.2 SubByte SubByte merupakan tranformai byte dimana etiap elemen pada tate akan dipetakan dengan menggunakan ebuah tabel ubtitui ( S-Box ). Tabel ubtitui S-Box akan dipaparkan dalam Tabel 2. Tabel 2 Tabel S-Box SubByte Untuk etiap byte pada array tate, mialkan S[r, ] = xy, yang dalam hal ini xy adalah digit hekadeimal dari nilai S[r, ], maka nilai ubtituinya, dinyatakan dengan S [r, ], adalah elemen di dalam tabel ubtitui yang merupakan perpotongan bari x dengan kolom y. Gambar 3 mengilutraikan pengaruh pemetaan byte pada etiap byte dalam tate. Gambar 3 Pengaruh Pemetaan pada Setiap Byte dalam State Dikutip dari: Kriptografi, 2006, halaman 163 3.3 Shiftrow Tranformai Shiftrow pada daarnya adalah proe pergeeran bit dimana bit paling kiri akan dipindahkan menjadi bit paling kanan ( rotai bit ). Proe pergeeran Shiftrow ditunjukkan dalam Gambar 4 berikut:
Yuniati, Enkripi Dan Dekripi Dengan Algoritma Ae 256 Untuk Semua Jeni File 26 Gambar 4 Tranformai ShiftRow Dikutip dari: Kriptografi, 2006, halaman 165 3.4 MixColumn MixColumn mengoperaikan etiap elemen yang berada dalam atu kolom pada tate. Seara lebih jela, tranformai mixolumn dapat dilihat pada perkalian matrik berikut ini: S S S S 0,C 1,C 2,C 3,C 02 = 01 01 03 03 01 01 S 02 03 01 S 01 02 03 S 01 01 02 S 0,C 1,C 2,C 3,C [1] Hail dari perkalian matrik diata dapat dianggap eperti perkalian yang ada di bawah ini : 0, = ({02} o, ) ({03} 1, ) 2, 3, 1, 2, 3, = = 0, 0, ({02} ) ({03} ) 1, = ({03} ) ({02} ) ({03} ) 0, 1, 1, 2, 2, 2, 3, 3, ({02} ) 3, [2] 4. Proe Dekripi Advaned Enryption Standard 4.1 Proe Dekripi AES Tranformai ipher dapat dibalikkan dan diimplementaikan dalam arah yang berlawanan untuk menghailkan invere ipher yang mudah dipahami untuk algoritma AES. Tranformai byte yang digunakan pada inver ipher adalah InvShiftRow, InvSubByte, InvMixColumn, dan AddRoundKey. Algoritma dekripi dapat dilihat pada kema berikut ini : Gambar 5 Ilutrai Proe Dekripi AES Dikutip dari: Kriptografi (Keamanan Data dan Komunikai), 2006, halaman 169
27 JURNAL INFORMATIKA, VOLUME 5 NOMOR 1, APRIL 2009 4.2 InvShiftRow InvShiftRow adalah tranformai byte yang berkebalikan dengan tranformai ShiftRow. Pada tranformai InvShiftRow, dilakukan pergeeran bit ke kanan edangkan pada ShiftRow dilakukan pergeeran bit ke kiri. Ilutrai tranformai InvShiftRow terdapat pada Gambar 6: Gambar 6 Tranformai InvShiftRow Dikutip dari: Kriptografi (Keamanan Data dan Komunikai), 2006, halaman 165 4.3 InvSubByte InvSubByte juga merupakan tranformai byte yang berkebalikan dengan tranformai SubByte. Pada InvSubByte, tiap elemen pada tate dipetakan dengan menggunakan tabel Invere S-Box. Tabel Invere S-Box akan ditunjukkan dalam Tabel 3 berikut: Tabel 3 Tabel Invere S-Box 4.4 InvMixColumn Setiap kolom dalam tate dikalikan dengan matrik perkalian dalam AES. Perkalian dalam matrik dapat ditulikan : 0, 1, 2, 3, 0E = 09 0D 0B 0B 0E 09 0D 0D 0B 0E 09 09 0D 0B 0E 0, 1, 2, 3, [3]
Yuniati, Enkripi Dan Dekripi Dengan Algoritma Ae 256 Untuk Semua Jeni File 28 Hail dari perkalian dalam matrik adalah : 0, 1, 2, 3, = ({0E} ) ({0B} ) ({0D} ) ({09} ) o, = ({09} ) ({0E} ) ({0B} ) ({0D} ) o, = ({0D} ) ({09} ) ({0E} ) ({0B} ) o, = ({0B} ) ({0D} ) ({09} ) ({0E} ) o, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, [4] 5. Proe Ekpani Kuni Algoritma AES mengambil kuni ipher dan melakukan rutin ekpani kuni ( key expanion ) untuk membentuk key hedule. Ekpani kuni menghailkan total Nb(Nr+1) word. Algoritma ini membutuhkan et awal key yang terdiri dari Nb word, dan etiap round Nr membutuhkan data kuni ebanyak Nb word. Hail key hedule terdiri dari array 4 byte word linear yang dinotaikan dengan [ w i ]. SubWord adalah fungi yang mengambil 4 byte word input dan mengaplikaikan S-Box ke tiap-tiap data 4 byte untuk menghailkan word output. Fungi RotWord mengambil word [a 0, a 1, a 2, a 3] ebagai input, melakukan permutai iklik, dan mengembalikan word [a 1, a 2, a 3, a 0]. Ron[i] terdiri dari nilai-nilai yang diberikan oleh [x i-1, {00}, {00}, {00}], dengan x i-1 ebagai pangkat dari x (x dinotaikan ebagai {02}). Peudoode dari proe ekpani kuni dapat dilihat dalam gambar berikut ini: Gambar 7 Peudoode Ekpani Kuni Dikutip dari:ariyu Dony (2006), Kriptograf (Keamanan Data dan Komunikai), halaman 94 Dari Gambar 7 dapat dilihat bahwa word ke Nk pertama pada ekpani kuni berii kuni ipher. Setiap word berikutnya, w[i], ama dengan XOR dari word ebelumnya, w[i-1] dan word Nk yang ada pada poii ebelumnya, w[i-nk]. Untuk word pada poii yang merupakan kelipatan Nk, ebuah tranformai diaplikaikan pada w[i-1] ebelum XOR, lalu dilanjutkan oleh XOR dengan kontanta round, Ron[i]. Tranformai ini terdiri dari pergeeran iklik dari byte data dalam uatu word RotWord, lalu diikuti aplikai dari lookup tabel untuk emua 4 byte data dari word SubWord. 6. Penerapan Algoritma AES 256 Proe enkripi adalah proe yang mengubah plain text menjadi ipher text yang bertujuan untuk mengamankan data atau ii pean yang berifat rahaia agar tidak diadap oleh kriptanali. Sedangkan proe dekripi merupakan kebalikan dari proe enkripi, yaitu mengubah ipher text menjadi plain text. Dalam melakukan proe dekripi, ii file yang berupa ipher text haru diubah kembali menjadi pean atau file ali ( plain text ). Untuk itu perlu
29 JURNAL INFORMATIKA, VOLUME 5 NOMOR 1, APRIL 2009 dilakukan analii ii file dari egi ketepatan atau keookan file apakah file yang akan didekripi bia kembali ke file ali dengan empurna atau tidak. Berikut ini akan diberikan 1 ontoh mengenai analii ii file pada file image. File image : File ali (pi.jpeg ) : File etelah dienkripi ( pi.ae ) : Gambar 8 File Image Sumber pi.jpeg File etelah didekripi ( pi.jpeg ) : Gambar 9 File Hail Dekripi dari pi.ae
Yuniati, Enkripi Dan Dekripi Dengan Algoritma Ae 256 Untuk Semua Jeni File 30 Dari ontoh file pi.jpeg menunjukkan bahwa etelah dilakukan proe dekripi, image kembali eperti emula ( file ali ). Oleh karena itu, dapat diimpulkan bahwa ii file enkripi ook atau euai dengan file ali, ehingga pada waktu dilakukan proe dekripi, image bia kembali emula eperti pada file ali. 6.1 Analii Waktu Enkripi dan Dekripi Waktu adalah alah atu faktor dalam melakukan proe enkripi dan dekripi. Dengan adanya waktu, keepatan proe enkripi dan dekripi dapat diketahui. Berikut ini akan diberi tabel perbandingan waktu enkripi dan dekripi pada emua tipe file : Berikut ini terdapat tabel dan grafik yang menyajikan hubungan antara bear file dengan waktu yang dibutuhkan untuk proe enkripi dan proe dekripi: Tabel 4 Tabel Hubungan antara Bear File dengan Waktu Proe Enkripi dan Proe Dekripi No Nama File Kata Kuni 1 Keygen.exe Ukuran File Ali ( byte ) Waktu Enkripi Waktu Dekripi 9999999999999999 9999999999999999 8,192 00:01:45 00:01:48 2 UKDWNM.exe oba 14,926 00:02:29 00:02:34 aku1aku1aku1aku1 3 Blok.exe aku1aku1aku1aku1 63,504 00:09:25 00:11:38 4 Cat3.exe oba 200,704 00:24:59 00:28:27 5 SinChan.exe oba 310,799 00:37:19 00:40:06 3000 Waktu Proe (det 2500 2000 1500 1000 598 1707 1499 2406 2239 Waktu Enkripi Waktu Dekripi 500 0 565 154 149 108 105 0 100,000 200,000 300,000 400,000 Bear File (byte) Gambar 10 Grafik Hubungan antara Bear File dengan Waktu Proe Enkripi dan Proe Dekripi Pada Gambar 10 menunjukkan keenderungan kenaikan waktu yang dibutuhkan untuk melakukan proe enkripi dan dekripi. Semakin bear ukuran uatu file maka emakin lama pula waktu yang dibutuhkan untuk melakukan proe enkripi dan proe dekripi. 7. Keimpulan Berdaarkan rumuan maalah, implementai, dan analia item, maka didapat keimpulan ebagai berikut : Dalam penelitian ini, file dekripi dapat kembali eperti ekteni file umber karena aat item melakukan proe enkripi ditambahkan header untuk menyimpan informai ekteni
31 JURNAL INFORMATIKA, VOLUME 5 NOMOR 1, APRIL 2009 file umber. Oleh karena itu, ukuran file enkripi akan bertambah 11 byte dari ukuran file ali. Sedangkan ukuran file dekripi akan kembali ke ukuran file ali. Dari hail penelitian telah dibuktikan bahwa ii file yang telah dienkripi merupakan ii file dari file umber, ehingga apabila akan dilakukan proe dekripi, maka akan kembali eperti file umber emula. Waktu yang diperlukan untuk proe enkripi pada penelitian ini tidak ama dengan waktu proe dekripi yang dikarenakan adanya pemakaian reoure komputer. Dalam penelitian ini, aat terjadi proe ave pada file.ae dengan maupun tanpa mengganti informai ekteni file umber maka pada aat dilakukan proe dekripi, terdapat ii file yang tidak kembali eperti file umber. Hal ini diebabkan file.ae tidak lagi berbai file hail proe enkripi melainkan akan menjadi file.ae berupa file tek ehingga akan terjadi perubahan header file dalam file.ae. 8. Daftar Putaka Adhi, J. S., (2005), Kriptografi dengan Algoritma Rijndael untuk Penyandian Data, Skripi, Yogyakarta: Univerita Kriten Duta Waana. Dony, A. (2005), Kriptografi Keamanan Data dan Komunikai, Yogyakarta: Penerbit Andi Offet. Federal Information Proeing Standard Publiation. (2001). National Intitute of Standard and Tehnology. Galie, S. & Minier, M. (2007). Improving Integral Attak Againt Rijndael-256 Up to 9 Round. Frane: Laboratoire CITI, INSA de Lyon. Kurniawan, Budi. (2007). Penyandian Tek dengan AES-128. Yogyakarta: Univerita Kriten Duta Waana. Kritina, Yohebed K (2009). Enkripi Email Client dengan Algoritma Rijndael 128. Yogyakarta: Univerita Kriten Duta Waana. Munir, Rinaldi. (2006). Kriptografi. Bandung: Penerbit Informatika. Sijoni. (2008). Implementai Advaned Enryption Standard (AES) dan Cipher Blok Chaining (CBC) untuk Enkripi dan Dekripi File Text. Yogyakarta: Univerita Kriten Duta Waana. Yolanda, Elfira S. (2008). Implementai Dik Enryption Menggunakan Algoritma Rijndael. Bandung: Sekolah Teknik Elektro dan Informatika, Intitut Teknologi Bandung. 9. Riwayat Penuli 1 Voni Yuniati: Alumni Fakulta Teknik Informatika Univerita Kriten Duta Waana Yogyakarta, e-mail: 22043475@ukdw.a.id 2 Ir. Gani Indriyanta, M.T. : Doen Fakulta Teknik Informatika Univerita Kriten Duta Waana Yogyakarta, e-mail: ganind@ukdw.a.id 3 Antoniu Rahmat C, S.Kom, M.C: Doen Fakulta Teknik Informatika Univerita Kriten Duta Waana Yogyakarta, e-mail: anton@ukdw.a.id