advanced encryption standard

Post on 07-Jun-2015

322 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Advanced Encryption Standard

Annisa Dini HandayaniTk IV Teknik Kripto0302100553

Pendahuluan

Data dan informasi merupakan dua hal yang sangat penting di dalam komunikasi, oleh karena itu diperlukan suatu metode untuk mengamankannya.

Maka digunakanlah kriptografi Menurut Bruce Schneier dalam bukunya

yang berjudul ”Applied Cryptography”, disebutkan bahwa Kriptografi adalah seni dan ilmu dalam menjaga keamanan pesan.

Pendahuluan (Cont…)

Terdapat dua jenis algoritma kriptografi berdasar jenis kuncinya, yaitu : Algoritma simetrik (konvensional)

Ex : OTP, DES, RC2, RC4, RC5, RC6, IDEA, Twofish,

Magenta, Rijndael (AES), Blowfish, GOST

Algoritma asimetrik (kunci publik)

Ex : RSA, Diffie Hellman, ElGamal

D E S

Merupakan algoritma yang banyak digunakan di dunia, yang diadopsi dari NIST (National Institute of Standards and Technology).

DES termasuk pada jenis blok cipher Plaintext terdiri dari 64 bit per blok dengan

menggunakan kunci 56 bit untuk satu kali proses enkripsi dan menghasilkan ciphertext yang terdiri dari 64 bit per blok.

DES (Cont…)

DES terbukti menjadi algoritma yang aman di dunia selama puluhan tahun

Namun, pada tahun 1990-an panjang kunci DES yang hanya 56 bit, dianggap terlalu pendek.

Oleh karen aitu, diadakanlah kontes terbuka untuk pembuatan algoritma standar sebagai pengganti DES, kontes tersebut dinamakan kontes AES.

A E S

Persyaratan AES adalah : Algoritma harus dipublikasikan secara luas untuk

dibuktikan keamanannya. Algoritma haruslah Block Cipher. Algoritma harus diimplementasikan dengan cepat pada

software dan hardware. Algoritma memiliki input blok data 128 bit. Algoritma harus memiliki kunci yang fleksibel : 128, 192,

dan 256 bit. Dapat mengenkripsi data masukan 32 bit atau 64 bit,

supaya dapat mengenkripsi aliran video atau audio secara real time.

Dapat digunakan dalam smart card dengan CPU 8 bit.

AES (Cont…)

Diikuti oleh 21 peserta. Setelah melalui tahap penilaian

didapatkanlah 5 kandidat sebagai finalis, yaitu : Mars (IBM Amerika) RC6 (RSA Corp. Amerika) Rijndael (Belgia) Serpent (Israel, Norwegia, dan Inggris) Twofish (Counterpane Amerika)

AES (Cont…)

Setelah melalui tahap pengujian, terpilihlah Rijndael sebagai pemenang AES

Rijndael dibuat oleh Dr.Vincent Rijmen dan Dr. Joan Daemen.

Rijndael dipilih sebagai pemenang bukan karena merupakan algoritma yang paling aman, melainkan karena memiliki keseimbangan antara keamanan, dan fleksibilitas dalam berbagai platform software dan hardware.

AES (Rijndael)

Rijndael didesain sehingga memenuhi karakteristik sebagai berikut :• Aman terhadap berbagai attack yang telah diketahui• Cepat dan efisien dalam berbagai platform• Desain yang sederhana.

Rijndel merupakan salah satu dari finalis AES yang tidak menggunakan Struktur Feistel, tetapi memproses blok input data secara paralel untuk setiap round dengan menggunakan substitusi dan permutasi.

Tahapan yang digunakan pada Rijndael untuk tiap round-nya terdiri dari empat, yaitu :• Substitute Bytes• Shift Rows• Mix Columns • Add Round Key

Operasi AES dilakukan terhadap array byte 2-dimensi yang disebut dengan state

State terdiri dari 4 baris dan Nc kolom, dimana nilai Nc adalah panjang blok dibagi 32.

Pada awalnya, masukan in0...in15 akan dikopi ke dalam state dengan mengikuti rumus :

s[r,c] = in [r + 4c] Dan pada keluaran, state dikopikan ke

keluaran out0...out15 dengan formula : out[r + 4c] = s[r,c]

Transformasi pengisian state :

