Transcript

Advanced Encryption Standard (AES) 256

Abstrak Kegiatan menyimpan data dan mengirim data menggunakan layanan internet menuntut penggguna membangun dan merancang arsitektur jaringan keamanan yang baik. Data merupakan kegiatan yang penting dalam pemanfaatan teknologi dalam organisasi apapun. Keamanan data yang disimpan merupakan faktor penting bagi organisasi dalam menghadapi persaingan yang semakin lama semakin beresiko, dimana data proses kerja dan administrasi organisasi disimpan dan akan diolah menjadi informasi yang penting dan bersifat rahasia bagi perkembangan organisasi. Kebutuhan untuk bertahan dan terus berkembang sebuah organisasi yang memanfaatkan teknologi informasi harus menggunakan metode kriptografi penyandian data yaitu enkripsi terhadap informasi yang di kirimkan maupun data yang tersimpan. Perkembangan algoritma pun semakin ramai setelah HAS dianggap tidak layak, maka dikembangkan lah Algoritma AES dalam dunia pengkodean. Aes bekerja pada platform SLL. Algoritma AES mengamankan data yang tersimpan dalam perangkat penyimpanan data, sehingga tidak mudah hilang maupun di manfaatkan oleh orang-orang yng tidak bertanggung jawab. algoritma AES (Advanced Encryption Standard) atau Rijndael sebagai salah satu metode kriptografi. Algoritma ini diketahui sangat unggul dalam pengenkripsian dan pendekripsian data. AES digunakan dalam berbagai penyandian. Salah satunya adalah untuk penyandian sandi-lewat yang digunakan pada aplikasi pengompresian data.

Pendahuluan Enkripsi ialah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasi-organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi.

Di pertengahan tahun 1970-an, enkripsi kuat dimanfaatkan untuk pengamanan oleh sekretariat agen pemerintah Amerika Serikat pada domain publik, dan saat ini enkripsi telah digunakan pada sistem secara luas, seperti Internet e-commerce, jaringan Telepon bergerak dan ATM pada bank. Enkripsi dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih diperlukan untuk membuat komunikasi yang aman, terutama untuk memastikan integritas dan autentikasi dari sebuah pesan. Contohnya, Message Authentication Code (MAC) atau digital signature. Penggunaan yang lain yaitu untuk melindungi dari analisis jaringan komputer.

Pembahasan DES dianggap sudah tidak aman lagi karena dengan perangkat keras khusus kuncinya bisa ditemukan dalam beberapa hari. Maka National Institute of Standards and Technology (NIST), sebagai agensi Departemen Perdagangan AS mengusulkan kepada Pemerintah Federal AS untuk sebuah standard kriptografi yang baru. NIST mengadakan sayembara terbuka untuk membuat standard algoritma kriptografi yang baru sebagai pengganti DES, dengan beberapa persyaratan tentang algoritma yang baru tersebut. Standard yang tepilih nantinya akan diberi nama Advanced Encryption Standard (AES) Ada 15 proposal algoritma yang telah diajukan, konfrensi umum pun dilakukan untuk menilai kelayakan algoritma tersebut. Setelah proses yang cukup lama pada bulan Agustus 1998, NIST memilih 5 finalis yang didasarkan pada aspek keamanan algoritma, kemangkusan (efficiency), fleksibilitas, dan kebutuhan memori (penting untuk embedded system). Finalis tersebut adalah: 1. Rijndael (dari Vincent Rijmen dan Joan Daemen Belgia, 86 suara) 2. Serpent (dari Ross Anderson, Eli Biham, dan Lars Knudsen Inggris, Israel, dan Norwegia, 59 suara). 3. Twofish (dari tim yang diketuai oleh Bruce Schneier USA, 31 suara) 4. RC6 (dari Laboratorium RSA USA, 23 suara) 5. MARS (dari IBM, 13 suara) Pada bulan Oktober 2000, NIST mengumumkan untuk memilih Rijndael (dibaca: Rhine-doll), dan pada bulan November 2001, Rijndael ditetapkan sebagai AES, dan diharapkan Rijndael menjadi standard kriptografi yang dominan paling sedikit selama 10 tahun.

Panjang kunci yang dikenal adalah AES-128, AES-192, dan AES-256

Garis besar Algoritma Rijndael yang beroperasi pada blok 128-bit dengan kunci 128-bit adalah sebagai berikut (di luar proses pembangkitan round key): 1. AddRoundKey: melakukan XOR antara state awal (plainteks) dengan cipher key. Tahap ini disebut juga initial round. 2. Putaran sebanyak Nr 1 kali. Proses yang dilakukan pada setiap putaran adalah : a. SubBytes: substitusi byte dengan menggunakan tabel substitusi (S-box). b. ShiftRows: pergeseran baris-baris array state secara wrapping. c. MixColumns: mengacak data di masing-masing kolom array state. d. AddRoundKey: melakukan XOR antara state sekarang round key. 3. Final round: proses untuk putaran terakhir: a. SubBytes b. ShiftRows c. AddRoundKey

