#![allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ciphertext {
#[prost(bytes = "vec", repeated, tag = "1")]
pub c: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
#[prost(bytes = "vec", tag = "2")]
pub seed: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "3")]
pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RgswCiphertext {
#[prost(message, optional, tag = "1")]
pub ksk0: ::core::option::Option<KeySwitchingKey>,
#[prost(message, optional, tag = "2")]
pub ksk1: ::core::option::Option<KeySwitchingKey>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeySwitchingKey {
#[prost(bytes = "vec", repeated, tag = "1")]
pub c0: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
#[prost(bytes = "vec", repeated, tag = "2")]
pub c1: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
#[prost(bytes = "vec", tag = "3")]
pub seed: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "4")]
pub ciphertext_level: u32,
#[prost(uint32, tag = "5")]
pub ksk_level: u32,
#[prost(uint32, tag = "6")]
pub log_base: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelinearizationKey {
#[prost(message, optional, tag = "1")]
pub ksk: ::core::option::Option<KeySwitchingKey>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GaloisKey {
#[prost(message, optional, tag = "1")]
pub ksk: ::core::option::Option<KeySwitchingKey>,
#[prost(uint32, tag = "2")]
pub exponent: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluationKey {
#[prost(message, repeated, tag = "2")]
pub gk: ::prost::alloc::vec::Vec<GaloisKey>,
#[prost(uint32, tag = "3")]
pub ciphertext_level: u32,
#[prost(uint32, tag = "4")]
pub evaluation_key_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Parameters {
#[prost(uint32, tag = "1")]
pub degree: u32,
#[prost(uint64, repeated, tag = "2")]
pub moduli: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, tag = "3")]
pub plaintext: u64,
#[prost(uint32, tag = "4")]
pub variance: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PublicKey {
#[prost(message, optional, tag = "1")]
pub c: ::core::option::Option<Ciphertext>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecretKey {
#[prost(sint64, repeated, tag = "1")]
pub coeffs: ::prost::alloc::vec::Vec<i64>,
}