SlideShare a Scribd company logo
Rinaldi Munir/Prodi IF/STEI ITB
Advanced Encryption Standard
(AES)
Bahan Kuliah IF5054 Kriptografi
Rinaldi Munir/Prodi IF/STEI ITB
Latar Belakang
• DES dianggap sudah tidak aman.
• Perlu diusulkan standard algoritma baru sebagai
pengganti DES.
• National Institute of Standards and Technology
(NIST) mengusulkan kepada Pemerintah Federal AS
untuk sebuah standard kriptografi kriptografi yang
baru.
• NIST mengadakan lomba membuat standard
algoritma kriptografi yang baru. Standard tersebut
kelak diberi nama Advanced Encryption Standard
(AES).
Rinaldi Munir/Prodi IF/STEI ITB
• Persyaratan algoritma baru:
1. Termasuk ke dalam kelompok algoritma
kriptografi simetri berbasis cipher blok.
2. Seluruh rancangan algoritma harus publik
(tidak dirahasiakan)
3. Panjang kunci fleksibel: 128, 192, dan 256 bit.
4. Ukuran blok yang dienkripsi adalah 128 bit.
5. Algoritma dapat diimplementasikan baik
sebagai software maupun hardware.
Rinaldi Munir/Prodi IF/STEI ITB
Lima finalis lomba:
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)
Rinaldi Munir/Prodi IF/STEI ITB
• Pada bulan Oktober 2000, NIST
mengumumkan untuk memilih Rijndael
(dibaca: Rhine-doll)
• Pada bulan November 2001, Rijndael
ditetapkan sebagai AES
• Diharapkan Rijndael menjadi standard
kriptografi yang dominan paling sedikit
selama 10 tahun.
Rinaldi Munir/Prodi IF/STEI ITB
Spesifikasi Algoritma Rijndael
• Rijndael mendukung panjang kunci 128 bit
sampai 256 bit dengan step 32 bit.
• Panjang kunci dan ukuran blok dapat dipilih
secara independen.
• Setiap blok dienkripsi dalam sejumlah putaran
tertentu, sebagaimana halnya pada DES.
• Karena AES menetapkan panjang kunci adalah
128, 192, dan 256, maka dikenal AES-128, AES-
192, dan AES-256.
Rinaldi Munir/Prodi IF/STEI ITB
• 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.
Panjang Kunci
(Nk words)
Ukuran Blok
(Nb words)
Jumlah Putaran
(Nr)
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14
Catatan: 1 word = 32 bit
Rinaldi Munir/Prodi IF/STEI ITB
• Dengan panjang kunci 128-bit, maka terdapat
sebanyak
2128
= 3,4 × 1038
kemungkinan kunci.
• Jika komputer tercepat dapat mencoba 1 juta
kunci setiap detik, maka akan dibutuhkan waktu
5,4 × 1024
tahun untuk mencoba seluruh kunci.
• Jika tercepat yang dapat mencoba 1 juta kunci
setiap milidetik, maka dibutuhkan waktu 5,4 ×
1018
tahun untuk mencoba seluruh kunci.
Rinaldi Munir/Prodi IF/STEI ITB
Algoritma Rijndael
• Tidak seperti DES yang berorientasi bit,
Rijndael beroperasi dalam orientasi byte.
• Setiap putaran mengunakan kunci internal
yang berbeda (disebut round key).
• Enciphering melibatkan operasi substitusi
dan permutasi.
Rinaldi Munir/Prodi IF/STEI ITB
• 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
Rinaldi Munir/Prodi IF/STEI ITB
Rinaldi Munir/Prodi IF/STEI ITB
#define LENGTH 16 /* Jumlah byte di dalam blok atau kunci */
#define NROWS 4 /* Jumlah baris di dalam state */
#define NCOLS 4 /* Jumlah kolom di dalam state */
#define ROUNDS 10 /* Jumlah putaran */
typedef unsigned char byte; /* unsigned 8-bit integer */
rijndael (byte plaintext[LENGTH], byte ciphertext[LENGTH],
byte key[LENGTH])
{
int r; /* pencacah pengulangan */
byte state[NROWS][NCOLS]; /* state sekarang */
struct{byte k[NROWS][NCOLS];} rk[ROUNDS + 1]; /* kunci pada setiap putaran */
KeyExpansion(key, rk); /* bangkitkan kunci setiap putaran */
CopyPlaintextToState(state, plaintext); /* inisialisasi
state sekarang */
AddRoundKey(state, rk[0]); /* XOR key ke dalam state */
for (r = 1; r<= ROUNDS - 1; r++)
{
SubBytes(state); /* substitusi setiap byte dengan S-box */
ShiftRows(state); /* rotasikan baris i sejauh i byte */
MixColumns(state); /* acak masing-masing kolom */
AddRoundKey(state, rk[r]); /* XOR key ke dalam state */
}
SubBytes(state); /* substitusi setiap byte dengan S-box */
ShiftRows(state); /* rotasikan baris i sejauh i byte */
AddRoundKey(state, rk[ROUNDS]); /* XOR key ke dalam state */
CopyStateToCiphertext(ciphertext, state); /* blok cipherteks yang dihasilkan */
}
Rinaldi Munir/Prodi IF/STEI ITB
Algoritma Rijndael mempunyai 3 parameter:
• 1. plaintext : array berukuran 16-byte,
yang berisi data masukan.
• 2. ciphertext : array berukuran 16-byte,
yang berisi hasil enkripsi.
• 3. key : array berukuran 16-byte, yang berisi
kunci ciphering (disebut juga cipher key).
• Dengan 16 byte, maka blok data dan kunci yang
berukuran 128-bit dapat disimpan di dalam array
(128 = 16 × 8).
Rinaldi Munir/Prodi IF/STEI ITB
• Selama kalkulasi plainteks menjadi
cipherteks, status sekarang dari data
disimpan di dalam array of bytes dua
dimensi, state, yang berukuran NROWS
× NCOLS.
• Untuk blok data 128-bit, ukuran state
adalah 4 × 4.
Rinaldi Munir/Prodi IF/STEI ITB
• Elemen array state diacu sebagai S[r,c],
0 ≤ r < 4 dan 0 ≤ c < Nb
(Nb adalah panjang blok dibagi 32.
Pada AES-128, Nb = 128/32 = 4)
P la in t e k s 1 2 8 - b it
s t a t e
Rinaldi Munir/Prodi IF/STEI ITB
• Pada awal enkripsi, 16-byte data masukan, in0
, in1
, …, in15
disalin ke dalam array state (direalisasikan oleh
fungsi:
CopyPlaintextToState(state, plaintext))
• Operasi enkripsi/dekripsi dilakukan terhadap array S, dan
keluarannya ditampung didalam array out.
in 8
in 7
in 3
in 4
in 6
in 5
in 0
in 1
in 2
in 9
in 1 0
in 1 1
in 1 2
in 1 3
in 1 4
in 1 5
S 0 , 2
S 3 , 1
S 3 , 0
S 0 , 1
S 2 , 1
S 1 , 1
S 0 , 0
S 1 , 0
S 2 , 0
S 1 , 2
S 2 , 2
S 3 , 2
S 0 , 3
S 1 , 3
S 2 , 3
S 3 , 3
o u t 8
o u t7
o u t3
o u t4
o u t6
o u t5
o u t0
o u t1
o u t2
o u t 9
o u t 1 0
o u t 1 1
o u t 1 2
o u t 1 3
o u t 1 4
o u t 1 5
in p u t b y t e s s t a t e a r r a y o u t p u t b y t e s
Rinaldi Munir/Prodi IF/STEI ITB
Contoh: (elemen state dan kunci dalam notasi HEX)
Rinaldi Munir/Prodi IF/STEI ITB
Transformasi SubBytes()
• SubBytes() memetakan setiap byte dari
array state dengan menggunakan S-box.
Rinaldi Munir/Prodi IF/STEI ITB
Rinaldi Munir/Prodi IF/STEI ITB
Transformasi ShiftRows()
• 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.
Rinaldi Munir/Prodi IF/STEI ITB
Geser baris ke-1:
Hasil pergeseran baris ke-1 dan geser baris ke-2:
Rinaldi Munir/Prodi IF/STEI ITB
Hasil pergeseran baris ke-2 dan geser baris ke-3:
Hasil pergeseran baris ke-3:
Rinaldi Munir/Prodi IF/STEI ITB
Transformasi MixColumns()
• Transformasi MixColumns() mengalikan
setiap kolom dari array state dengan
polinom a(x) mod (x4
+ 1).
• Setiap kolom diperlakukan sebagai
polinom 4-suku pada GF(28
).
• a(x) yang ditetapkan adalah:
a(x) = {03}x3
+ {01}x2
+ {01}x + {02}
Rinaldi Munir/Prodi IF/STEI ITB
s’(x) = a(x) ⊗s(x)












