pub struct HidingCodeGeometry { /* private fields */ }Expand description
Security-relevant geometry of one randomized code component.
Protocol crates assemble these values from their runtime configuration and
pass them to hiding_base_case_security_report. Keeping this input free
of protocol configuration types preserves the dependency direction from a
protocol crate to p3-security.
Implementations§
Source§impl HidingCodeGeometry
impl HidingCodeGeometry
Sourcepub const fn new(
role: HidingCodeRole,
message_len: usize,
randomness_len: usize,
domain_size: usize,
width: usize,
requested_queries: usize,
) -> Self
pub const fn new( role: HidingCodeRole, message_len: usize, randomness_len: usize, domain_size: usize, width: usize, requested_queries: usize, ) -> Self
Creates the security-relevant geometry for one randomized code.
§Panics
Panics unless domain_size is a power of two, the randomized
dimension fits in that domain, and width is nonzero and can be
doubled for the paired old/fresh interleaving.
Trait Implementations§
Source§impl Clone for HidingCodeGeometry
impl Clone for HidingCodeGeometry
impl Copy for HidingCodeGeometry
Source§impl Debug for HidingCodeGeometry
impl Debug for HidingCodeGeometry
impl Eq for HidingCodeGeometry
Source§impl PartialEq for HidingCodeGeometry
impl PartialEq for HidingCodeGeometry
impl StructuralPartialEq for HidingCodeGeometry
Auto Trait Implementations§
impl Freeze for HidingCodeGeometry
impl RefUnwindSafe for HidingCodeGeometry
impl Send for HidingCodeGeometry
impl Sync for HidingCodeGeometry
impl Unpin for HidingCodeGeometry
impl UnsafeUnpin for HidingCodeGeometry
impl UnwindSafe for HidingCodeGeometry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more