Looking for something ?

Advanced Encryption Standard (AES)

Written By Vapor Voyager Saputra on 13 September 2010 | Senin, September 13, 2010

The SubBytes langkah, salah satu dari empat tahapan dalam putaran AES

Dalam kriptografi , Advanced Encryption Standard (AES) adalah simetris-kunci enkripsi standar yang diterapkan oleh pemerintah AS . Standar ini terdiri dari tiga blok cipher , AES-128, AES-192 dan AES-256, diadopsi dari koleksi yang lebih besar awalnya diterbitkan sebagai Rijndael. Masing-masing cipher memiliki ukuran blok 128-bit, dengan kunci ukuran 128, 192 dan 256 bit, masing-masing. Cipher AES ini telah dianalisis secara luas dan sekarang digunakan di seluruh dunia, seperti halnya dengan pendahulunya, [3] pada Data Encryption Standard (DES).

AES diumumkan oleh Institut Nasional Standar dan Teknologi (NIST) sebagai US FIPS PUB 197 (FIPS 197) pada tanggal 26 November 2001 setelah setahun standarisasi proses-5 di mana desain bersaing lima belas disajikan dan dievaluasi sebelum Rijndael dipilih sebagai yang paling cocok (lihat Advanced Encryption Standard proses untuk lebih rinci). Ini menjadi efektif sebagai standar pemerintah Federal pada tanggal 26 Mei 2002 setelah persetujuan dari Menteri Perdagangan. Ini tersedia dalam berbagai paket enkripsi yang berbeda. AES adalah yang pertama yang dapat diakses publik dan terbuka sandi disetujui oleh NSA untuk rahasia atas informasi (lihat Keamanan AES , di bawah).

The Rijndael cipher dikembangkan oleh dua Belgia kriptografer, Joan Daemen dan Vincent Rijmen , dan diajukan oleh mereka untuk proses seleksi AES. Rijndael (diucapkan [rɛinda ː l] ) adalah permainan kata dengan nama-nama kedua penemu


Deskripsi sandi Caesar

AES didasarkan pada prinsip desain yang dikenal sebagai jaringan permutasi Substitusi . Hal ini cepat di kedua perangkat lunak dan perangkat keras . [6] Tidak seperti pendahulunya, DES, AES tidak menggunakan jaringan Feistel .

AES tetap memiliki ukuran blok dari 128 bit dan ukuran kunci 128 192,, atau 256 bit, sedangkan Rijndael dapat dispesifikasikan dengan ukuran blok dan kunci dalam beberapa 32 bit, dengan minimal 128 bit. blocksize ini memiliki maksimum 256 bit, tapi keysize tidak memiliki maksimum teoretis.

AES beroperasi pada array 4 × 4 byte, disebut negara (versi Rijndael dengan ukuran blok lebih besar memiliki kolom tambahan di negara bagian). Kebanyakan AES perhitungan dilakukan dalam khusus bidang terbatas .

Cipher AES ditetapkan sebagai jumlah pengulangan dari putaran transformasi yang mengkonversi plaintext input ke dalam hasil akhir dari ciphertext. Setiap putaran terdiri dari beberapa langkah pengolahan, termasuk satu yang tergantung pada kunci enkripsi. Satu set putaran terbalik diterapkan untuk mengubah ciphertext kembali ke plaintext asli dengan menggunakan kunci enkripsi yang sama.

Deskripsi tingkat Tinggi algoritma
1.KeyExpansion-bulat kunci berasal dari kunci cipher menggunakan kunci jadwal's Rijndael
2.Initial Round

Byte AddRoundKey-masing-masing negara dikombinasikan dengan kunci putaran menggunakan bitwise XOR

Putaran
1.SubBytes-non-linear substitusi tahap dimana setiap byte diganti dengan yang lain sesuai dengan tabel lookup .
2.ShiftRows-langkah transposisi di mana setiap baris dari negara digeser secara siklis sejumlah langkah.
3.MixColumns-operasi pencampuran yang beroperasi di kolom negara, mengkombinasikan empat byte di setiap kolom.
4. AddRoundKey

Babak Final (tidak MixColumns)
1.SubBytes
2.ShiftRows
3.AddRoundKey

