Checkpoint the party/runtime stack before share-program and malicious-mode work.
Ship the TLS mesh, composer, Beaver/Yao/leaf MPC, prep/online paths, apps, and docs so the tree is pushable before elevating share_expr, security_mode, and prep resume. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
695f8e84f7
commit
0d22946a0e
1835 changed files with 170291 additions and 2849 deletions
|
|
@ -27,6 +27,7 @@
|
|||
#include "hedley/hedley.h"
|
||||
|
||||
#include "dpf/aligned_allocator.hpp"
|
||||
#include "dpf/experiment_note.hpp"
|
||||
#include "dpf/prg.hpp"
|
||||
#include "dpf/random.hpp"
|
||||
|
||||
|
|
@ -50,6 +51,19 @@ typename PRG::block_type mask_master(typename PRG::block_type master) noexcept
|
|||
return out;
|
||||
}
|
||||
|
||||
/// @brief Master for IT-MAC tag masks. Distinct from `mask_master`.
|
||||
template <typename PRG>
|
||||
HEDLEY_NO_THROW
|
||||
typename PRG::block_type tag_master(typename PRG::block_type master) noexcept
|
||||
{
|
||||
unsigned char raw[sizeof(master)];
|
||||
std::memcpy(raw, &master, sizeof(master));
|
||||
raw[sizeof(master) - 1] ^= 0x02u;
|
||||
typename PRG::block_type out{};
|
||||
std::memcpy(&out, raw, sizeof(out));
|
||||
return out;
|
||||
}
|
||||
|
||||
template <typename PRG, typename T>
|
||||
struct lane_codec
|
||||
{
|
||||
|
|
@ -192,12 +206,16 @@ public:
|
|||
explicit buffered_prg(std::size_t per_stream_buffer_elems = 1024u)
|
||||
: seed_(sample_master_seed<PRG>()),
|
||||
buffers_(make_buffers(per_stream_buffer_elems))
|
||||
{ }
|
||||
{
|
||||
note_experiment_seed("buffered_prg", seed_);
|
||||
}
|
||||
|
||||
explicit buffered_prg(seed_type seed, std::size_t per_stream_buffer_elems = 1024u)
|
||||
: seed_(seed),
|
||||
buffers_(make_buffers(per_stream_buffer_elems))
|
||||
{ }
|
||||
{
|
||||
note_experiment_seed("buffered_prg", seed_);
|
||||
}
|
||||
|
||||
HEDLEY_NO_THROW
|
||||
const seed_type & seed() const noexcept { return seed_; }
|
||||
|
|
@ -282,6 +300,7 @@ public:
|
|||
{
|
||||
if (window_ == 0)
|
||||
throw std::invalid_argument("prg lane window must be positive");
|
||||
note_experiment_seed("lane_table", seed_);
|
||||
}
|
||||
|
||||
lane_table(const lane_table &) = delete;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue