Crypto++ 8.9
Free C++ class library of cryptographic schemes
seed.h
Go to the documentation of this file.
1// seed.h - originally written and placed in the public domain by Wei Dai
2
3/// \file seed.h
4/// \brief Classes for the SEED block cipher
5/// \since Crypto++ 5.6.0
6
7#ifndef CRYPTOPP_SEED_H
8#define CRYPTOPP_SEED_H
9
10#include "seckey.h"
11#include "secblock.h"
12
13NAMESPACE_BEGIN(CryptoPP)
14
15/// \brief SEED block cipher information
16/// \since Crypto++ 5.6.0
17struct SEED_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, public FixedRounds<16>
18{
19 CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "SEED";}
20};
21
22/// \brief SEED block cipher
23/// \sa <a href="http://www.cryptolounge.org/wiki/SEED">SEED</a>
24/// \since Crypto++ 5.6.0
26{
27 class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<SEED_Info>
28 {
29 public:
30 void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs &params);
31 void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
32
33 protected:
35 };
36
37public:
40};
41
42NAMESPACE_END
43
44#endif
Provides class member functions to key a block cipher.
Definition seckey.h:318
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
Definition seckey.h:306
Inherited by algorithms with fixed block size.
Definition seckey.h:41
Inherited by keyed algorithms with fixed key length.
Definition seckey.h:125
Inherited by algorithms with fixed number of rounds.
Definition seckey.h:53
Fixed size stack-based SecBlock.
Definition secblock.h:1246
Interface for retrieving values given their names.
Definition cryptlib.h:327
SEED block cipher.
Definition seed.h:26
Crypto++ library namespace.
Classes and functions for secure memory allocations.
Classes and functions for implementing secret key algorithms.
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher.
Definition seckey.h:399
SEED block cipher information.
Definition seed.h:18