29#ifndef HORIZON_LIBRARIES_GRF_DES_HPP
30#define HORIZON_LIBRARIES_GRF_DES_HPP
35#define USE_OPENSSL_DES 0
38#include <openssl/des.h>
49 DES(
const unsigned char *key);
52 void decrypt(
unsigned char *data,
size_t size);
56 void decrypt(
unsigned char *data,
size_t size);
65 DES_key_schedule _schedule;
struct BIT64 BIT64
One 64-bit block.
void roundFunction(BIT64 *src)
DES round function. XORs src[0..3] with TP(SBOX(E(src[4..7]))).
Definition: DES.cpp:194
void decryptBlock(BIT64 *block)
Definition: DES.cpp:208
void TP(BIT64 *src)
Transposition (P-BOX).
Definition: DES.cpp:167
void decrypt(unsigned char *data, size_t size)
Definition: DES.cpp:215
void IP(BIT64 *src)
Initial permutation (IP).
Definition: DES.cpp:76
void FP(BIT64 *src)
Final permutation (IP^-1).
Definition: DES.cpp:104
void SBOX(BIT64 *src)
Definition: DES.cpp:130
void E(BIT64 *src)
Expansion (E). Expands upper four 8-bits (32b) into eight 6-bits (48b).
Definition: DES.cpp:54
One 64-bit block.
Definition: DES.hpp:42
uint8_t b[8]
Definition: DES.hpp:42