=












02010103
03020101
01030201
01010302
'
'
'
'
,3
,2
,1
,0
c
c
c
c
s
s
s
s












c
c
c
c
s
s
s
s
,3
,2
,1
,0
ccccc sssss ,3,2,1,0,0 )}03({)}02({' ⊕⊕•⊕•=
ccccc sssss ,3,2,1,0,1 )}03({)}02({' ⊕•⊕•⊕=
)}03({)}02({' ,3,1,1,0,2 ccccc sssss •⊕•⊕⊕=
)}02({)}03({' ,3,1,0,0,3 ccccc sssss •⊕⊕⊕•=
Rinaldi Munir/Prodi IF/STEI ITB
Hasil transformasi ShiftRows() sebelumnya:
Operasi MixColumns() terhadap kolom pertama:
Rinaldi Munir/Prodi IF/STEI ITB
Hasil transformasi MixColumns() seluruhnya:
Rinaldi Munir/Prodi IF/STEI ITB
Transformasi AddRoundKey()
• Transformasi ini melakukan operasi XOR
terhadap sebuah round key dengan array
state, dan hasilnya disimpan di array state.
Rinaldi Munir/Prodi IF/STEI ITB
XOR-kan kolom pertama state dengan kolom pertama round key:
Rinaldi Munir/Prodi IF/STEI ITB
Hasil AddRoundKey() terhadap seluruh kolom:
Rinaldi Munir/Prodi IF/STEI ITB
Rinaldi Munir/Prodi IF/STEI ITB
Rinaldi Munir/Prodi IF/STEI ITB
URL yang terkait dengan AES:
1. AES Homepage, http://www.nist.gov/CryptoToolkit
2. J. Daemen, V. Rijmen, AES Proposal: Rijndael,
http://www.esat.kuleuven.ac.be/~rizmen/
Rinaldi Munir/Prodi IF/STEI ITB
Beberapa algoritma kriptografi simetri:
Cipher Pembuat Panjang Kunci Keterangan
Blowfish Bruce Schneier 1 – 448 bit Old and slow
DES IBM 56 bit Too weak to use now
IDEA Massey dan Xuejia 128 bit Good, but patented
RC4 Ronald Rivest 1 – 2048 bit Caution: some keys
are weak
RC5 Ronald Rivest 128 – 256 bit Good, but patented
Rijndael Daemen dan Rijmen 128 – 256 bit Best choice
Serpent Anderson, Biham, Knudsen 128 – 256 bit Very strong
Triple DES IBM 168 bit Second best choice
Twofish Bruce Schneier 128 – 256 bit Very strong; widely
used

More Related Content

What's hot

Bab 4.-integral-lipat-dua1 2
Bab 4.-integral-lipat-dua1 2Bab 4.-integral-lipat-dua1 2
Bab 4.-integral-lipat-dua1 2
Dayga_Hatsu
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
Distribusi binomial (1)
Distribusi binomial (1)Distribusi binomial (1)
Distribusi binomial (1)
Sutrisno Birowo
 
9.algoritma kriptografi klasik (bag 5)xx
9.algoritma kriptografi klasik (bag 5)xx9.algoritma kriptografi klasik (bag 5)xx
9.algoritma kriptografi klasik (bag 5)xx
Universitas Bina Darma Palembang
 
persamaan-diferensial-orde-ii
persamaan-diferensial-orde-iipersamaan-diferensial-orde-ii
persamaan-diferensial-orde-ii
Faried Doank
 
Dualitas- Program Linear
Dualitas- Program LinearDualitas- Program Linear
Dualitas- Program Linear
HelvyEffendi
 
Precedence Diagram Method 2
Precedence Diagram Method 2Precedence Diagram Method 2
Precedence Diagram Method 2
Nurul Angreliany
 
Persamaan Diferensial Biasa ( Kalkulus 2 )
Persamaan Diferensial Biasa ( Kalkulus 2 )Persamaan Diferensial Biasa ( Kalkulus 2 )
Persamaan Diferensial Biasa ( Kalkulus 2 )
Kelinci Coklat
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsu
okti agung
 
Logika
LogikaLogika
Momen kemiringan dan_keruncingan(7)
Momen kemiringan dan_keruncingan(7)Momen kemiringan dan_keruncingan(7)
Momen kemiringan dan_keruncingan(7)
rizka_safa
 
Integral Permukaan (Kalkulus Peubah Banyak)
Integral Permukaan (Kalkulus Peubah Banyak)Integral Permukaan (Kalkulus Peubah Banyak)
Integral Permukaan (Kalkulus Peubah Banyak)
Kelinci Coklat
 
01 barisan-dan-deret
01 barisan-dan-deret01 barisan-dan-deret
01 barisan-dan-deret
Arif Nur Rahman
 
Acceptance sampling untuk data variabel
Acceptance sampling untuk data variabelAcceptance sampling untuk data variabel
Acceptance sampling untuk data variabel
Mahros Darsin
 
Presentasi Mesin Frais, Bor, Gurdi
Presentasi Mesin Frais, Bor, GurdiPresentasi Mesin Frais, Bor, Gurdi
Presentasi Mesin Frais, Bor, Gurdi
EssyKarundeng
 
Konsep Turunan
Konsep TurunanKonsep Turunan
Konsep Turunan
Reza Ferial Ashadi
 
Distribusi multinomial
Distribusi multinomialDistribusi multinomial
Distribusi multinomialMarwaElshi
 
Distribusi normal, f,t
Distribusi normal, f,tDistribusi normal, f,t
Distribusi normal, f,tratuilma
 
5. metode sampling kerja
5. metode sampling kerja5. metode sampling kerja
5. metode sampling kerja
Diery Sipayung
 

What's hot (20)

Bab 4.-integral-lipat-dua1 2
Bab 4.-integral-lipat-dua1 2Bab 4.-integral-lipat-dua1 2
Bab 4.-integral-lipat-dua1 2
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Distribusi binomial (1)
Distribusi binomial (1)Distribusi binomial (1)
Distribusi binomial (1)
 
9.algoritma kriptografi klasik (bag 5)xx
9.algoritma kriptografi klasik (bag 5)xx9.algoritma kriptografi klasik (bag 5)xx
9.algoritma kriptografi klasik (bag 5)xx
 
persamaan-diferensial-orde-ii
persamaan-diferensial-orde-iipersamaan-diferensial-orde-ii
persamaan-diferensial-orde-ii
 
Dualitas- Program Linear
Dualitas- Program LinearDualitas- Program Linear
Dualitas- Program Linear
 
Precedence Diagram Method 2
Precedence Diagram Method 2Precedence Diagram Method 2
Precedence Diagram Method 2
 
Persamaan Diferensial Biasa ( Kalkulus 2 )
Persamaan Diferensial Biasa ( Kalkulus 2 )Persamaan Diferensial Biasa ( Kalkulus 2 )
Persamaan Diferensial Biasa ( Kalkulus 2 )
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsu
 
Logika
LogikaLogika
Logika
 
Momen kemiringan dan_keruncingan(7)
Momen kemiringan dan_keruncingan(7)Momen kemiringan dan_keruncingan(7)
Momen kemiringan dan_keruncingan(7)
 
Integral Permukaan (Kalkulus Peubah Banyak)
Integral Permukaan (Kalkulus Peubah Banyak)Integral Permukaan (Kalkulus Peubah Banyak)
Integral Permukaan (Kalkulus Peubah Banyak)
 
Persimpangan
PersimpanganPersimpangan
Persimpangan
 
01 barisan-dan-deret
01 barisan-dan-deret01 barisan-dan-deret
01 barisan-dan-deret
 
Acceptance sampling untuk data variabel
Acceptance sampling untuk data variabelAcceptance sampling untuk data variabel
Acceptance sampling untuk data variabel
 
Presentasi Mesin Frais, Bor, Gurdi
Presentasi Mesin Frais, Bor, GurdiPresentasi Mesin Frais, Bor, Gurdi
Presentasi Mesin Frais, Bor, Gurdi
 
Konsep Turunan
Konsep TurunanKonsep Turunan
Konsep Turunan
 
Distribusi multinomial
Distribusi multinomialDistribusi multinomial
Distribusi multinomial
 
Distribusi normal, f,t
Distribusi normal, f,tDistribusi normal, f,t
Distribusi normal, f,t
 
5. metode sampling kerja
5. metode sampling kerja5. metode sampling kerja
5. metode sampling kerja
 

Similar to 19.advanced encryption standard (aes)

Kriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption StandardKriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption Standard
KuliahKita
 
Advanced encryption standard (aes)
Advanced encryption standard (aes)Advanced encryption standard (aes)
Advanced encryption standard (aes)
likut101010
 
Kriptografi - Data Encryption Standard
Kriptografi - Data Encryption StandardKriptografi - Data Encryption Standard
Kriptografi - Data Encryption Standard
KuliahKita
 
Minggu 12 keamanan data[baru]
Minggu 12 keamanan data[baru]Minggu 12 keamanan data[baru]
Minggu 12 keamanan data[baru]
Sofyan Arifianto
 
12.algoritma kriptografi modern (bagian 1)xx
12.algoritma kriptografi modern (bagian 1)xx12.algoritma kriptografi modern (bagian 1)xx
12.algoritma kriptografi modern (bagian 1)xx
Universitas Bina Darma Palembang
 
7 Keamanan Jaringan 1
7 Keamanan Jaringan 17 Keamanan Jaringan 1
7 Keamanan Jaringan 1
Mrirfan
 
Kriptografi - Algoritma Kriptografi Modern
Kriptografi - Algoritma Kriptografi ModernKriptografi - Algoritma Kriptografi Modern
Kriptografi - Algoritma Kriptografi Modern
KuliahKita
 
Part 3 dasar sistem komputer
Part 3 dasar sistem komputerPart 3 dasar sistem komputer
Part 3 dasar sistem komputer
Dermawan12
 
Part 3 Dasar Sistem Komputer
Part 3 Dasar Sistem KomputerPart 3 Dasar Sistem Komputer
Part 3 Dasar Sistem Komputer
eka pandu cynthia
 
Kriptografi - Stream Cipher
Kriptografi - Stream CipherKriptografi - Stream Cipher
Kriptografi - Stream Cipher
KuliahKita
 
Struktur data
Struktur data Struktur data
Struktur data
Fandi Rahmat
 
Advanced Encryption Standard (AES) DownloadEdit
Advanced Encryption Standard (AES) DownloadEditAdvanced Encryption Standard (AES) DownloadEdit
Advanced Encryption Standard (AES) DownloadEdit
Lusiana Diyan
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
Luqman Hakim
 
Idea (international data encryption algorithm)
Idea (international data encryption algorithm)Idea (international data encryption algorithm)
Idea (international data encryption algorithm)
Arofiah Hidayati
 
Part 10
Part 10Part 10
Modul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital finalModul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital final
PPGHybrid2
 
Materi 2
Materi 2Materi 2
Algoritma kriptografi
Algoritma kriptografiAlgoritma kriptografi
Algoritma kriptografi
kadek supadma
 
Drd1 pengenalan m ikroprosesor
Drd1 pengenalan m ikroprosesorDrd1 pengenalan m ikroprosesor
Drd1 pengenalan m ikroprosesor
yaperkasa
 

Similar to 19.advanced encryption standard (aes) (20)

Kriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption StandardKriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption Standard
 
Advanced encryption standard (aes)
Advanced encryption standard (aes)Advanced encryption standard (aes)
Advanced encryption standard (aes)
 
Kriptografi - Data Encryption Standard
Kriptografi - Data Encryption StandardKriptografi - Data Encryption Standard
Kriptografi - Data Encryption Standard
 
Minggu 12 keamanan data[baru]
Minggu 12 keamanan data[baru]Minggu 12 keamanan data[baru]
Minggu 12 keamanan data[baru]
 
12.algoritma kriptografi modern (bagian 1)xx
12.algoritma kriptografi modern (bagian 1)xx12.algoritma kriptografi modern (bagian 1)xx
12.algoritma kriptografi modern (bagian 1)xx
 
7 Keamanan Jaringan 1
7 Keamanan Jaringan 17 Keamanan Jaringan 1
7 Keamanan Jaringan 1
 
Kriptografi - Algoritma Kriptografi Modern
Kriptografi - Algoritma Kriptografi ModernKriptografi - Algoritma Kriptografi Modern
Kriptografi - Algoritma Kriptografi Modern
 
Des
DesDes
Des
 
Part 3 dasar sistem komputer
Part 3 dasar sistem komputerPart 3 dasar sistem komputer
Part 3 dasar sistem komputer
 
Part 3 Dasar Sistem Komputer
Part 3 Dasar Sistem KomputerPart 3 Dasar Sistem Komputer
Part 3 Dasar Sistem Komputer
 
Kriptografi - Stream Cipher
Kriptografi - Stream CipherKriptografi - Stream Cipher
Kriptografi - Stream Cipher
 
Struktur data
Struktur data Struktur data
Struktur data
 
Advanced Encryption Standard (AES) DownloadEdit
Advanced Encryption Standard (AES) DownloadEditAdvanced Encryption Standard (AES) DownloadEdit
Advanced Encryption Standard (AES) DownloadEdit
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
 
Idea (international data encryption algorithm)
Idea (international data encryption algorithm)Idea (international data encryption algorithm)
Idea (international data encryption algorithm)
 
Part 10
Part 10Part 10
Part 10
 
Modul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital finalModul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital final
 
Materi 2
Materi 2Materi 2
Materi 2
 
Algoritma kriptografi
Algoritma kriptografiAlgoritma kriptografi
Algoritma kriptografi
 
Drd1 pengenalan m ikroprosesor
Drd1 pengenalan m ikroprosesorDrd1 pengenalan m ikroprosesor
Drd1 pengenalan m ikroprosesor
 

More from Universitas Bina Darma Palembang

30448 pertemuan1
30448 pertemuan130448 pertemuan1
29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))
Universitas Bina Darma Palembang
 
