libdecaf
Classes | Namespaces | Typedefs | Functions
secure_buffer.hxx File Reference

C++ self-zeroizing buffer. More...

Go to the source code of this file.

Classes

class  decaf::SanitizingAllocator< T, alignment >
 An allocator which zeros its memory on free. More...
 
class  decaf::Serializable< Base >
 Base class of objects which support serialization. More...
 
class  decaf::CryptoException
 An exception for when crypto (ie point decode) has failed. More...
 
class  decaf::LengthException
 An exception for when crypto (ie point decode) has failed. More...
 
struct  decaf::NOINIT
 Passed to constructors to avoid (conservative) initialization. More...
 
class  decaf::Rng
 Prototype of a random number generator. More...
 
class  decaf::Block
 A reference to a block of data, which (when accessed through this base class) is const. More...
 
class  decaf::FixedBlock< Size >
 A fixed-size block. More...
 
class  decaf::Buffer
 A reference to a writable block of data. More...
 
class  decaf::FixedBuffer< Size >
 A fixed-size block. More...
 
class  decaf::FixedArrayBuffer< Size >
 A fixed-size stack-allocated buffer (for DECAF_NOEXCEPT semantics) More...
 

Namespaces

 decaf
 Namespace for all libdecaf C++ objects.
 

Typedefs

typedef std::vector< unsigned char, SanitizingAllocator< unsigned char, 0 > > decaf::SecureBuffer
 A variant of std::vector which securely zerozes its state when destructed. More...
 

Functions

template<class T , class U , class V , class W >
bool decaf::memeq (const std::vector< T, U > &a, const std::vector< V, W > &b)
 Constant-time compare two buffers.
 

Detailed Description

C++ self-zeroizing buffer.

Author
Mike Hamburg