langkah subytes
Pada langkah SubBytes, masing-masing byte di array diperbarui menggunakan 8-bit kotak substitusi , yang Rijndael S-kotak . Operasi ini menyediakan non-linearitas dalam cipher . S-box yang digunakan adalah berasal dari invers perkalian atas GF (2 8), dikenal memiliki sifat non-linieritas yang baik. Untuk menghindari serangan berdasarkan sifat aljabar sederhana, S-kotak ini dibangun dengan menggabungkan fungsi invers dengan invertible transformasi affine . S-kotak juga dipilih untuk menghindari titik tetap (dan merupakan kekacauan ), dan juga setiap titik tetap yang berlawanan.


Pada langkah SubBytes, masing-masing byte di negara bagian itu diganti dengan entri di meja-bit lookup 8 tetap, S; b ij = S (a ij).



Langkah ShiftRows
Langkah ShiftRows beroperasi pada deretan negara, melainkan secara siklis menggeser byte di setiap baris tertentu dengan offset . Untuk AES, baris pertama adalah tidak diubah. Setiap byte baris kedua adalah satu bergeser ke kiri. Demikian pula, baris ketiga dan keempat dialihkan oleh offset dari dua dan tiga masing-masing. Untuk blok berukuran 128 bit dan 192 bit pergeseran pola adalah sama. Dengan cara ini, setiap kolom negara output dari langkah ShiftRows terdiri dari byte dari setiap kolom masukan negara. (Rijndael varian dengan ukuran blok lebih besar memiliki offset yang sedikit berbeda). Dalam kasus blok 256-bit, baris pertama tidak berubah dan bergeser untuk kedua, baris ketiga dan keempat adalah 1 byte, 3 byte dan masing-masing 4 byte - perubahan ini hanya berlaku untuk cipher Rijndael bila digunakan dengan 256 - blok bit, AES tidak menggunakan blok 256-bit.

http://upload.wikimedia.org/wikipedia/commons/thumb/6/66/AES-ShiftRows.svg/320px-AES-ShiftRows.svg.png




Langkah MixColumns

Pada langkah MixColumns, empat byte dari setiap kolom negara digabungkan dengan menggunakan invertible transformasi linear . Fungsi MixColumns mengambil empat byte sebagai input dan output empat byte, di mana setiap byte masukan mempengaruhi semua empat byte output. Bersama dengan ShiftRows, MixColumns memberikan difusi dalam sandi itu.



Selama operasi ini, setiap kolom dikalikan dengan matriks diketahui bahwa untuk kunci 128 bit



Operasi perkalian didefinisikan sebagai: perkalian dengan 1 berarti meninggalkan berubah, perkalian dengan 2 berarti menggeser byte ke kiri dan perkalian oleh 3 berarti menggeser ke kiri dan kemudian melakukan XOR dengan nilai unshifted awal. Setelah bergeser, yang bersyarat XOR dengan 0x1B harus dilakukan jika nilai bergeser lebih besar dari 0xFF.

Dalam pengertian yang lebih umum, setiap kolom diperlakukan sebagai polinom atas GF (2 8) dan kemudian dikalikan modulo x 4 +1 dengan tetap polinomial c (x) = 0x03 · x 3 + x 2 + x + 0x02. Koefisien mereka ditampilkan dalam heksadesimal setara dengan representasi biner dari bit polinomial GF (2) [x]. Langkah MixColumns juga dapat dilihat sebagai perkalian oleh tertentu MDS matriks dalam bidang terbatas . Proses ini dijelaskan lebih lanjut dalam artikel kolom campuran Rijndael . 

Pada langkah MixColumns, setiap kolom negara dikalikan dengan tetap polinomial c (x).


Langkah AddRoundKey
Pada langkah AddRoundKey, subkey ini dikombinasikan dengan negara. Untuk setiap putaran, subkunci adalah berasal dari utama kunci menggunakan kunci jadwal's Rijndael ; subkunci setiap ukuran yang sama sebagai negara. subkey tersebut akan ditambahkan dengan menggabungkan negara masing-masing byte dengan byte yang sesuai dari subkey menggunakan bitwise XOR .

Pada langkah AddRoundKey, masing-masing byte negara dikombinasikan dengan byte bulat subkey menggunakan XOR operasi (⊕).


