Menghitung Enkripsi AES Contoh Perhitungan

7

2.2. Advanced Encryption Standard AES

Pada skripsi ini akan membahas Algoritma Simetrik lebih lanjut dikarenakan menggunakan metode Advanced Encryption Standard AES lebih baik dibanding dengan metode seperti Data Encryption Standard DES ataupun yang lainya yang ada pada algoritma simetrik. Pemilihan metode AES karena AES dinilai memiliki keamanan yang lebih baik daripada sistem sandi DES. [1] Untuk itu NIST National Institute of Standards and Technology membuat sayembara untuk menggantikan DES dengan sebuah sistem penyandian yang disebut Advanced Encryption Standard pada tanggal 12 September 1997. NIST memberikan spesifikasi AES, yaitu harus memiliki panjang blok 128 bit dan mampu mendukung panjang kunci 128,192,256. [1] Setelah beberapa seleksi, NIST memilih sistem penyandian Rijndael yang dikembangkan oleh Joan Daemen dan Vincent Rijment sebagai sistem penyandian AES pada tahun 2000. [1] AES merupakan standar enkripsi dekripsi dengan kunci simetris yang menggantikan pendahulunya yaitu DES. Jenis AES terbagi 3, yaitu AES-128, AES-192 dan AES-256. Angka-angka yang berada di belakang kata AES merupakan panjang kunci yang digunakan pada tiap-tiap AES. Selain itu AES-128 round yang digunakan sebanyak 10 round, AES-192 menggunakan 12 round, dan AES-256 menggunakan 14 round.

2.3. Contoh Perhitungan

Pada contoh perhitungan akan dijelaskan tahap – tahap perhitungan AES, baik untuk proses enkripsi maupun dekripsi.

2.3.1 Menghitung Enkripsi AES

