Anda di halaman 1dari 20

MODUL KRIPTOGRAFI

(CTI 312)

MODUL 6
ADVANCED ENCRYPTION STANDARD (AES)

DISUSUN OLEH
IR. NIZIRWAN ANWAR, M.T

UNIVERSITAS ESA UNGGUL


2020

Universitas Esa Unggul


http://esaunggul.ac.id
0 / 20
MODUL 6
ADVANCED ENCRYPTION STANDARD (AES)

1. PENDAHULUAN

Dalam kriptografi, Standar Enkripsi Lanjutan (Advanced Encryption


Standard, AES) merupakan standar enkripsi algoritma dengan kunci-
simetris yang diadopsi oleh pemerintah Amerika Serikat. Standar ini
terdiri atas 3 blok cipher, yaitu AES-128, AES-192 and AES-256.
Pada agustus 1998, NIST mengumumkan bahwa ada 15 proposal
AES yang telah diterima dan dievaluasi, setelah mengalami proses
seleksi terhadap algoritma yang masuk, NIST menumumkan pada
tahun 1999 bahwa hanya ada 5 algoritma yang diterima, algoritma
tersebut adalah :
Table 6.1 Perbedaan Cipher

Cipher Perbedaan
MARS Key siz4 4-39 32-bit words
Word size w, no of rounds, key
RC6
size 0 – 255 bytes
Block length of 128, 192 atau
Rijndael
256 bits
Serpent Key size 0 … 256 bits
Twofish Key size 0 … 32 bytes

Algoritma (table 6.1) telah menjalankan berbagai macam


pengetesan dengan beberapa studi kasus. Pada bulan oktober 2000,
NIST mengumumkan bahwa Rijndael sebagai algoritma yang terpilih
untuk standar AES yang baru. Baru pada februari 2001 NIST
mengirimkan draft kepada Federal Information Processing
Standards (FIPS) untuk standar AES dan pada 26 November 2001,
NIST mengumumkan produk akhir dari AES.
AES merupakan algoritma kriptografi yang dapat digunakan untuk
mengamakan dan melindungi data. Algoritma AES adalah blok
chipertext simetrik yang dapat mengenkripsi (encipher) dan dekripsi
(decipher) informasi. Enkripsi merubah data yang tidak dapat lagi

Universitas Esa Unggul


http://esaunggul.ac.id
1 / 20
dibaca disebut ciphertext; sebaliknya dekripsi adalah merubah
ciphertext data menjadi bentuk semula yang kita kenal sebagai
plaintext.

Plaintext
Counter
Advanced
Encryption Ciphertext
Encryption Bitstream
Key Standard
(AES)

Gambar 6.1 Tahapan Enkripsi AES

2. STRUKTUR AES

AES menggunakan struktur SPN (Substitution Permutation Network)


yang memiliki derajat performance yang lebih besar dan baik,
sehingga diharapkan lebih cepat dari pada Feistel. Kelemahan SPN
pada umumnya (termasuk pada Rijndael) adalah berbedanya
struktur enkripsi dan dekripsi sehingga diperlukan 2 (dua) algoritma
yang berbeda untuk tahapan enkripsi dan dekripsi dengan tingkat
keamanan enkripsi dan dekripsinya yang berbeda-beda. AES
memiliki blok masukan dan luaran serta kunci 128 bit (contoh). Untuk
tingkat keamanan yang lebih tinggi, AES dapat menggunakan kunci
192 dan 256 bit. Setiap masukan 128 bit plaintext dimasukkan ke
dalam state yang berbentuk bujursangkar berukuran 4×4 byte. State
ini di-XOR dengan key dan selanjutnya diolah 10 kali dengan
subtitusi-transformasi RoundAddkey.
Diadopsi dari koleksi yang lebih besar yang awalnya diterbitkan
sebagai Rijndael. Masing-masing cipher memiliki ukuran 128-bit,
dengan ukuran kunci masing-masing 128, 192, dan 256 bit. AES
telah dianalisis secara luas dan sekarang digunakan di seluruh dunia,
seperti halnya dengan pendahulunya, Data Encryption Standard
(DES).

