SlideShare a Scribd company logo
Advanced Encryption Standard (AES) 
Bekerja sama dengan: Rinaldi Munir
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).
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.
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)
•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.
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.
•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
•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.
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.
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
Kriptografi - Advanced Encryption Standard
#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 */ }
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 16 elemen (16  8 = 128).
•Blok plainteks disimpan di dalam matrix of byte yang bernama state dan berukuran NROWS  NCOLS. 
•Untuk blok data 128-bit, ukuran state 4  4. 
Plainteks 128-bitstate
•Pada awal enkripsi, 16-byte data masukan, in0, in1, …, in15 disalin ke dalam array state (direalisasikan oleh fungsi: 
CopyPlaintextToState(state, plaintext)) 
in8in7in3in4in6in5in0in1in2in9in10in11in12in13in14in15S0,2S3,1S3,0S0,1S2,1S1,1S0,0S1,0S2,0S1,2S2,2S3,2S0,3S1,3S2,3S3,3out8out7out3out4out6out5out0out1out2out9out10out11out12out13out14out15input bytesstate arrayoutput bytes
Contoh: (elemen state dan kunci dalam notasi HEX)
Transformasi SubBytes() 
•SubBytes() memetakan setiap byte dari array state dengan menggunakan S-box.
Kriptografi - Advanced Encryption Standard
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.
Geser baris ke-1: 
Hasil pergeseran baris ke-1 dan geser baris ke-2:
Hasil pergeseran baris ke-2 dan geser baris ke-3: 
Hasil pergeseran baris ke-3:
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}
s’(x) = a(x)  s(x) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
03 01 01 02 
01 01 02 03 
01 02 03 01 
02 03 01 01 
' 
' 
' 
' 
3, 
2, 
1, 
0, 
c 
c 
c 
c 
s 
s 
s 
s 
 
 
 
 
 
 
 
 
 
 
 
 
c 
c 
c 
c 
s 
s 
s 
s 
3, 
2, 
1, 
0, 
c c c c c s s s s s 0, 0, 1, 2, 3, '  ({02} )({03} )  
c c c c c s s s s s 1, 0, 1, 2, 3, '  ({02} )({03} ) 
' ({02} ) ({03} ) 2,c 0,c 1,c 1,c 3,c s  s  s   s   s 
' ({03} ) ({02} ) 3,c 0,c 0,c 1,c 3,c s   s s s   s
Hasil transformasi ShiftRows() sebelumnya: 
Operasi MixColumns() terhadap kolom pertama:
Hasil transformasi MixColumns() seluruhnya:
Transformasi AddRoundKey() 
•Transformasi ini melakukan operasi XOR terhadap sebuah round key dengan array state, dan hasilnya disimpan di array state.
XOR-kan kolom pertama state dengan kolom pertama round key: 
Hasil AddRoundKey() terhadap seluruh kolom:
Kriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption Standard
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

PPSX
Media penyimpanan external komputer
PPTX
5 akhlak pribadi
PPTX
غزو الفكر (Ghozwul Fikri)
PPTX
Akhlakul Karimah
PPTX
Ummat terbaik
PPTX
Ulul albab
DOCX
Hadi makalah pelatihan imam dan khatib
PPTX
Jalan menuju iman
Media penyimpanan external komputer
5 akhlak pribadi
غزو الفكر (Ghozwul Fikri)
Akhlakul Karimah
Ummat terbaik
Ulul albab
Hadi makalah pelatihan imam dan khatib
Jalan menuju iman

What's hot (20)

