diff --git a/hpke_rs/enum.HpkeError.html b/hpke_rs/enum.HpkeError.html index e1905e1..05ec426 100644 --- a/hpke_rs/enum.HpkeError.html +++ b/hpke_rs/enum.HpkeError.html @@ -24,7 +24,7 @@
§

MessageLimitReached

The message limit for this AEAD, key, and nonce.

§

InsufficientRandomness

Unable to collect enough randomness.

§

LockPoisoned

A concurrency issue with an RwLock.

-

Trait Implementations§

source§

impl Clone for HpkeError

source§

fn clone(&self) -> HpkeError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HpkeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for HpkeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for HpkeError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for HpkeError

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl PartialEq<HpkeError> for HpkeError

source§

fn eq(&self, other: &HpkeError) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for HpkeError

source§

fn clone(&self) -> HpkeError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HpkeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for HpkeError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for HpkeError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for HpkeError

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl PartialEq<HpkeError> for HpkeError

source§

fn eq(&self, other: &HpkeError) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for HpkeError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere diff --git a/hpke_rs/index.html b/hpke_rs/index.html index 5c8d7fe..6565b46 100644 --- a/hpke_rs/index.html +++ b/hpke_rs/index.html @@ -1,4 +1,4 @@ -hpke_rs - Rust

Crate hpke_rs

source ·
Expand description

HPKE

+hpke_rs - Rust

Crate hpke_rs

source ·
Expand description

HPKE

Build & Test crates.io Docs diff --git a/hpke_rs/struct.HpkePublicKey.html b/hpke_rs/struct.HpkePublicKey.html index afcf254..e113628 100644 --- a/hpke_rs/struct.HpkePublicKey.html +++ b/hpke_rs/struct.HpkePublicKey.html @@ -3,18 +3,18 @@ Consumes the public key bytes.

source

pub fn as_slice(&self) -> &[u8]

Get the raw key as byte slice.

Trait Implementations§

source§

impl Clone for HpkePublicKey

source§

fn clone(&self) -> HpkePublicKey

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HpkePublicKey

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HpkePublicKey

source§

fn default() -> HpkePublicKey

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HpkePublicKey

source§

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 Deserialize for &HpkePublicKey

source§

fn tls_deserialize<R: Read>(_: &mut R) -> Result<Self, Error>

This function deserializes the bytes from the provided a std::io::Read -and returns the populated struct. Read more
§

fn tls_deserialize_exact(bytes: impl AsRef<[u8]>) -> Result<Self, Error>where - Self: Sized,

This function deserializes the provided bytes and returns the populated -struct. All bytes must be consumed. Read more
source§

impl Deserialize for HpkePublicKey

source§

fn tls_deserialize<R: Read>(bytes: &mut R) -> Result<Self, Error>

This function deserializes the bytes from the provided a std::io::Read + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Deserialize for &HpkePublicKey

source§

fn tls_deserialize<R: Read>(_: &mut R) -> Result<Self, Error>

This function deserializes the bytes from the provided a std::io::Read and returns the populated struct. Read more
§

fn tls_deserialize_exact(bytes: impl AsRef<[u8]>) -> Result<Self, Error>where Self: Sized,

This function deserializes the provided bytes and returns the populated +struct. All bytes must be consumed. Read more
source§

impl Deserialize for HpkePublicKey

source§

fn tls_deserialize<R: Read>(bytes: &mut R) -> Result<Self, Error>

This function deserializes the bytes from the provided a std::io::Read +and returns the populated struct. Read more
§

fn tls_deserialize_exact(bytes: impl AsRef<[u8]>) -> Result<Self, Error>where + Self: Sized,

This function deserializes the provided bytes and returns the populated struct. All bytes must be consumed. Read more
source§

impl From<&[u8]> for HpkePublicKey

source§

fn from(b: &[u8]) -> Self

Converts to this type from the input type.
source§

impl From<Vec<u8, Global>> for HpkePublicKey

source§

