pub struct Left<S: OreCipher, const N: usize> {
pub f: [S::LeftBlockType; N],
pub xt: [u8; N],
}Expand description
The Left half of a fixed-N BlockORE ciphertext: the per-block PRF₁ tags
f and the per-block PRP outputs xt. Sufficient on its own to act as
the “query” side of the comparator.
Fields§
§f: [S::LeftBlockType; N]Per-block PRF₁ tag binding (prefix ‖ xt[i] ‖ block_index).
xt: [u8; N]Per-block PRP output xt[i] = π_i(x[i]).
Trait Implementations§
Source§impl<S: Clone + OreCipher, const N: usize> Clone for Left<S, N>where
S::LeftBlockType: Clone,
impl<S: Clone + OreCipher, const N: usize> Clone for Left<S, N>where
S::LeftBlockType: Clone,
Source§impl<S: Debug + OreCipher, const N: usize> Debug for Left<S, N>where
S::LeftBlockType: Debug,
impl<S: Debug + OreCipher, const N: usize> Debug for Left<S, N>where
S::LeftBlockType: Debug,
Source§impl<S: OreCipher, const N: usize> OreOutput for Left<S, N>
impl<S: OreCipher, const N: usize> OreOutput for Left<S, N>
Source§fn from_slice(data: &[u8]) -> Result<Self, ParseError>
fn from_slice(data: &[u8]) -> Result<Self, ParseError>
Try to deserialize from a slice
Source§fn from_bytes(data: &[u8]) -> Result<Self, ParseError>
fn from_bytes(data: &[u8]) -> Result<Self, ParseError>
👎Deprecated since 0.8.0:
please use from_slice instead
Deserialise from a byte slice.
impl<S: Copy + OreCipher, const N: usize> Copy for Left<S, N>where
S::LeftBlockType: Copy,
Auto Trait Implementations§
impl<S, const N: usize> Freeze for Left<S, N>
impl<S, const N: usize> RefUnwindSafe for Left<S, N>
impl<S, const N: usize> Send for Left<S, N>
impl<S, const N: usize> Sync for Left<S, N>
impl<S, const N: usize> Unpin for Left<S, N>
impl<S, const N: usize> UnsafeUnpin for Left<S, N>
impl<S, const N: usize> UnwindSafe for Left<S, N>
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