Botan
2.1.0
Crypto and TLS for C++11
Main Page
Namespaces
Classes
Files
File List
File Members
src
lib
block
cast
cast128.h
Go to the documentation of this file.
1
/*
2
* CAST-128
3
* (C) 1999-2007 Jack Lloyd
4
*
5
* Botan is released under the Simplified BSD License (see license.txt)
6
*/
7
8
#ifndef BOTAN_CAST128_H__
9
#define BOTAN_CAST128_H__
10
11
#include <botan/block_cipher.h>
12
13
namespace
Botan
{
14
15
/**
16
* CAST-128
17
*/
18
class
BOTAN_DLL
CAST_128
final :
public
Block_Cipher_Fixed_Params
<8, 11, 16>
19
{
20
public
:
21
void
encrypt_n(
const
uint8_t in[], uint8_t out[],
size_t
blocks)
const override
;
22
void
decrypt_n(
const
uint8_t in[], uint8_t out[],
size_t
blocks)
const override
;
23
24
void
clear()
override
;
25
std::string
name
()
const override
{
return
"CAST-128"
; }
26
BlockCipher
*
clone
()
const override
{
return
new
CAST_128
; }
27
28
private
:
29
void
key_schedule(
const
uint8_t[],
size_t
)
override
;
30
31
static
void
cast_ks(
secure_vector<uint32_t>
& ks,
32
secure_vector<uint32_t>
& user_key);
33
34
secure_vector<uint32_t>
m_MK;
35
secure_vector<uint8_t>
m_RK;
36
};
37
38
}
39
40
#endif
Botan::CAST_128
Definition:
cast128.h:18
Botan::CAST_128::name
std::string name() const override
Definition:
cast128.h:25
Botan::secure_vector
std::vector< T, secure_allocator< T >> secure_vector
Definition:
secmem.h:121
Botan
Definition:
alg_id.cpp:13
Botan::CAST_128::clone
BlockCipher * clone() const override
Definition:
cast128.h:26
Botan::Block_Cipher_Fixed_Params
Definition:
block_cipher.h:183
Botan::BlockCipher
Definition:
block_cipher.h:19
Generated on Fri Aug 4 2017 19:29:38 for Botan by
1.8.9.1