fn from(b: Vec<u8>) -> Self

Converts to this type from the input type.
source§

impl PartialEq<HpkePublicKey> for HpkePublicKey

source§

fn eq(&self, other: &HpkePublicKey) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for &HpkePublicKey

source§

fn tls_serialize<W: Write>(&self, writer: &mut W) -> Result<usize, Error>

Serialize self and write it to the writer. The function returns the number of bytes written to writer.
§

fn tls_serialize_detached(&self) -> Result<Vec<u8, Global>, Error>

Serialize self and return it as a byte vector.
source§

impl Serialize for HpkePublicKey

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Serialize for HpkePublicKey

source§

fn tls_serialize<W: Write>(&self, writer: &mut W) -> Result<usize, Error>

Serialize self and write it to the writer. -The function returns the number of bytes written to writer.
§

fn tls_serialize_detached(&self) -> Result<Vec<u8, Global>, Error>

Serialize self and return it as a byte vector.
source§

impl Size for &HpkePublicKey

source§

impl Size for HpkePublicKey

source§

impl StructuralPartialEq for HpkePublicKey

Auto Trait Implementations§

§

impl RefUnwindSafe for HpkePublicKey

§

impl Send for HpkePublicKey

§

impl Sync for HpkePublicKey

§

impl Unpin for HpkePublicKey

§

impl UnwindSafe for HpkePublicKey

Blanket Implementations§

source§

impl<T> Any for Twhere +The function returns the number of bytes written to writer.

§

fn tls_serialize_detached(&self) -> Result<Vec<u8, Global>, Error>

Serialize self and return it as a byte vector.
source§

impl Size for &HpkePublicKey

source§

fn tls_serialized_len(&self) -> usize

source§

impl Size for HpkePublicKey

source§

fn tls_serialized_len(&self) -> usize

source§

impl StructuralPartialEq for HpkePublicKey

Auto Trait Implementations§

§

impl RefUnwindSafe for HpkePublicKey

§

impl Send for HpkePublicKey

§

impl Sync for HpkePublicKey

§

impl Unpin for HpkePublicKey

§