Transformasi Subtitusi Byte

Dalam operasi ini, setiap byte yang akan dienkripsi disubtitusikan dengan nilai byte lain dengan menggunakan S-box. S-box dibuat dari multiplicative inverse dari angka yang diberikan dalam Rijndaels finite field yang kemudian ditransformasikan dengan affine transformation :

Hasilnya kemudian di-xor dengan 9910 atau 0x6316 atau 11000112. Operasi matriks dengan xor ini ekuivalen dengan persamaan: bi = bi b(i+4)mod8 b(i+5)mod8 b(i+6)mod8 b(i+7)mod8 ci dengan b, b, dan c adalah array 8 bit dan nilai c adalah 01100011. Proses tersebut menghasilkan masing-masing nilai dari elemen tabel S-box yang hasilnya sebagai berikut :

Seperti yang telah diketahui sebelumnya, AES merupakan algoritma simetri, yang berarti tabel subtitusi yang dibutuhkan untuk mengenkripsi berbeda dengan untuk mendekripsi. Untuk acuan tersebut, digunakanlah tabel S-box inversi sebagai berikut

Sebagai contoh, input yang akan dienkripsikan adalah 95 95 08 19 4f 6b 5c 6e c8 89 80 26 fc 75 4e 6c Dengan menggunakan S-box, hasil dari operasi ini adalah : 2a 2a 30 d4 84 7f 4a 9f e8 a7 cd f7 b0 9d 2f 50 Jika hasil tersebut ingin dikembalikan ke nilai semula sebelum operasi, nilai-nilainya dapat disubtitusikan dengan menggunakan tabel S-box inversi. Operasi transformasi subtitusi byte pada proses enkripsi dan dekripsi tidak dilakukan pada putaran pertama. Operasi ini hanya dilakukan pada putaran kedua hingga terakhir. Transformasi Pergeseran Baris Pada operasi ini, byte-byte pada setiap baris digeser secara memutar dengan pergeseran yang berbeda dari tiap-tiap baris. Setiap baris digeser dengan aturan tertentu untuk jenis panjang blok yang berbeda. Baris pertama blok untuk semua jenis panjang blok (128, 196, dan 256 bit) tidak digeser. Baris kedua untuk semua jenis panjang blok digeser 1 ke kiri. Pergeseran baris ketiga dan keempat untuk panjang blok 128 dan 196 bit berbeda dengan 256 bit. Pada panjang blok 128 dan 196 bit, baris ketiga digeser ke kiri sebanyak dua kali dan baris keempat digeser ke kiri sebanyak tiga kali. Pada panjang blok 256 bit, baris ketiga digeser ke kiri sebanyak tiga kali dan baris keempat digeser ke kiri sebanyak empat kali. Untuk lebih jelasnya, proses tersebut dapat dilihat sebagai berikut :

Sebagai contoh, hasil operasi ini terhadap input yang nilainya adalah output dari hasil operasi subtitusi byte sebelumnya adalah sebagai berikut : 2a 2a 30 d4 7f 4a 9f 84 cd f7 e8 a7 50 b0 9d 2f Transformasi Percampuran Kolom Transformasi ini mengoperasikan blok pada masing masing kolomnya. Setiap kolom diperlakukan sebagai four-term polynomial dengan cara Galois Field (GF) (28) dan dimodulokan dengan x tetap a(x) [3], yaitu a(x) = {03}x3 + {01}x2 + {01}x + {02} Hal ini dapat dituliskan sebagai perkalian matriks sebagai berikut.: s'(x) = a(x) s(x)