Proses di dalam AES merupakan transformasi terhadap state. Sebuah teks asli dalam blok 128 bit terlebih dahulu diorganisir sebagai state. Enkripsi AES adalah transformasi terhadap state secara berulang dalam beberapa ronde. State yang menjadi keluaran ronde k menjadi masukan untuk ronde ke k+1. 8 Secara garis besar, desain enkripsi AES dapat diberikan oleh gambar dibawah ini. State AddRoundKey SubBytes ShiftRows MixColumns AddRoundKey SubBytes ShiftRows MixColumns AddRoundKey SubBytes ShiftRows AddRoundKey State Pra Ronde Ronde 1 Ronde 2 Ronde 10 dst Ekspansi Kunci AES Kunci Asli Ekspansi Kunci ke-1 Ekspansi Kunci ke-2 Ekspansi Kunci ke-10 dst Gambar 2.2. Struktur Enkripsi AES [1] Pada awalnya teks asli direorganisasi sebagai sebuah state. Kemudian sebelum ronde 1 dimulai blok teks asli dicampur dengan kunci ronde ke-0 transformasi ini disebut AddRoundKey. Setelah itu, ronde ke-1 sampai dengan ronde ke-Nr-1 dengan Nr adalah jumlah ronde menggunakan 4 transformasi yaitu SubBytes, ShiftRow, MixColumns dan AddRoundKey. Pada ronde terakhir, yaitu ronde ke-Nr dilakukan transformasi serupa dengan ronde lain namun tanpa trasformasi MixColumns.[1] 9 Berikut ini merupakan tabel konstan Rcon dalam hexadecimal: Tabel 2.1. Tabel Konstan Rcon [1] 01 02 04 08 10 20 40 80 1b 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Berikut merupakan cara memperoleh ekspansi kunci sebelum digunakan dalam proses perhitungan AES. 2b 28 ab 09 a0 88 23 2a 7e ae f7 cf fa 54 a3 6c 15 d2 15 4f fe 2c 39 76 16 a6 88 3c 17 b1 39 05 Kolom terakhir kunci awal ditukar ke atas satu kali menjadi : cf 8a 4f Disubtitusi menjadi 84 3c eb 09 01 Setelah itu disubtitusi dengan tabel SubBytes kemudian di XOR dengan kolom ke-1 dan di XOR dengan kolom ke-1 pada tabel konstan Rcon sehingga menjadi : 2b 8a 01 a0 7e XOR 84 XOR 00 = fa 15 eb 00 fe 16 01 00 17 Kunci kolom ke-1 Hasil SubBytes Tabel Rcon 10 Lalu ambil data pada kolom ke-2 kunci awal dan di XOR dengan hasil sebelumnya. 28 a0 88 ae XOR fa = 54 d2 fe 2c a6 17 b1 Lalu ambil data pada kolom ke-3 kunci awal dan di XOR dengan hasil sebelumnya. ab 88 23 f7 XOR 54 = a3 15 2c 39 88 21 39 Lalu ambil data pada kolom ke-4 kunci awal dan di XOR dengan hasil sebelumnya 09 23 2a cf XOR a3 = 6c 4f 39 76 3c 39 05 Dan langkah diatas diulang dengan kolom ke-2 tabel konstan Rcon hingga selesai kolom ke-10 tabel konstan Rcon. Berikut merupakan contoh data beserta perhitungan untuk masing-masing tahapan yang dilakukan pada AES: a. Pre Round Data xor Key Data asli : Key awal: Hasil: 32 88 31 e0 2b 28 ab 09 19 a0 9a e9 43 5a 31 37 7e ae f7 cf 3d f4 c6 f8 f6 30 98 07 15 d2 15 4f e3 e2 8d 48 a8 8d a2 34 16 a6 88 3c be 2b 2a 08 11 b. SubBytes Pada tahap ini hasil dari pre round disubtitusi dengan tabel berikut: Contoh: Data dengan hex 19 disubtitusi dengan tabel subtitusi menjadi d4 Tabel 2.2. Tabel Subtitusi untuk Transformasi Subbytes [1] 1 2 3 4 5 6 7 8 9 a b c d e f 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76 1 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0 2 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15 3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75 4 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84 5 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf 6 d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8 7 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2 8 cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73 9 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db a e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79 b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08 c ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a d 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df f 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16 Sehingga data setelah hasil pre-round di subtitusi dengan tabel menjadi: d4 e0 b8 1e 27 bf b4 41 11 98 5d 52 ae f1 e5 30 c. ShiftRows Pada tahap ini data yang dihasilkan pada tahap sebelumnya SubBytes digeser ke kiri sesuai dengan gambar di bawah ini: Gambar 2.3. Transformasi ShiftRows [1] 12 Sehingga data setelah hasil SubBytes di ShiftRows menjadi: d. MixColumns [ ] [ ] [ ] Syarat: - Jika msb data berawalan dengan 1 maka di left shift dan xor tetap - Jika msb data berawalan dengan 0 maka di left shift tapi xor dihilangkan. - Tetapan untuk pengali 02 yaitu disubtitusi menjadi “xor 1B” - Karena 03 11 merupakan 10 xor 01 maka akan dipecah menjadi pengali 02 yang berarti juga akan disubtitusi menjadi xor 1B dan 01 Contoh perhitungan perkaliannya: 1. Perhitungan untuk baris ke-1  d4 . 02  11010100 xor 00011011  10101000 di left shift dan xor tetap  00011011 XOR  10110011  bf . 03  10111111 . 10 xor 01  10111111 . 10 xor 10111111 . 01  01111110 xor 00011011 xor 10111111  01100101 xor 10111111  11011010 d4 e0 b8 1e bf b4 41 27 5d 52 11 98 30 ae f1 e5 13  5d . 01  01011101 . 01  01011101  30 . 01  00110000 . 00000001  00110000  Lalu hasil masing-masing di xor semua menjadi 10110011 11011010 01011101 00110000 xor 00000100 dalam hex = 04 2. Perhitungan untuk baris ke-2  d4 . 01  11010100 . 00000001  11010100  bf . 02  10111111 . 10  01111110 . 10 di left shift dan xor tetap  01111110 xor 00011011  01100101  5d . 03  01011101 . 10 xor 01011101 . 01  10111010 xor 1B dihilangkan xor 01011101  11100111  30 . 01  00110000 . 00000001  00110000 14  Lalu hasil masing-masing di xor semua menjadi 11010100 01100101 11100111 00110000 xor 01100110 3. Perhitungan untuk baris ke-3  d4 . 01  11010100 . 01  11010100  bf . 01  10111111 . 01  10111111  5d . 02  01011101 . 10  10111010 hanya di left shift, xor dihilangkan  30 . 03  00110000 . 10 xor 00110000 . 01  01100000 xor 00110000  01010000  Lalu hasil masing-masing di xor semua menjadi 11010100 10111111 10111010 01010000 xor 10000001 15 4. Perhitungan untuk baris ke-4  d4 . 03  11010100 . 10 xor 11010100 . 01  10101000 xor 00011011 xor 11010100  10110011 xor 11010100  01100111  bf . 01  10111111 . 01  10111111  5d . 01  01011101 . 01  01011101  30 . 02  00110000 . 10  01100000 hanya di left shift, xor dihilangkan  Lalu hasil masing-masing di xor semua menjadi 01100111 10111111 01011101 01100000 xor 11100101 [ ] [ ] [ ] [ ] [ ] [ ] 16 [ ] [ ] [ ] Sehingga data setelah hasil ShiftRows di MixColumns menjadi: 04 e0 48 28 66 cb f8 06 81 19 d3 26 e5 9a 7a 4c e. AddRoundKey Pada tahap ini hasil dari MixColumns di XOR dengan hasil Round Key ke-1 04 e0 48 28 a0 88 23 2a 66 cb f8 06 fa 54 a3 6c 81 19 d3 26 fe 2c 39 76 e5 9a 7a 4c 17 b1 39 05 Sehingga hasilnya a4 68 6b 02 9c 9f 5b 6a 7f 35 ea 50 f2 2b 43 49 17

