MAGMA
Cryptographic Library
Loading...
Searching...
No Matches
crypt.h File Reference
#include "keys.h"
#include "utils.h"
#include "types.h"
#include <stddef.h>
#include <stdint.h>
#include <string.h>
Include dependency graph for crypt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TRANSPOSITION_BLOCK_SIZE   4
#define FEISTEL_INPUT_AND_OUTPUT_LEN   4
#define MAGMA_BLOCK_SIZE   8

Functions

uint32_t T (const uint32_t input)
uint32_t feistel (const uint32_t plaintext, const uint32_t key)
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])
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])

Macro Definition Documentation

◆ FEISTEL_INPUT_AND_OUTPUT_LEN

#define FEISTEL_INPUT_AND_OUTPUT_LEN   4

◆ MAGMA_BLOCK_SIZE

#define MAGMA_BLOCK_SIZE   8

◆ TRANSPOSITION_BLOCK_SIZE

#define TRANSPOSITION_BLOCK_SIZE   4

Function Documentation

◆ feistel()

uint32_t feistel ( const uint32_t plaintext,
const uint32_t key )

◆ magma_decrypt_block()

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] )

◆ magma_encrypt_block()

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] )

◆ T()

uint32_t T ( const uint32_t input)