Advanced Encryption Standard

Slides:



Advertisements
Presentasi serupa
ALGORITMA SIMETRIS vs ASIMETRIS
Advertisements

KULIAH VI KRIPTOGRAFI Aswin Suharsono KOM Keamanan Jaringan
Algoritma Kriptografi Modern
Algoritma Kriptografi Modern (Bagian 2)
Advanced Encryption Standard (AES)
Kriptografi, Enkripsi dan Dekripsi
Algoritma Kriptografi Klasik
ENKRIPSI DATA.
Sumber : Rinaldi Munir, ITB
Teknik Kriptografi HILL Cipher
Kriptografi Pertemuan ke 9
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
Advanced Encryption Standard (AES)
KRIPTOGRAFI Kriptografi adalah suatu ilmu yang mempelajari
KRIPTOGRAFI Kriptografi adalah suatu ilmu yang mempelajari
KRIPTOGRAFI KUNCI PUBLIK (public-key cryptography)
Advanced Encryption Standard (AES)
ABSTRAK for further detail, please visit
Advanced Encryption Standard (AES)
KRIPTOGRAFI.
Dasar-dasar keamanan Sistem Informasi
Keamanan Komputer Kriptografi (2) -Aurelio Rahmadian-
Tipe dan Mode Algoritma Simetri (Bagian 3)
Algoritma Kriptografi Modern
Sumber : Rinaldi Munir, ITB
Algoritma Kriptografi Klasik. Pendahuluan 1. Cipher Substitusi.
Algoritma dan Struktur Data Lanjut
Algoritma Kriptografi Modern (Bagian 2)
Block Cipher Kriptografi.
Perkembangan Riset dalam Bidang Kriptografi
Advanced Encryption Standard (AES)
Algoritma Kriptografi Modern
Hill Cipher & Vigenere Cipher
DES (Data Encryption Standard)
Data Encryption Standard (DES)
DEA (Data Encryption Algorithm)
4 Januari 2014 RANCANG BANGUN SECURE CHATTING PADA PLATFORM ANDROID DENGAN ALGORITMA TWOFISH Template By Muhammad Faisal Harahap Ainatul Radhiah
KRIPTOGRAFI.
Kriptografi dan Steganography
(Data Encryption Standard)
Kriptografi – Pertemuan 1 Pengenalan Kriptografi
DEA (Data Encryption Algorithm)
Data Encryption Standard (DES)
Advanced Encryption Standard (AES)
ENKRIPSI KONVENSIONAL (2)
Kriptografi, Enkripsi dan Dekripsi
KRIPTOGRAFI.
Electronic Code Book & Cipher Block Chaining
Kriptografi, Enkripsi dan Dekripsi
Advanced Encryption Standard (AES)
Kriptografi (Simetry Key) Materi 6
ALGORITMA CRYPTOGRAPHY MODERN
Dasar-dasar keamanan Sistem Informasi
Kriptografi (Simetry Key) Materi 6
Dasar-dasar keamanan Sistem Informasi
Algoritma Kriptografi Modern
Kriptografi, Enkripsi dan Dekripsi
ADVANCE ENCRYPTION STANDARD (AES)
Algoritma Kriptografi Klasik. Pendahuluan Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja, belum ada komputer Termasuk.
Enkripsi dan Dekripsi.
Protocol Keamanan Menggunakan Kriptografi (Enkripsi dan Dekripsi)
Pengenalan Kriptografi Modern
Algoritma RSA Antonius C.P
Algoritma Kriptografi Klasik
Algoritma Kriptografi Modern (Bagian 2)
Kriptografi Modern (1) Levy Olivia Nur, MT.
Kriptografi Levy Olivia Nur, MT.
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 Antonius C.P.

Bagaimana AES diciptakan? Kompetisi AES Dimulai pada January 1997 oleh NIST Kerjasama 4 tahun antara U.S. Government Private Industry Academia Untuk apa? Menggantikan3DES Menyediakan algoritma enkripsi publik tak terklasifikasi, royalty-free, dan worldwide Antonius C.P. - AES