Transformasi Sub Bytes

Operasi substitusi non linear yang melibatkan S-Box

Tabel S-Box yang digunakan :

Transformasi Shift Rows

Beroperasi secara terpisah untuk masing – masing tiga baris terakhir dari state, dengan menggeser byte pada baris tersebut

Jumlah pergeseran h(r,Nc) bergantung pada jumlah baris r dan panjang blok, seperti pada tabel berikut :

Ilustrasi dari transformasi Shift Rows

Transformasi Mix Columns

Berlangsung secara independent pada setiap kolom state dan mentransformasikan setiap kolom sebagai sebuah polynomial.

Direpresentasikan sebagai matriks :

Gambar Transformasi Mix Column :

Transformasi Add Round Key

Pada tahapan ini Nc word yang berasal dari key schedule di-XOR dengan setiap kolom dari state, sehingga memenuhi persamaan sebagai berikut :

Key Schedule

Round key didapatkan dari cipher key dengan menggunakan key schedule

Tiap round membutuhkan Nc word data key dengan penambahan initial set, sehingga jumlah totalnya adalah Nc(Nn + 1) word

Dengan kata lain proses ekspansi kunci ini memerlukan input sebanyak 4 word (16 byte ) kunci dan menghasilkan 44 word (156 byte) round key.

Setiap word w[i] merupakan hasil XOR antara word sebelumnya w[i-1] dan word yang berada pada Nk sebelumnya w[i-Nk], Nk = panjang kunci (word).

Untuk word yang letaknya merupakan kelipatan Nk, maka transformasi yang dilakukan menggunakan fungsi yang lebih kompleks.

Fungsi kompleks ini terdiri dari beberapa subfungsi, yaitu : RotWord SubWord Hasil dari langkah 1 dan 2 di-XOR dengan konstanta

round Rcon[i].

Pemilihan round key i ditentukan oleh round key buffer words w[Nc*i] menjadi w[Nc*(i+1)], seperti yang diilustrasikan pada gambar berikut :

Dekripsi

Urutan transformasi dekripsi berbeda dengan urutan transformasi enkripsi, meskipun key schedule yang digunakan pada enkripsi sama dengan key schedule pada dekripsi.

Transformasi yang digunakan pada dekripsi ini adalah : InvShiftRows InvSubBytes InvMixColumns Inverse AddRoundKey

InvShiftRows

Inverse dari transformasi Shift Rows Jumlah pergeseran byte pada tiga baris terakhir ditentukan oleh

Nc - h(r,Nc) byte

InvSubBytes

Inverse dari transformasi Substitute Bytes Menggunakan inverse S-Box

InvMixColumns

Inverse dari transformasi Mix Column. Setiap kolom dianggap sebagai polynomial

pada GF(28) dan dikalikan dengan , sehingga :

Persamaan ini dapat ditulis dalam bentuk matriks. Misalkan

Hasil dari perkalian ini, nilai empat byte pada setiap kolom menjadi :

Inverse AddRoundKey

Inverse untuk transformasi AddRoundKey adalah transformasi AddRoundKey itu sendiri, karena operasi pada transformasi AddRoundKey hanya berupa operasi XOR.

Rijndael merupakan algoritma pemenang kontes AES, yang memiliki beberapa keunggulan, diantaranya : Rijndael tahan terhadap attack yang secara umum sudah

diketahui. Rijndael melakukan proses enkripsi dan dekripsi yang

sangat baik pada berbagai platform, termasuk pada platform 8-bit dan platform 16-bit serta platform DSP.

Secara umum, Rijndael sangat cocok untuk diimplementasikan pada alat yang memiliki keterbatasan memori.

DAFTAR PUSTAKA

Gladman Brian, Dr. 2003. A Specification for The AES Algorithm. http://fp.gladman.plus.com/cryptography technology/.

J.Daemen dan V.Rijmen, 1999. AES Proposal : Rijndael. Algorithm Submission. http://www.nist.gov/CryptoToolkit.

Schneier Bruce, 1996. Applied Cryptography, Protocols, Algorithm and Source Code in C, 2nd Edition.

USA : John Willey and Sons, Inc Stallings William, 1998. Cryptography and Network Security :

Principles and Practice, 2nd Edition. Prentice Hall.

THANK

YOU….

top related