PPTX
Presentasi Harddisk dan RAM
PDF
GHAZWUL FIKRI
PPTX
Generasi muda dan perubahan slide
PDF
05-2. Kategori Tempat Penyimpanan dan Peralatan Penyimpanan Magnetic dan Pera...
ODP
Ghazwul Fikri
PDF
tugas makalah basis data .pdf
PPTX
Metode Pembelajaran Matematika SQ3R
PDF
klasifikasi-komputer
PDF
Bab 5 peralatan penyimpanan data
PPTX
Untold Story Karya Ustadz KH Hafidz Abdurrahman
PPTX
Islam historis dan normatif
DOCX
makalah basis data
PPTX
Ilmu Sosial Dasar : Agama dan Masyarakat
DOCX
Sejarah dan Perkembangan Memori External
PPTX
Surat luqman ayat 12 19 sebagai materi pendidikan yang
PPTX
Presentasi seputar CPU
DOCX
Materi soal dan jawaban mata kuliah sejarah peradaban islam
PPTX
Kemuhammadiyahan i
PPTX
Ghazwul Fikri / Peperangan Pemikiran
DOCX
Makalah komponen sistem informasi
Presentasi Harddisk dan RAM
GHAZWUL FIKRI
Generasi muda dan perubahan slide
05-2. Kategori Tempat Penyimpanan dan Peralatan Penyimpanan Magnetic dan Pera...
Ghazwul Fikri
tugas makalah basis data .pdf
Metode Pembelajaran Matematika SQ3R
klasifikasi-komputer
Bab 5 peralatan penyimpanan data
Untold Story Karya Ustadz KH Hafidz Abdurrahman
Islam historis dan normatif
makalah basis data
Ilmu Sosial Dasar : Agama dan Masyarakat
Sejarah dan Perkembangan Memori External
Surat luqman ayat 12 19 sebagai materi pendidikan yang
Presentasi seputar CPU
Materi soal dan jawaban mata kuliah sejarah peradaban islam
Kemuhammadiyahan i
Ghazwul Fikri / Peperangan Pemikiran
Makalah komponen sistem informasi
Ad

Viewers also liked (20)

PDF
Pasar Saham - 14 Pengenalan Candlestick
PDF
Pasar Saham - 07 Transaksi Saham
PDF
Kriptografi - Tandatangan Digital
PDF
Pengenalan Teknologi Informasi - 7 - File
PDF
Paul McCartney and Nancy Shevell wedding: Official portrait by daughter Mary
PDF
OOP - Interface
PDF
Algoritma dan Struktur Data - Konstruktor dan Destruktor
PDF
Kriptografi - Algoritma Kriptografi Knapsack
PDF
Pengenalan teknologi informasi 4 - Sistem Kerja Komputer
PPT
NUTRITION
PDF
Tentang KuliahKita
PDF
OOP - pengenalan oop
PPTX
PPT ICT KELOMPOK 3 KELAS 4F
PDF
Pemrograman Web - Selector CSS
PDF
OOP - Konkurensi
PPTX
Dolina Będkowska
PDF
Pemrograman SQL - Tipe Data
DOC
Gloria Hernández - CV
PDF
Kriptografi - Hash
PPTX
Ppt ict newwww
Pasar Saham - 14 Pengenalan Candlestick
Pasar Saham - 07 Transaksi Saham
Kriptografi - Tandatangan Digital
Pengenalan Teknologi Informasi - 7 - File
Paul McCartney and Nancy Shevell wedding: Official portrait by daughter Mary
OOP - Interface
Algoritma dan Struktur Data - Konstruktor dan Destruktor
Kriptografi - Algoritma Kriptografi Knapsack
Pengenalan teknologi informasi 4 - Sistem Kerja Komputer
NUTRITION
Tentang KuliahKita
OOP - pengenalan oop
PPT ICT KELOMPOK 3 KELAS 4F
Pemrograman Web - Selector CSS
OOP - Konkurensi
Dolina Będkowska
Pemrograman SQL - Tipe Data
Gloria Hernández - CV
Kriptografi - Hash
Ppt ict newwww
Ad

Similar to Kriptografi - Advanced Encryption Standard (20)

