Hello Sobat TeknoBgt! Pada kesempatan ini, kita akan membahas tentang cara menghitung manual algoritma AES (Advanced Encryption Standard). AES adalah salah satu algoritma enkripsi yang paling umum digunakan saat ini dalam berbagai aplikasi keamanan seperti file sharing, email, dan juga website. Dalam artikel ini, kita akan membahas secara rinci bagaimana menghitung manual algoritma AES yang dapat membantu Anda memahami lebih dalam tentang cara kerja enkripsi. Selamat membaca!
Pengenalan tentang Algoritma AES
Sebelum kita membahas tentang cara menghitung manual algoritma AES, mari kita pahami terlebih dahulu tentang apa itu algoritma AES. AES adalah sebuah standar enkripsi yang digunakan untuk melindungi informasi rahasia seperti password, kunci enkripsi, dan data sensitif lainnya.
Standar AES terdiri dari tiga kunci enkripsi yang masing-masing terdiri dari 128 bit, 192 bit, dan 256 bit. Setiap kunci enkripsi akan menghasilkan struktur enkripsi yang berbeda, yang akan dibahas lebih lanjut di bawah.
Jenis-Jenis Struktur Enkripsi pada Algoritma AES
Ada tiga jenis struktur enkripsi pada algoritma AES, yaitu:
Jenis Struktur | Panjang Kunci |
---|---|
AES-128 | 128 bit |
AES-192 | 192 bit |
AES-256 | 256 bit |
Setiap jenis struktur enkripsi memiliki kekuatan enkripsi yang berbeda-beda. Semakin panjang kunci enkripsi, semakin sulit pula untuk membobolnya.
Cara Menghitung Manual Algoritma AES
Langkah 1: Key Expansion
Langkah pertama dalam menghitung manual algoritma AES adalah melakukan key expansion. Key expansion adalah proses untuk mengubah kunci enkripsi yang diberikan menjadi serangkaian kunci enkripsi yang lebih detail dan kompleks.
Proses key expansion pada algoritma AES terdiri dari beberapa langkah, yaitu:
- Menentukan jumlah putaran enkripsi berdasarkan panjang kunci enkripsi. Jumlah putaran enkripsi untuk struktur AES-128 adalah 10, untuk struktur AES-192 adalah 12, dan untuk struktur AES-256 adalah 14.
- Membagi kunci enkripsi menjadi blok-blok 32 bit atau 4 byte.
- Membuat kunci rcon yang akan digunakan pada proses key schedule. Rcon adalah sebuah array komputasi yang digunakan untuk menentukan nilai pengganti pada proses enkripsi.
- Menentukan blok-blok kunci enkripsi dengan menggunakan proses key schedule.
Langkah 2: SubBytes
Setelah key expansion selesai dilakukan, langkah berikutnya adalah melakukan SubBytes. SubBytes adalah proses penggantian nilai setiap byte pada blok plaintext dengan nilai baru berdasarkan tabel Substitution Box (S-Box) yang telah ditentukan sebelumnya.
Proses SubBytes pada algoritma AES terdiri dari empat langkah, yaitu:
- Mengubah blok plaintext menjadi matriks 4×4 byte.
- Menentukan nilai pengganti setiap byte pada matriks menggunakan tabel Substitution Box (S-Box).
- Menggabungkan matriks yang telah dimodifikasi kembali menjadi blok ciphertext.
- Memperbarui nilai cipher key pada setiap putaran enkripsi.
Langkah 3: ShiftRows
Setelah proses SubBytes selesai, langkah berikutnya adalah melakukan ShiftRows. ShiftRows adalah proses menggeser posisi setiap baris pada matriks ciphertext ke kiri sejauh jumlah byte yang sesuai dengan nomor baris.
Proses ShiftRows pada algoritma AES terdiri dari empat langkah, yaitu:
- Membuat matriks 4×4 byte dari blok ciphertext.
- Melakukan pergeseran pada baris ke-2 sebanyak satu byte ke kiri.
- Melakukan pergeseran pada baris ke-3 sebanyak dua byte ke kiri.
- Melakukan pergeseran pada baris ke-4 sebanyak tiga byte ke kiri.
Langkah 4: MixColumns
Setelah proses ShiftRows selesai, langkah berikutnya adalah melakukan MixColumns. MixColumns adalah proses mengalikan setiap kolom pada matriks ciphertext dengan sebuah matriks tetap yang telah ditentukan sebelumnya.
Proses MixColumns pada algoritma AES terdiri dari empat langkah, yaitu:
- Membuat matriks 4×4 byte dari blok ciphertext.
- Melakukan perkalian setiap kolom pada matriks dengan matriks tetap.
- Menggabungkan matriks yang telah dimodifikasi kembali menjadi blok ciphertext.
- Memperbarui nilai cipher key pada setiap putaran enkripsi.
Langkah 5: AddRoundKey
Setelah semua proses putaran enkripsi selesai dilakukan, langkah terakhir adalah melakukan AddRoundKey. AddRoundKey adalah proses penggabungan antara blok plaintext dan kunci enkripsi pada setiap putaran enkripsi.
Proses AddRoundKey pada algoritma AES terdiri dari empat langkah, yaitu:
- Membagi blok plaintext menjadi matriks 4×4 byte.
- Memperbarui nilai cipher key pada setiap putaran enkripsi.
- Menggabungkan blok plaintext dengan kunci enkripsi menggunakan bitwise XOR.
- Menggabungkan matriks yang telah dimodifikasi kembali menjadi blok ciphertext.
FAQ tentang Algoritma AES
1. Apa keuntungan menggunakan algoritma AES?
Keuntungan menggunakan algoritma AES adalah tingkat keamanan yang tinggi dan kemampuan untuk melindungi informasi rahasia seperti password, kunci enkripsi, dan data sensitif lainnya dari serangan hacker dan malware.
2. Bagaimana cara memilih jenis struktur enkripsi pada algoritma AES?
Pemilihan jenis struktur enkripsi pada algoritma AES tergantung pada kebutuhan keamanan data. Jika data yang akan dienkripsi sangat sensitif dan penting, sebaiknya menggunakan struktur enkripsi yang lebih tinggi seperti AES-256. Namun, jika data tidak terlalu sensitif, AES-128 sudah cukup untuk melindunginya.
3. Apakah algoritma AES dapat dibobol?
Algoritma AES sangat sulit untuk dibobol karena menggunakan kunci enkripsi yang panjang dan proses enkripsi yang kompleks. Namun, tidak sepenuhnya tidak mungkin untuk dibobol dengan teknologi dan perangkat yang tepat.
Kesimpulan
Demikianlah penjelasan mengenai cara menghitung manual algoritma AES. Dengan memahami cara kerja algoritma AES, kita dapat lebih memahami pentingnya keamanan data dan bagaimana cara melindungi informasi sensitif dari serangan hacker dan malware. Semoga artikel ini bermanfaat bagi Sobat TeknoBgt dan sampai jumpa di artikel menarik lainnya!