Optimasi sandi Caesar
Pada sistem dengan 32-bit atau kata-kata yang lebih besar, adalah mungkin untuk mempercepat pelaksanaan cipher ini dengan menggabungkan SubBytes dan ShiftRows dengan MixColumns, dan mengubah mereka menjadi urutan lookup tabel. Ini memerlukan empat 256-entri tabel 32-bit, yang memanfaatkan total empat kilobyte (4096 byte) dari memori-satu kilobyte untuk setiap tabel. bulat A sekarang dapat dilakukan dengan tabel lookup 16 dan 12 bit 32-eksklusif-atau operasi, diikuti oleh empat 32-bit-eksklusif atau operasi pada langkah AddRoundKey. [7]

Jika ukuran empat tabel hasil kilobyte terlalu besar untuk platform target yang diberikan, operasi lookup tabel dapat dilakukan dengan entri tunggal 256-32-bit (yaitu: 1 kilobyte) meja dengan menggunakan berputar melingkar.

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

Keamanan
Sampai Mei 2009, hanya berhasil diterbitkan serangan terhadap AES penuh adalah sisi-saluran serangan pada beberapa implementasi tertentu. The National Security Agency (NSA) meninjau semua finalis AES, termasuk Rijndael, dan menyatakan bahwa mereka semua cukup aman untuk Pemerintah diklasifikasikan data non-US. Pada bulan Juni 2003, Pemerintah AS mengumumkan bahwa AES dapat digunakan untuk melindungi informasi rahasia :

Desain dan kekuatan dari semua panjang kunci algoritma AES (yaitu, 128, 192 dan 256) yang cukup untuk melindungi informasi rahasia sampai ke tingkat RAHASIA. Informasi TOP SECRET akan memerlukan penggunaan baik 192 atau 256 panjang kunci. Implementasi AES dalam produk yang ditujukan untuk melindungi sistem keamanan nasional dan / atau informasi harus ditinjau dan disertifikasi oleh NSA sebelum akuisisi mereka dan digunakan. " [8]

AES memiliki 10 putaran untuk kunci 128-bit, 12 putaran untuk kunci 192-bit, dan 14 butir peluru untuk kunci 256-bit. Pada tahun 2006, yang dikenal serangan terbaik adalah pada tanggal 7 ronde untuk kunci 128-bit, 8 putaran untuk kunci 192-bit, dan 9 putaran untuk kunci 256-bit. [9]

Dikenal serangan

Untuk kriptografi, sebuah kriptografi istirahat "adalah segala sesuatu lebih cepat dari suatu pencarian yang melelahkan . Dengan demikian, sebuah serangan XSL terhadap-bit-kunci AES 128 membutuhkan 2 100 operasi (dibandingkan dengan 2 128 kunci mungkin) akan dianggap istirahat. Sukses terbesar dikenal publik- brute force attack telah terhadap 64-bit RC5 kunci oleh distributed.net . [10]

Tidak seperti kebanyakan cipher blok lain, aljabar AES memiliki deskripsi yang sangat rapi. [11] Pada tahun 2002, serangan teoritis, disebut dengan XSL serangan "", diumumkan oleh Nicolas Courtois dan Josef Pieprzyk , mengaku untuk menunjukkan kelemahan dalam algoritma AES karena untuk deskripsi sederhana. [12] Sejak itu, kertas lainnya telah menunjukkan bahwa serangan sebagai awalnya disajikan adalah tidak bisa dijalankan; lihat XSL serangan pada blok cipher .

Selama proses AES, pengembang bersaing menulis algoritma Rijndael, "... kita prihatin tentang [menggunakan] yang penting ... di-aplikasi keamanan." [13] Namun, pada akhir proses AES, Bruce Schneier , sebuah pengembang bersaing algoritma Twofish , menulis bahwa sementara ia berpikir serangan akademik berhasil di Rijndael akan dikembangkan suatu hari, "Saya tidak percaya bahwa ada orang yang akan menemukan sebuah serangan yang akan memungkinkan seseorang untuk membaca lalu lintas Rijndael." [14]