Universitas Esa Unggul


http://esaunggul.ac.id
2 / 20
Berikut ini adalah operasi Rijndael (AES) yang menggunakan 128 bit
kunci sebagai salah satu contoh nya ;
1) Ekspansi kunci utama (dari 128 bit menjadi 1408 bit);

2) Mixing Subsitusi Key (SubKey)

3) Melakukan proses rounds i=1 sampai i=10, kemudian


transformasi ByteSub (subtitusi per byte), ShiftRow
(Pergeseren byte perbaris) dan MixColumn (Operasi
perkalian GF(2) per kolom);

4) Mixing subkey (dengan XOR);

5) Transformasi : ByteSub dan ShiftRow;

6) Mixing subkey.

Table 6.2 Parameter AES

Key Size (words/bytes/bits) 4/16/128 6/24/192 8/32/256

Plaintext Block Size (words/bytes/bits) 4/16/128 4/16/128 4/16/128

Number of Rounds 10 12 14

Round Key Size (words/bytes/bits) 4/16/128 4/16/128 4/16/128

Expanded Key Size (words/bytes) 44/176 52/208 60/240

Catatan: 1 word = 32 bit

AES diumumkan oleh Institut Nasional Standar dan Teknologi (NIST)


sebagai Standar Pemrosesan Informasi Federal (FIPS) publikasi
1997 (FIPS 197) pada tanggal 26 November 2001 setelah proses
standardisasi selama 5 tahun, di mana ada 15 desain enkripsi yang
disajikan dan dievaluasi, sebelum Rijndael terpilih sebagai yang
paling cocok. AES efektif menjadi standar pemerintah Federal pada
tanggal 26 Mei 2002 setelah persetujuan dari Menteri Perdagangan.
AES tersedia dalam berbagai paket enkripsi yang berbeda. AES

Universitas Esa Unggul


http://esaunggul.ac.id
3 / 20
merupakan standar yang pertama yang dapat diakses publik dan
sandi-terbuka yang disetujui oleh NSA untuk informasi rahasia.
Rijndael dikembangkan oleh dua kriptografer Belgia, Joan Daemen
dan Vincent Rijmen, dan diajukan oleh mereka untuk proses seleksi
AES. Rijndael (diucapkan [rɛinda ː l]) adalah permainan kata dari
kedua nama penemu (AES)
Ada 10, 12, atau 14 putaran (round) dalam AES. Jumlah kitaran ini
sesuai dengan ukuran kunci yang digunakan.0 Dan sekarang
Rijndael terpilih sebagai yang paling cocok. AES efektif menjadi
standar pemerintah Federal pada tanggal 26 Mei 2002 setelah
persetujuan dari Menteri perdagangan dengan hal cipta oleh
RijndaeL
Secara de-fakto, hanya ada dua varian AES, yaitu AES-128 dan
AES-256, karena akan sangat jarang pengguna menggunakan kunci
yang panjangnya 192 bit.•Karena AES mempunyai panjang kunci
paling sedikit 128 bit, maka AES tahan terhadap serangan
exhaustive key searchdengan teknologi saat ini. Dengan panjang
kunci 128-bit, maka terdapat sebanyak

2 128 = 3,4 × 10 38

Jika digunakan komputer tercepat yang dapat mencoba 1 juta kunci


setiap detik, maka akan dibutuhkan waktu 5,4 × 10 24 tahun untuk
mencoba seluruh kemungkinan kunci. Jika digunakan komputer
tercepat yang dapat mencoba 1 juta kunci setiap milidetik, maka
akan dibutuhkan waktu 5,4 ×10 18 tahun untuk mencoba seluruh
kemungkinan kunci.

Universitas Esa Unggul


