excrypt_des.h 856 B

123456789101112131415161718192021222324
  1. #ifndef EXCRYPT_DES_H_
  2. #define EXCRYPT_DES_H_
  3. // DES & 3DES functions
  4. typedef struct _EXCRYPT_DES_STATE
  5. {
  6. uint64_t keytab[16];
  7. } EXCRYPT_DES_STATE;
  8. void ExCryptDesParity(const uint8_t* input, uint32_t input_size, uint8_t* output);
  9. void ExCryptDesKey(EXCRYPT_DES_STATE* state, const uint8_t* key);
  10. void ExCryptDesEcb(const EXCRYPT_DES_STATE* state, const uint8_t* input, uint8_t* output, uint8_t encrypt);
  11. typedef struct _EXCRYPT_DES3_STATE
  12. {
  13. EXCRYPT_DES_STATE des_state[3];
  14. } EXCRYPT_DES3_STATE;
  15. void ExCryptDes3Key(EXCRYPT_DES3_STATE* state, const uint64_t* keys);
  16. void ExCryptDes3Ecb(const EXCRYPT_DES3_STATE* state, const uint8_t* input, uint8_t* output, uint8_t encrypt);
  17. void ExCryptDes3Cbc(const EXCRYPT_DES3_STATE* state, const uint8_t* input, uint32_t input_size, uint8_t* output, uint8_t* feed, uint8_t encrypt);
  18. #endif // EXCRYPT_DES_H_