Pada tanggal 1 Juli 2009, Bruce Schneier blog [15] tentang kunci serangan terkait di-bit 192 dan-bit versi 256 AES, ditemukan oleh Alex Biryukov dan Dmitry Khovratovich, [16] yang memanfaatkan AES sederhana kunci jadwal agak dan memiliki kompleksitas 2 99,5. Ini adalah tindak lanjut untuk menyerang sebuah ditemukan awal tahun 2009 oleh Alex Biryukov, Dmitry Khovratovich, dan Ivica Nikolić, dengan kompleksitas 2 96 untuk satu dari setiap 2 35 kunci. [17] serangan lain adalah blogged oleh Bruce Schneier [ 18] pada tanggal 30 Juli 2009 dan dirilis sebagai sebuah preprint [19] pada tanggal 3 Agustus 2009. Serangan baru, oleh Alex Biryukov, Orr Dunkelman, Nathan Keller, Dmitry Khovratovich, dan Adi Shamir , adalah terhadap AES-256 yang hanya menggunakan dua kunci terkait dan 2 39 waktu untuk memulihkan kunci 256-bit lengkap dari putaran versi 9 , atau 2 45 waktu untuk putaran versi 10 dengan jenis serangan subkunci kuat terkait, atau 2 70 waktu untuk putaran versi 11. AES 256-bit menggunakan 14 seri, sehingga serangan-serangan ini tidak efektif terhadap AES penuh.

Pada bulan November 2009, yang pertama dikenal-kunci yang membedakan serangan terhadap versi 8-putaran mengurangi AES-128 dirilis sebagai sebuah preprint. [20] ini dikenal-kunci yang membedakan serangan adalah perbaikan rebound atau awal-dari-the tengah-serangan untuk permutasi seperti AES, yang menampilkan dua putaran berturut-turut permutasi sebagai aplikasi dari Super-apa yang disebut Sbox. Ia bekerja di sepanjang versi 8 dari AES-128, dengan kompleksitas perhitungan 2 48, dan kompleksitas memori 2 32.

Pada Juli 2010 Vincent Rijmen menerbitkan sebuah kertas ironis "dipilih-key-hubungan-in-the-tengah" serangan terhadap AES-128 [21]

Side-channel serangan]

Side-channel serangan tidak menyerang cipher yang mendasarinya dan tidak ada hubungannya dengan keamanan seperti dijelaskan di sini, tapi serangan implementasi dari cipher pada sistem yang kebocoran data secara tidak sengaja. Ada beberapa serangan dikenal seperti pada implementasi tertentu AES.

Pada bulan April 2005, DJ Bernstein mengumumkan waktu serangan-cache yang ia gunakan untuk istirahat server kustom yang digunakan OpenSSL AES s 'enkripsi. [22] Server kustom ini dirancang untuk memberikan informasi sebanyak mungkin waktu (server melaporkan kembali jumlah siklus mesin yang diambil oleh operasi enkripsi), dan menyerang yang diperlukan lebih dari 200 juta dipilih plaintexts. [23]

Pada bulan Oktober 2005, Dag Arne Osvik, Adi Shamir dan Eran Tromer disajikan sebuah kertas menunjukkan cache-waktu beberapa serangan terhadap AES. [24] Satu serangan bisa mendapatkan AES seluruh kunci setelah hanya 800 operasi memicu encryptions, dalam total 65 milidetik. Serangan ini membutuhkan penyerang untuk dapat menjalankan program pada sistem yang sama atau platform yang melakukan AES.

Pada bulan Desember 2009 serangan terhadap beberapa implementasi perangkat keras yang digunakan diumumkan Sesar Diferensial Analisis dan memungkinkan pemulihan kunci dengan kompleksitas 2 32. [25]

validasi FIPS

The Cryptographic Modul Program Validasi (CMVP) dioperasikan bersama oleh Pemerintah Amerika Serikat Institut Nasional Standarisasi dan Teknologi (NIST) Divisi Keamanan Komputer dan Keamanan Komunikasi Pendirian (CSE) dari Pemerintah Kanada. Penggunaan modul kriptografi divalidasi diperlukan oleh Pemerintah Amerika Serikat untuk semua menggunakan unclassified tentang kriptografi. Pemerintah Kanada juga merekomendasikan penggunaan FIPS 140 divalidasi modul kriptografi dalam aplikasi unclassified dari departemen.

