Advanced Encryption Standard (AES)

Slides:



Advertisements
Presentasi serupa
Assalamu’alaikum Wr. Wb..
Advertisements

Sejarah  Algoritma ini dikembangkan oleh Ron Rivest, Adi Shamir, dan Len Adleman pada tahun  Algoritma ini.
Kriptografi Kunci-Publik
Algoritma Kriptografi Knapsack
1 Asep Budiman K., MT Pendahulan  Sebelum komputer ada, kriptografi dilakukan dengan algoritma berbasis karakter.  Algoritma yang digunakan.
Algoritma Kriptografi Modern
Algoritma Kriptografi Modern (Bagian 2)
Rinaldi Munir/IF5054 Kriptografi/STEi ITB
Bahan Kuliah IF5054 Kriptografi
Bahan Kuliah IF3058 Kriptografi
Keamanan Komputer Kriptografi.
Algoritma Kriptografi Klasik
Sumber : Rinaldi Munir, ITB
Algoritma Kriptografi
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
Data Encryption Standard (DES)
DEA (Data Encryption Algorithm)
Bahan Kuliah IF3058 Kriptografi
Pengenalan Kriptografi (Week 1)
Advanced Encryption Standard (AES)
KRIPTOGRAFI Kriptografi adalah suatu ilmu yang mempelajari
Advanced Encryption Standard (AES)
ABSTRAK for further detail, please visit
Advanced Encryption Standard (AES)
KRIPTOGRAFI.
Keamanan Komputer Kriptografi (2) -Aurelio Rahmadian-
Digital Signature Standard (DSS)
Tipe dan Mode Algoritma Simetri (Bagian 3)
Bahan Kuliah IF3058 Kriptografi
Secure Hash Algorithm (SHA)
Algoritma Kriptografi Modern
Sumber : Rinaldi Munir, ITB
Algoritma Kriptografi Modern
Algoritma Kriptografi Klasik. Pendahuluan 1. Cipher Substitusi.
Data Encryption Standard (DES)
Algoritma dan Struktur Data Lanjut
RSA (Rivest—Shamir—Adleman)
Algoritma Kriptografi Modern (Bagian 2)
Block Cipher Kriptografi.
Perkembangan Riset dalam Bidang Kriptografi
Advanced Encryption Standard (AES)
Algoritma Kriptografi Modern
DES (Data Encryption Standard)
Data Encryption Standard (DES)
DEA (Data Encryption Algorithm)
Kriptografi dan Steganography
(Data Encryption Standard)
Kriptografi – Pertemuan 1 Pengenalan Kriptografi
Kriptografi Kunci-Publik
DEA (Data Encryption Algorithm)
Data Encryption Standard (DES)
Advanced Encryption Standard (AES)
Kriptografi, Enkripsi dan Dekripsi
Algoritma Kriptografi Modern
Advanced Encryption Standard (AES)
ALGORITMA CRYPTOGRAPHY MODERN
Kustanto Sumber : Rinaldi Munir, ITB
Algoritma Kriptografi Modern
ADVANCE ENCRYPTION STANDARD (AES)
Algoritma Kriptografi Klasik. Pendahuluan Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja, belum ada komputer Termasuk.
Pengenalan Kriptografi Modern
Advanced Encryption Standard
Algoritma Kriptografi Klasik
Kriptografi Modern (1) Levy Olivia Nur, MT.
Kriptografi Levy Olivia Nur, MT.
Algoritma Kriptografi Modern
Pengenalan Kriptografi (Week 1)
KRIPTOGRAFI Leni novianti, m.kom.
Algoritma Kriptografi Klasik. Pendahuluan Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja, belum ada komputer Termasuk.
This presentation uses a free template provided by FPPT.com Studi Algoritma Enkripsi AES, DES dan RSA untuk Keamanan.
Transcript presentasi:

Advanced Encryption Standard (AES) Bahan Kuliah IF5054 Kriptografi Rinaldi Munir/Prodi IF/STEI ITB

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

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

Rinaldi Munir/Prodi IF/STEI ITB Lima finalis lomba: Rijndael (dari Vincent Rijmen dan Joan Daemen – Belgia, 86 suara) Serpent (dari Ross Anderson, Eli Biham, dan Lars Knudsen – Inggris, Israel, dan Norwegia, 59 suara). Twofish (dari tim yang diketuai oleh Bruce Schneier – USA, 31 suara) RC6 (dari Laboratorium RSA – USA, 23 suara) MARS (dari IBM, 13 suara) Rinaldi Munir/Prodi IF/STEI ITB

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

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. Rinaldi Munir/Prodi IF/STEI ITB

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

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

Rinaldi Munir/Prodi IF/STEI ITB

Rinaldi Munir/Prodi IF/STEI ITB

Rinaldi Munir/Prodi IF/STEI ITB

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

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

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) Rinaldi Munir/Prodi IF/STEI ITB

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. 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

Rinaldi Munir/Prodi IF/STEI ITB

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

Rinaldi Munir/Prodi IF/STEI ITB

Rinaldi Munir/Prodi IF/STEI ITB

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

Rinaldi Munir/Prodi IF/STEI ITB

Rinaldi Munir/Prodi IF/STEI ITB

Rinaldi Munir/Prodi IF/STEI ITB

Rinaldi Munir/Prodi IF/STEI ITB

Rinaldi Munir/Prodi IF/STEI ITB

Rinaldi Munir/Prodi IF/STEI ITB