docs: private int[] initSBox(byte[] key) {
  		int[] sbox = new int[SBOX_LENGTH];
  		int j = 0;
  
  		for (int i = 0; i < SBOX_LENGTH; i++) {
  			sbox[i] = i;
  		}
  
  		for (int i = 0; i < SBOX_LENGTH; i++) {
  			j = (j + sbox[i] + (key[i % key.length]) & 0xFF) % SBOX_LENGTH;
  			swap(i, j, sbox);
  		}
  		return sbox;
  	}