Advanced Encryption Standard (AES)

dokumen-dokumen yang mirip
Advanced Encryption Standard (AES) Bahan Kuliah Kriptografi 7

Advanced Encryption Standard (AES)

DES dianggap sudah tidak aman. Perlu diusulkan standard algoritma baru sebagai pengganti DES. National Institute of Standards and Technology (NIST)

Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

ENKRIPSI DAN DEKRIPSI DENGAN ALGORITMA AES 256 UNTUK SEMUA JENIS FILE

Pengamanan Kunci Jawaban Sertifikasi CCNA Menggunakan Advanced Encryption Standard (AES) dan Mode Operasi Cipher Block Chaining

BAB I PENDAHULUAN 1.1 Latar Belakang

Algoritma Kriptografi Modern (AES, RSA, MD5)

II. TINJAUAN PUSTAKA

Algoritma Spiral shifting

BAB I PENDAHULUAN. Universitas Sumatera Utara

WINDOWS VISTA BITLOCKER DRIVE ENCRYPTION

KRIPTOGRAFI CITRA DIGITAL DENGAN ALGORITMA RIJNDAEL DAN TRANSFORMASI WAVELET DISKRIT HAAR

BAB III ANALISIS DAN PERANCANGAN

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

LAPORAN TUGAS AKHIR KRIPTOGRAFI KUNCI JAWABAN UAS SEKOLAH MENENGAH ATAS MENGGUNAKAN ALGORITMA ADVANCED ENCRYPTION STANDART (AES)

BAB 2 TINJAUAN PUSTAKA

TINJAUAN PUSTAKA. Kriptografi

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

1. Pendahuluan. 2. Tinjauan Pustaka

ALGORITMA KRIPTOGRAFI AES RIJNDAEL

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

STUDI TERHADAP ADVANCED ENCRYPTION STANDARD (AES) DAN ALGORITMA KNAPSACK DALAM PENGAMANAN DATA

STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0

STUDI, IMPLEMENTASI DAN PERBANDINGAN ALGORITMA KUNCI SIMETRI TRIPLE DATA ENCRYPTION STANDARD DAN TWOFISH

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

PERANCANGAN APLIKASI PENGAMANAN DATA DENGAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD (AES)

Perbandingan Algoritma RC6 dengan Rijndael pada AES

Perancangan Algoritma pada Kriptografi Block Cipher dengan Teknik Langkah Kuda Dalam Permainan Catur

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

RANCANG BANGUN PROGRAM KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD

BAB III ANALISIS DAN PERANCANGAN

STUDI DAN IMPLEMENTASI ADVANCED ENCRYPTION STANDARD DENGAN EMPAT MODE OPERASI BLOCK CIPHER

PERTEMUAN 3 PENYELESAIAN PERSOALAN PROGRAM LINIER

LAMPIRAN A ALGORITMA AES 128

MENGENAL PROSES PERHITUNGAN ENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI ADVANCE ENCRYPTION STANDARD(AES) RIJDNAEL

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

Implementasi Disk Encryption Menggunakan Algoritma Rijndael

BAB III ANALISIS DAN DESAIN SISTEM

BAB II LANDASAN TEORI

Pengaruh Variasi Panjang Kunci, Ukuran Blok, dan Mode Operasi Terhadap Waktu Eksekusi pada Algoritma Rijndael

Algoritma AES sebagai Metode Enkripsi dalam Password Management

Algoritma Enkripsi Baku Tingkat Lanjut

BAB II LANDASAN TEORI

Proses Enkripsi dan Dekripsi menggunakan Algoritma Advanced Encryption Standard (AES)

Algoritma AES (Advanced Encryption Standard) dan Penggunaannya dalam Penyandian Pengompresian Data

DESAIN SISTEM KENDALI MELALUI ROOT LOCUS

BAB IV HASIL DAN UJI COBA

Blok Cipher JUMT I. PENDAHULUAN

BAB III ANALISA MASALAH DAN PERANCANGAN