The Finalists MARS (menggunakan Feistel network) IBM RC6 (menggunakan Feistel network) RSA Laboratories Rijndael (menggunakan SPN) Joan Daemen (Proton World International) and Vincent Rijmen (Katholieke Universiteit Leuven) Serpent (menggunakan SPN) Ross Anderson (University of Cambridge), Eli Biham (Technion), and Lars Knudsen (University of California San Diego) Twofish (menggunakan Feistel network) Bruce Schneier, John Kelsey, and Niels Ferguson (Counterpane, Inc.), Doug Whiting (Hi/fn, Inc.), David Wagner (University of California Berkeley), and Chris Hall (Princeton University) Antonius C.P. - AES

Kriteria Evaluasi (sesuai urutan prioritas) Security Resistance to cryptanalysis, soundness of math, randomness of output, etc. Cost Computational efficiency (speed) Memory requirements Algorithm / Implementation Characteristics Flexibility, hardware and software suitability, algorithm simplicity Antonius C.P. - AES

Pemenang: Rijndael AES mengadopsi sebuah subset Rijndael Rijndael mendukung lebih banyak blok dan ukuran kunci Antonius C.P. - AES

Rounds AES adalah sebuah cipher non-Feistel yang mengenkripsi dan mendekripsi blok data 128 bits. Menggunakan 10, 12, atau 14 rounds. Ukuran kunci bisa 128, 192, atau 256 bit, tergantung banyaknya ronde. Antonius C.P. - AES

Desain Umum enkripsi AES Antonius C.P. - AES

Unit data yang digunakan dalam AES Antonius C.P. - AES

Transformasi block-to-state dan state-to-block Antonius C.P. - AES

Finite Fields AES menggunakan field hingga GF(28) AES menggunakan transformasi aljabar pada field GF(28) dengan irreducible polynomials (x8 + x4 + x3+ x + 1) AES menggunakan field hingga GF(28) b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x + b0 {b7, b6, b5, b4, b3, b2, b1, b0} Notasi byte notation utk elemen: x6 + x5 + x + 1 {01100011} – binary {63} – hex Field ini memiliki operasi aritmatika tersendiri: Penjumlahan Perkalian Antonius C.P. - AES

Aritmatika Field Hingga Penjumlahan (XOR) (x6 + x4 + x2 + x + 1) + (x7 + x + 1) = x7 + x6 + x4 + x2 {01010111}  {10000011} = {11010100} {57}  {83} = {d4} Perkalian sedikit lebih rumit Antonius C.P. - AES

Perkalian Field Hingga () (x6 + x4 + x2 + x +1) (x7 + x +1) = x13 + x11 + x9 + x8 + x7 + x7 + x5 + x3 + x2 + x + x6 + x4 + x2 + x +1 = x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 +1 dan x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 +1 modulo ( x8 + x4 + x3 + x +1) = x7 + x6 +1. Saling meniadakan Irreducible Polynomial Antonius C.P. - AES

Parameter-parameter AES Nb – banyaknya kolom dalam State Untuk AES, Nb = 4 Nk – banyaknya 32-bit words dalam Key Untuk AES, Nk = 4, 6, atau 8 Nr – banyaknya ronde (function of Nb and Nk) Untuk AES, Nr = 10, 12, atau 14 Also known as block size Antonius C.P. - AES

Metode AES Konversi ke state array Transformasi (dan inversnya) SubBytes - substitusi ShiftRows - permutasi MixColumns AddRoundKey Key Expansion Antonius C.P. - AES

AES-128 Antonius C.P. - AES

Struktur setiap ronde Antonius C.P. - AES

Konversi ke State Array Input block: 4 8 12 1 5 9 13 2 6 10 14 3 7 11 15 S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3 = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Antonius C.P. - AES

Merubah plaintext ke state Antonius C.P. - AES

Transformasi Untuk meningkatkan security, AES menggunakan 4 tipe transformasi: substitution, permutation, mixing, and key-adding. Antonius C.P. - AES

SubBytes Substitution Transformasi pertama, SubBytes, digunakan pada proses enkripsi. Untuk mensubstitusi sebuah byte, kita menginterpretasikan byte sebagai dua digit hexadecimal. Note Operasi SubBytes melibatkan 16 byte-to-byte transformation yang independen. Antonius C.P. - AES

Transformasi SubBytes Antonius C.P. - AES

S-box Antonius C.P. - AES

S-box Antonius C.P. - AES

S-box InvSubBytes Antonius C.P. - AES

S-box InvSubBytes (Continued) Antonius C.P. - AES

