Shadowrun: Awakened 29 September 2011 - Build 871
Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | Static Private Attributes | Friends
cat::AuthenticatedEncryption Class Reference

#include <AuthenticatedEncryption.hpp>

List of all members.

Public Member Functions

void AllowOutOfOrder (bool allowed=true)
bool Decrypt (u8 *buffer, u32 &buf_bytes)
bool Encrypt (u8 *buffer, u32 buffer_bytes, u32 &msg_bytes)
bool GenerateProof (u8 *local_proof, int proof_bytes)
bool ValidateProof (const u8 *remote_proof, int proof_bytes)

Static Public Attributes

static const int IV_BITS = IV_BYTES * 8
static const int IV_BYTES = 3
static const u32 IV_FUZZ = 0xCA7DCA7D
static const u32 IV_MASK = (IV_MSB - 1)
static const u32 IV_MSB = (1 << IV_BITS)
static const int MAC_BYTES = 8
static const int OVERHEAD_BYTES = IV_BYTES + MAC_BYTES

Protected Member Functions

void AcceptIV (u64 iv)
bool IsValidIV (u64 iv)
bool SetKey (int KeyBytes, Skein *key, bool is_initiator, const char *key_name)

Private Attributes

bool _accept_out_of_order
bool _is_initiator
u64 iv_bitmap [BITMAP_WORDS]
Skein key_hash
ChaChaKey local_cipher_key
u64 local_iv
HMAC_MD5 local_mac_key
ChaChaKey remote_cipher_key
u64 remote_iv
HMAC_MD5 remote_mac_key

Static Private Attributes

static const int BITMAP_BITS = 1024
static const int BITMAP_WORDS = BITMAP_BITS / 64

Friends

class KeyAgreementInitiator
class KeyAgreementResponder

Detailed Description

Definition at line 82 of file AuthenticatedEncryption.hpp.


Member Function Documentation

void cat::AuthenticatedEncryption::AcceptIV ( u64  iv) [protected]
void cat::AuthenticatedEncryption::AllowOutOfOrder ( bool  allowed = true) [inline]

Definition at line 125 of file AuthenticatedEncryption.hpp.

References _accept_out_of_order.

{ _accept_out_of_order = allowed; }
bool cat::AuthenticatedEncryption::Decrypt ( u8 buffer,
u32 buf_bytes 
)
bool cat::AuthenticatedEncryption::Encrypt ( u8 buffer,
u32  buffer_bytes,
u32 msg_bytes 
)
bool cat::AuthenticatedEncryption::GenerateProof ( u8 local_proof,
int  proof_bytes 
)
bool cat::AuthenticatedEncryption::IsValidIV ( u64  iv) [protected]
bool cat::AuthenticatedEncryption::SetKey ( int  KeyBytes,
Skein key,
bool  is_initiator,
const char *  key_name 
) [protected]
bool cat::AuthenticatedEncryption::ValidateProof ( const u8 remote_proof,
int  proof_bytes 
)

Friends And Related Function Documentation

friend class KeyAgreementInitiator [friend]

Definition at line 85 of file AuthenticatedEncryption.hpp.

friend class KeyAgreementResponder [friend]

Definition at line 84 of file AuthenticatedEncryption.hpp.


Member Data Documentation

Definition at line 87 of file AuthenticatedEncryption.hpp.

Referenced by AllowOutOfOrder().

Definition at line 87 of file AuthenticatedEncryption.hpp.

const int cat::AuthenticatedEncryption::BITMAP_BITS = 1024 [static, private]

Definition at line 95 of file AuthenticatedEncryption.hpp.

const int cat::AuthenticatedEncryption::BITMAP_WORDS = BITMAP_BITS / 64 [static, private]

Definition at line 96 of file AuthenticatedEncryption.hpp.

Definition at line 97 of file AuthenticatedEncryption.hpp.

Definition at line 106 of file AuthenticatedEncryption.hpp.

Definition at line 102 of file AuthenticatedEncryption.hpp.

const u32 cat::AuthenticatedEncryption::IV_FUZZ = 0xCA7DCA7D [static]

Definition at line 109 of file AuthenticatedEncryption.hpp.

Definition at line 108 of file AuthenticatedEncryption.hpp.

Definition at line 107 of file AuthenticatedEncryption.hpp.

Definition at line 88 of file AuthenticatedEncryption.hpp.

Definition at line 91 of file AuthenticatedEncryption.hpp.

Definition at line 92 of file AuthenticatedEncryption.hpp.

Definition at line 90 of file AuthenticatedEncryption.hpp.

Definition at line 101 of file AuthenticatedEncryption.hpp.

Definition at line 103 of file AuthenticatedEncryption.hpp.

Definition at line 91 of file AuthenticatedEncryption.hpp.

Definition at line 92 of file AuthenticatedEncryption.hpp.

Definition at line 90 of file AuthenticatedEncryption.hpp.


The documentation for this class was generated from the following file:

Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net