#[repr(transparent)]pub struct L1GlweCiphertext(pub GlweCiphertext<u64>);Expand description
A GlweCiphertext under the level 1 parameters. See Params for more details as to the
significance of these ciphertexts.
Tuple Fields§
§0: GlweCiphertext<u64>Implementations§
Source§impl L1GlweCiphertext
impl L1GlweCiphertext
Sourcepub fn is_trivial_encryption(&self, enc: &Encryption) -> bool
pub fn is_trivial_encryption(&self, enc: &Encryption) -> bool
Return if this ciphertext is a trivial encryption
Trait Implementations§
Source§impl CiphertextOps for L1GlweCiphertext
impl CiphertextOps for L1GlweCiphertext
Source§const CIPHERTEXT_TYPE: CiphertextType = CiphertextType::L1GlweCiphertext
const CIPHERTEXT_TYPE: CiphertextType = CiphertextType::L1GlweCiphertext
This is used internally to facilitate ciphertext conversion.
Source§fn allocate(encryption: &Encryption) -> Self
fn allocate(encryption: &Encryption) -> Self
Allocate a new trivial zero ciphertext.
Source§fn encrypt_secret(msg: bool, encryption: &Encryption, sk: &SecretKey) -> Self
fn encrypt_secret(msg: bool, encryption: &Encryption, sk: &SecretKey) -> Self
Encrypt a bit under the given secret key. Returns the ciphertext.
Source§fn decrypt(&self, encryption: &Encryption, sk: &SecretKey) -> bool
fn decrypt(&self, encryption: &Encryption, sk: &SecretKey) -> bool
Decrypt and return the bit message contained in
self.Source§fn graph_input(bit: &Arc<AtomicRefCell<Self>>) -> FheOp
fn graph_input(bit: &Arc<AtomicRefCell<Self>>) -> FheOp
Create an
FheOp input corresponding to this ciphertext.Source§fn graph_output(bit: &Arc<AtomicRefCell<Self>>) -> FheOp
fn graph_output(bit: &Arc<AtomicRefCell<Self>>) -> FheOp
Create an
FheOp output corresponding to this ciphertext.Source§fn trivial_encryption(
bit: bool,
encryption: &Encryption,
_eval: &Evaluation,
) -> Self
fn trivial_encryption( bit: bool, encryption: &Encryption, _eval: &Evaluation, ) -> Self
Create a trivial encryption of the given bit message with ciphertext type
Self. Read moreSource§fn trivial_zero_from_existing(&self) -> Self
fn trivial_zero_from_existing(&self) -> Self
Creates a zero encryption out of an existing ciphertext, so that it has
the same parameters without needing to pass in the
Encryption object.Source§fn graph_trivial_one() -> FheOp
fn graph_trivial_one() -> FheOp
Add an
FheOp corresponding to this ciphertext’s trivial one node.Source§fn graph_trivial_zero() -> FheOp
fn graph_trivial_zero() -> FheOp
Add an
FheOp corresponding to this ciphertext’s trivial zero node.Source§impl Clone for L1GlweCiphertext
impl Clone for L1GlweCiphertext
Source§fn clone(&self) -> L1GlweCiphertext
fn clone(&self) -> L1GlweCiphertext
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'de> Deserialize<'de> for L1GlweCiphertext
impl<'de> Deserialize<'de> for L1GlweCiphertext
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<GlweCiphertext<u64>> for L1GlweCiphertext
impl From<GlweCiphertext<u64>> for L1GlweCiphertext
Source§fn from(value: GlweCiphertext<u64>) -> Self
fn from(value: GlweCiphertext<u64>) -> Self
Converts to this type from the input type.
Source§impl GetSize for L1GlweCiphertext
impl GetSize for L1GlweCiphertext
Source§impl Muxable for L1GlweCiphertext
impl Muxable for L1GlweCiphertext
Source§const MUX_MODE: MuxMode = MuxMode::Glwe
const MUX_MODE: MuxMode = MuxMode::Glwe
The type of the
a and b inputs and output of a mux operation. Allows the runtime to
dynamically choose FheOp::CMux or FheOp::GlevCMux as appropriate.Source§impl PolynomialCiphertextOps for L1GlweCiphertext
impl PolynomialCiphertextOps for L1GlweCiphertext
Source§fn encrypt_secret(
msg: &PolynomialRef<u64>,
encryption: &Encryption,
sk: &SecretKey,
) -> Self
fn encrypt_secret( msg: &PolynomialRef<u64>, encryption: &Encryption, sk: &SecretKey, ) -> Self
Encrypt a polynomial under the given secret key. Returns the ciphertext.
Source§fn encrypt(
msg: &PolynomialRef<u64>,
encryption: &Encryption,
pk: &PublicKey,
) -> Self
fn encrypt( msg: &PolynomialRef<u64>, encryption: &Encryption, pk: &PublicKey, ) -> Self
Encrypt a polynomial using the given public key. Returns the ciphertext.
Source§fn trivial_encryption(
polynomial: &PolynomialRef<u64>,
encryption: &Encryption,
) -> Self
fn trivial_encryption( polynomial: &PolynomialRef<u64>, encryption: &Encryption, ) -> Self
Create a trivial encryption of the given polynomial.
Source§fn poly_degree(params: &Params) -> PolynomialDegree
fn poly_degree(params: &Params) -> PolynomialDegree
Get the polynomial degree of messages for the given params.
Source§fn decrypt(&self, enc: &Encryption, sk: &SecretKey) -> Polynomial<u64>
fn decrypt(&self, enc: &Encryption, sk: &SecretKey) -> Polynomial<u64>
Decrypt an encrypted polynomial using the given secret key. Returns the message.
Source§impl Serialize for L1GlweCiphertext
impl Serialize for L1GlweCiphertext
Source§impl TrivialOne for L1GlweCiphertext
impl TrivialOne for L1GlweCiphertext
Source§fn trivial_one(enc: &Encryption) -> Self
fn trivial_one(enc: &Encryption) -> Self
Produce a trivial encryption of one.
Source§impl TrivialZero for L1GlweCiphertext
impl TrivialZero for L1GlweCiphertext
Source§fn trivial_zero(enc: &Encryption) -> Self
fn trivial_zero(enc: &Encryption) -> Self
Produce a trivial encryption of zero.
Source§fn trivial_zero_from_existing(&self) -> Self
fn trivial_zero_from_existing(&self) -> Self
Produce a trivial encryption of zero from an existing value.
Auto Trait Implementations§
impl Freeze for L1GlweCiphertext
impl RefUnwindSafe for L1GlweCiphertext
impl Send for L1GlweCiphertext
impl Sync for L1GlweCiphertext
impl Unpin for L1GlweCiphertext
impl UnwindSafe for L1GlweCiphertext
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.