Botan
1.10.9
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
hash
skein
skein_512.h
Go to the documentation of this file.
1
/*
2
* The Skein-512 hash function
3
* (C) 2009 Jack Lloyd
4
*
5
* Distributed under the terms of the Botan license
6
*/
7
8
#ifndef BOTAN_SKEIN_512_H__
9
#define BOTAN_SKEIN_512_H__
10
11
#include <botan/secmem.h>
12
#include <botan/hash.h>
13
#include <string>
14
15
namespace
Botan
{
16
17
/**
18
* Skein-512, a SHA-3 candidate
19
*/
20
class
BOTAN_DLL
Skein_512
:
public
HashFunction
21
{
22
public
:
23
/**
24
* @param output_bits the output size of Skein in bits
25
* @param personalization is a string that will paramaterize the
26
* hash output
27
*/
28
Skein_512
(
size_t
output_bits = 512,
29
const
std::string& personalization =
""
);
30
31
size_t
hash_block_size
()
const
{
return
64; }
32
size_t
output_length
()
const
{
return
output_bits / 8; }
33
34
HashFunction
* clone()
const
;
35
std::string name()
const
;
36
void
clear();
37
private
:
38
void
add_data(
const
byte
input[],
size_t
length);
39
void
final_result(
byte
out[]);
40
41
std::string personalization;
42
size_t
output_bits;
43
44
SecureVector<u64bit>
H;
45
SecureVector<u64bit>
T;
46
SecureVector<byte>
buffer;
47
size_t
buf_pos;
48
};
49
50
}
51
52
#endif
Botan::Skein_512::output_length
size_t output_length() const
Definition:
skein_512.h:32
Botan::byte
unsigned char byte
Definition:
types.h:22
Botan::Skein_512
Definition:
skein_512.h:20
Botan
Definition:
algo_base.h:14
Botan::HashFunction
Definition:
hash.h:20
Botan::Skein_512::hash_block_size
size_t hash_block_size() const
Definition:
skein_512.h:31
Botan::SecureVector< u64bit >
Generated on Sat Aug 20 2016 08:18:47 for Botan by
1.8.9.1