Meskipun publikasi NIST 197 ("FIPS 197") merupakan dokumen unik yang meliputi algoritma AES, vendor biasanya mendekati CMVP bawah FIPS 140 dan minta beberapa algoritma (seperti Triple DES atau SHA1 ) divalidasi pada saat yang sama. Oleh karena itu, sangat jarang untuk menemukan modul kriptografi yang unik FIPS 197 divalidasi dan NIST sendiri tidak umumnya meluangkan waktu untuk daftar FIPS 197 divalidasi modul secara terpisah di situs web publik. Sebaliknya, FIPS 197 validasi biasanya hanya terdaftar sebagai "FIPS disetujui: AES" notasi (dengan nomor 197 sertifikat khusus FIPS) dalam daftar saat FIPS 140 divalidasi modul kriptografi.

FIPS validasi adalah menantang untuk mencapai baik secara teknis dan fiskal. Ada tes standar baterai serta unsur tinjauan kode sumber yang harus dilalui selama beberapa hari. Biaya untuk melakukan tes melalui laboratorium dapat disetujui signifikan (misalnya, lebih dari $ 30,000 US) [ rujukan? ] dan tidak termasuk waktu yang dibutuhkan untuk menulis, menguji, dokumen dan menyiapkan modul untuk validasi. Setelah validasi, modul harus diserahkan kembali dan dievaluasi ulang jika mereka berubah dengan cara apapun.

validasi FIPS

The Cryptographic Modul Program Validasi (CMVP) dioperasikan bersama oleh Pemerintah Amerika Serikat Institut Nasional Standarisasi dan Teknologi (NIST) Divisi Keamanan Komputer dan Keamanan Komunikasi Pendirian (CSE) dari Pemerintah Kanada. Penggunaan modul kriptografi divalidasi diperlukan oleh Pemerintah Amerika Serikat untuk semua menggunakan unclassified tentang kriptografi. Pemerintah Kanada juga merekomendasikan penggunaan FIPS 140 divalidasi modul kriptografi dalam aplikasi unclassified dari departemen.

Meskipun publikasi NIST 197 ("FIPS 197") merupakan dokumen unik yang meliputi algoritma AES, vendor biasanya mendekati CMVP bawah FIPS 140 dan minta beberapa algoritma (seperti Triple DES atau SHA1 ) divalidasi pada saat yang sama. Oleh karena itu, sangat jarang untuk menemukan modul kriptografi yang unik FIPS 197 divalidasi dan NIST sendiri tidak umumnya meluangkan waktu untuk daftar FIPS 197 divalidasi modul secara terpisah di situs web publik. Sebaliknya, FIPS 197 validasi biasanya hanya terdaftar sebagai "FIPS disetujui: AES" notasi (dengan nomor 197 sertifikat khusus FIPS) dalam daftar saat FIPS 140 divalidasi modul kriptografi.

FIPS validasi adalah menantang untuk mencapai baik secara teknis dan fiskal. Ada tes standar baterai serta unsur tinjauan kode sumber yang harus dilalui selama beberapa hari. Biaya untuk melakukan tes melalui laboratorium dapat disetujui signifikan (misalnya, lebih dari $ 30,000 US) [ rujukan? ] dan tidak termasuk waktu yang dibutuhkan untuk menulis, menguji, dokumen dan menyiapkan modul untuk validasi. Setelah validasi, modul harus diserahkan kembali dan dievaluasi ulang jika mereka berubah dengan cara apapun.

Umum
Desainer                 :    Vincent Rijmen , Daemen Joan
Pertama diterbitkan  :     1998
Berasal dari             :    Persegi
Penerus                  :    Anubis , Grand cru
Sertifikasi               :    AES pemenang, CRYPTREC , Nessie , NSA
                                 Cipher detail
Ukuran kunci         :    128, 192 atau 256 bit [1]
Blok ukuran           :    128 bit [2]
Struktur                :    Pergantian-permutasi jaringan
Putaran                 :    10, 12 atau 14 (tergantung pada ukuran kunci)





















dari wikipedia http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

Tidak ada komentar:

Posting Komentar

Monggo di comment, insaallah di balas

Last Post

SiteCompInfo