Document the new DPF surfaces in one command set, and test the field, half-tree, and multipoint edges.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
0d8a5a8131
commit
0dff6df8ed
250 changed files with 12199 additions and 1981 deletions
|
|
@ -1,6 +1,5 @@
|
|||
/// @file dpf/prg.hpp
|
||||
/// @brief
|
||||
/// @details
|
||||
/// @brief PRG aliases, the share expander, and the call counter.
|
||||
/// @author Ryan Henry <ryan.henry@ucalgary.ca>
|
||||
/// @copyright Copyright (c) 2019-2024 Ryan Henry and [others](@ref authors)
|
||||
/// @license Released under a GNU General Public v2.0 (GPLv2) license;
|
||||
|
|
@ -17,6 +16,7 @@
|
|||
#include <type_traits>
|
||||
|
||||
#include "dpf/prg_aes.hpp"
|
||||
#include "dpf/prg_aes_ccr.hpp"
|
||||
#include "dpf/prg_chacha.hpp"
|
||||
#include "dpf/prg_dummy.hpp"
|
||||
#include "dpf/prg_lowmc.hpp"
|
||||
|
|
@ -31,7 +31,12 @@ namespace prg
|
|||
namespace detail
|
||||
{
|
||||
|
||||
/// Fill `T` from consecutive PRG blocks starting at `pos` (low bytes first).
|
||||
/// @brief Fill `T` from consecutive PRG blocks starting at `pos` (low bytes first).
|
||||
/// @tparam PRG pseudorandom generator
|
||||
/// @tparam T value type
|
||||
/// @param seed the PRG seed
|
||||
/// @param pos the 0-based index
|
||||
/// @return the returned `T`
|
||||
template <typename PRG, typename T>
|
||||
HEDLEY_NO_THROW
|
||||
HEDLEY_ALWAYS_INLINE
|
||||
|
|
@ -85,6 +90,13 @@ auto lowmc128::expand(block_type seed, psnip_uint32_t pos) noexcept
|
|||
return detail::expand_as_share<lowmc128, T, Party>(seed, pos);
|
||||
}
|
||||
|
||||
template <typename T, std::size_t Party>
|
||||
HEDLEY_NO_THROW
|
||||
auto aes128_ccr::expand(block_type seed, psnip_uint32_t pos) noexcept
|
||||
{
|
||||
return detail::expand_as_share<aes128_ccr, T, Party>(seed, pos);
|
||||
}
|
||||
|
||||
template <unsigned Rounds>
|
||||
template <typename T, std::size_t Party>
|
||||
HEDLEY_NO_THROW
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue