add CHD support.
[pcsx_rearmed.git] / deps / crypto / blowfish.h
CommitLineData
ce188d4d 1/*********************************************************************
2* Filename: blowfish.h
3* Author: Brad Conte (brad AT bradconte.com)
4* Copyright:
5* Disclaimer: This code is presented "as is" without any guarantees.
6* Details: Defines the API for the corresponding Blowfish implementation.
7*********************************************************************/
8
9#ifndef BLOWFISH_H
10#define BLOWFISH_H
11
12/*************************** HEADER FILES ***************************/
13#include <stddef.h>
14
15/****************************** MACROS ******************************/
16#define BLOWFISH_BLOCK_SIZE 8 // Blowfish operates on 8 bytes at a time
17
18/**************************** DATA TYPES ****************************/
19typedef unsigned char BYTE; // 8-bit byte
20typedef unsigned int WORD; // 32-bit word, change to "long" for 16-bit machines
21
22typedef struct {
23 WORD p[18];
24 WORD s[4][256];
25} BLOWFISH_KEY;
26
27/*********************** FUNCTION DECLARATIONS **********************/
28void blowfish_key_setup(const BYTE user_key[], BLOWFISH_KEY *keystruct, size_t len);
29void blowfish_encrypt(const BYTE in[], BYTE out[], const BLOWFISH_KEY *keystruct);
30void blowfish_decrypt(const BYTE in[], BYTE out[], const BLOWFISH_KEY *keystruct);
31
32#endif // BLOWFISH_H