dengan c adalah letak kolom, sehingga hasilnya : s0,c = ({02}s0,c) ({03}s1,c) s0,c = s0,c ({02}s1,c) ({03} s0,c = s0,c s1,c ({02}s2,c) ({03} s0,c = ({03}s0,c) s1,c s2,c Jika hasil perkalian memiliki lebih dari 8 bit, bit yang lebih tidak begitu saja dibuang. Hasil tersebut di dengan 1000110112 [5]. Sebagai contoh, perkalian 11001010 dengan 11 dengan GF(2 sebagai berikut : 11001010 11 -------------- * 11001010 11001010 ---------------- xor 101011110 100011011 ---------------- xor 1000101 Nilai 1000101 merupakan hasil dari perkalian tersebut. Misalnya, jika dalam transfomasi ini input yang dipakai adalah hasil dari operasi pergeseran baris sebelumnya, hasil yang diperoleh adalah sebagai berikut : 48 cd af ac c8 0c ab 1a 24 5e d8 74 6c b8 06 fa

Transformasi ini dapat diilustrasikan sebagai berikut :

Operasi transformasi ini tidak digunakan dalam putaran terakhir, baik untuk enkripsi maupun dekripsi. Transformasi Penambahan Kunci Dalam operasi transformasi ini, digunakanlah upakunci untuk masing-masing putaran yang berasal dari kunci utama dengan menggunakan jadwal kunci Rijndael (Rijndaels key schedule upakunci tersebut sama dengan ukura diproses. Upakunci tersebut kemudian di blok input sehingga diperoleh hasilnya Sebagai contoh, jika inputnya adalah : a3 c5 08 08 78 a4 ff d3 00 ff 36 36 28 5f 01 02 dan diperoleh upa kunci 36 8a c0 f4 ed cf 76 a6 08 a3 b6 78 31 31 27 6e Maka, hasilnya adalah a6 34 1a 00 24 dd f1 0e 62 a8 73 cf 48 b9 5d 61

Putaran

Jumlahputaranpengoperasianblokinputuntuksetiapmacampanjangblokberbedajumlahputaran untukprosesenkripsidandekripsitetapsama.Prosesenkripsidandekripsidapatdigambarkansebagai berikut:

Algoritma Rijndael mempunyai 3 parameter : 1. plaintext : array yang berukuran 16-byte, yang berisi data masukan. 2. ciphertext : array yang berukuran 16-byte, yang berisi hasil enkripsi. 3. key : array yang berukuran 16-byte, yang berisi kunci ciphering (disebut juga cipher key)

AES 256 Aes 256 merupakan algoritma rijndael yang memiliki 14 putaran dengan tingkat kompeksitas 2 119. Untuk aes 128, dengan panjang kunci 128-bit, maka terdapat sebanyak 2128

= 3,4 x 10

38

kemungkinan

kunci. Jika komputer tercepat dapat mencoba 1 juta kunci setiap detik, maka akan dibutuhkan waktu 5,4

x 10

24

tahun untuk mencoba seluruh kunci. Jika tercepat yang dapat mencoba 1 juta kunci setiap

milidetik, maka dibutuhkan waktu 5,4 x 10 18 tahun untuk mencoba seluruh kunci.

Bagaimana Keamanan AES 256-bit AESadalahFIPS(FederalInformationProcessingStandard)bersertifikatdanadasaatinitidak diketahui nonbrute force serangan langsung terhadap AES (kecuali beberapa saluran sisi waktu seranganpadapengolahanAESyangtidaklayaklingkunganmelaluijaringandaninitidakberlakubagi SSLpadaumumnya).Padakenyataannya,AESkeamanancukupkuatuntukmendapatkansertifikasi untukdigunakanolehpemerintahASuntukinformasirahasia. DesaindankekuatandarisemuapanjangkuncialgoritmaAES(yaitu,128,192dan256)yang cukup untuk melindungi informasi rahasia ke tingkat RAHASIA. TOP SECRET informasi akan memerlukan penggunaan baik 192 atau 256 panjang kunci. Pelaksanaan AES dalam produk yang ditujukan untuk melindungi sistem keamanan nasional dan atau informasi harus ditinjau dan disertifikasi olehNSAsebelumakuisisidanmenggunakanmereka."(LynnHathaway,Juni2003 referensi.)JikaAndamemilikipilihanmetodeenkripsi,256bitAESadalahmetodeuntukmemilih.

AlternatifuntukAES AdabanyakalternatifcipheryangdapatdigunakandalamSSLdanTLS.The"berikutnyayang

palingaman"sandiyangumumdigunakanadalah"128bitRC4".Iniadalahsandiyangsangatcepat, tetapitundukpadaberbagaijenisserangan.Sebagaicontoh,padaakalWEPenkripsinirkabelsangat miskin adalah cara yang menggunakan enkripsi RC4. Bahkan WPA keamanan nirkabel yang menggunakanRC4yangmenunjukkantandatandaketidaktepatan. Enkripsi RC4 dirasakan sangat lemah oleh sebagian besar peneliti keamanan dan tidak direkomendasikanuntukdigunakan.Namundemikian,masih"terbaikkedua"untukAESdalamdaftar umumdigunakancipherdanbanyakdigunakan.

BagaimanapenyandiandipilihdalamsesiSSLatauTLS Secara umum, ketika sebuah klien SSL, seperti program email atau web browser, menghubungkankeserverdaninginmenggunakanSSLatauTLS,clientservermengirimkandaftar enkripsicipheryangmendukung.Serverkemudianberjalanmelaluidaftar,dalamrangka,danmemilih pertandinganpertamaitujugamendukung.Biasanya,kliendaftarperintahdenganmetodeyangpaling amanpertama,sehinggametodeyangpalingamanyangdidukungolehparakliendanserveryang dipilih.Kadangkadang,memerintahkankliendaftarberdasarkriterialainuntukmembuatkompromi antarakeamanandankecepatan;halinidapatmengakibatkansuboptimalsandiyangdipilih. PalingmoderndanemailwebserveryangmendukungenkripsiSSL,sepertiLuxSci.com's server,dukunganberbagaimacamteknikenkripsiyangkuatsepanjangjalansampaidengan128bit RC4dan 256bitAES.Merekamenyediakanberbagai,bukanhanyasatubenarbenarbaik metode, sehinggapenggunayangtelahtuaataurusakperangkatlunakmasihdapatmengambilkeuntungandari enkripsi, meskipun itu lebih lemah dari seharusnya. Selain itu, sebagian besar perusahaan yang menyediakan jasa keamanan tidak mengijinkan penggunaan teknik yang dianggap adalah "terlalu lemah" dan yangdapatdengansangatmudahrusak(sepertiyanglama "nilaieksporsandi" yang digunakanuntukberadadilazimdigunakan).Jadi,jikaAndatersambungkelayananyangmemiliki reputasibaikmemberikanlebihdariSSLatauTLS,jenisenkripsiyangakandigunakanadalahhampir pastiditentukanolehprogram(misalnyaprogramemailatauwebbrowser). Serangan pada AES Serangan itu merupakan kunci yang terkait-serangan (yang berarti bahwa dua kunci memiliki hubungan tertentu, seperti bahwa mereka hanya berbeda oleh beberapa bit) pada putaran dengan pengurangan versi AES-256. Hal ini di 11 dari total 14 ronde di AES-256. Serangan baru ini adalah kelemahan dalam jadwal kunci AES, tetapi sebagai Bruce telah mengatakan, kami telah mencurigai kelemahan dalam AES sejak tahun 2000. Serangan tidak mempengaruhi AES-128 sama sekali.

Ini bukan pertama kalinya kami melihat serangan terhadap cipher standar. Sebagai contoh, pemerintah

AS telah sandi Cakalang 31 dari 32 putaran rusak pada tahun 1999 dan putaran terakhir itu masih terputus. . Sementara para kriptografer terkenal yang menyerang untuk hal yang lebih baik, bukan lebih buruk, ini tidak berarti bahwa AES-256 akan pernah mendapatkan sepenuhnya rusak.

Penutup AES terbukti kebal menghadapi serangan konvensional (linear dan diferensial attack) yang menggunakan statistik untuk memecahkan sandi. Kesederhanaan AES memberikan keuntungan berupa kepercayaan bahwa AES tidak ditanami trapdoor. Namun, kesederhanaan struktur AES juga membuka kesempatan untuk mendapatkan persamaan aljabar AES yang selanjutnya akan diteliti apakah persamaan tersebut dapat dipecahkan. Bila persamaan AES dapat dipecahkan dengan sedikit pasangan plaintext / ciphertext, maka riwayat AES akan berakhir. AES didesain dengan sangat hati-hati dan baik sehingga setiap komponennya memiliki tugas yang jelas. AES memiliki sifat cipher yang diharapkan yaitu : tahan menghadapi analisis sandi yang diketahui, fleksibel digunakan dalam berbagai perangkat keras dan lunak, baik digunakan untuk fungsi hash karena tidak memiliki weak(semi weak) key, cocok untuk perangkat yang membutuhkan key agility yang cepat, dan cocok untuk stream cipher. Algoritma AES (Advanced Encryption Standard) atau Rijndael merupakan algoritma simetri yang sangat cocok dipakai untuk berbagai keperluan yang berkaitan dengan kriptografi saat ini. Algoritma ini banyak dipakai untuk keperluan penyandian. Salah satunya adalah untuk penyandian sandi-lewat untuk file kompresi. Algoritma ini tentu saja sangat sesuai dengan berbagai aplikasi kompresi, yang pada pembahasan di atas menggunakan kompresi zip, sehingga dapat digunakan di berbagai merk aplikasi kompresi.

Daftar Pustaka

http://webmail.informatika.org/~rinaldi/Matdis/2008-2009/Makalah2008/Makalah0809-090.pdf http://puslit2.petra.ac.id/ejournal/index.php/jte/article/viewFile/17452/17369 (jurnal elektro) http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf http://www.ittelkom.ac.id/library/index.php http://en.wikipedia.org/wiki/Advanced_Encryption_Standard_process http://www.aescrypt.com/aes_file_format.html http://www.informatika.org/~rinaldi/Kriptografi/2006-2007/Makalah1/Makalah1-055.pdf (kriptanalisis)


Recommended