PDF
Advanced encryption standard (aes)
PPT
19.advanced encryption standard (aes)
DOCX
Advance entryption-standard _AES
PPT
Algoritma kriptografi
PPTX
Keamanan__Multimedia [Autosaved].pptx
PPT
Algoritma kriptografi
PDF
7 Keamanan Jaringan 1
PDF
Kriptografi - Data Encryption Standard
PPT
Minggu 12 keamanan data[baru]
PDF
Advanced Encryption Standard (AES) DownloadEdit
PPTX
Kuliah 6 - (1) Data Encryption Standard (DES).pptx
PPT
Algoritma Kriptografi Modern bagian 1 - Kriptografi Digital
PPTX
k1111111111111111111111111111111111.pptx
PPTX
KR02.pptx
PPTX
Kripografi Pembahasan Pertemuan Kedua.pptx
PDF
Data Encryption Standard (DES)
PPT
12.algoritma kriptografi modern (bagian 1)xx
PPTX
Enkripsi rc4
Advanced encryption standard (aes)
19.advanced encryption standard (aes)
Advance entryption-standard _AES
Algoritma kriptografi
Keamanan__Multimedia [Autosaved].pptx
Algoritma kriptografi
7 Keamanan Jaringan 1
Kriptografi - Data Encryption Standard
Minggu 12 keamanan data[baru]
Advanced Encryption Standard (AES) DownloadEdit
Kuliah 6 - (1) Data Encryption Standard (DES).pptx
Algoritma Kriptografi Modern bagian 1 - Kriptografi Digital
k1111111111111111111111111111111111.pptx
KR02.pptx
Kripografi Pembahasan Pertemuan Kedua.pptx
Data Encryption Standard (DES)
12.algoritma kriptografi modern (bagian 1)xx
Enkripsi rc4

More from KuliahKita (20)

PPTX
CSS Eksperimen - 05-2 Popup Menu
PPTX
CSS Eksperimen - 05-1 Popup Konfirmasi
PPTX
CSS Eksperimen - 04-4 Elemen Sliding Door
PPTX
CSS Eksperimen - 04-3 Elemen Card Flip
PPTX
CSS Eksperimen - 04-2 accordion
PPTX
CSS Eksperimen - 04-1 informasi tab
PPTX
CSS Eksperimen - 03-3 Slide Side Menu
PPTX
CSS Eksperimen - 03-2 Breadcrumb
PPTX
CSS Eksperimen - 03-1 navigasi dasar
PPTX
CSS Eksperimen - 02-2 Flexbox Grid
PPTX
Eksperimen CSS - 02-1 grid layout
PPTX
Eksperimen CSS - 01 Pendahuluan
PDF
07 equity research (bagian 2)
PDF
Pasar Saham - 32 Discounted Cash Flow (DCF)
PDF
Pasar Saham - Equity Research (bagian 1)
PDF
Pasar Saham - 30 Investment Due Dilligence
PDF
Pasar Saham - 29 Financial Ratio 03
PDF
Pasar Saham - 28 Financial Ratio 02
PDF
Pasar Saham -27 financial ratio 01
PDF
Pasar Saham - 26 Cash Flow Statement
CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 02-2 Flexbox Grid
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 01 Pendahuluan
07 equity research (bagian 2)
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 28 Financial Ratio 02
Pasar Saham -27 financial ratio 01
Pasar Saham - 26 Cash Flow Statement

Recently uploaded (20)