I. PENDAHULUAN. andil yang besar dalam perkembangan komunikasi jarak jauh. Berbagai macam model alat komunikasi dapat dijumpai, baik yang berupa

APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1

APLIKASI KRIPTOGRAFI UNTUK PERTUKARAN PESAN MENGGUNAKAN TEKNIK STEGANOGRAFI DAN ALGORITMA AES

PENERAPAN ENKRIPSI DAN DEKRIPSI FILE MENGGUNAKAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES)

BAB II LANDASAN TEORI

Abstrak. Kata Kunci : Rijndael, Serpent, Block Cipher

STUDI DAN PERBANDINGAN ALGORITMA RIJNDEAL DAN TWO FISH

BAB 1 PENDAHULUAN. jaringan komputer adalah untuk menjamin keamanan pesan, data, ataupun informasi

PRESENTASI TUGAS AKHIR KI091391

ADVANCED ENCRYPTION STANDARD (AES) DENGAN ONE TIME PASSWORD UNTUK KEAMANAN LAYANAN SMS BANKING

DESAIN SISTEM KENDALI MELALUI TANGGAPAN FREKUENSI

Keamanan Sistem Komputer DES, AES, RSA

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB IV HASIL DAN UJI COBA

Cipher Blok JAFT. Ahmad ( ) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika.

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

Studi mengenai Disk Encryption. menggunakan Mode Operasi LRW dan Algoritma Rijndael

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB)

ANALISA ALGORITMA BLOCK CIPHER DALAM PENYANDIAN DES DAN PENGEMBANGANNYA

BAB II LANDASAN TEORI

Implementasi Algoritma Rijndael dengan Menggunakan Kunci Enkripsi yang Berukuran Melebihi 256 bit

ADVANCED ENCRYPTION STANDARD (AES): RIJNDAEL. Pertemuan ke-7 Dr. R. Rizal Isnanto, S.T., M.M., M.T.

BAB 3 ANALISIS DAN PERANCANGAN. 3.1.Analisis Perancangan Steganografi dan Kriptografi.

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

BAB II TINJAUAN PUSTAKA

Studi Perbandingan Algoritma Kunci-Simetris Serpent dan Twofish

Data Encryption Standard (DES)

Prosiding Matematika ISSN:

BAB II LANDASAN TEORI

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

BAB II TINJAUAN PUSTAKA

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

Yama Fresdian Dwi Saputro

BAB I PENDAHULUAN. membuat berbagai macam aplikasi Android yang bermanfaat dan berguna untuk

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

Perancangan dan Implementasi Aplikasi Kriptografi Algoritma AES-128 Pada File Dokumen Artikel Ilmiah

KOMBINASI ALGORITMA TRIPLE DES DAN ALGORITMA AES DALAM PENGAMANAN FILE

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA. Short message service atau yang disebut SMS merupakan suatu teknologi

STUDI MENGENAI ANUBIS BLOCK CIPHER

Transkripsi:

Advaned Enryption Standard (AES) Bahan Kuliah IF4020 Kriptografi

Latar Belakang DES dianggap udah tidak aman. Perlu diuulkan tandard algoritma baru ebagai pengganti DES. National Intitute of Standard and Tehnology (NIST) menguulkan kepada Pemerintah Federal AS untuk ebuah tandard kriptografi kriptografi yang baru. NIST mengadakan lomba membuat tandard algoritma kriptografi yang baru. Standard terebut kelak diberi nama Advaned Enryption Standard (AES).

Peryaratan algoritma baru: 1. Termauk ke dalam kelompok algoritma kriptografi imetri berbai ipher blok. 2. Seluruh ranangan algoritma haru publik (tidak dirahaiakan) 3. Panjang kuni flekibel: 128, 192, dan 256 bit. 4. Ukuran blok yang dienkripi adalah 128 bit. 5. Algoritma dapat diimplementaikan baik ebagai oftware maupun hardware.

