|
Cipher Fayadh
Block cipher Feistel 128-bit dengan fungsi putaran sigma-delta
|
S-box 8-bit: substitusi byte bijektif tanpa fixed point. More...
#include <cstdint>Go to the source code of this file.
Functions | |
| uint8_t | sbox (uint8_t x) |
| Substitusi satu byte. | |
| uint32_t | sbox32 (uint32_t a) |
| Substitusi tiap byte pada nilai 32 bit (1 word). | |
| uint64_t | sbox64 (uint64_t a) |
| Substitusi tiap byte pada nilai 64 bit. | |
Variables | |
| const uint8_t | SBOX [256] |
| Tabel S-box 256 entri, bijektif, tidak ada fixed point. | |
S-box 8-bit: substitusi byte bijektif tanpa fixed point.
Tabel dibangkitkan oleh tools/gen_sbox.cpp dengan PRNG xorshift64 (seed = digit pi) dan Fisher-Yates shuffle, dipilih dari 10000 kandidat berdasarkan nonlinearity tertinggi lalu differential uniformity terendah. Jalankan make sbox untuk regenerasi deterministik.
Semua fungsi substitusi memakai tabel SBOX yang sama, hanya berbeda lebar input.
| uint8_t sbox | ( | uint8_t | x | ) |
Substitusi satu byte.
| [in] | x | Byte input. |
| uint32_t sbox32 | ( | uint32_t | a | ) |
Substitusi tiap byte pada nilai 32 bit (1 word).
Tiap dari 4 byte diganti dengan nilai SBOX secara independen. Dipakai di fungsi F (round function).
| [in] | a | Nilai 32 bit. |
| uint64_t sbox64 | ( | uint64_t | a | ) |
Substitusi tiap byte pada nilai 64 bit.
Tiap dari 8 byte diganti dengan nilai SBOX secara independen. Dipakai di key schedule.
| [in] | a | Nilai 64 bit. |