TEKNOBGT
Cara Menghitung Manual Algoritma AES
Cara Menghitung Manual Algoritma AES

Cara Menghitung Manual Algoritma AES

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 StrukturPanjang Kunci
AES-128128 bit
AES-192192 bit
AES-256256 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:

  1. 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.
  2. Membagi kunci enkripsi menjadi blok-blok 32 bit atau 4 byte.
  3. Membuat kunci rcon yang akan digunakan pada proses key schedule. Rcon adalah sebuah array komputasi yang digunakan untuk menentukan nilai pengganti pada proses enkripsi.
  4. 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:

  1. Mengubah blok plaintext menjadi matriks 4×4 byte.
  2. Menentukan nilai pengganti setiap byte pada matriks menggunakan tabel Substitution Box (S-Box).
  3. Menggabungkan matriks yang telah dimodifikasi kembali menjadi blok ciphertext.
  4. 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:

  1. Membuat matriks 4×4 byte dari blok ciphertext.
  2. Melakukan pergeseran pada baris ke-2 sebanyak satu byte ke kiri.
  3. Melakukan pergeseran pada baris ke-3 sebanyak dua byte ke kiri.
  4. 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:

  1. Membuat matriks 4×4 byte dari blok ciphertext.
  2. Melakukan perkalian setiap kolom pada matriks dengan matriks tetap.
  3. Menggabungkan matriks yang telah dimodifikasi kembali menjadi blok ciphertext.
  4. 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:

  1. Membagi blok plaintext menjadi matriks 4×4 byte.
  2. Memperbarui nilai cipher key pada setiap putaran enkripsi.
  3. Menggabungkan blok plaintext dengan kunci enkripsi menggunakan bitwise XOR.
  4. 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!

Cara Menghitung Manual Algoritma AES