Lima finali lomba: 1. Rijndael (dari Vinent Rijmen dan Joan Daemen Belgia, 86 uara) 2. Serpent (dari Ro Anderon, Eli Biham, dan Lar Knuden Inggri, Irael, dan Norwegia, 59 uara). 3. Twofih (dari tim yang diketuai oleh Brue Shneier USA, 31 uara) 4. RC6 (dari Laboratorium RSA USA, 23 uara) 5. MARS (dari IBM, 13 uara)

Pada bulan Oktober 2000, NIST mengumumkan untuk memilih Rijndael (dibaa: Rhine-doll) Pada bulan November 20, Rijndael ditetapkan ebagai AES Diharapkan Rijndael menjadi tandard kriptografi yang dominan paling edikit elama 10 tahun.

Speifikai Algoritma Rijndael Rijndael mendukung panjang kuni 128 bit ampai 256 bit dengan tep 32 bit. Panjang kuni dan ukuran blok dapat dipilih eara independen. Setiap blok dienkripi dalam ejumlah putaran tertentu, ebagaimana halnya pada DES. Karena AES menetapkan panjang kuni adalah 128, 192, dan 256, maka dikenal AES-128, AES- 192, dan AES-256.

Panjang Kuni (Nk word) Ukuran Blok (Nb word) Jumlah Putaran (Nr) AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 Catatan: 1 word = 32 bit Seara de-fakto, hanya ada dua varian AES, yaitu AES-128 dan AES-256, karena akan angat jarang pengguna menggunakan kuni yang panjangnya 192 bit.

Dengan panjang kuni 128-bit, maka terdapat ebanyak 2 128 = 3,4 10 38 kemungkinan kuni. Jika komputer terepat dapat menoba 1 juta kuni etiap detik, maka akan dibutuhkan waktu 5,4 10 24 tahun untuk menoba eluruh kuni. Jika terepat yang dapat menoba 1 juta kuni etiap milidetik, maka dibutuhkan waktu 5,4 10 18 tahun untuk menoba eluruh kuni.

Algoritma Rijndael Tidak eperti DES yang berorientai bit, Rijndael beroperai dalam orientai byte. Setiap putaran mengunakan kuni internal yang berbeda (diebut round key). Eniphering melibatkan operai ubtitui dan permutai.

Gari bear Algoritma Rijndael yang beroperai pada blok 128-bit dengan kuni 128-bit adalah ebagai berikut (di luar proe pembangkitan round key): 1. AddRoundKey: melakukan XOR antara tate awal (plaintek) dengan ipher key. Tahap ini diebut juga initial round. 2. Putaran ebanyak Nr 1 kali. Proe yang dilakukan pada etiap putaran adalah: a. SubByte: ubtitui byte dengan menggunakan tabel ubtitui (S-box). b. ShiftRow: pergeeran bari-bari array tate eara wrapping.. MixColumn: mengaak data di maing-maing kolom array tate. d. AddRoundKey: melakukan XOR antara tate ekarang round key. 3. Final round: proe untuk putaran terakhir: a. SubByte b. ShiftRow. AddRoundKey

#define LENGTH 16 /* Jumlah byte di dalam blok atau kuni */ #define NROWS 4 /* Jumlah bari di dalam tate */ #define NCOLS 4 /* Jumlah kolom di dalam tate */ #define ROUNDS 10 /* Jumlah putaran */ typedef unigned har byte; /* unigned 8-bit integer */ rijndael (byte plaintext[length], byte iphertext[length], byte key[length]) { int r; /* penaah pengulangan */ byte tate[nrows][ncols]; /* tate ekarang */ trut{byte k[nrows][ncols];} rk[rounds + 1]; /* kuni pada etiap putaran */ KeyExpanion(key, rk); /* bangkitkan kuni etiap putaran */ CopyPlaintextToState(tate, plaintext); /* iniialiai tate ekarang */ AddRoundKey(tate, rk[0]); /* XOR key ke dalam tate */ for (r = 1; r<= ROUNDS - 1; r++) { SubByte(tate); /* ubtitui etiap byte dengan S-box */ ShiftRow(tate); /* rotaikan bari i ejauh i byte */ MixColumn(tate); /* aak maing-maing kolom */ AddRoundKey(tate, rk[r]); /* XOR key ke dalam tate */ } SubByte(tate); /* ubtitui etiap byte dengan S-box */ ShiftRow(tate); /* rotaikan bari i ejauh i byte */ AddRoundKey(tate, rk[rounds]); /* XOR key ke dalam tate */ CopyStateToCiphertext(iphertext, tate); /* blok iphertek yang dihailkan */ }