2.3.2 Menghitung Dekripsi AES

Dokumen yang terkait

Analisis algoritme dan waktu enkripsi versus dekripsi pada advanced encryption standard (AES)

0 6 77

Institutional Repository | Satya Wacana Christian University: Enkripsi dan Dekripsi Data Teks Menggunakan Advanced Encryption Standard (AES) Untuk Management Password T1 622010002 BAB I

0 0 4

Institutional Repository | Satya Wacana Christian University: Enkripsi dan Dekripsi Data Teks Menggunakan Advanced Encryption Standard (AES) Untuk Management Password T1 622010002 BAB IV

0 0 15

Institutional Repository | Satya Wacana Christian University: Enkripsi dan Dekripsi Data Teks Menggunakan Advanced Encryption Standard (AES) Untuk Management Password T1 622010002 BAB V

0 0 1

Institutional Repository | Satya Wacana Christian University: Enkripsi dan Dekripsi Data Teks Menggunakan Advanced Encryption Standard (AES) Untuk Management Password

0 0 15

Institutional Repository | Satya Wacana Christian University: Implementasi Kriptografi Menggunakan Algoritma Advanced Encryption Standard (AES) dalam Penyandian True Color Image

0 0 1

Institutional Repository | Satya Wacana Christian University: Implementasi Algoritma Advanced Encryption Standard pada Enkripsi-Dekripsi Raw File Image

0 0 5

Institutional Repository | Satya Wacana Christian University: Penerapan Advanced Encryption Standard untuk Backup Data pada Mobile Android

0 0 1

Institutional Repository | Satya Wacana Christian University: Aplikasi Advanced Encryption Standart (AES) Untuk Kerahasiaan Basis Data Keuangan (Studi Kasus : PT. Indomedia) T1 672007710 BAB II

0 0 8

Implementasi Algoritma Advanced Encryption Standard (AES) 128 Untuk Enkripsi dan Dekripsi File Dokumen

0 2 7