Advanced Encryption Standard (AES) - PowerPoint PPT Presentation

About This Presentation
Title:

Advanced Encryption Standard (AES)

Description:

Advanced Encryption Standard (AES) Bahan Kuliah ke-13 IF5054 Kriptografi Latar Belakang DES dianggap sudah tidak aman. Perlu diusulkan standard algoritma baru sebagai ... – PowerPoint PPT presentation

Number of Views:467
Avg rating:3.0/5.0
Slides: 34
Provided by: IFU8
Category:

less

Transcript and Presenter's Notes

Title: Advanced Encryption Standard (AES)


1
Advanced Encryption Standard (AES)
  • Bahan Kuliah ke-13
  • IF5054 Kriptografi

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
  • Rijndael (dari Vincent Rijmen dan Joan Daemen
    Belgia, 86 suara)
  • Serpent (dari Ross Anderson, Eli Biham, dan Lars
    Knudsen Inggris, Israel, dan Norwegia, 59
    suara).
  • Twofish (dari tim yang diketuai oleh Bruce
    Schneier USA, 31 suara)
  • RC6 (dari Laboratorium RSA USA, 23 suara)
  • 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.

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
(No Transcript)
11
(No Transcript)
12
(No Transcript)
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
    (128 16 ? 8).

14
  • Selama kalkulasi plainteks menjadi cipherteks,
    status sekarang dari data disimpan di dalam array
    of bytes dua dimensi, state, yang berukuran NROWS
    ? NCOLS.
  • Untuk blok data 128-bit, ukuran state adalah 4 ?
    4.

15
  • Elemen array state diacu sebagai Sr,c, 0 ? r lt
    4 dan 0 ? c lt Nb
  • (Nb adalah panjang blok dibagi 32.
  • Pada AES-128, Nb 128/32 4)

16
  • Pada awal enkripsi, 16-byte data masukan, in0,
    in1, , in15 disalin ke dalam array state
    (direalisasikan oleh fungsi
  • CopyPlaintextToState(state, plaintext))
  • Operasi enkripsi/dekripsi dilakukan terhadap
    array S, dan keluarannya ditampung didalam array
    out.

17
Contoh (elemen state dan kunci dalam notasi HEX)
18
Transformasi SubBytes()
  • SubBytes() memetakan setiap byte dari array state
    dengan menggunakan S-box.

19
(No Transcript)
20
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.

21
(No Transcript)
22
(No Transcript)
23
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) 03x3 01x2 01x 02

24

25
(No Transcript)
26
(No Transcript)
27
Transformasi AddRoundKey()
  • Transformasi ini melakukan operasi XOR terhadap
    sebuah round key dengan array state, dan hasilnya
    disimpan di array state.

28
(No Transcript)
29
(No Transcript)
30
(No Transcript)
31
(No Transcript)
32
(No Transcript)
33
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com