forked from KolibriOS/kolibrios
- Changed libgb assembly and added libcryptal (implementation of cryptoalgorithms from Brad Conte).
- Changed build libgb. - Added memory.h for compatibility. git-svn-id: svn://kolibrios.org@8367 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
37
programs/develop/ktcc/trunk/libc/include/cryptal/des.h
Normal file
37
programs/develop/ktcc/trunk/libc/include/cryptal/des.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/*********************************************************************
|
||||
* Filename: des.h
|
||||
* Author: Brad Conte (brad AT bradconte.com)
|
||||
* Copyright:
|
||||
* Disclaimer: This code is presented "as is" without any guarantees.
|
||||
* Details: Defines the API for the corresponding DES implementation.
|
||||
Note that encryption and decryption are defined by how
|
||||
the key setup is performed, the actual en/de-cryption is
|
||||
performed by the same function.
|
||||
*********************************************************************/
|
||||
|
||||
#ifndef DES_H
|
||||
#define DESH
|
||||
|
||||
/*************************** HEADER FILES ***************************/
|
||||
#include <stddef.h>
|
||||
|
||||
/****************************** MACROS ******************************/
|
||||
#define DES_BLOCK_SIZE 8 // DES operates on 8 bytes at a time
|
||||
|
||||
/**************************** DATA TYPES ****************************/
|
||||
typedef unsigned char BYTE; // 8-bit byte
|
||||
typedef unsigned int WORD; // 32-bit word, change to "long" for 16-bit machines
|
||||
|
||||
typedef enum {
|
||||
DES_ENCRYPT,
|
||||
DES_DECRYPT
|
||||
} DES_MODE;
|
||||
|
||||
/*********************** FUNCTION DECLARATIONS **********************/
|
||||
void des_key_setup(const BYTE key[], BYTE schedule[][6], DES_MODE mode);
|
||||
void des_crypt(const BYTE in[], BYTE out[], const BYTE key[][6]);
|
||||
|
||||
void three_des_key_setup(const BYTE key[], BYTE schedule[][16][6], DES_MODE mode);
|
||||
void three_des_crypt(const BYTE in[], BYTE out[], const BYTE key[][16][6]);
|
||||
|
||||
#endif // DES_H
|
Reference in New Issue
Block a user