Botan
2.1.0
Crypto and TLS for C++11
Main Page
Namespaces
Classes
Files
File List
File Members
src
lib
hash
tiger
tiger.h
Go to the documentation of this file.
1
/*
2
* Tiger
3
* (C) 1999-2007 Jack Lloyd
4
*
5
* Botan is released under the Simplified BSD License (see license.txt)
6
*/
7
8
#ifndef BOTAN_TIGER_H__
9
#define BOTAN_TIGER_H__
10
11
#include <botan/mdx_hash.h>
12
13
namespace
Botan
{
14
15
/**
16
* Tiger
17
*/
18
class
BOTAN_DLL
Tiger
final :
public
MDx_HashFunction
19
{
20
public
:
21
std::string name()
const override
;
22
size_t
output_length
()
const override
{
return
m_hash_len; }
23
24
HashFunction
*
clone
()
const override
25
{
26
return
new
Tiger
(output_length(), m_passes);
27
}
28
29
void
clear()
override
;
30
31
/**
32
* @param out_size specifies the output length; can be 16, 20, or 24
33
* @param passes to make in the algorithm
34
*/
35
Tiger
(
size_t
out_size = 24,
size_t
passes = 3);
36
private
:
37
void
compress_n(
const
uint8_t[],
size_t
block)
override
;
38
void
copy_out(uint8_t[])
override
;
39
40
static
void
pass(uint64_t& A, uint64_t& B, uint64_t& C,
41
const
secure_vector<uint64_t>
& M,
42
uint8_t mul);
43
44
static
const
uint64_t SBOX1[256];
45
static
const
uint64_t SBOX2[256];
46
static
const
uint64_t SBOX3[256];
47
static
const
uint64_t SBOX4[256];
48
49
secure_vector<uint64_t>
m_X, m_digest;
50
const
size_t
m_hash_len, m_passes;
51
};
52
53
}
54
55
#endif
Botan::Tiger::clone
HashFunction * clone() const override
Definition:
tiger.h:24
Botan::Tiger
Definition:
tiger.h:18
Botan::secure_vector
std::vector< T, secure_allocator< T >> secure_vector
Definition:
secmem.h:121
Botan::MDx_HashFunction
Definition:
mdx_hash.h:18
Botan
Definition:
alg_id.cpp:13
Botan::HashFunction
Definition:
hash.h:19
Botan::Tiger::output_length
size_t output_length() const override
Definition:
tiger.h:22
Generated on Fri Aug 4 2017 19:29:38 for Botan by
1.8.9.1