/// @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