impl UnwindSafe for HpkePublicKey

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index 8193b29..4428cbf 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl Clone for Mode"],["impl Clone for HpkeKeyPair"],["impl<Crypto: 'static + HpkeCrypto> Clone for Hpke<Crypto>"],["impl Clone for HpkePublicKey"],["impl Clone for HpkePrivateKey"],["impl Clone for HpkeError"]] +"hpke_rs":[["impl<Crypto: 'static + HpkeCrypto> Clone for Hpke<Crypto>"],["impl Clone for HpkePublicKey"],["impl Clone for HpkeKeyPair"],["impl Clone for Mode"],["impl Clone for HpkePrivateKey"],["impl Clone for HpkeError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index ca129e5..8c19b39 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl PartialEq<HpkeError> for HpkeError"],["impl PartialEq<HpkePrivateKey> for HpkePrivateKey"],["impl PartialEq<HpkePublicKey> for HpkePublicKey"],["impl PartialEq<Mode> for Mode"]] +"hpke_rs":[["impl PartialEq<HpkeError> for HpkeError"],["impl PartialEq<Mode> for Mode"],["impl PartialEq<HpkePublicKey> for HpkePublicKey"],["impl PartialEq<HpkePrivateKey> for HpkePrivateKey"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index 8ad45e8..4fd2d45 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl From<(Vec<u8, Global>, Vec<u8, Global>)> for HpkeKeyPair"],["impl From<Error> for HpkeError"],["impl From<&[u8]> for HpkePublicKey"],["impl From<Vec<u8, Global>> for HpkePublicKey"],["impl From<&[u8]> for HpkePrivateKey"],["impl From<Vec<u8, Global>> for HpkePrivateKey"],["impl From<(&[u8], &[u8])> for HpkeKeyPair"]] +"hpke_rs":[["impl From<(Vec<u8, Global>, Vec<u8, Global>)> for HpkeKeyPair"],["impl From<Error> for HpkeError"],["impl From<(&[u8], &[u8])> for HpkeKeyPair"],["impl From<&[u8]> for HpkePublicKey"],["impl From<&[u8]> for HpkePrivateKey"],["impl From<Vec<u8, Global>> for HpkePrivateKey"],["impl From<Vec<u8, Global>> for HpkePublicKey"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js index af577a2..c60be1a 100644 --- a/implementors/core/default/trait.Default.js +++ b/implementors/core/default/trait.Default.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl Default for HpkeKeyPair"],["impl Default for HpkePrivateKey"],["impl Default for HpkePublicKey"]] +"hpke_rs":[["impl Default for HpkePublicKey"],["impl Default for HpkeKeyPair"],["impl Default for HpkePrivateKey"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index 541b3d7..ae39218 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl Debug for HpkeError"],["impl<Crypto: Debug + 'static + HpkeCrypto> Debug for Hpke<Crypto>where\n Crypto::HpkePrng: Debug,"],["impl Debug for HpkePublicKey"],["impl Debug for HpkePrivateKey"],["impl Debug for Mode"],["impl Debug for HpkeKeyPair"],["impl<Crypto: HpkeCrypto> Debug for Context<Crypto>"]] +"hpke_rs":[["impl<Crypto: HpkeCrypto> Debug for Context<Crypto>"],["impl Debug for Mode"],["impl Debug for HpkePrivateKey"],["impl Debug for HpkeKeyPair"],["impl Debug for HpkePublicKey"],["impl Debug for HpkeError"],["impl<Crypto: Debug + 'static + HpkeCrypto> Debug for Hpke<Crypto>where\n Crypto::HpkePrng: Debug,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index 019dcd9..7b14f27 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl Display for Mode"],["impl<Crypto: HpkeCrypto> Display for Hpke<Crypto>"],["impl Display for HpkeError"]] +"hpke_rs":[["impl Display for HpkeError"],["impl Display for Mode"],["impl<Crypto: HpkeCrypto> Display for Hpke<Crypto>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index 06ee215..5e93391 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl StructuralPartialEq for Mode"],["impl StructuralPartialEq for HpkeError"],["impl StructuralPartialEq for HpkePublicKey"]] +"hpke_rs":[["impl StructuralPartialEq for HpkePublicKey"],["impl StructuralPartialEq for Mode"],["impl StructuralPartialEq for HpkeError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/de/trait.Deserialize.js b/implementors/serde/de/trait.Deserialize.js index a7ababf..419b02b 100644 --- a/implementors/serde/de/trait.Deserialize.js +++ b/implementors/serde/de/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl<'de> Deserialize<'de> for HpkeKeyPair"],["impl<'de> Deserialize<'de> for HpkePrivateKey"],["impl<'de> Deserialize<'de> for Mode"],["impl<'de> Deserialize<'de> for HpkePublicKey"]] +"hpke_rs":[["impl<'de> Deserialize<'de> for HpkeKeyPair"],["impl<'de> Deserialize<'de> for HpkePrivateKey"],["impl<'de> Deserialize<'de> for HpkePublicKey"],["impl<'de> Deserialize<'de> for Mode"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/ser/trait.Serialize.js b/implementors/serde/ser/trait.Serialize.js index 26d3c62..42a7e2b 100644 --- a/implementors/serde/ser/trait.Serialize.js +++ b/implementors/serde/ser/trait.Serialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl Serialize for Mode"],["impl Serialize for HpkePrivateKey"],["impl Serialize for HpkePublicKey"],["impl Serialize for HpkeKeyPair"]] +"hpke_rs":[["impl Serialize for HpkePrivateKey"],["impl Serialize for HpkePublicKey"],["impl Serialize for Mode"],["impl Serialize for HpkeKeyPair"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/tls_codec/trait.Deserialize.js b/implementors/tls_codec/trait.Deserialize.js index 606c95c..7555aa8 100644 --- a/implementors/tls_codec/trait.Deserialize.js +++ b/implementors/tls_codec/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl Deserialize for &HpkePublicKey"],["impl Deserialize for HpkePublicKey"]] +"hpke_rs":[["impl Deserialize for HpkePublicKey"],["impl Deserialize for &HpkePublicKey"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/tls_codec/trait.Size.js b/implementors/tls_codec/trait.Size.js index d57f6a3..fa98d8f 100644 --- a/implementors/tls_codec/trait.Size.js +++ b/implementors/tls_codec/trait.Size.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"hpke_rs":[["impl Size for HpkePublicKey"],["impl Size for &HpkePublicKey"]] +"hpke_rs":[["impl Size for &HpkePublicKey"],["impl Size for HpkePublicKey"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/search-index.js b/search-index.js index 2ac5764..07a7b3f 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"hpke_rs":{"doc":"HPKE","t":"NNNDNGGGDEDDDNNNNNNNNENNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLQCIKFFFF","n":["Auth","AuthPsk","Base","Context","CryptoError","HPKEKeyPair","HPKEPrivateKey","HPKEPublicKey","Hpke","HpkeError","HpkeKeyPair","HpkePrivateKey","HpkePublicKey","InconsistentPsk","InsecurePsk","InsufficientRandomness","InvalidConfig","InvalidInput","LockPoisoned","MessageLimitReached","MissingPsk","Mode","OpenError","Psk","UnknownMode","UnnecessaryPsk","as_slice","as_slice","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","derive_key_pair","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","export","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_keys","generate_key_pair","into","into","into","into","into","into","into","into_keys","key_schedule","new","new","new","new","open","open","prelude","private_key","public_key","receiver_export","seal","seal","seed","send_export","serialize","serialize","serialize","serialize","setup_receiver","setup_sender","test_util","tls_deserialize","tls_deserialize","tls_serialize","tls_serialize","tls_serialized_len","tls_serialized_len","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","zeroize","Error","HpkeMode","TryFrom","try_from","bytes_to_hex","hex_to_bytes","hex_to_bytes_option","vec_to_option_slice"],"q":[[0,"hpke_rs"],[168,"hpke_rs::prelude"],[172,"hpke_rs::test_util"],[176,"hpke_rs_crypto"],[177,"core::result"],[178,"serde::de"],[179,"alloc::vec"],[180,"core::fmt"],[181,"core::fmt"],[182,"hpke_rs_crypto::types"],[183,"hpke_rs_crypto::types"],[184,"serde::ser"],[185,"tls_codec"],[186,"std::io"],[187,"std::io"],[188,"core::any"]],"d":["Authenticated HPKE.","Authenticated HPKE with PSK.","HPKE Base mode.","The HPKE context. Note that the RFC currently doesn’t …","An error in the crypto library occurred.","","","","The HPKE configuration struct. This holds the …","HPKE Error types.","An HPKE key pair has an HPKE private and public key.","An HPKE private key is a byte vector.","An HPKE public key is a byte vector.","Inconsistent PSK input.","PSK input is too short (needs to be at least 32 bytes).","Unable to collect enough randomness.","Invalid configuration or arguments.","Invalid input.","A concurrency issue with an RwLock.","The message limit for this AEAD, key, and nonce.","PSK input is required but missing.","HPKE supports four modes.","Error opening an HPKE ciphertext.","HPKE with PSK.","Unknown HPKE mode.","PSK input is provided but not needed.","Get the raw key as byte slice.","Get the raw key as byte slice.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","7.1.2. DeriveKeyPair Derive a key pair for the used KEM …","","","","","","","","","5.3. Secret Export","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Build a key pair from two keys","Cryptographic Dependencies Randomized algorithm to …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Split the key pair into the two keys","Creating the Encryption Context Generate the HPKE context …","Create a new HPKE public key. Consumes the public key …","Create a new HPKE private key. Consumes the private key …","Create a new HPKE key pair. Consumes the private and …","Set up the configuration for HPKE.","5.2. Encryption and Decryption","Single-Shot APIs 6.1. Encryption and DecryptionSingle shot …","Prelude for HPKE. Include this to get access to all the …","Get a reference to the HPKE private key of this key pair.","Get a reference to the HPKE public key of this key pair.","Single-Shot APIs 6.2. Secret ExportSingle shot API to …","5.2. Encryption and Decryption","Single-Shot APIs 6.1. Encryption and DecryptionSingle shot …","Set PRNG state for testing.","Single-Shot APIs 6.2. Secret ExportSingle shot API to …","","","","","Set up an HPKE receiver.","Set up an HPKE sender.","Test util module. Should be moved really.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The type returned in the event of a conversion error.","","Simple and safe type conversions that may fail in a …","Performs the conversion.","Convert bytes to a hex string.","Convert a hex string to a byte vector.","Convert a hex string to a byte vector. If the input is None…","Convert a byte slice into byte slice option. Returns Nonce …"],"i":[7,7,7,0,5,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,0,5,7,5,5,1,4,14,5,1,4,6,7,8,14,5,1,4,6,7,8,5,1,4,6,7,8,5,1,4,6,7,8,1,4,6,8,1,4,6,7,5,1,4,7,14,14,5,5,1,4,6,7,7,8,8,14,5,5,1,1,1,4,4,4,6,6,6,7,8,6,8,14,5,1,4,6,7,8,6,8,1,4,6,8,14,8,0,6,6,8,14,8,8,8,1,4,6,7,8,8,0,1,1,1,1,1,1,5,1,4,6,7,8,5,7,8,14,5,1,4,6,7,7,8,14,5,1,4,6,7,8,14,5,1,4,6,7,8,14,5,1,4,6,7,8,4,33,0,0,33,0,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,[[3,[2]]]],[4,[[3,[2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[5,5],[1,1],[4,4],[6,6],[7,7],[[[8,[-1]]],[[8,[-1]]],9],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[],1],[[],4],[[],6],[[[8,[-1]],[3,[2]]],[[11,[6,5]]],9],[-1,[[11,[1]]],12],[-1,[[11,[4]]],12],[-1,[[11,[6]]],12],[-1,[[11,[7]]],12],[[5,5],13],[[1,1],13],[[4,4],13],[[7,7],13],[[[14,[-1]],[3,[2]],15],[[11,[[16,[2]],5]]],9],[[[14,[-1]],17],18,9],[[5,17],18],[[5,17],18],[[1,17],18],[[4,17],[[11,[10,19]]]],[[6,17],18],[[7,17],18],[[7,17],18],[[[8,[-1]],17],18,[20,9]],[[[8,[-1]],17],18,9],[-1,-1,[]],[21,5],[-1,-1,[]],[[[3,[2]]],1],[-1,-1,[]],[[[16,[2]]],1],[-1,-1,[]],[[[3,[2]]],4],[[[16,[2]]],4],[[[10,[[3,[2]],[3,[2]]]]],6],[-1,-1,[]],[[[10,[[16,[2]],[16,[2]]]]],6],[-1,-1,[]],[-1,-1,[]],[[4,1],6],[[[8,[-1]]],[[11,[6,5]]],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[6,[[10,[4,1]]]],[[[8,[-1]],[3,[2]],[3,[2]],[3,[2]],[3,[2]]],[[11,[[14,[-1]],5]]],9],[[[16,[2]]],1],[[[16,[2]]],4],[[[16,[2]],[16,[2]]],6],[[7,22,23,24],[[8,[-1]]],9],[[[14,[-1]],[3,[2]],[3,[2]]],[[11,[[16,[2]],5]]],9],[[[8,[-1]],[3,[2]],4,[3,[2]],[3,[2]],[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[1]]],[[11,[[16,[2]],5]]],9],0,[6,4],[6,1],[[[8,[-1]],[3,[2]],4,[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[1]],[3,[2]],15],[[11,[[16,[2]],5]]],9],[[[14,[-1]],[3,[2]],[3,[2]]],[[11,[[16,[2]],5]]],9],[[[8,[-1]],1,[3,[2]],[3,[2]],[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[4]]],[[11,[[10,[[16,[2]],[16,[2]]]],5]]],9],[[[8,[-1]],[3,[2]]],[[11,[10,5]]],9],[[[8,[-1]],1,[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[4]],[3,[2]],15],[[11,[[10,[[16,[2]],[16,[2]]]],5]]],9],[[1,-1],11,26],[[4,-1],11,26],[[6,-1],11,26],[[7,-1],11,26],[[[8,[-1]],[3,[2]],4,[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[1]]],[[11,[[14,[-1]],5]]],9],[[[8,[-1]],1,[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[4]]],[[11,[[10,[[16,[2]],[14,[-1]]]],5]]],9],0,[-1,[[11,[1,27]]],28],[-1,[[11,[1,27]]],28],[[1,-1],[[11,[15,27]]],29],[[1,-1],[[11,[15,27]]],29],[1,15],[1,15],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[2,[[11,[7,5]]]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[4,10],0,0,0,[-1,[[11,[-2]]],[],[]],[[[3,[2]]],30],[32,[[16,[2]]]],[[[25,[30]]],[[16,[2]]]],[[[3,[2]]],[[25,[[3,[2]]]]]]],"c":[5,6,7],"p":[[3,"HpkePublicKey",0],[15,"u8"],[15,"slice"],[3,"HpkePrivateKey",0],[4,"HpkeError",0],[3,"HpkeKeyPair",0],[4,"Mode",0],[3,"Hpke",0],[8,"HpkeCrypto",176],[15,"tuple"],[4,"Result",177],[8,"Deserializer",178],[15,"bool"],[3,"Context",0],[15,"usize"],[3,"Vec",179],[3,"Formatter",180],[6,"Result",180],[3,"Error",180],[8,"Debug",180],[4,"Error",181],[4,"KemAlgorithm",182],[4,"KdfAlgorithm",182],[4,"AeadAlgorithm",182],[4,"Option",183],[8,"Serializer",184],[4,"Error",185],[8,"Read",186],[8,"Write",186],[3,"String",187],[3,"TypeId",188],[15,"str"],[8,"TryFrom",168]]}\ +"hpke_rs":{"doc":"HPKE","t":"NNNDNGGGDEDDDNNNNNNNNENNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLQCIKFFFF","n":["Auth","AuthPsk","Base","Context","CryptoError","HPKEKeyPair","HPKEPrivateKey","HPKEPublicKey","Hpke","HpkeError","HpkeKeyPair","HpkePrivateKey","HpkePublicKey","InconsistentPsk","InsecurePsk","InsufficientRandomness","InvalidConfig","InvalidInput","LockPoisoned","MessageLimitReached","MissingPsk","Mode","OpenError","Psk","UnknownMode","UnnecessaryPsk","as_slice","as_slice","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","derive_key_pair","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","export","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_keys","generate_key_pair","into","into","into","into","into","into","into","into_keys","key_schedule","new","new","new","new","open","open","prelude","private_key","public_key","receiver_export","seal","seal","seed","send_export","serialize","serialize","serialize","serialize","setup_receiver","setup_sender","test_util","tls_deserialize","tls_deserialize","tls_serialize","tls_serialize","tls_serialized_len","tls_serialized_len","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","zeroize","Error","HpkeMode","TryFrom","try_from","bytes_to_hex","hex_to_bytes","hex_to_bytes_option","vec_to_option_slice"],"q":[[0,"hpke_rs"],[168,"hpke_rs::prelude"],[172,"hpke_rs::test_util"],[176,"hpke_rs_crypto"],[177,"core::result"],[178,"serde::de"],[179,"alloc::vec"],[180,"core::fmt"],[181,"core::fmt"],[182,"hpke_rs_crypto::types"],[183,"hpke_rs_crypto::types"],[184,"serde::ser"],[185,"tls_codec"],[186,"std::io"],[187,"std::io"],[188,"core::any"]],"d":["Authenticated HPKE.","Authenticated HPKE with PSK.","HPKE Base mode.","The HPKE context. Note that the RFC currently doesn’t …","An error in the crypto library occurred.","","","","The HPKE configuration struct. This holds the …","HPKE Error types.","An HPKE key pair has an HPKE private and public key.","An HPKE private key is a byte vector.","An HPKE public key is a byte vector.","Inconsistent PSK input.","PSK input is too short (needs to be at least 32 bytes).","Unable to collect enough randomness.","Invalid configuration or arguments.","Invalid input.","A concurrency issue with an RwLock.","The message limit for this AEAD, key, and nonce.","PSK input is required but missing.","HPKE supports four modes.","Error opening an HPKE ciphertext.","HPKE with PSK.","Unknown HPKE mode.","PSK input is provided but not needed.","Get the raw key as byte slice.","Get the raw key as byte slice.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","7.1.2. DeriveKeyPair Derive a key pair for the used KEM …","","","","","","","","","5.3. Secret Export","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Build a key pair from two keys","Cryptographic Dependencies Randomized algorithm to …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Split the key pair into the two keys","Creating the Encryption Context Generate the HPKE context …","Create a new HPKE public key. Consumes the public key …","Create a new HPKE private key. Consumes the private key …","Create a new HPKE key pair. Consumes the private and …","Set up the configuration for HPKE.","5.2. Encryption and Decryption","Single-Shot APIs 6.1. Encryption and DecryptionSingle shot …","Prelude for HPKE. Include this to get access to all the …","Get a reference to the HPKE private key of this key pair.","Get a reference to the HPKE public key of this key pair.","Single-Shot APIs 6.2. Secret ExportSingle shot API to …","5.2. Encryption and Decryption","Single-Shot APIs 6.1. Encryption and DecryptionSingle shot …","Set PRNG state for testing.","Single-Shot APIs 6.2. Secret ExportSingle shot API to …","","","","","Set up an HPKE receiver.","Set up an HPKE sender.","Test util module. Should be moved really.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The type returned in the event of a conversion error.","","Simple and safe type conversions that may fail in a …","Performs the conversion.","Convert bytes to a hex string.","Convert a hex string to a byte vector.","Convert a hex string to a byte vector. If the input is None…","Convert a byte slice into byte slice option. Returns Nonce …"],"i":[7,7,7,0,5,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,0,5,7,5,5,1,4,14,5,1,4,6,7,8,14,5,1,4,6,7,8,5,1,4,6,7,8,5,1,4,6,7,8,1,4,6,8,1,4,6,7,5,1,4,7,14,14,5,5,1,4,6,7,7,8,8,14,5,5,1,1,1,4,4,4,6,6,6,7,8,6,8,14,5,1,4,6,7,8,6,8,1,4,6,8,14,8,0,6,6,8,14,8,8,8,1,4,6,7,8,8,0,1,1,1,1,1,1,5,1,4,6,7,8,5,7,8,14,5,1,4,6,7,7,8,14,5,1,4,6,7,8,14,5,1,4,6,7,8,14,5,1,4,6,7,8,4,33,0,0,33,0,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,[[3,[2]]]],[4,[[3,[2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[5,5],[1,1],[4,4],[6,6],[7,7],[[[8,[-1]]],[[8,[-1]]],9],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[-1,-2],10,[],[]],[[],1],[[],4],[[],6],[[[8,[-1]],[3,[2]]],[[11,[6,5]]],9],[-1,[[11,[1]]],12],[-1,[[11,[4]]],12],[-1,[[11,[6]]],12],[-1,[[11,[7]]],12],[[5,5],13],[[1,1],13],[[4,4],13],[[7,7],13],[[[14,[-1]],[3,[2]],15],[[11,[[16,[2]],5]]],9],[[[14,[-1]],17],18,9],[[5,17],18],[[5,17],18],[[1,17],18],[[4,17],[[11,[10,19]]]],[[6,17],18],[[7,17],18],[[7,17],18],[[[8,[-1]],17],18,9],[[[8,[-1]],17],18,[20,9]],[-1,-1,[]],[-1,-1,[]],[21,5],[-1,-1,[]],[[[16,[2]]],1],[[[3,[2]]],1],[-1,-1,[]],[[[16,[2]]],4],[[[3,[2]]],4],[[[10,[[16,[2]],[16,[2]]]]],6],[-1,-1,[]],[[[10,[[3,[2]],[3,[2]]]]],6],[-1,-1,[]],[-1,-1,[]],[[4,1],6],[[[8,[-1]]],[[11,[6,5]]],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[6,[[10,[4,1]]]],[[[8,[-1]],[3,[2]],[3,[2]],[3,[2]],[3,[2]]],[[11,[[14,[-1]],5]]],9],[[[16,[2]]],1],[[[16,[2]]],4],[[[16,[2]],[16,[2]]],6],[[7,22,23,24],[[8,[-1]]],9],[[[14,[-1]],[3,[2]],[3,[2]]],[[11,[[16,[2]],5]]],9],[[[8,[-1]],[3,[2]],4,[3,[2]],[3,[2]],[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[1]]],[[11,[[16,[2]],5]]],9],0,[6,4],[6,1],[[[8,[-1]],[3,[2]],4,[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[1]],[3,[2]],15],[[11,[[16,[2]],5]]],9],[[[14,[-1]],[3,[2]],[3,[2]]],[[11,[[16,[2]],5]]],9],[[[8,[-1]],1,[3,[2]],[3,[2]],[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[4]]],[[11,[[10,[[16,[2]],[16,[2]]]],5]]],9],[[[8,[-1]],[3,[2]]],[[11,[10,5]]],9],[[[8,[-1]],1,[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[4]],[3,[2]],15],[[11,[[10,[[16,[2]],[16,[2]]]],5]]],9],[[1,-1],11,26],[[4,-1],11,26],[[6,-1],11,26],[[7,-1],11,26],[[[8,[-1]],[3,[2]],4,[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[1]]],[[11,[[14,[-1]],5]]],9],[[[8,[-1]],1,[3,[2]],[25,[[3,[2]]]],[25,[[3,[2]]]],[25,[4]]],[[11,[[10,[[16,[2]],[14,[-1]]]],5]]],9],0,[-1,[[11,[1,27]]],28],[-1,[[11,[1,27]]],28],[[1,-1],[[11,[15,27]]],29],[[1,-1],[[11,[15,27]]],29],[1,15],[1,15],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[2,[[11,[7,5]]]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[4,10],0,0,0,[-1,[[11,[-2]]],[],[]],[[[3,[2]]],30],[32,[[16,[2]]]],[[[25,[30]]],[[16,[2]]]],[[[3,[2]]],[[25,[[3,[2]]]]]]],"c":[5,6,7],"p":[[3,"HpkePublicKey",0],[15,"u8"],[15,"slice"],[3,"HpkePrivateKey",0],[4,"HpkeError",0],[3,"HpkeKeyPair",0],[4,"Mode",0],[3,"Hpke",0],[8,"HpkeCrypto",176],[15,"tuple"],[4,"Result",177],[8,"Deserializer",178],[15,"bool"],[3,"Context",0],[15,"usize"],[3,"Vec",179],[3,"Formatter",180],[6,"Result",180],[3,"Error",180],[8,"Debug",180],[4,"Error",181],[4,"KemAlgorithm",182],[4,"KdfAlgorithm",182],[4,"AeadAlgorithm",182],[4,"Option",183],[8,"Serializer",184],[4,"Error",185],[8,"Read",186],[8,"Write",186],[3,"String",187],[3,"TypeId",188],[15,"str"],[8,"TryFrom",168]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex};