enkripsi aes

7
ENKRIPSI MENGGUNAKAN ADVANCED ENCRYPTION STANDARD (AES) Sumber : Cryptography and Network Security Principles & Practice, 4th Ed. – William Stallings (2005) 1. Enkripsi menggunakan Advanced Encryption Standard

Upload: jamaluddin-satuno-yap

Post on 01-Dec-2015

104 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Enkripsi AES

ENKRIPSI MENGGUNAKAN ADVANCED ENCRYPTION STANDARD (AES)

Sumber : Cryptography and Network Security Principles & Practice, 4th Ed. – William Stallings (2005)

1. Enkripsi menggunakan Advanced Encryption Standard

Page 2: Enkripsi AES

2. Struktur data AES:

3. Transformasi SubByte:

Contoh:

Page 3: Enkripsi AES

4. Tabel S-box untuk SubByte:

5. Transformasi Shift Row

Baris pertama state tidak berubah Circular shift left 1 bit pada baris kedua state Circular shift left 2 bit pada baris ketiga state circular shift left 3 bit pada baris keempat state

Contoh:

Page 4: Enkripsi AES

6. Transformasi Mix Column

Mix Column merupakan operasi perkalian matriks terhadap setiap kolom state dalam GF (28) yaitu: Perkalian dapat dilakukan menggunakan Algoritma Shift-Left dan XOR:

1. Jika MSB hasil sebelumnya adalah 0 maka shift left hasil sebelumnya sejauh 1 bit2. Jika MSB hasil sebelumnya adalah 1 maka:

i. Shift left hasil sebelumnya sejauh 1 bitii. XOR hasilnya dengan modulus yaitu 0001 1011

Penjumlahan adalah operasi XOR antar bit.

Contoh:

Page 5: Enkripsi AES

State awal State baruKunci putaran

Yang artinya untuk kolom pertama pada state awal perubahannya adalah:

Untuk baris pertama dapat diperoleh:{02} · {87} = 0001 0101 

  {03} · {6E} = 1011 0010  

  {46} = 0100 0110  

  {A6} = 1010 0110 (XOR)

      0100 0111 = {47}

7. Transformasi AddRoundKeyMerupakan operasi XOR antara state dengan matriks kunci pada putaran tersebut, yang dilakukan kolom demi kolom.

Contoh:

8. PEMBENTUKAN KUNCI

Proses ekspansi kunci pada AES (untuk 8 word pertama):

Page 6: Enkripsi AES

Untuk word w yang kelipatan 4 dihitung dengan suatu fungsi g terhadap word sebelumnya (misalkan untuk menghitung w4 maka w3 diinput ke fungsi g) seperti pada diagram di atas yang terdiri atas langkah-langkah berikut:

1. RotWord yaitu circular left shift sejauh 1 bit terhadap word yang diinput. Ini berarti input [b0, b1, b2, b3] diubah menjadi [b1, b2, b3, b0].

2. SubWord yaitu substitusi terhadap setiap byte dalam word hasil RotWord menurut Tabel S-box AES

3. Hasil langkah 1 dan 2 di-XOR dengan konstanta putaran Rcon[j]

Konstanta Rcon pada setiap putaran j:

j 1 2 3 4 5 6 7 8 9 10

RCon[j] 01 02 04 08 10 20 40 80 1B 36

9. TUGAS:

Page 7: Enkripsi AES

1. Pilihlah masing-masing suatu plaintext dan kunci berukuran 128-bit (32 digit hex).

2. Enkripsilah plaintext menggunakan kunci dengan program AES Calculator yang diberikan, dengan trace pada setiap putaran. Perhatikan perubahan nilai state dan kunci pada setiap putaran.

3. Hitunglah secara manual/dengan tangan nilai plaintext pada putaran pertama dan bandingkan hasilnya dengan output dari program AES Calculator sebagai acuan. Tuliskan setiap tahap perubahan plaintext yang diperoleh dan pembentukan kunci putaran pertama dari kunci asalnya. Gunakanlah Windows Calculator untuk membantu konversi hex ke biner dan sebaliknya.