MAGMA
Cryptographic Library
Loading...
Searching...
No Matches
crypt.h
Go to the documentation of this file.
1#ifndef MAGMA_CRYPT_H
2#define MAGMA_CRYPT_H
3
4#include "keys.h"
5#include "utils.h"
6#include "types.h"
7#include <stddef.h>
8#include <stdint.h>
9#include <string.h>
10
11#define TRANSPOSITION_BLOCK_SIZE 4
12#define FEISTEL_INPUT_AND_OUTPUT_LEN 4
13#define MAGMA_BLOCK_SIZE 8
14
15uint32_t T(const uint32_t input);
16uint32_t feistel(const uint32_t plaintext, const uint32_t key);
17MagmaResult magma_encrypt_block(const unsigned char plain_text[MAGMA_BLOCK_SIZE], unsigned char cipher_text[MAGMA_BLOCK_SIZE], const unsigned char keys[ITER_KEYS_COUNT][ITER_KEY_LEN]);
18MagmaResult magma_decrypt_block(const unsigned char plain_text[MAGMA_BLOCK_SIZE], unsigned char cipher_text[MAGMA_BLOCK_SIZE], const unsigned char keys[ITER_KEYS_COUNT][ITER_KEY_LEN]);
19
20#endif
MagmaResult magma_decrypt_block(const unsigned char plain_text[MAGMA_BLOCK_SIZE], unsigned char cipher_text[MAGMA_BLOCK_SIZE], const unsigned char keys[ITER_KEYS_COUNT][ITER_KEY_LEN])
uint32_t feistel(const uint32_t plaintext, const uint32_t key)
uint32_t T(const uint32_t input)
#define MAGMA_BLOCK_SIZE
Definition crypt.h:13
MagmaResult magma_encrypt_block(const unsigned char plain_text[MAGMA_BLOCK_SIZE], unsigned char cipher_text[MAGMA_BLOCK_SIZE], const unsigned char keys[ITER_KEYS_COUNT][ITER_KEY_LEN])
#define ITER_KEYS_COUNT
Definition keys.h:9
#define ITER_KEY_LEN
Definition keys.h:10
MagmaResult
Definition types.h:4