Algoritma Rijndael mempunyai 3 parameter: 1. plaintext : array berukuran 16-byte, yang berii data maukan. 2. iphertext : array berukuran 16-byte, yang berii hail enkripi. 3. key : array berukuran 16-byte, yang berii kuni iphering (diebut juga ipher key). Dengan 16 byte, maka blok data dan kuni yang berukuran 128-bit dapat diimpan di dalam array 16 elemen (16 8 = 128).

Blok plaintek diimpan di dalam matrix of byte yang bernama tate dan berukuran NROWS NCOLS. Untuk blok data 128-bit, ukuran tate 4 4. Plaintek 128-bit tate

Pada awal enkripi, 16-byte data maukan, in 0, in 1,, in 15 dialin ke dalam array tate (direaliaikan oleh fungi: CopyPlaintextToState(tate, plaintext)) input byte tate array output byte in 0 in 4 in 8 in 12 S 0,0 S 0,1 S 0,2 S 0,3 out 0 out 4 out 8 out 12 in 1 in 5 in 9 in 13 S 1,0 S 1,1 S 1,2 S 1,3 out 1 out 5 out 9 out 13 in 2 in 6 in 10 in 14 S 2,0 S 2,1 S 2,2 S 2,3 out 2 out 6 out 10 out 14 in 3 in 7 in 11 in 15 S 3,0 S 3,1 S 3,2 S 3,3 out 3 out 7 out 11 out 15

Contoh elemen tate dalam notai HEX)

Tranformai SubByte() SubByte() memetakan etiap byte dari array tate dengan menggunakan S-box.

Tranformai ShiftRow() Tranformai ShiftRow() melakukan pergeeran eara wrapping (iklik) pada 3 bari terakhir dari array tate. Jumlah pergeeran bergantung pada nilai bari (r). Bari r = 1 digeer ejauh 1 byte, bari r = 2 digeer ejauh 2 byte, dan bari r = 3 digeer ejauh 3 byte. Bari r = 0 tidak digeer.

Geer bari ke-1: Hail pergeeran bari ke-1 dan geer bari ke-2:

Hail pergeeran bari ke-2 dan geer bari ke-3: Hail pergeeran bari ke-3:

Tranformai MixColumn() Tranformai MixColumn() mengalikan matrik tate dengan ebuah matrik tertentu bb: 3,3 3,2 3,1 3,0 2,3 2,2 2,1 2,0 1,3 1,2 1,1 1,0 0,3 0,2 0,1 0,0 3,3 3,2 3,1 3,0 2,3 2,2 2,1 2,0 1,3 1,2 1,1 1,0 0,3 0,2 0,1 0,0 02 03 03 02 03 02 03 02

