digestpp  0.01
Experimental C++11 header-only message digest library.
k12m14.hpp
1 /*
2 This code is written by kerukuro and released into public domain.
3 */
4 
5 #ifndef DIGESTPP_ALGORITHM_K12M14_HPP
6 #define DIGESTPP_ALGORITHM_K12M14_HPP
7 
8 #include "../hasher.hpp"
9 #include "detail/k12m14_provider.hpp"
10 #include "mixin/k12m14_mixin.hpp"
11 
12 namespace digestpp
13 {
14 
15 /**
16  * @brief KangarooTwelve function
17  *
18  * Extendable output function similar to SHAKE128 but with reduced number of round.
19  *
20  * @xof
21  *
22  * @mixinparams customization
23  *
24  * @mixin{mixin::k12m14_mixin}
25  *
26  * @par Example:\n
27  * @code // Absorb a string and squeeze 32 bytes of output
28  * digestpp::k12 hasher;
29  * hasher.absorb("The quick brown fox jumps over the lazy dog");
30  * std::cout << hasher.hexsqueeze(32) << '\n';
31  * @endcode
32  *
33  * @par Example output:\n
34  * @code b4f249b4f77c58df170aa4d1723db1127d82f1d98d25ddda561ada459cd11a48
35  * @endcode
36  *
37  * @sa hasher, mixin::k12m14_mixin
38  */
40 
41 /**
42  * @brief MarsupilamiFourteen function
43  *
44  * Extendable output function similar to KangarooTwelve, but providing 256-bit security.
45  *
46  * @xof
47  *
48  * @mixinparams customization
49  *
50  * @mixin{mixin::k12m14_mixin}
51  *
52  * @par Example:\n
53  * @code // Absorb a string and squeeze 32 bytes of output
54  * digestpp::m14 hasher;
55  * hasher.absorb("The quick brown fox jumps over the lazy dog");
56  * std::cout << hasher.hexsqueeze(32) << '\n';
57  * @endcode
58  *
59  * @par Example output:\n
60  * @code 3611bcaa666347770dbffd4562f137c5adfe2e09f3c4268ef7c7d7c0e6c5d59c
61  * @endcode
62  *
63  * @sa hasher, mixin::k12m14_mixin
64  */
66 
67 } // namespace digestpp
68 
69 #endif // DIGESTPP_ALGORITHM_K12M14_HPP
hasher< detail::k12m14_provider< 128 >, mixin::k12m14_mixin > k12
KangarooTwelve function.
Definition: k12m14.hpp:39
hasher< detail::shake_provider< 256, 24 > > shake256
SHAKE256 function.
Definition: shake.hpp:53
hasher< detail::k12m14_provider< 256 >, mixin::k12m14_mixin > m14
MarsupilamiFourteen function.
Definition: k12m14.hpp:65