|
Cipher Fayadh
Block cipher Feistel 128-bit dengan fungsi putaran sigma-delta
|
Block cipher Feistel 16 round dengan fungsi F berbasis sigma-delta. More...
#include <cipher.hpp>
Public Member Functions | |
| CustomCipher (const uint8_t master_key[KEY_SIZE]) | |
| Buat cipher dan bangkitkan round key dari master key. | |
| void | encrypt_block (const uint8_t *in, uint8_t *out) const override |
| Enkripsi satu blok. | |
| void | decrypt_block (const uint8_t *in, uint8_t *out) const override |
| Dekripsi satu blok. | |
Block cipher Feistel 16 round dengan fungsi F berbasis sigma-delta.
Blok 128 bit dibelah menjadi L dan R (masing-masing 64 bit). Tiap round:
Dekripsi memakai alur yang sama dengan urutan round key dibalik, sehingga F tidak perlu punya invers.
Round key dibangkitkan sekali di constructor.
Contoh penggunaan:
|
explicit |
Buat cipher dan bangkitkan round key dari master key.
| [in] | master_key | Master key, KEY_SIZE byte. Pointer tidak disimpan. |
|
overridevirtual |
Dekripsi satu blok.
| [in] | in | Ciphertext, BLOCK_SIZE byte. |
| [out] | out | Plaintext, BLOCK_SIZE byte. |
Implements BlockCipher.
|
overridevirtual |
Enkripsi satu blok.
| [in] | in | Plaintext, BLOCK_SIZE byte. |
| [out] | out | Ciphertext, BLOCK_SIZE byte. |
Implements BlockCipher.