digestpp 1.0
C++11 header-only message digest library
Loading...
Searching...
No Matches
ascon_cxof_mixin.hpp
Go to the documentation of this file.
1/*
2This code is written by kerukuro and released into public domain.
3*/
4
5#ifndef DIGESTPP_MIXIN_ASCON_CXOF_HPP
6#define DIGESTPP_MIXIN_ASCON_CXOF_HPP
7
8namespace digestpp
9{
10
11namespace mixin
12{
13
18template<typename T>
20{
21public:
28 inline hasher<T, mixin::ascon_cxof_mixin>& set_customization(const std::string& customization)
29 {
30 auto& ascon = static_cast<hasher<T, mixin::ascon_cxof_mixin>&>(*this);
31 ascon.provider.set_customization(customization);
32 ascon.provider.init();
33 return ascon;
34 }
35
43 template<typename C, typename std::enable_if<detail::is_byte<C>::value>::type* = nullptr>
44 inline hasher<T, mixin::ascon_cxof_mixin>& set_customization(const C* customization, size_t customization_len)
45 {
46 return set_customization(std::string(reinterpret_cast<const char*>(customization), customization_len));
47 }
48};
49
50} // namespace mixin
51
52} // namespace digestpp
53
54#endif // DIGESTPP_MIXIN_ASCON_CXOF_HPP
Main class template implementing the public API for hashing.
Definition hasher.hpp:38
Defines additional public functions for Ascon-CXOF.
Definition ascon_cxof_mixin.hpp:20
hasher< T, mixin::ascon_cxof_mixin > & set_customization(const C *customization, size_t customization_len)
Set customization from raw buffer.
Definition ascon_cxof_mixin.hpp:44
hasher< T, mixin::ascon_cxof_mixin > & set_customization(const std::string &customization)
Set customization from std::string.
Definition ascon_cxof_mixin.hpp:28
digestpp namespace
Definition ascon.hpp:14