http://esaunggul.ac.id
4 / 20
Gambar Transformasi Sub-Byte

Transformasi SubBytes() memetakan setiap byte dari array state dengan


menggunakan tabel substiusi S-box. Tidak seperti DES yang mempunyai
S-box berbeda pada setiap putaran, AES hanya mempunyai satu buah S-
box.
Cara pensubstitusian adalah sebagai berikut: untuk setiap byte pada array
state, misalkan S[r, c] = xy, yang dalam hal ini xy adalah digit heksadesimal
dari nilai S[r, c], maka nilai substitusinya, dinyatakan dengan S’[r, c], adalah
elemen di dalam S-box yang merupakan perpotongan baris x dengan kolom
y.

Misalnya S[0, 0] = 19, maka S’[0, 0] = d4

Gambar Transformasi Shift-Row

Universitas Esa Unggul


http://esaunggul.ac.id
5 / 20
Transformasi ShiftRows() melakukan pergeseran secara wrapping (siklik)
pada 3 baris terakhir dari array state. Jumlah pergeseran bergantung pada
nilai baris (r). Baris r = 1 digeser sejauh 1 byte, baris r = 2 digeser sejauh 2
byte, dan baris r = 3 digeser sejauh 3 byte. Baris r = 0 tidak digeser.

Gambar Transformasi Shift-Column

Gambar Transformasi Shift-Column

Transformasi MixColumns() mengalikan setiap kolom dari array state


dengan polinom a(x) mod (x4 + 1). Setiap kolom diperlakukan sebagai
polinom 4-suku pada GF(2 8). a(x) yang ditetapkan adalah:

a(x) = {03} x3 + {01} x2 + {01} x + {02} x0

Transformasi ini dinyatakan sebagai perkalian matriks:

s’(x) = a(x) ⊗ s(x)

Universitas Esa Unggul


http://esaunggul.ac.id
6 / 20
Secara 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

Universitas Esa Unggul


http://esaunggul.ac.id
7 / 20
Implementasi Advanced Encryption Standard

AES atau algoritma Rijndael sebagai salah satu algoritma yang penting
tentu memiliki berbagai kegunaan yang sudah diaplikasikan atau
diimplementasikan di kehidupan sehari-hari yang tentu saja membutuhkan
suatu perlindungan atau penyembunyian informasi di dalam prosesnya.
Salah satu contoh penggunaan AES adalah pada kompresi 7-Zip. Salah
satu proses di dalam 7-Zip adalah mengenkripsi isi dari data dengan
menggunakan metode AES-256. Yang kuncinya dihasilkan melalui fungsi
Hash. Perpaduan ini membuat suatu informasi yang terlindungi dan tidak
mudah rusak terutama oleh virus yang merupakan salah satu musuh besar
dalam dunia komputer dan informasi karena sifatnya adalah merusak
sebuah data. Hal yang serupa digunakan pada WinZip sebagai salah satu
perangkat lunak yang digunakan untuk melakukan kompresi. Tapi prinsip
kompresi pun tidak sama dengan prinsip enkripsi. Karena kompresi adalah
mengecilkan ukuran suatu data, biasanya digunakan kode Huffman dalam
melakukan hal tersebut. Contoh penggunaan lain adalah pada perangkat
lunak DiskCryptor yang kegunaannya adalah mengenkripsi keseluruhan isi
disk/partisi pada sebuah komputer. Metode enkripsi yang ditawarkan
adalah menggunakan AES-256, Twofish, atau Serpent.

Beberapa algoritma kriptografi simetri

Universitas Esa Unggul


http://esaunggul.ac.id
8 / 20
Gambar AES Round

AES Key Expansion

Universitas Esa Unggul


http://esaunggul.ac.id
9 / 20
AES Example Encryption

AES Example Encryption

Universitas Esa Unggul


http://esaunggul.ac.id
10 / 20
Diagram proses enkripsi

