|
| SHA2 () |
|
virtual | ~SHA2 () |
|
virtual const std::array< uint8_t, O > & | digest () const override |
|
template<class CharT , class Traits , class Allocator > |
const std::array< uint8_t, O > & | digest (const std::basic_string< CharT, Traits, Allocator > &data) |
|
template<std::size_t N> |
const std::array< uint8_t, O > & | digest (const std::array< uint8_t, N > &data) |
|
const std::array< uint8_t, O > & | digest (const uint8_t *data, std::size_t len) |
|
template<class CharT , class Traits > |
const std::array< uint8_t, O > & | digest (std::basic_istream< CharT, Traits > &stream) |
|
template<std::size_t O, std::size_t B, typename W, uint32_t R, const std::array< W, 8 > & I>
class anch::crypto::SHA2< O, B, W, R, I >
SHA2 abstract class.
SHA2 contains algorithms for SHA224/256/384/512.
The children have to define the translation array and the sigma transformation functions.
The template parameters are:
- O: the output size in byte
- B: the treatment block size in byte
- W: the word type (32 bits or 64 bits)
- R: the number of round for each chunk
- I: the initial state
SHA224/256/384/512 are implemented in this library.
- Since
- 0.1
- Author
- Vincent Lachenal