summaryrefslogtreecommitdiffstats
path: root/cryptopp562/default.h
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2024-10-24 06:44:24 -0400
committerMalfurious <m@lfurio.us>2024-10-24 06:44:24 -0400
commit512aa4c77b3dc0d72db713a9215ff65a98a99ec3 (patch)
tree6db82e0109dc987b5b021f81d4e8a0926eb75ff7 /cryptopp562/default.h
parent428471d39fb8c205a9fad899c88c30a2cb7df685 (diff)
parent10affea371406c0ae4c080e5a19390a8e9bd154b (diff)
downloadcompass-512aa4c77b3dc0d72db713a9215ff65a98a99ec3.tar.gz
compass-512aa4c77b3dc0d72db713a9215ff65a98a99ec3.zip
Merge branch 'mbedtls'
Replace Crypto++ 5.6.2 with Mbed TLS 3.6.0 Newer compilers are starting to show the age of the crypto library we've been using, as it is sometimes a pain to recompile compass lately. So, the tracked version of Crypto++ was at least due for an upgrade. However, I plan to soon begin reimplementing compass in C. So, I'm taking this opportunity to first just migrate the cryptography library to a newer C alternative. This branch does so, and integrates its use into the current C++ version of compass. * mbedtls: Remove unnecessary exception handler catch block Refactor random password generation to use mbedtls entropy source Refactor SHA256 function to use mbedtls Refactor AES functions to use mbedtls Add Mbedtls library Remove Crypto++ library
Diffstat (limited to 'cryptopp562/default.h')
-rw-r--r--cryptopp562/default.h104
1 files changed, 0 insertions, 104 deletions
diff --git a/cryptopp562/default.h b/cryptopp562/default.h
deleted file mode 100644
index fb53641..0000000
--- a/cryptopp562/default.h
+++ /dev/null
@@ -1,104 +0,0 @@
-#ifndef CRYPTOPP_DEFAULT_H
-#define CRYPTOPP_DEFAULT_H
-
-#include "sha.h"
-#include "hmac.h"
-#include "des.h"
-#include "filters.h"
-#include "modes.h"
-
-NAMESPACE_BEGIN(CryptoPP)
-
-typedef DES_EDE2 Default_BlockCipher;
-typedef SHA DefaultHashModule;
-typedef HMAC<DefaultHashModule> DefaultMAC;
-
-//! Password-Based Encryptor using DES-EDE2
-class DefaultEncryptor : public ProxyFilter
-{
-public:
- DefaultEncryptor(const char *passphrase, BufferedTransformation *attachment = NULL);
- DefaultEncryptor(const byte *passphrase, size_t passphraseLength, BufferedTransformation *attachment = NULL);
-
-protected:
- void FirstPut(const byte *);
- void LastPut(const byte *inString, size_t length);
-
-private:
- SecByteBlock m_passphrase;
- CBC_Mode<Default_BlockCipher>::Encryption m_cipher;
-};
-
-//! Password-Based Decryptor using DES-EDE2
-class DefaultDecryptor : public ProxyFilter
-{
-public:
- DefaultDecryptor(const char *passphrase, BufferedTransformation *attachment = NULL, bool throwException=true);
- DefaultDecryptor(const byte *passphrase, size_t passphraseLength, BufferedTransformation *attachment = NULL, bool throwException=true);
-
- class Err : public Exception
- {
- public:
- Err(const std::string &s)
- : Exception(DATA_INTEGRITY_CHECK_FAILED, s) {}
- };
- class KeyBadErr : public Err {public: KeyBadErr() : Err("DefaultDecryptor: cannot decrypt message with this passphrase") {}};
-
- enum State {WAITING_FOR_KEYCHECK, KEY_GOOD, KEY_BAD};
- State CurrentState() const {return m_state;}
-
-protected:
- void FirstPut(const byte *inString);
- void LastPut(const byte *inString, size_t length);
-
- State m_state;
-
-private:
- void CheckKey(const byte *salt, const byte *keyCheck);
-
- SecByteBlock m_passphrase;
- CBC_Mode<Default_BlockCipher>::Decryption m_cipher;
- member_ptr<FilterWithBufferedInput> m_decryptor;
- bool m_throwException;
-};
-
-//! Password-Based Encryptor using DES-EDE2 and HMAC/SHA-1
-class DefaultEncryptorWithMAC : public ProxyFilter
-{
-public:
- DefaultEncryptorWithMAC(const char *passphrase, BufferedTransformation *attachment = NULL);
- DefaultEncryptorWithMAC(const byte *passphrase, size_t passphraseLength, BufferedTransformation *attachment = NULL);
-
-protected:
- void FirstPut(const byte *inString) {}
- void LastPut(const byte *inString, size_t length);
-
-private:
- member_ptr<DefaultMAC> m_mac;
-};
-
-//! Password-Based Decryptor using DES-EDE2 and HMAC/SHA-1
-class DefaultDecryptorWithMAC : public ProxyFilter
-{
-public:
- class MACBadErr : public DefaultDecryptor::Err {public: MACBadErr() : DefaultDecryptor::Err("DefaultDecryptorWithMAC: MAC check failed") {}};
-
- DefaultDecryptorWithMAC(const char *passphrase, BufferedTransformation *attachment = NULL, bool throwException=true);
- DefaultDecryptorWithMAC(const byte *passphrase, size_t passphraseLength, BufferedTransformation *attachment = NULL, bool throwException=true);
-
- DefaultDecryptor::State CurrentState() const;
- bool CheckLastMAC() const;
-
-protected:
- void FirstPut(const byte *inString) {}
- void LastPut(const byte *inString, size_t length);
-
-private:
- member_ptr<DefaultMAC> m_mac;
- HashVerifier *m_hashVerifier;
- bool m_throwException;
-};
-
-NAMESPACE_END
-
-#endif