28501 pertemuan14(php)
28501 pertemuan14(php)28501 pertemuan14(php)
28501 pertemuan14(php)
Universitas Bina Darma Palembang
 
28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)
Universitas Bina Darma Palembang
 
25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)
Universitas Bina Darma Palembang
 
18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)
Universitas Bina Darma Palembang
 
18040 pertemuan13(css)
18040 pertemuan13(css)18040 pertemuan13(css)
18040 pertemuan13(css)
Universitas Bina Darma Palembang
 
16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)
Universitas Bina Darma Palembang
 
15294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah015294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah0
Universitas Bina Darma Palembang
 
12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)
Universitas Bina Darma Palembang
 
6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)
Universitas Bina Darma Palembang
 
5623 pertemuan11(html1)
5623 pertemuan11(html1)5623 pertemuan11(html1)
5623 pertemuan11(html1)
Universitas Bina Darma Palembang
 
4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)
Universitas Bina Darma Palembang
 
4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)
Universitas Bina Darma Palembang
 
2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)
Universitas Bina Darma Palembang
 
2190 pertemuan24(polling)
2190 pertemuan24(polling)2190 pertemuan24(polling)
2190 pertemuan24(polling)
Universitas Bina Darma Palembang
 

More from Universitas Bina Darma Palembang (20)