Ganti setiap byte pada state array dengan nilai dari S-Box yang sesuai 00 44 88 CC 11 55 99 DD 22 66 AA EE 33 77 BB FF 55 Antonius C.P. - AES

Contoh SubBytes transformation Antonius C.P. - AES

ShiftRows InvShiftRows Permutasi ShiftRows InvShiftRows Pada dekripsi, transformasi ini disebut InvShiftRows dan arah pergeseran adalah ke kanan. Antonius C.P. - AES

Tiga baris terakhir digeser ke kiri secara siklik. Antonius C.P. - AES

Contoh ShiftRows transformation Antonius C.P. - AES

Mixing MixColumns Kita memerlukan transformasi antar byte yang merubah bit-bit di dalam sebuah byte, berdasarkan bit-bit pada bytes tetangga. Kita perlu mencamurkan byte-byte untuk mencapai diffusion pada level bit. Mixing bytes menggunakan perkalian matriks Antonius C.P. - AES

Constant matriks yang digunakan dalam MixColumns dan InvMixColumns Antonius C.P. - AES

MixColumns Transformasi MixColumns beroperasi pada level kolom; Operasi ini mentransformasikan setiap kolom pada state kepada sebuah kolom baru. MixColumns transformation Antonius C.P. - AES

MixColumns dan InvMixColumns merupakan invers satu sama lain. Ttansformasi InvMixColumns pada dasarnya sama dengan transformasi MixColumns. Note MixColumns dan InvMixColumns merupakan invers satu sama lain. Antonius C.P. - AES

