
Topik kali ini adalah konsep yang bernama substitution box atau s-box, kotak yang memiliki representasi sebuah tabel.
Sebuah box atau kotak yang tidak nyata secara fisik dan mungkin tidak terlalu dikenal banyak orang.
Kotak ini sendiri memiliki cara kerja yang sama dengan sistem koordinat.
Mari kita bahas kotak misterius ini lebih dalam.
Apa itu S-Box
S-box atau substitution box kalau kita terjemahkan maka artinya adalah kotak substitusi.
Substitusi sendiri memiliki arti pergantian atau mengganti sesuatu hal.
Jadi s-box akan menerima sebuah input dan akan mengganti input tersebut menjadi hal yang baru.
Input-nya adalah sebuah bilangan biner dan output-nya juga bilangan biner namun dengan ukuran yang berbeda.
Bahkan ada juga substitution box yang input-nya dan output-nya adalah bilangan heksadesimal.
Substitution box sendiri bisa kita temukan penggunaannya pada salah satu metode enkripsi seperti DES.
Kemudian substitution box umumnya direpresentasikan dalam bentuk tabel, contohnya seperti pada gambar berikut.
Tabel tersebut adalah salah satu tabel substitution box yang sudah ditentukan dan dipakai dalam implementasi metode enkripsi DES.
Beda metode enkripsi, maka kemungkinan besar tabel yang ada juga akan ikut berbeda.
Untuk bagian yang ditandai dengan warna merah sendiri merupakan nilai-nilai yang ditaruh secara acak untuk setiap barisnya.
Di mana setiap baris di mulai dari angka 0000 sampai 1111, namun posisinya teracak.
Menurut Wikipedia: S-box – Wikipedia, substitution box adalah fungsi boolean vektor.
Itu sekilas tentang substitution box, sekarang kita lanjut ke bagaimana caranya menggunakan kotak ini.
Cara Menggunakan Substitution Box
Sebelum belajar cara menggunakan sebuah substitution box, kita perlu mengetahui dua buah istilah yaitu outer bits dan inner bits.
Karena pada contoh kali ini kita akan menggunakan sistem bilangan biner.
Sesuai namanya, outer bits adalah bilangan biner yang berada di luar, sedangkan inner bits berada di dalam.
Maksudnya begini, misalkan ada bilangan biner 0001.
Maka outer bits dan inner bits-nya bisa ditentukan seperti berikut.
Di mana outer bits adalah bilangan yang berwarna ungu sedangkan inner bits berwarna kuning.
Outer bits = 01 dan inner bits = 00.
Jadi ingat, outer bits adalah dua angka biner yang ada di ujung kiri dan kanan dari sebuah bilangan biner.
Sedangkan inner bits adalah semua angka yang tidak berada di ujung kiri ataupun kanan dari sebuah bilangan biner.
Outer bits pasti berukuran 2 bit sedangkan inner bits tidak selamanya berukuran 2 bit.
Untuk sistem bilangan lain seperti heksadesimal, mungkin tidak akan menggunakan konsep outer atau inner bits.
Seperti yang sudah dikatakan sebelumnya bahwa cara kerja substitution box mirip seperti peta koordinat.
Di mana outer bits akan menjadi sumbu X dan inner bits akan menjadi sumbu Y.
Misalkan kita memiliki tabel substitution yang masih sama dengan tabel yang sebelumnya.
Sesuai dengan tabel tersebut, maka ukuran input pada tabel ini adalah 6 bit bilangan biner dan otomatis output-nya akan berukuran 4 bit.
Kita ambil contoh kali ini adalah bilangan biner 101101.
Pertama kita tentukan outer bits dan inner bits-nya, outer bits = 11 dan inner bits = 0110.
Kemudian kita gunakan outer bits sebagai sumbu X dan inner bits sebagai sumbu Y.
Maka hasilnya bisa kalian lihat pada gambar berikut ini.
Jadi itu cara menggunakan sebuah substitution box yang cukup sederhana dan mudah.
Rangkuman
Singkat saja untuk rangkuman kali ini karena memang pembahasannya yang tidak terlalu banyak.
Jadi substitution box adalah sebuah tabel yang bertugas untuk menerima input sebuah bilangan dan menghasilkan output bilangan lain yang masih dalam sistem bilangan yang sama.
Di mana cara menentukan output-nya akan menyesuaikan dengan outer bits dan inner bits dari input tersebut, apabila menggunakan sistem bilangan biner.
Dan cara kerja dari tabel atau box ini mirip dengan bagaimana kita menggunakan sistem koordinat, melibatkan sumbu X dan sumbu Y.
Sedikit catatan juga bahwa tabel yang terbentuk bisa beragam.
Karena tabelnya akan menyesuaikan dengan sistem bilangannya, ukuran input dan mungkin metode enkripsi yang mengadopsinya.
Mungkin sekian saja untuk artikel kali, terima kasih.