Laporkan Masalah

Peningkatan Kekokohan Konstruksi S-Box pada Algoritme AES menggunakan Irreducible Polynomial dan Affine Mapping

ALAMSYAH, Teguh Bharata Adji, S.T., M.T., M.Eng, Ph.D.; Agus Bejo, S.T., M.Eng., D.Eng.

2019 | Disertasi | DOKTOR TEKNIK ELEKTRO

Pengiriman data melalui media elektronik memerlukan proses yang dapat menjamin keamanan dan keutuhan dari data. Untuk memenuhi hal tersebut, dilakukan proses penyandian terhadap data yang akan dikirimkan. Proses penyandian melalui tahapan enkripsi dan dekripsi. Enkripsi dilakukan pada saat pengiriman dengan cara mengubah data asli (plaintext) menjadi data rahasia (ciphertext), sedangkan dekripsi dilakukan pada saat penerimaan dengan cara mengubah data rahasia menjadi data asli. Algoritme penyandian data yang populer hingga saat ini adalah Advanced Encryption Standard (AES). AES memerlukan transformasi byte yang disebut SubBytes dengan setiap elemen pada state akan dipetakan dengan menggunakan sebuah tabel substitusi (S-box). S-box digunakan untuk melakukan transformasi nonlinear dari m-bit input ke dalam n-bit output, direpresentasikan sebagai S: {0, 1}^m ---> {0, 1}^n. S-box yang dibangun harus kokoh sehingga tahan terhadap berbagai macam serangan terutama serangan linier dan diferensial. Dalam konstruksi S-box, terdapat beberapa kriteria untuk menentukan sejauh mana kekokohan S-box yang dihasilkan. Kriteria tersebut adalah balance, bijective, nonlinearity (NL), strict avalanche criterion (SAC), dan bit independence criterion (BIC). Sayangnya, S-box yang dibangun pada peneliti-peneliti sebelumnya masih memiliki rentang nilai yang cukup jauh untuk memenuhi kekokohan sebuah S-box agar resisten terhadap serangan linier dan diferensial. Metode yang digunakan untuk membangun S-box yang kokoh adalah dengan mengeksplorasi irreducible polynomial, matriks affine, dan 8-bit konstanta tambahan dalam GF(28). Terdapat 553.402.322.211.286.548.480 kandidat S-box yang berasal dari kombinasi 30 irreducible polynomial, 264 matriks affine, dan satu 8-bit konstanta tambahan yaitu (00000000). Pengujian kriteria balance dan bijective dilakukan terhadap 553.402.322.211.286.548.480 kandidat S-box. Hasilnya berupa 3.840 S-box yang diusulkan. Selanjutnya, dari 3.840 S-box yang diusulkan dilakukan pengujian kekokohan S-box. Dari hasil pengujian, didapatkan 8 S-box kokoh terpilih yang diusulkan yaitu S-box478, S-box958, S-box1888, S-box2158, S-box2998, S-box3418, S-box3628, dan S-box3748. Delapan S-box kokoh terpilih yang diusulkan tersebut memenuhi kriteria balance dan bijective serta menghasilkan nilai NL, SAC, BIC-NL, dan BIC-SAC 112, 0,5, 112, dan 0,499930 secara berurutan. Hasil ini lebih baik dari S-box yang dikembangkan oleh peneliti-peneliti sebelumnya. S-box478, S-box958, S-box1888, S-box2158, S-box2998, S-box3418, S-box3628, dan S-box3748 dikembangkan menjadi S-box dinamis yang kokoh dengan melakukan pengacakan pada 8-bit konstanta tambahan.

The transmission of data via electronic media requires processes to ensure the security of the data transmitted. To meet this, the encryption process is carried out on the data to be transmitted. One way to keep data secure at the time of transmission is by the encoding process. The encoding process requires two processes, i.e., encryption and decryption. The encryption is done at the time of transmission by converting the original data (plaintext) into secret data (ciphertext), while decryption is done at the time of receipt of data by converting secret data into the original data. The popular data encryption algorithm to date is the Advanced Encryption Standard (AES). AES requires a byte transformation called SubBytes with each element in the state to be mapped using a substitution table (S-box). S-box is used to carry out nonlinear transformation from m-bit input into n-bit output, represented as S: {0, 1}^m ---> {0, 1}^n. S-boxes must be strong so they are resistant to various types of attacks, especially linear and differential attacks. In the construction of the S-box, there are several criteria to determine the extent to which the robustness of the S-box generated. These criteria are balance, bijective, nonlinearity (NL), strict avalanche criterion (SAC), and bit independence criterion (BIC). Unfortunately, the S-box built on previous researchers still has a range of values far enough to meet the robustness of an S-box to be resistant to linear and differential attacks. The method used to build a strong S-box is to explore irreducible polynomials, affine matrix, and 8-bit additional constant in GF (28). There are 553,402,322,211,286,548,480 S-box candidates from a combination of 30 irreducible polynomials, 264 affine matrixes, and one 8-bit additional constant that is (00000000). Balance and bijective criteria testing was carried out on 553,402,322,211,286,548,480 S-box candidates. The result is 3,840 proposed S-boxes. Furthermore, from the 3,840 S-boxes proposed, S-box strength testing candidate. From the test results, it was found that 8 selected strong S-boxes were S-box478, S-box958, S-box1888, S-box2158, S-box2998, S-box3418, S-box3628, and S-box3748. The 8 selected strong S-boxes meet the balance and bijective criteria and produce NL, SAC, BIC-NL, and BIC-SAC values of 112, 0,5, 112 and 0,499930. respectively. This result is better than the S-boxes developed by previous researchers. S-box478, S-box958, S-box1888, S-box2158, S-box2998, S-box3418, S-box3628, and S-box3748 are developed into powerful dynamic S-boxes by randomizing 8-bit additional constant.

Kata Kunci : AES, S-box, Irreducible polynomial, Matriks affine, Affine mapping

  1. S3-2019-405424-abstract.pdf  
  2. S3-2019-405424-bibliography.pdf  
  3. S3-2019-405424-tableofcontent.pdf  
  4. S3-2019-405424-title.pdf