2025-01-16
Blok data dengan panjang tetap (misalnya 128, 192, atau 256 bit) diubah sebagai serangkaian substitusi, permutasi, dan operasi pencampuran yang diterapkan untuk mengenkripsi dan mendekripsi data.Karena enkripsi AES menggunakan kunci simetris, yang sama digunakan untuk enkripsi dan dekripsi.
Proses ini terjadi dalam tahap:
1. kunci ekspansiKunci awal diperluas menjadi 44, 52, atau 60 kata 32-bit untuk 128, 192, dan 256 bit. Kata-kata diperluas ini digunakan dalam putaran berikutnya dari enkripsi AES.Proses perluasan kunci melibatkan menghasilkan kunci bulat tambahan dari kunci awal.
2Putaran awal.. Input atau blok plaintext dicampur dengan kunci bulat awal sebelum melanjutkan ke putaran utama enkripsi AES.
3. Setiap putaran enkripsi AES terdiri dari empat transformasi:
SubBytesSetiap byte dalam blok diganti dengan byte yang sesuai dalam kotak penggantian yang telah ditentukan sebelumnya yang dirancang untuk menahan serangan kriptografi yang diketahui.
ShiftRows. Bytes di setiap baris blok bergeser secara siklik ke kiri, dengan offset yang berbeda untuk baris yang berbeda.Langkah ini memastikan bahwa setiap kolom dari keadaan output operasi ShiftRows terdiri dari byte yang berasal dari setiap kolom dari keadaan input.
MixColumnsSetiap kolom diubah dengan menggunakan operasi perkalian matriks, yang memberikan difusi dan meningkatkan keamanan AES. Operasi ini mempengaruhi semua empat byte dalam kolom bersama-sama.
AddRoundKeyBlok yang dihasilkan dikombinasikan dengan kunci bulat yang berasal dari jadwal kunci. Langkah ini menggabungkan data dengan kunci, memberikan difusi.
4. PenutupanSetelah semua putaran utama, putaran terakhir dilakukan, termasuk semua langkah kecuali MixColumns.
5. Output. Bit yang dihasilkan adalah ciphertext yang sesuai dengan blok plaintext input.
Dekripsi dilakukan dengan operasi terbalik dalam urutan yang berlawanan. Jadwal kunci digunakan langsung (tidak terbalik) untuk memperoleh kunci bulat untuk dekripsi.
Kirimkan pertanyaan Anda langsung kepada kami