30448 pertemuan1
30448 pertemuan130448 pertemuan1
30448 pertemuan1
 
29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))
 
28501 pertemuan14(php)
28501 pertemuan14(php)28501 pertemuan14(php)
28501 pertemuan14(php)
 
28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)
 
25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)
 
23921 pertemuan 3
23921 pertemuan 323921 pertemuan 3
23921 pertemuan 3
 
19313 pertemuan6
19313 pertemuan619313 pertemuan6
19313 pertemuan6
 
18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)
 
18040 pertemuan13(css)
18040 pertemuan13(css)18040 pertemuan13(css)
18040 pertemuan13(css)
 
17945 pertemuan5
17945 pertemuan517945 pertemuan5
17945 pertemuan5
 
16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)
 
15294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah015294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah0
 
13926 pertemuan4
13926 pertemuan413926 pertemuan4
13926 pertemuan4
 
12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)
 
6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)
 
5623 pertemuan11(html1)
5623 pertemuan11(html1)5623 pertemuan11(html1)
5623 pertemuan11(html1)
 
4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)
 
4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)
 
2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)
 
2190 pertemuan24(polling)
2190 pertemuan24(polling)2190 pertemuan24(polling)
2190 pertemuan24(polling)
 

Recently uploaded

BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptxBAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
ssuser5e48eb
 
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdfPROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
afifsalim12
 
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
ymikhael4
 