Aplikasikan MixColumn pada setiap kolom S’0,c = ({02}  S0,c)  ({03}  S1,c)  S2,c  S3,c S’1,c = S0,c  ({02}  S1,c)  ({03}  S2,c)  S3,c S’2,c = S0,c  S1,c  ({02}  S2,c )  ({03}  S3,c) S’3,c = ({03}  S0,c)  S1,c  S2,c  ({02}  S3,c MixColumns() S0,1 S1,1 S2,1 S3,1 S’0,1 S’1,1 S’2,1 S’3,1 S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3 S’0,0 S’0,1 S’0,2 S’0,3 S’1,0 S’1,1 S’1,2 S’1,3 S’2,0 S’2,1 S’2,2 S’2,3 S’3,0 S’3,1 S’3,2 S’3,3 Antonius C.P. - AES

Contoh The MixColumns transformation Antonius C.P. - AES

AddRoundKey adalah invers pada dirinya sendiri Key Adding AddRoundKey AddRoundKey memproses satu kolom pada satu waktu. AddRoundKey menambahkan sebuah round key word dengan setiap kolom matriks state; operasi pada AddRoundKey adalah penjumlahan matriks. Note AddRoundKey adalah invers pada dirinya sendiri Antonius C.P. - AES

AddRoundKey XOR setiap byte dari round key dengan corresponding byte pada state array XOR S0,1 S1,1 S2,1 S3,1 S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3 S’0,1 S’1,1 S’2,1 S’3,1 R0,1 R1,1 R2,1 R3,1 S’0,0 S’0,1 S’0,2 S’0,3 S’1,0 S’1,1 S’1,2 S’1,3 S’2,0 S’2,1 S’2,2 S’2,3 S’3,0 S’3,1 S’3,2 S’3,3 R0,0 R0,1 R0,2 R0,3 R1,0 R1,1 R1,2 R1,3 R2,0 R2,1 R2,2 R2,3 R3,0 R3,1 R3,2 R3,3 Antonius C.P. - AES

AddRoundKey transformation Antonius C.P. - AES

Key Expansion Untuk membangun round key untuk setiap ronde, AES menggunakan sebuah proses key-expansion. Jika banyaknya ronde adalah Nr , routine key-expansion membangun Nr + 1 round key 128-bit dari sebuah cipher key128-bit. Antonius C.P. - AES

Key Expansion Antonius C.P. - AES

Key expansion pada AES Antonius C.P. - AES

Antonius C.P. - AES

Contoh Misal 128-bit cipher key adalah (24 75 A2 B3 34 75 56 88 31 E2 12 00 13 AA 54 87)16. Antonius C.P. - AES

Setiap round key dalam AES tergantung pada round key sebelumnya Setiap round key dalam AES tergantung pada round key sebelumnya. Ketergantungan ini adalah nonlinear karena transformasi SubWord. Penjumlahan konstan ronde juga menjamin bahwa setiap round key akan berbeda dengan yang sebelumnya. Dua himpunan round keys dapat dibangun dari dua cipher keys yang berbeda hanya dalam satu bit saja. Antonius C.P. - AES

Contoh Antonius C.P. - AES

Konsep kunci lemah seperti pada DES tidak berlaku pada AES Konsep kunci lemah seperti pada DES tidak berlaku pada AES. Misal, asumsikan semua bit pada cipher key adalah 0. Berikut adalah words pada beberapa ronde: Words pada pre-round dan round pertama semuanya sama. Pada round kedua, word pertama sama dengan yang ketiga; yang kedua sama dengan yang keempat. Akan tetapi, setelah round kedua, setiap word berbeda. Antonius C.P. - AES

Encryption byte state[4,Nb] state = in AddRoundKey(state, keySchedule[0, Nb-1]) for round = 1 step 1 to Nr–1 { SubBytes(state) ShiftRows(state) MixColumns(state) AddRoundKey(state, keySchedule[round*Nb, (round+1)*Nb-1]) } AddRoundKey(state, keySchedule[Nr*Nb, (Nr+1)*Nb-1]) out = state Mencegah penyerang untuk mengenkripsi atau mendekripsi tanpa kunci. First and last operations involve the key Antonius C.P. - AES

Decryption byte state[4,Nb] state = in AddRoundKey(state, keySchedule[Nr*Nb, (Nr+1)*Nb-1]) for round = Nr-1 step -1 downto 1 { InvShiftRows(state) InvSubBytes(state) AddRoundKey(state, keySchedule[round*Nb, (round+1)*Nb-1]) InvMixColumns(state) } AddRoundKey(state, keySchedule[0, Nb-1]) out = state Antonius C.P. - AES

Encrypt and Decrypt Encryption AddRoundKey SubBytes ShiftRows MixColumns Decryption InvShiftRows InvSubBytes InvMixColumns Antonius C.P. - AES

Ciphers AES menggunakan empat tipe transformasi untuk enkripsi dan dekripsi.. Secara standar, algoritma enkripsi digunakan sebagai cipher dan algoritma dekripsi sebagai invers dari cipher. Antonius C.P. - AES

Ciphers dan inverse ciphers pada desain asli Antonius C.P. - AES

Cipher dan reverse cipher pada desain alternatif Antonius C.P. - AES

Contoh Contoh blok ciphertext yang dibangun dari sebuah blok plaintext menggunakan cipher key yang diseleksi secara random. Antonius C.P. - AES

Contoh (lanjutan) Antonius C.P. - AES

Contoh (lanjutan) Antonius C.P. - AES

Contoh {lanjutan} Antonius C.P. - AES

Entri state pada ronde 7, dalam Contoh sebelumnya Antonius C.P. - AES

Contoh Contoh hasil enkripsi terhadap plaintext semuanya 0, menggunakan cipher key yang digunakan pada Contoh sebelumnya. Antonius C.P. - AES

Contoh Ubah satu bit pada plaintext dan bandingkan hasilnya. Jelas bahwa hasil enkripsi menunjukkan efek diffusion dan confusion. Perubahan satu bit plaintext berpengaruh pada banyak bit ciphertext. Antonius C.P. - AES

Efek penggunakan cipher key yang semua bitnya adalah 0. Contoh Efek penggunakan cipher key yang semua bitnya adalah 0. Antonius C.P. - AES

Security AES didesain setelah DES. Hampir semua serangan yang dikenal dalam DES telah diujikan pada AES. Brute-Force Attack AES lebih tangguh dibandingkan DES karena ukuran kunci yang lebih panjang. Statistical Attacks Berbagai tes gagal melakukan statistical analysis terhadap ciphertext. Differential and Linear Attacks Belum ada differential dan linear attacks pada AES. Antonius C.P. - AES

Implementation AES dapat diimplementasikan pada software dan hardware. Implementasi dapat menggunakan proses atau routine dari tabel lookup yang menggunakan sebuah well-defined struktur aljabar. Antonius C.P. - AES

Simplicity dan Cost Algoritma yang digunakan dalam AES sangat sederhana sehingga dapat diimplementasikan dengan mudah menggunakan processor yang murah dan memori minimal. Antonius C.P. - AES