Diagram proses dekripsi

Universitas Esa Unggul


http://esaunggul.ac.id
11 / 20
Hubungan proses enkripsi dan dekripsi pada AES

Contoh Transformasi Sub-Bytes (tabel S-Box)

y
0 1 2 3 4 5 6 7 8 9 a b c d e f

0 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 4 c7 23 c3 18 96 5 9a 7 12 80 e2 eb 27 b2 75

4 9 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84

5 53 d1 0 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf

6 d0 ef aa fb 43 4d 33 85 45 f9 2 7f 50 3c 9f a8

x 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 6 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 8

c ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a

d 70 3e b5 66 48 3 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

Contoh Transformasi Shift-Row

Universitas Esa Unggul


http://esaunggul.ac.id
12 / 20
Transformasi ShiftRows() melakukan pergeseran secara wrapping (siklik)
pada 3 baris terakhir dari array state. Jumlah pergeseran bergantung pada
nilai baris (r). Baris r = 1 digeser sejauh 1 byte, baris r = 2 digeser sejauh 2
byte, dan baris r = 3 digeser sejauh 3 byte. Baris r = 0 tidak digeser (posisi
tetap) dengan menggunakan hasil sub-bytes

8a 8f e4 68 8a 8f e4 68
84 59 b5 59 shift row 1 dgn 59 b5 59 84
eb 47 24 c4 rotasi 1 byte eb 47 24 c4
01 f1 24 62 01 f1 24 62

8a 8f e4 68
shift row 2 dgn 59 b5 59 84
rotasi 2 byte 24 c4 eb 47
01 f1 24 62

8a 8f e4 68
shift row 3 dgn 59 b5 59 84
rotasi 3 byte 24 c4 eb 47
62 01 f1 24

Contoh Transformasi Mix-Column

Bila hasil transformasi ShiftRows()

d4 e0 b8 1e
bf b4 41 27
5d 52 11 98
30 ae f1 e5

Operasi MixColumns() terhadap kolom pertama:

Universitas Esa Unggul


http://esaunggul.ac.id
13 / 20
02 01 01 03 d4 04 02 01 01 03 b8 48
01 02 03 01 bf 66 01 02 03 01 41 f8
= =
01 01 02 03 5d 81 01 01 02 03 11 d3
03 01 01 02 30 e5 03 01 01 02 f1 7a

02 01 01 03 e0 e0 02 01 01 03 1e 28
01 02 03 01 b4 cb 01 02 03 01 27 06
= =
01 01 02 03 52 19 01 01 02 03 98 26
03 01 01 02 ae 9a 03 01 01 02 e5 4c

Sehingga menghasilkan

04 e0 48 28
66 cb f8 06
81 19 d3 26
e5 9a 7a 4c

Universitas Esa Unggul


http://esaunggul.ac.id
14 / 20
KRIPTOGRAFI ALGORITMA AES

Encryption with AES


Tahapan ;

Initial Round
AddRoundKey

Main Rounds
SubBytes
ShiftRows
MixColumns
AddRoundKey

Final Round
SubBytes
ShiftRows
AddRoundKey

Sub-bytes

Universitas Esa Unggul


http://esaunggul.ac.id
15 / 20
Shift-Rows

Mix-Columns

Universitas Esa Unggul


http://esaunggul.ac.id
16 / 20
Key Schedule

Universitas Esa Unggul


http://esaunggul.ac.id
17 / 20
Decryption with AES
Inverse Final Round
AddRoundKey
ShiftRows
SubBytes

Inverse Main Round


AddRoundKey
MixColumns
ShiftRows
SubBytes

Inverse Initial Round


AddRoundKey

Inverse ShiftRow

Inverse S-Box

Universitas Esa Unggul


http://esaunggul.ac.id
18 / 20
Inverse MixColumns

Universitas Esa Unggul


http://esaunggul.ac.id
19 / 20

Anda mungkin juga menyukai