PROYEK PEMBANGUNAN TRANSMISI 150 KV PLN
PROYEK PEMBANGUNAN TRANSMISI 150 KV  PLNPROYEK PEMBANGUNAN TRANSMISI 150 KV  PLN
PROYEK PEMBANGUNAN TRANSMISI 150 KV PLN
tejakusuma17
 
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdfANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
narayafiryal8
 
Perencanaan Anggaran Biaya dan penjadwalan
Perencanaan Anggaran Biaya dan penjadwalanPerencanaan Anggaran Biaya dan penjadwalan
Perencanaan Anggaran Biaya dan penjadwalan
MarvinPatrick1
 
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdfDAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
benediktusmaksy
 
Sistem Proteksi Jawa Bali untuk gardu induk
Sistem Proteksi Jawa Bali untuk gardu indukSistem Proteksi Jawa Bali untuk gardu induk
Sistem Proteksi Jawa Bali untuk gardu induk
ssuser0b6eb8
 
Paparan Pengawasan Bangunan Gedung.pptx
Paparan  Pengawasan Bangunan Gedung.pptxPaparan  Pengawasan Bangunan Gedung.pptx
Paparan Pengawasan Bangunan Gedung.pptx
RifkiAbrar2
 

Recently uploaded (9)

BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptxBAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
 
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdfPROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
 
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
 
