VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Crypto/Sha2.c
AgeCommit message (Expand)AuthorFilesLines
2024-11-10Add support for SHA-256 x86 instrinsic for enhance performance of PBKDF2-HMAC...Mounir IDRASSI1-0/+15
2024-09-08Windows: Add support for x86 and x64 build for driver and binaries using Visu...Mounir IDRASSI1-2/+2
2024-06-12Avoid conflict with C++17 features std::byte by using uint8 type instead of byteMounir IDRASSI1-1/+1
2019-12-09Fix wrong check on the define CRYPTOPP_BOOL_X64Mounir IDRASSI1-1/+1
2019-12-09Linux/MacOSX: use x64 optimized SHA256 implementation instead of limiting it ...Mounir IDRASSI1-1/+1
2019-12-09Linux: fix NOASM compilation (#563) (#568)alt3r 3go1-1/+1
2019-10-02-1/+1
2017-06-27MacOSX: various changes for assembly files build. Don't use 32-bit assembly c...Mounir IDRASSI1-3/+3
2017-06-24Linux/MacOSX: properly declare 64-bit constant integer values to avoid being ...Mounir IDRASSI1-28/+28
2017-06-23Crypto: Add optimized SHA-512 and SHA-256 assembly implementations for x86_64...Mounir IDRASSI1-654/+747
2017-05-22Windows Driver: fix "__chkstk" link error in debug build caused by some crypt...Mounir IDRASSI1-0/+10
2016-08-17Linux: fix various compilation issues under Linux.Mounir IDRASSI1-1/+1
2016-08-15Windows EFI Bootloader: modifications to prepare EFI system encryption suppor...Alex1-1/+5
2016-05-10Normalize all line terminatorsDavid Foerster1-753/+753
2015-12-31Cryptography: Optimize Whirlpool implementation by using public domain assemb...Mounir IDRASSI1-18/+1
2014-11-08Add original TrueCrypt 7.1a sourcesMounir IDRASSI1-0/+770
is governed by the TrueCrypt License 3.0. Modifications and additions to the original source code (contained in this file) and all other portions of this file are Copyright (c) 2013-2017 IDRIX and are governed by the Apache License 2.0 the full text of which is contained in the file License.txt included in VeraCrypt binary and source code distribution packages. */ #ifndef TC_HEADER_Platform_Serializer #define TC_HEADER_Platform_Serializer #include "PlatformBase.h" #include "Buffer.h" #include "SharedPtr.h" #include "Stream.h" namespace VeraCrypt { class Serializer { public: Serializer (shared_ptr <Stream> stream) : DataStream (stream) { } virtual ~Serializer () { } void Deserialize (const string &name, bool &data); void Deserialize (const string &name, byte &data); void Deserialize (const string &name, int32 &data); void Deserialize (const string &name, int64 &data); void Deserialize (const string &name, uint32 &data); void Deserialize (const string &name, uint64 &data); void Deserialize (const string &name, string &data); void Deserialize (const string &name, wstring &data); void Deserialize (const string &name, const BufferPtr &data); bool DeserializeBool (const string &name); int32 DeserializeInt32 (const string &name); int64 DeserializeInt64 (const string &name); uint32 DeserializeUInt32 (const string &name); uint64 DeserializeUInt64 (const string &name); string DeserializeString (const string &name); list <string> DeserializeStringList (const string &name); wstring DeserializeWString (const string &name); list <wstring> DeserializeWStringList (const string &name); void Serialize (const string &name, bool data); void Serialize (const string &name, byte data); void Serialize (const string &name, const char *data); void Serialize (const string &name, int32 data); void Serialize (const string &name, int64 data); void Serialize (const string &name, uint32 data); void Serialize (const string &name, uint64 data); void Serialize (const string &name, const string &data); void Serialize (const string &name, const wstring &data); void Serialize (const string &name, const wchar_t *data); void Serialize (const string &name, const list <string> &stringList); void Serialize (const string &name, const list <wstring> &stringList); void Serialize (const string &name, const ConstBufferPtr &data); protected: template <typename T> T Deserialize (); string DeserializeString (); wstring DeserializeWString (); template <typename T> void Serialize (T data); void SerializeString (const string &data); void SerializeWString (const wstring &data); void ValidateName (const string &name); shared_ptr <Stream> DataStream; private: Serializer (const Serializer &); Serializer &operator= (const Serializer &); }; } #endif // TC_HEADER_Platform_Serializer