Advanced Encryption Standard

Posted on March 9, 2010. Filed under: IT | Tags: , , |

Dalam Kriptografi, Advanced Encryption Standard (AES) adalah standar enkripsi yang diadopsi oleh pemerintah AS. Standar terdiri dari tiga blok cipher, AES-128, AES-192 dan AES-256, diadopsi dari koleksi yang lebih besar awalnya diterbitkan sebagai Rijndael. Setiap AES cipher memiliki 128-bit ukuran blok, dengan ukuran kunci 128, 192 dan 256 bit, masing-masing. AES cipher telah dianalisis secara ekstensif dan sekarang digunakan di seluruh dunia, seperti yang terjadi dengan pendahulunya, Data Encryption Standard (DES).

AES diumumkan oleh National Institute of Standards and Technology (NIST) sebagai FIPS PUB US 197 (FIPS 197) pada 26 November 2001 setelah 5 tahun proses standarisasi yang bersaing lima belas rancangan dipresentasikan dan dievaluasi sebelum Rijndael terpilih sebagai yang paling sesuai (lihat Advanced Encryption Standard proses untuk lebih rinci). Ini menjadi efektif sebagai standar pemerintah Federal pada 26 Mei 2002 setelah disetujui oleh Menteri Perdagangan. Ini tersedia dalam berbagai paket enkripsi. AES adalah yang pertama dapat diakses publik dan terbuka sandi disetujui oleh NSA untuk informasi rahasia

Rijndael cipher yang dikembangkan oleh dua kriptografer Belgia, Joan Daemen dan Vincent Rijmen, dan diajukan oleh mereka untuk proses seleksi AES. Rijndael (pengucapan [rɛinda ː l]) adalah portmanteau dari nama-nama dari kedua penemu.

Langkah SubBytes
Dalam langkah SubBytes, setiap byte dalam array diperbarui menggunakan 8-bit substitusi kotak itu, Rijndael S-box. Operasi ini menyediakan non-linearitas dalam sandi. S-box yang digunakan adalah berasal dari perkalian invers atas GF (28), dikenal mempunyai sifat non-linearitas. Untuk menghindari serangan didasarkan pada sifat-sifat aljabar sederhana, S-kotak tersebut dibangun dengan menggabungkan fungsi invers dengan transformasi affine invertible. S-box ini juga dipilih untuk menghindari titik tetap (dan begitu adalah kekacauan), dan juga setiap titik tetap yang berlawanan.

Dalam langkah SubBytes, setiap byte di negara diganti dengan entri dalam tetap 8-bit tabel pencarian, S; bij = S (aij).

Langkah yang ShiftRows
Dalam langkah ShiftRows, byte di setiap baris dari state dialihkan putaran ke kiri. Jumlah tempat setiap byte digeser berbeda untuk setiap baris.

Langkah ShiftRows beroperasi di deretan state ; putaran menggeser byte di setiap baris dengan offset tertentu. Untuk AES, baris pertama yang tersisa tidak berubah. Setiap byte dari baris kedua bergeser satu ke kiri. Demikian pula, baris ketiga dan keempat dialihkan oleh offset masing-masing dari dua dan tiga. Untuk ukuran blok 128 bit dan 192 bit dengan pergeseran pola adalah sama. Dengan cara ini, setiap kolom dari keadaan keluaran dari langkah ShiftRows terdiri dari byte dari setiap kolom dari masukan state. (Rijndael varian dengan ukuran blok lebih besar memiliki sedikit berbeda offset). Dalam kasus blok 256-bit, baris pertama tidak berubah dan bergeser untuk kedua, ketiga dan keempat berturut-turut adalah 1 byte, 3 byte dan 4 byte masing-masing – perubahan ini hanya berlaku untuk cipher Rijndael jika digunakan dengan 256 — bit blok, seperti tidak AES menggunakan 256-bit blok.

Dalam langkah ShiftRows, byte di setiap baris dari state dialihkan berputar ke kiri. Jumlah tempat setiap byte digeser berbeda untuk setiap baris.


Langkah MixColumns
Dalam langkah MixColumns, masing-masing kolom negara dikalikan dengan tetap polinomial c (x).

Dalam langkah MixColumns, empat byte dari setiap kolom state digabungkan dengan menggunakan transformasi linier invertible. Fungsi MixColumns mengambil empat byte sebagai masukan dan keluaran empat byte, dimana setiap masukan byte mempengaruhi semua keluaran empat byte. Bersama dengan ShiftRows, MixColumns memberikan difusi dalam sandi. Setiap kolom diperlakukan sebagai polinom atas GF (28) dan ini kemudian dikalikan dengan 1 Modulo x4 tetap polinomial c (x) = 0x03 · x3 + x2 + x + 0x02. Koefisien ditampilkan dalam heksadesimal setara dengan representasi biner bit polinomial dari GF (2) [x]. Langkah MixColumns juga dapat dilihat sebagai perkalian dengan matriks MDS tertentu dalam bidang yang terbatas. Proses ini dijelaskan lebih lanjut dalam artikel campuran Rijndael kolom.

Dalam langkah MixColumns, masing-masing kolom negara dikalikan dengan tetap polinomial c (x).

Langkah AddRoundKey
Dalam langkah AddRoundKey, setiap byte dari state dikombinasikan dengan byte dari subkunci putaran menggunakan operasi XOR (⊕).

Dalam AddRoundKey langkah, subkey dikombinasikan dengan state. Untuk setiap putaran, sebuah subkunci berasal dari kunci utama menggunakan Rijndael’s kunci jadwal; setiap subkunci adalah ukuran yang sama sebagai state. Subkunci ditambahkan dengan menggabungkan setiap byte dari state sesuai dengan byte dari subkey menggunakan bitwise XOR.

Dalam langkah AddRoundKey, setiap byte dari state dikombinasikan dengan byte dari subkunci putaran menggunakan operasi XOR (⊕).

Optimalisasi sandi

Pada sistem dengan kata-kata 32-bit atau lebih , adalah mungkin untuk mempercepat pelaksanaan cipher ini dengan menggabungkan SubBytes dan ShiftRows dengan MixColumns, dan mentransformasikannya menjadi urutan tabel lookup. Ini memerlukan empat 256-entri tabel 32-bit, yang memanfaatkan total empat kilobyte (4096 bytes) dari memori-satu kilobyte untuk setiap tabel. satu putaran kini dapat dilakukan dengan 16 tabel lookup dan 12 32-bit eksklusif-atau operasi, diikuti oleh empat 32-bit eksklusif-atau operasi dalam langkah AddRoundKey.

Jika yang dihasilkan empat table berukuran kilobyte terlalu besar untuk suatu platform sasaran, table operasi pencarian dapat dilakukan dengan satu 256-entry 32-bit (yaitu: 1 kilobyte) table dengan menggunakan lingkaran berputar.

Menggunakan pendekatan berorientasi byte adalah mungkin untuk menggabungkan SubBytes, ShiftRows, dan MixColumns langkah-langkah ke dalam satu putaran operasi.

Sumber

Make a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Liked it here?
Why not try sites on the blogroll...

%d bloggers like this: