123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #ifndef yxyDESH
- #define yxyDESH
- #include <string>
- class yxyDES2
- {
- public:
-
- yxyDES2();
-
- ~yxyDES2();
-
- void InitializeKey(char* srcBytes,unsigned int keyN);
-
- void EncryptData(char* _srcBytes,unsigned int keyN);
-
- void DecryptData(char* _srcBytes,unsigned int keyN);
-
-
-
-
- void EncryptAnyLength(char* _srcBytes,unsigned int _bytesLength,unsigned int keyN);
-
-
-
-
- void DecryptAnyLength(char* _srcBytes,unsigned int _bytesLength, unsigned int keyN);
-
-
- void Bytes2Bits(char *srcBytes, char* dstBits, unsigned int sizeBits);
-
-
- void Bits2Bytes(char *dstBytes, char* srcBits, unsigned int sizeBits);
-
-
- void Int2Bits(unsigned int srcByte, char* dstBits);
-
-
-
- void Bits2Hex(char *dstHex, char* srcBits, unsigned int sizeBits);
-
-
-
- void Hex2Bits(char *srcHex, char* dstBits, unsigned int sizeBits);
-
- char* GetCiphertextInBinary();
-
- char* GetCiphertextInHex();
-
- char* GetCiphertextInBytes();
-
- char* GetPlaintext();
-
- char* GetCiphertextAnyLength();
-
- char* GetPlaintextAnyLength();
- private:
- char szSubKeys[2][16][48];
- char szCiphertextRaw[64];
- char szPlaintextRaw[64];
- char szCiphertextInBytes[8];
- char szPlaintextInBytes[8];
- char szCiphertextInBinary[65];
- char szCiphertextInHex[17];
- char szPlaintext[9];
- char szFCiphertextAnyLength[8192];
- char szFPlaintextAnyLength[8192];
- void CreateSubKey(char* sz_56key,unsigned int keyN);
- void FunctionF(char* sz_Li,char* sz_Ri,unsigned int iKey,unsigned int keyN);
-
-
-
- void InitialPermuteData(char* _src,char* _dst);
-
-
-
- void ExpansionR(char* _src,char* _dst);
-
-
-
- void XOR(char* szParam1,char* szParam2, unsigned int uiParamLength, char* szReturnValueBuffer);
-
-
-
- void CompressFuncS(char* _src48, char* _dst32);
-
-
-
- void PermutationP(char* _src,char* _dst);
- };
- #endif
-
|