Age | Commit message (Expand) | Author | Files | Lines |
---|---|---|---|---|
2017-11-27 | SIMD speed optimization for Kuznyechik cipher implementation (up to 2x speedu... | Mounir IDRASSI | 1 | -0/+29 |
2017-07-22 | Windows: reduce size of MBR bootloader by removing unused functions in each b... | Mounir IDRASSI | 1 | -44/+24 |
2017-07-04 | Windows: correctly handle SEH exceptions during self-tests in order to disabl... | Mounir IDRASSI | 1 | -4/+4 |
2017-06-23 | Update IDRIX copyright year | Mounir IDRASSI | 1 | -1/+1 |
2017-06-21 | Crypto: Add optimized Camellia assembly implementation for x86_64 based on wo... | Mounir IDRASSI | 1 | -0/+7 |
2017-01-12 | Windows: Fix Streebog not recognized by /hash command line switch but making ... | Mounir IDRASSI | 1 | -2/+3 |
2016-12-26 | Windows: Enable Twofish optimized 64-bit assembly for UEFI bootloader since a... | Mounir IDRASSI | 1 | -3/+3 |
2016-12-07 | Windows: Don't use Twofish x64 assembly implementation for UEFI bootloader (f... | Mounir IDRASSI | 1 | -3/+3 |
2016-12-07 | Crypto: Add optimized Twofish assembly implementation for x86_64. | Mounir IDRASSI | 1 | -0/+13 |
2016-10-17 | Windows EFI: don't use optimized Serpent implementation for EFI bootloader be... | Mounir IDRASSI | 1 | -3/+3 |
2016-10-17/*
Copyright (c) 2008 TrueCrypt Developers Association. All rights reserved.
Governed by the TrueCrypt License 3.0 the full text of which is contained in
the file License.txt included in TrueCrypt binary and source code distribution
packages.
*/
#ifndef TC_HEADER_Encryption_Pkcs5
#define TC_HEADER_Encryption_Pkcs5
#include "Platform/Platform.h"
#include "Hash.h"
#include "VolumePassword.h"
namespace TrueCrypt
{
class Pkcs5Kdf;
typedef list < shared_ptr <Pkcs5Kdf> > Pkcs5KdfList;
class Pkcs5Kdf
{
public:
virtual ~Pkcs5Kdf ();
virtual void DeriveKey (const BufferPtr &key, const VolumePassword &password, const ConstBufferPtr &salt) const;
virtual void DeriveKey (const BufferPtr &key, const VolumePassword &password, const ConstBufferPtr &salt, int iterationCount) const = 0;
static shared_ptr <Pkcs5Kdf> GetAlgorithm (const wstring &name);
static shared_ptr <Pkcs5Kdf> GetAlgorithm (const Hash &hash);
static Pkcs5KdfList GetAvailableAlgorithms ();
virtual shared_ptr <Hash> GetHash () const = 0;
virtual int GetIterationCount () const = 0;
virtual wstring GetName () const = 0;
virtual bool IsDeprecated () const { return GetHash() |