33 lines
1.2 KiB
C++
33 lines
1.2 KiB
C++
|
|
/// @file dpf/revealing.hpp
|
||
|
|
/// @brief Conversions that still publish more than a masked opening.
|
||
|
|
/// @details Paths with a semi-honest alternative have been removed
|
||
|
|
/// (`a2b_party` / opened edaBit bits, wrap-from-clear-bits).
|
||
|
|
/// What remains is flagged because the algorithm itself publishes it.
|
||
|
|
#ifndef LIBDPF_INCLUDE_DPF_REVEALING_HPP__
|
||
|
|
#define LIBDPF_INCLUDE_DPF_REVEALING_HPP__
|
||
|
|
|
||
|
|
namespace dpf
|
||
|
|
{
|
||
|
|
namespace revealing
|
||
|
|
{
|
||
|
|
|
||
|
|
/// @brief Leaks with no drop-in replacement in this tree.
|
||
|
|
/// @details
|
||
|
|
/// - `share_cmp::div_party_pair` publishes `floor(log2(den))` so Newton can
|
||
|
|
/// normalize. A magnitude-hiding division needs a different iteration.
|
||
|
|
/// - `prep::setup_2pc_sampled` lets party 0 sample both prep views and send
|
||
|
|
/// one. That is not OT extension; party 0 learns the correlation. Use
|
||
|
|
/// `prep::deal_views` when a third party can write the two views.
|
||
|
|
inline constexpr const char * known[] = {
|
||
|
|
"share_cmp::div_party_pair publishes floor(log2(denominator))",
|
||
|
|
"prep::setup_2pc_sampled: party 0 samples both views (not OT extension)",
|
||
|
|
};
|
||
|
|
|
||
|
|
inline constexpr unsigned known_count =
|
||
|
|
sizeof(known) / sizeof(known[0]);
|
||
|
|
|
||
|
|
} // namespace revealing
|
||
|
|
} // namespace dpf
|
||
|
|
|
||
|
|
#endif
|