PROYEK PEMBANGUNAN TRANSMISI 150 KV PLN
PROYEK PEMBANGUNAN TRANSMISI 150 KV  PLNPROYEK PEMBANGUNAN TRANSMISI 150 KV  PLN
PROYEK PEMBANGUNAN TRANSMISI 150 KV PLN
 
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdfANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
 
Perencanaan Anggaran Biaya dan penjadwalan
Perencanaan Anggaran Biaya dan penjadwalanPerencanaan Anggaran Biaya dan penjadwalan
Perencanaan Anggaran Biaya dan penjadwalan
 
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdfDAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
 
Sistem Proteksi Jawa Bali untuk gardu induk
Sistem Proteksi Jawa Bali untuk gardu indukSistem Proteksi Jawa Bali untuk gardu induk
Sistem Proteksi Jawa Bali untuk gardu induk
 
Paparan Pengawasan Bangunan Gedung.pptx
Paparan  Pengawasan Bangunan Gedung.pptxPaparan  Pengawasan Bangunan Gedung.pptx
Paparan Pengawasan Bangunan Gedung.pptx
 

19.advanced encryption standard (aes)

  • 1. Rinaldi Munir/Prodi IF/STEI ITB Advanced Encryption Standard (AES) Bahan Kuliah IF5054 Kriptografi
  • 2. Rinaldi Munir/Prodi IF/STEI ITB Latar Belakang • DES dianggap sudah tidak aman. • Perlu diusulkan standard algoritma baru sebagai pengganti DES. • National Institute of Standards and Technology (NIST) mengusulkan kepada Pemerintah Federal AS untuk sebuah standard kriptografi kriptografi yang baru. • NIST mengadakan lomba membuat standard algoritma kriptografi yang baru. Standard tersebut kelak diberi nama Advanced Encryption Standard (AES).
  • 3. Rinaldi Munir/Prodi IF/STEI ITB • Persyaratan algoritma baru: 1. Termasuk ke dalam kelompok algoritma kriptografi simetri berbasis cipher blok. 2. Seluruh rancangan algoritma harus publik (tidak dirahasiakan) 3. Panjang kunci fleksibel: 128, 192, dan 256 bit. 4. Ukuran blok yang dienkripsi adalah 128 bit. 5. Algoritma dapat diimplementasikan baik sebagai software maupun hardware.
  • 4. Rinaldi Munir/Prodi IF/STEI ITB Lima finalis lomba: 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)
  • 5. Rinaldi Munir/Prodi IF/STEI ITB • Pada bulan Oktober 2000, NIST mengumumkan untuk memilih Rijndael (dibaca: Rhine-doll) • Pada bulan November 2001, Rijndael ditetapkan sebagai AES • Diharapkan Rijndael menjadi standard kriptografi yang dominan paling sedikit selama 10 tahun.
  • 6. Rinaldi Munir/Prodi IF/STEI ITB Spesifikasi Algoritma Rijndael • Rijndael mendukung panjang kunci 128 bit sampai 256 bit dengan step 32 bit. • Panjang kunci dan ukuran blok dapat dipilih secara independen. • Setiap blok dienkripsi dalam sejumlah putaran tertentu, sebagaimana halnya pada DES. • Karena AES menetapkan panjang kunci adalah 128, 192, dan 256, maka dikenal AES-128, AES- 192, dan AES-256.
  • 7. Rinaldi Munir/Prodi IF/STEI ITB • 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. Panjang Kunci (Nk words) Ukuran Blok (Nb words) Jumlah Putaran (Nr) AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 Catatan: 1 word = 32 bit
  • 8. Rinaldi Munir/Prodi IF/STEI ITB • Dengan panjang kunci 128-bit, maka terdapat sebanyak 2128 = 3,4 × 1038 kemungkinan kunci. • Jika komputer tercepat dapat mencoba 1 juta kunci setiap detik, maka akan dibutuhkan waktu 5,4 × 1024 tahun untuk mencoba seluruh kunci. • Jika tercepat yang dapat mencoba 1 juta kunci setiap milidetik, maka dibutuhkan waktu 5,4 × 1018 tahun untuk mencoba seluruh kunci.
  • 9. Rinaldi Munir/Prodi IF/STEI ITB Algoritma Rijndael • Tidak seperti DES yang berorientasi bit, Rijndael beroperasi dalam orientasi byte. • Setiap putaran mengunakan kunci internal yang berbeda (disebut round key). • Enciphering melibatkan operasi substitusi dan permutasi.
  • 10. Rinaldi Munir/Prodi IF/STEI ITB • 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
  • 12. Rinaldi Munir/Prodi IF/STEI ITB #define LENGTH 16 /* Jumlah byte di dalam blok atau kunci */ #define NROWS 4 /* Jumlah baris di dalam state */ #define NCOLS 4 /* Jumlah kolom di dalam state */ #define ROUNDS 10 /* Jumlah putaran */ typedef unsigned char byte; /* unsigned 8-bit integer */ rijndael (byte plaintext[LENGTH], byte ciphertext[LENGTH], byte key[LENGTH]) { int r; /* pencacah pengulangan */ byte state[NROWS][NCOLS]; /* state sekarang */ struct{byte k[NROWS][NCOLS];} rk[ROUNDS + 1]; /* kunci pada setiap putaran */ KeyExpansion(key, rk); /* bangkitkan kunci setiap putaran */ CopyPlaintextToState(state, plaintext); /* inisialisasi state sekarang */ AddRoundKey(state, rk[0]); /* XOR key ke dalam state */ for (r = 1; r<= ROUNDS - 1; r++) { SubBytes(state); /* substitusi setiap byte dengan S-box */ ShiftRows(state); /* rotasikan baris i sejauh i byte */ MixColumns(state); /* acak masing-masing kolom */ AddRoundKey(state, rk[r]); /* XOR key ke dalam state */ } SubBytes(state); /* substitusi setiap byte dengan S-box */ ShiftRows(state); /* rotasikan baris i sejauh i byte */ AddRoundKey(state, rk[ROUNDS]); /* XOR key ke dalam state */ CopyStateToCiphertext(ciphertext, state); /* blok cipherteks yang dihasilkan */ }
  • 13. Rinaldi Munir/Prodi IF/STEI ITB Algoritma Rijndael mempunyai 3 parameter: • 1. plaintext : array berukuran 16-byte, yang berisi data masukan. • 2. ciphertext : array berukuran 16-byte, yang berisi hasil enkripsi. • 3. key : array berukuran 16-byte, yang berisi kunci ciphering (disebut juga cipher key). • Dengan 16 byte, maka blok data dan kunci yang berukuran 128-bit dapat disimpan di dalam array (128 = 16 × 8).
  • 14. Rinaldi Munir/Prodi IF/STEI ITB • Selama kalkulasi plainteks menjadi cipherteks, status sekarang dari data disimpan di dalam array of bytes dua dimensi, state, yang berukuran NROWS × NCOLS. • Untuk blok data 128-bit, ukuran state adalah 4 × 4.
  • 15. Rinaldi Munir/Prodi IF/STEI ITB • Elemen array state diacu sebagai S[r,c], 0 ≤ r < 4 dan 0 ≤ c < Nb (Nb adalah panjang blok dibagi 32. Pada AES-128, Nb = 128/32 = 4) P la in t e k s 1 2 8 - b it s t a t e
  • 16. Rinaldi Munir/Prodi IF/STEI ITB • Pada awal enkripsi, 16-byte data masukan, in0 , in1 , …, in15 disalin ke dalam array state (direalisasikan oleh fungsi: CopyPlaintextToState(state, plaintext)) • Operasi enkripsi/dekripsi dilakukan terhadap array S, dan keluarannya ditampung didalam array out. in 8 in 7 in 3 in 4 in 6 in 5 in 0 in 1 in 2 in 9 in 1 0 in 1 1 in 1 2 in 1 3 in 1 4 in 1 5 S 0 , 2 S 3 , 1 S 3 , 0 S 0 , 1 S 2 , 1 S 1 , 1 S 0 , 0 S 1 , 0 S 2 , 0 S 1 , 2 S 2 , 2 S 3 , 2 S 0 , 3 S 1 , 3 S 2 , 3 S 3 , 3 o u t 8 o u t7 o u t3 o u t4 o u t6 o u t5 o u t0 o u t1 o u t2 o u t 9 o u t 1 0 o u t 1 1 o u t 1 2 o u t 1 3 o u t 1 4 o u t 1 5 in p u t b y t e s s t a t e a r r a y o u t p u t b y t e s
  • 17. Rinaldi Munir/Prodi IF/STEI ITB Contoh: (elemen state dan kunci dalam notasi HEX)
  • 18. Rinaldi Munir/Prodi IF/STEI ITB Transformasi SubBytes() • SubBytes() memetakan setiap byte dari array state dengan menggunakan S-box.
  • 20. Rinaldi Munir/Prodi IF/STEI ITB Transformasi ShiftRows() • 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.
  • 21. Rinaldi Munir/Prodi IF/STEI ITB Geser baris ke-1: Hasil pergeseran baris ke-1 dan geser baris ke-2:
  • 22. Rinaldi Munir/Prodi IF/STEI ITB Hasil pergeseran baris ke-2 dan geser baris ke-3: Hasil pergeseran baris ke-3:
  • 23. Rinaldi Munir/Prodi IF/STEI ITB Transformasi MixColumns() • Transformasi MixColumns() mengalikan setiap kolom dari array state dengan polinom a(x) mod (x4 + 1). • Setiap kolom diperlakukan sebagai polinom 4-suku pada GF(28 ). • a(x) yang ditetapkan adalah: a(x) = {03}x3 + {01}x2 + {01}x + {02}
  • 24. Rinaldi Munir/Prodi IF/STEI ITB s’(x) = a(x) ⊗s(x)             =             02010103 03020101 01030201 01010302 ' ' ' ' ,3 ,2 ,1 ,0 c c c c s s s s             c c c c s s s s ,3 ,2 ,1 ,0 ccccc sssss ,3,2,1,0,0 )}03({)}02({' ⊕⊕•⊕•= ccccc sssss ,3,2,1,0,1 )}03({)}02({' ⊕•⊕•⊕= )}03({)}02({' ,3,1,1,0,2 ccccc sssss •⊕•⊕⊕= )}02({)}03({' ,3,1,0,0,3 ccccc sssss •⊕⊕⊕•=
  • 25. Rinaldi Munir/Prodi IF/STEI ITB Hasil transformasi ShiftRows() sebelumnya: Operasi MixColumns() terhadap kolom pertama:
  • 26. Rinaldi Munir/Prodi IF/STEI ITB Hasil transformasi MixColumns() seluruhnya:
  • 27. Rinaldi Munir/Prodi IF/STEI ITB Transformasi AddRoundKey() • Transformasi ini melakukan operasi XOR terhadap sebuah round key dengan array state, dan hasilnya disimpan di array state.
  • 28. Rinaldi Munir/Prodi IF/STEI ITB XOR-kan kolom pertama state dengan kolom pertama round key:
  • 29. Rinaldi Munir/Prodi IF/STEI ITB Hasil AddRoundKey() terhadap seluruh kolom:
  • 32. Rinaldi Munir/Prodi IF/STEI ITB URL yang terkait dengan AES: 1. AES Homepage, http://www.nist.gov/CryptoToolkit 2. J. Daemen, V. Rijmen, AES Proposal: Rijndael, http://www.esat.kuleuven.ac.be/~rizmen/
  • 33. Rinaldi Munir/Prodi IF/STEI ITB Beberapa algoritma kriptografi simetri: Cipher Pembuat Panjang Kunci Keterangan Blowfish Bruce Schneier 1 – 448 bit Old and slow DES IBM 56 bit Too weak to use now IDEA Massey dan Xuejia 128 bit Good, but patented RC4 Ronald Rivest 1 – 2048 bit Caution: some keys are weak RC5 Ronald Rivest 128 – 256 bit Good, but patented Rijndael Daemen dan Rijmen 128 – 256 bit Best choice Serpent Anderson, Biham, Knudsen 128 – 256 bit Very strong Triple DES IBM 168 bit Second best choice Twofish Bruce Schneier 128 – 256 bit Very strong; widely used