TREND TEKNOLOGI – Enkripsi telah menemukan tempatnya di dunia digital saat ini, dengan menumbuhkan budaya keamanan dan privasi. Ketika algoritma Enkripsi AES menggantikan Data Encryption Standard sebagai standar global untuk algoritma enkripsi pada tahun 2001, ia memperbaiki banyak kekurangan pendahulunya. Ia dipandang sebagai masa depan untuk enkripsi dalam aplikasi kehidupan sehari-hari. Sejauh ini, Advanced Encryption Standard telah mencapai target yang ditetapkan pada awalnya. Dan ia masih memiliki jalan panjang untuk berkembang.
Apa itu Standar Enkripsi Lanjutan?
Algoritma Enkripsi AES (juga dikenal sebagai algoritma Rijndael) adalah algoritma cipher blok simetris dengan ukuran blok/potongan 128 bit. Algoritma ini mengonversi blok-blok individual ini menggunakan kunci berukuran 128, 192, dan 256 bit. Setelah mengenkripsi blok-blok ini, ia menggabungkannya untuk membentuk ciphertext.
Ini didasarkan pada jaringan substitusi-permutasi, yang juga dikenal sebagai jaringan SP. Ini terdiri dari serangkaian operasi yang saling terkait, termasuk mengganti input dengan output tertentu (substitusi) dan operasi lain yang melibatkan pengocokan bit (permutasi).
Dalam tutorial ini, Anda akan mempelajari beberapa fitur menonjol yang ditawarkan AES sebagai algoritma enkripsi standar global.
Apa Saja Fitur AES?
Jaringan SP: Bekerja pada struktur jaringan SP dan bukan struktur sandi Feistel, seperti yang terlihat dalam kasus algoritma DES.
Perluasan Kunci: Dibutuhkan satu kunci tunggal pada tahap pertama, yang kemudian diperluas ke beberapa kunci yang digunakan di setiap putaran.
Data Byte: Algoritma enkripsi AES melakukan operasi pada data byte, bukan data bit. Jadi, ia memperlakukan ukuran blok 128-bit sebagai 16 byte selama prosedur enkripsi.
Panjang Kunci: Jumlah putaran yang akan dilakukan bergantung pada panjang kunci yang digunakan untuk mengenkripsi data. Ukuran kunci 128-bit memiliki sepuluh putaran, ukuran kunci 192-bit memiliki 12 putaran, dan ukuran kunci 256-bit memiliki 14 putaran.
Bagaimana AES Bekerja?
Untuk memahami cara kerja AES, pertama-tama Anda perlu mempelajari cara AES mengirimkan informasi di antara beberapa langkah. Karena satu blok berukuran 16 bita, matriks 4×4 menampung data dalam satu blok, dengan setiap sel menampung satu bita informasi.
Matriks yang ditunjukkan pada gambar di atas dikenal sebagai state array. Demikian pula, kunci yang digunakan pada awalnya diekspansi menjadi (n+1) kunci, dengan n sebagai jumlah putaran yang harus diikuti dalam proses enkripsi. Jadi untuk kunci 128-bit, jumlah putarannya adalah 16, dengan jumlah kunci yang akan dihasilkan adalah 10+1, yang berarti totalnya adalah 11 kunci.
Langkah-langkah yang harus diikuti dalam AES
Langkah-langkah yang disebutkan harus diikuti untuk setiap blok secara berurutan. Setelah berhasil mengenkripsi blok-blok individual, blok-blok tersebut digabungkan untuk membentuk ciphertext akhir. Langkah-langkahnya adalah sebagai berikut:
Tambahkan Kunci Bulat: Anda meneruskan data blok yang disimpan dalam array status melalui fungsi XOR dengan kunci pertama yang dihasilkan (K0). Array status yang dihasilkan diteruskan sebagai input ke langkah berikutnya.
Sub-Bytes: Pada langkah ini, ia mengonversi setiap byte dari array status menjadi heksadesimal, dibagi menjadi dua bagian yang sama. Bagian-bagian ini adalah baris dan kolom, dipetakan dengan kotak substitusi (S-Box) untuk menghasilkan nilai-nilai baru untuk array status akhir.
Shift Rows: Mengganti elemen baris satu sama lain. Melewati baris pertama. Menggeser elemen di baris kedua, satu posisi ke kiri. Menggeser elemen dari baris ketiga dua posisi berturut-turut ke kiri, dan menggeser baris terakhir tiga posisi ke kiri.
Mix Columns: Mengalikan matriks konstan dengan setiap kolom dalam array status untuk mendapatkan kolom baru untuk array status berikutnya. Setelah semua kolom dikalikan dengan matriks konstan yang sama, Anda mendapatkan array status untuk langkah berikutnya. Langkah khusus ini tidak boleh dilakukan di putaran terakhir.
Tambahkan Kunci Putaran: Kunci yang sesuai untuk putaran tersebut di-XOR dengan array status yang diperoleh pada langkah sebelumnya. Jika ini adalah putaran terakhir, array status yang dihasilkan menjadi ciphertext untuk blok tertentu; jika tidak, ia akan menjadi input array status baru untuk putaran berikutnya.
Sekarang setelah Anda memahami langkah-langkah dasar yang diperlukan untuk menjalani prosedur enkripsi, pahami contoh ini untuk diikuti.
Seperti yang dapat Anda lihat pada gambar di atas, plaintext dan enkripsi mengubah kunci ke format hex sebelum operasi dimulai. Dengan demikian, Anda dapat membuat kunci untuk sepuluh putaran berikutnya, seperti yang dapat Anda lihat di bawah ini.
Anda perlu mengikuti langkah-langkah yang sama seperti yang dijelaskan di atas, mengekstraksi susunan status secara berurutan dan meneruskannya sebagai input ke tahap berikutnya. Langkah-langkahnya adalah sebagai berikut:
Tambahkan Kunci Bulat:
Sub-Byte: Melewati elemen melalui S-Box 16×16 untuk memperoleh array status yang benar-benar baru.
Menggeser Baris:
Kolom Campuran:
Tambahkan Kunci Bulat:
Susunan status ini sekarang menjadi ciphertext terakhir untuk putaran tertentu ini. Ini menjadi input untuk putaran berikutnya. Bergantung pada panjang kunci, Anda mengulangi langkah-langkah di atas hingga Anda menyelesaikan putaran ke-10, setelah itu Anda menerima ciphertext terakhir.
Sekarang setelah Anda memahami cara kerja AES, mari kita bahas beberapa aplikasi algoritma enkripsi ini.
Apa Aplikasi AES?
Aplikasi algoritma Enkripsi AES adalah sebagai berikut:
Keamanan Nirkabel: Jaringan nirkabel diamankan menggunakan Advanced Encryption Standard untuk mengautentikasi router dan klien. Jaringan WiFi memiliki perangkat lunak firmware dan sistem keamanan lengkap berdasarkan algoritma ini dan kini digunakan sehari-hari.
Penjelajahan Terenkripsi: AES memainkan peran penting dalam mengamankan autentikasi server situs web dari sisi klien dan server. Dengan enkripsi simetris dan asimetris yang digunakan, algoritma ini membantu protokol enkripsi SSL/TLS untuk selalu menjelajah dengan keamanan dan privasi terbaik.
Enkripsi Berkas Umum: Selain untuk keperluan perusahaan, AES juga digunakan untuk mentransfer berkas antar rekan kerja dalam format terenkripsi. Informasi terenkripsi dapat mencakup pesan obrolan, foto keluarga, dokumen hukum, dll.
Keamanan Prosesor: Banyak produsen prosesor mengaktifkan enkripsi tingkat perangkat keras menggunakan enkripsi AES untuk meningkatkan keamanan dan mencegah kegagalan, di antara risiko lain yang tidak terlalu mencolok.
Sekarang setelah Anda mempelajari tentang penerapan enkripsi AES, mari kita lihat peningkatannya dibandingkan pendahulunya, algoritma enkripsi DES.