www.pudn.com > vod2007.rar > Des1.h


// DES1.h: interface for the CDES class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#ifndef DES1H 
#define DES1H 
//--------------------------------------------------------------------------- 
 
#include  
#include  
#include  
#include  
#include  
//#include  
#include  
 
typedef struct 
{ 
	BYTE L[32]; 
	BYTE R[32]; 
}LRStruct; 
 
typedef struct 
{ 
	BYTE C[28]; 
	BYTE D[28]; 
}CDStruct; 
 
 
typedef struct 
{ 
	BYTE b0 :	1; 
	BYTE b1 :	1; 
	BYTE b2 :	1; 
	BYTE b3 :	1; 
	BYTE b4 :	1; 
	BYTE b5 :	1; 
	BYTE b6 :	1; 
	BYTE b7 :	1; 
}BYTEStruct; 
 
void DesAlgo(unsigned char *src, unsigned char *key, unsigned char *dst, int bEncrypt); 
void Decrypt(unsigned char * src, unsigned char * key, unsigned char * dst); 
void Encrypt(unsigned char* src, unsigned char* key, unsigned char* dst); 
void BitToByte(unsigned char * src, unsigned char * dst, int n); 
void ByteToBit(unsigned char * src, unsigned char * dst, int n); 
void Shift(CDStruct * pCD, int iCircle, int bEncrypt); 
void RShift(unsigned char *buf28, int nShift); 
void LShift(unsigned char *buf28, int nShift); 
void fFunction(unsigned char* R, unsigned char* K, unsigned char* result); 
void EOR(unsigned char * src, unsigned char* dst, int n); 
void S_Change(unsigned char* src, unsigned char* result); 
void SelectExchangeFromTable(int nTable, unsigned char * src, unsigned char * dst); 
 
#endif //