(x) = a(x) (x) 02 03 03 02 03 02 03 02 3, 2, 1, 0, 3, 2, 1, 0, 3, 2, 1, 0,, 0 ) ({03} ) ({02} 3, 2, 1, 0,, 1 ) ({03} ) ({02} ) ({03} ) ({02}, 3 1, 1, 0,, 2 ) ({02} ) ({03}, 3 1, 0, 0,, 3

Contoh: 02 03 03 02 03 02 03 02 26 7B BD 43 3F 4F F9 2A (02 26) (03 7B) ( BD) ( 43) = 3F ( 26) (02 7B) (03 BD) ( 43) = 4F ( 26) ( 7B) (02 BD) (03 43) = F9 (03 26) ( 7B) ( BD) (02 43) = 2A

(02 26) = (0000 00) (00 10) = x (x 5 + x 2 + x) mod (x 8 + x 4 + x 3 + x + 1) = (x 6 + x 3 + x 2 ) mod (x 8 + x 4 + x 3 + x + 1) = x 6 + x 3 + x 2 = (0100) = 4C

(03 7B) = (0000 01) (11 11) = (x + 1) (x 6 + x 5 + x 4 + x 3 + x + 1) mod (x 8 + x 4 + x 3 + x + 1) = ((x 7 + x 6 + x 5 + x 4 + x 2 + x) + (x 6 + x 5 + x 4 + x 3 + x +1)) mod (x 8 + x 4 + x 3 + x + 1) = (x 7 + (1 + 1)x 6 + (1 + 1)x 5 + (1 + 1)x 4 + x 3 + x 2 + (1 +1)x + 1) mod (x 8 + x 4 + x 3 + x + 1) = (x 7 + x 3 + x 2 + 1) mod (x 8 + x 4 + x 3 + x + 1) = (x 7 + x 3 + x 2 + 1) = (1000 11) = 8D ( BD) = BD = 1111 ( 43) = 43 = 0001

Selanjutnya, XOR-kan emua hail antara terebut: (02 26) = 00 1100 (03 7B) = 1000 11 ( BD) = 11 11 ( 43) = 00 01 01 1111 = 3F Jadi, (02 26) (03 7B) ( BD) ( 43) = 3F Peramaan lainnya dieleaikan dengan ara yang ama.

Tranformai AddRoundKey() Tranformai ini melakukan operai XOR terhadap ebuah round key dengan array tate, dan hailnya diimpan di array tate.

Contoh:

Ekpani Kuni Algoritma: 1. Salin elemen-elemen key ke dalam larik w[0], w[1], w[2], w[3]. Larik w[0] berii empat elemen pertama key, w[1] berii empat elemen berikutnya, dan eterunya. 2. Mulai dari i = 4 ampai 43, lakukan: a) Simpan w[i-1] ke dalam peubah temp b) Jika i kelipatan 4, lakukan fungi g berikut: Geer w[i-1] atu byte ke kiri eara irkuler Lakukan ubtitui dengan S-box terhadap hail pergeeran terebut

XOR-kan hail di ata dengan round ontant (Ron) ke i/4 (atau Ron[i/4]). Nilai Ron berbeda-beda untuk etiap j = i/4, yaitu Ron[j] = (RC]j], 0, 0, 0), dengan RC[1]=1, RC[j] = 2RC[j-1], imbol menyatakan perkalian yang didefiniikan di dalam GF(2 8 ). Nilai RC[j] di dalam hekadeimal adalah [STA11]: RC[1]=, RC[2]=02, RC[3]=04, RC[4]=08, RC[5]=10, RC[6]=20, RC[7]=40, RC[8]=80, RC[9]=1B, RC[10]=36. Simpan hail fungi g ke dalam peubah temp ) XOR-kan w[i-4] dengan temp

URL yang terkait dengan AES: 1. AES Homepage, http://www.nit.gov/cryptotoolkit 2. J. Daemen, V. Rijmen, AES Propoal: Rijndael, http://www.eat.kuleuven.a.be/~rizmen/

Beberapa algoritma kriptografi imetri: Cipher Pembuat Panjang Kuni Keterangan Blowfih Brue Shneier 1 448 bit Old and low DES IBM 56 bit Too weak to ue now IDEA Maey dan Xuejia 128 bit Good, but patented RC4 Ronald Rivet 1 2048 bit Caution: ome key are weak RC5 Ronald Rivet 128 256 bit Good, but patented Rijndael Daemen dan Rijmen 128 256 bit Bet hoie Serpent Anderon, Biham, Knuden 128 256 bit Very trong Triple DES IBM 168 bit Seond bet hoie Twofih Brue Shneier 128 256 bit Very trong; widely ued