PDF
MAINKAN GAME KESUKAN KALIAN DI TANGKI 4D DI JAMIN WD DAN CLIAM BONUSNYA
PPTX
MAINTENACE KNOWLEDGE_SHARING_ALL NEW.pptx
PPT
08_Sistem-Penilaian-Kesesuaian_BW_1708071.ppt
PPTX
Ilmu Geologi pertambangan dan peran dalam industri.pptx
PPT
variabel valve timing intelligence untuk xenia
PPTX
Seminar Hasil Penelitian Analisis Pegas Daun
PPTX
Pengenalan SPALDT_SPALDS_Karanganyar.pptx
PPT
electronic fuel injection for automotive sectors
PPTX
Aalat Pelindung Diri_Keselamatan_Bengkel Otomotif_SMK
PPT
Electronic Fuel Injection dengan menggunakan Scantool
PPTX
KETERAMPILAN KADER - Copy TAHUN 2024.pptx
PDF
Peraturan menteri perhubungan_63_TAHUN_2019.pdf
PPTX
4. PENERAPAN PENGELOLAAN SUMBER DAYA MANUSIA.pptx
PPT
Penanganan motor starter pada dunia otomotif
PPTX
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx
PPTX
PPT mssp arham muthahhari mata kuliah ms
PPT
hand-tools-service-special-tools-alat-ukur.ppt
PPTX
Metode Penanggulangan Kehilangan Air dan Strategi Pengendalian Kehilangan Air...
PPTX
2013materistudiumgeneralkabsndiunsri-130318044328-phpapp01.pptx
PPT
Sistem Manajemen Mutu Quality Management System
MAINKAN GAME KESUKAN KALIAN DI TANGKI 4D DI JAMIN WD DAN CLIAM BONUSNYA
MAINTENACE KNOWLEDGE_SHARING_ALL NEW.pptx
08_Sistem-Penilaian-Kesesuaian_BW_1708071.ppt
Ilmu Geologi pertambangan dan peran dalam industri.pptx
variabel valve timing intelligence untuk xenia
Seminar Hasil Penelitian Analisis Pegas Daun
Pengenalan SPALDT_SPALDS_Karanganyar.pptx
electronic fuel injection for automotive sectors
Aalat Pelindung Diri_Keselamatan_Bengkel Otomotif_SMK
Electronic Fuel Injection dengan menggunakan Scantool
KETERAMPILAN KADER - Copy TAHUN 2024.pptx
Peraturan menteri perhubungan_63_TAHUN_2019.pdf
4. PENERAPAN PENGELOLAAN SUMBER DAYA MANUSIA.pptx
Penanganan motor starter pada dunia otomotif
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx
PPT mssp arham muthahhari mata kuliah ms
hand-tools-service-special-tools-alat-ukur.ppt
Metode Penanggulangan Kehilangan Air dan Strategi Pengendalian Kehilangan Air...
2013materistudiumgeneralkabsndiunsri-130318044328-phpapp01.pptx
Sistem Manajemen Mutu Quality Management System

Kriptografi - Advanced Encryption Standard

  • 1. Advanced Encryption Standard (AES) Bekerja sama dengan: Rinaldi Munir
  • 2. 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. 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. 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. •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. 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. •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. •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. 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. 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. #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. 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 16 elemen (16  8 = 128).
  • 14. •Blok plainteks disimpan di dalam matrix of byte yang bernama state dan berukuran NROWS  NCOLS. •Untuk blok data 128-bit, ukuran state 4  4. Plainteks 128-bitstate
  • 15. •Pada awal enkripsi, 16-byte data masukan, in0, in1, …, in15 disalin ke dalam array state (direalisasikan oleh fungsi: CopyPlaintextToState(state, plaintext)) in8in7in3in4in6in5in0in1in2in9in10in11in12in13in14in15S0,2S3,1S3,0S0,1S2,1S1,1S0,0S1,0S2,0S1,2S2,2S3,2S0,3S1,3S2,3S3,3out8out7out3out4out6out5out0out1out2out9out10out11out12out13out14out15input bytesstate arrayoutput bytes
  • 16. Contoh: (elemen state dan kunci dalam notasi HEX)
  • 17. Transformasi SubBytes() •SubBytes() memetakan setiap byte dari array state dengan menggunakan S-box.
  • 19. 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.
  • 20. Geser baris ke-1: Hasil pergeseran baris ke-1 dan geser baris ke-2:
  • 21. Hasil pergeseran baris ke-2 dan geser baris ke-3: Hasil pergeseran baris ke-3:
  • 22. 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}
  • 23. s’(x) = a(x)  s(x)                          03 01 01 02 01 01 02 03 01 02 03 01 02 03 01 01 ' ' ' ' 3, 2, 1, 0, c c c c s s s s             c c c c s s s s 3, 2, 1, 0, c c c c c s s s s s 0, 0, 1, 2, 3, '  ({02} )({03} )  c c c c c s s s s s 1, 0, 1, 2, 3, '  ({02} )({03} ) ' ({02} ) ({03} ) 2,c 0,c 1,c 1,c 3,c s  s  s   s   s ' ({03} ) ({02} ) 3,c 0,c 0,c 1,c 3,c s   s s s   s
  • 24. Hasil transformasi ShiftRows() sebelumnya: Operasi MixColumns() terhadap kolom pertama:
  • 26. Transformasi AddRoundKey() •Transformasi ini melakukan operasi XOR terhadap sebuah round key dengan array state, dan hasilnya disimpan di array state.
  • 27. XOR-kan kolom pertama state dengan kolom pertama round key: Hasil AddRoundKey() terhadap seluruh kolom:
  • 30. 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