diff --git a/hpke_rs/all.html b/hpke_rs/all.html index 1f3f319..1b23b0a 100644 --- a/hpke_rs/all.html +++ b/hpke_rs/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Functions

Type Aliases

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Functions

Type Aliases

\ No newline at end of file diff --git a/hpke_rs/enum.HpkeError.html b/hpke_rs/enum.HpkeError.html index 677c341..c074543 100644 --- a/hpke_rs/enum.HpkeError.html +++ b/hpke_rs/enum.HpkeError.html @@ -1,4 +1,4 @@ -HpkeError in hpke_rs - Rust

Enum hpke_rs::HpkeError

source ·
pub enum HpkeError {
+HpkeError in hpke_rs - Rust

Enum hpke_rs::HpkeError

source ·
pub enum HpkeError {
     OpenError,
     InvalidConfig,
     InvalidInput,
@@ -22,7 +22,7 @@
 
§

CryptoError(String)

An error in the crypto library occurred.

§

MessageLimitReached

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

§

InsufficientRandomness

Unable to collect enough randomness.

-

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 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 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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/hpke_rs/enum.Mode.html b/hpke_rs/enum.Mode.html index ad07dac..1706442 100644 --- a/hpke_rs/enum.Mode.html +++ b/hpke_rs/enum.Mode.html @@ -1,4 +1,4 @@ -Mode in hpke_rs - Rust

Enum hpke_rs::Mode

source ·
#[repr(u8)]
pub enum Mode { +Mode in hpke_rs - Rust

Enum hpke_rs::Mode

source ·
#[repr(u8)]
pub enum Mode { Base = 0, Psk = 1, Auth = 2, @@ -8,8 +8,8 @@
§

Psk = 1

HPKE with PSK.

§

Auth = 2

Authenticated HPKE.

§

AuthPsk = 3

Authenticated HPKE with PSK.

-

Trait Implementations§

source§

impl Clone for Mode

source§

fn clone(&self) -> Mode

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 Mode

source§

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

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

impl<'de> Deserialize<'de> for Mode

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 Display for Mode

source§

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

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

impl PartialEq for Mode

source§

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

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

Trait Implementations§

source§

impl Clone for Mode

source§

fn clone(&self) -> Mode

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 Mode

source§

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

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

impl<'de> Deserialize<'de> for Mode

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 Display for Mode

source§

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

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

impl PartialEq for Mode

source§

fn eq(&self, other: &Mode) -> 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 Mode

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 TryFrom<u8> for Mode

§

type Error = HpkeError

The type returned in the event of a conversion error.
source§

fn try_from(x: u8) -> Result<Mode, HpkeError>

Performs the conversion.
source§

impl Copy for Mode

source§

impl StructuralPartialEq for Mode

Auto Trait Implementations§

§

impl Freeze for Mode

§

impl RefUnwindSafe for Mode

§

impl Send for Mode

§

impl Sync for Mode

§

impl Unpin for Mode

§

impl UnwindSafe for Mode

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/hpke_rs/index.html b/hpke_rs/index.html index 31592fb..7e88ce4 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/prelude/index.html b/hpke_rs/prelude/index.html index ec05e5b..f193b11 100644 --- a/hpke_rs/prelude/index.html +++ b/hpke_rs/prelude/index.html @@ -1,4 +1,4 @@ -hpke_rs::prelude - Rust

Module hpke_rs::prelude

source ·
Expand description

Prelude for HPKE. +hpke_rs::prelude - Rust

Module hpke_rs::prelude

source ·
Expand description

Prelude for HPKE. Include this to get access to all the public functions of HPKE.

Re-exports§

  • pub use super::Mode as HpkeMode;
  • pub use super::*;

Traits§

  • Simple and safe type conversions that may fail in a controlled way under some circumstances. It is the reciprocal of TryInto.
\ No newline at end of file diff --git a/hpke_rs/prelude/trait.TryFrom.html b/hpke_rs/prelude/trait.TryFrom.html index 9f380ad..fd5b7fc 100644 --- a/hpke_rs/prelude/trait.TryFrom.html +++ b/hpke_rs/prelude/trait.TryFrom.html @@ -1,4 +1,4 @@ -TryFrom in hpke_rs::prelude - Rust

Trait hpke_rs::prelude::TryFrom

1.34.0 · source ·
pub trait TryFrom<T>: Sized {
+TryFrom in hpke_rs::prelude - Rust

Trait hpke_rs::prelude::TryFrom

1.34.0 · source ·
pub trait TryFrom<T>: Sized {
     type Error;
 
     // Required method
diff --git a/hpke_rs/struct.Context.html b/hpke_rs/struct.Context.html
index 22757b2..f030c8a 100644
--- a/hpke_rs/struct.Context.html
+++ b/hpke_rs/struct.Context.html
@@ -1,4 +1,4 @@
-Context in hpke_rs - Rust

Struct hpke_rs::Context

source ·
pub struct Context<Crypto: 'static + HpkeCrypto> { /* private fields */ }
Expand description

The HPKE context. +Context in hpke_rs - Rust

Struct hpke_rs::Context

source ·
pub struct Context<Crypto: 'static + HpkeCrypto> { /* private fields */ }
Expand description

The HPKE context. Note that the RFC currently doesn’t define this. Also see https://github.com/cfrg/draft-irtf-cfrg-hpke/issues/161.

Implementations§

source§

impl<Crypto: HpkeCrypto> Context<Crypto>

source

pub fn seal( diff --git a/hpke_rs/struct.Hpke.html b/hpke_rs/struct.Hpke.html index fa8ab9f..230c72b 100644 --- a/hpke_rs/struct.Hpke.html +++ b/hpke_rs/struct.Hpke.html @@ -1,4 +1,4 @@ -Hpke in hpke_rs - Rust

Struct hpke_rs::Hpke

source ·
pub struct Hpke<Crypto: 'static + HpkeCrypto> { /* private fields */ }
Expand description

The HPKE configuration struct. +Hpke in hpke_rs - Rust

Struct hpke_rs::Hpke

source ·
pub struct Hpke<Crypto: 'static + HpkeCrypto> { /* private fields */ }
Expand description

The HPKE configuration struct. This holds the configuration for HPKE but no state. To use HPKE first instantiate the configuration with let hpke = Hpke::new(mode, kem_mode, kdf_mode, aead_mode). diff --git a/hpke_rs/struct.HpkeKeyPair.html b/hpke_rs/struct.HpkeKeyPair.html index 7fbdcee..b66fdcf 100644 --- a/hpke_rs/struct.HpkeKeyPair.html +++ b/hpke_rs/struct.HpkeKeyPair.html @@ -1,4 +1,4 @@ -HpkeKeyPair in hpke_rs - Rust

Struct hpke_rs::HpkeKeyPair

source ·
pub struct HpkeKeyPair { /* private fields */ }
Expand description

An HPKE key pair has an HPKE private and public key.

+HpkeKeyPair in hpke_rs - Rust

Struct hpke_rs::HpkeKeyPair

source ·
pub struct HpkeKeyPair { /* private fields */ }
Expand description

An HPKE key pair has an HPKE private and public key.

Implementations§

source§

impl HpkeKeyPair

source

pub fn new(sk: Vec<u8>, pk: Vec<u8>) -> Self

Create a new HPKE key pair. Consumes the private and public key bytes.

source

pub fn private_key(&self) -> &HpkePrivateKey

Get a reference to the HPKE private key of this key pair.

diff --git a/hpke_rs/struct.HpkePrivateKey.html b/hpke_rs/struct.HpkePrivateKey.html index e2b516c..1bd05ef 100644 --- a/hpke_rs/struct.HpkePrivateKey.html +++ b/hpke_rs/struct.HpkePrivateKey.html @@ -1,4 +1,4 @@ -HpkePrivateKey in hpke_rs - Rust

Struct hpke_rs::HpkePrivateKey

source ·
pub struct HpkePrivateKey { /* private fields */ }
Expand description

An HPKE private key is a byte vector.

+HpkePrivateKey in hpke_rs - Rust

Struct hpke_rs::HpkePrivateKey

source ·
pub struct HpkePrivateKey { /* private fields */ }
Expand description

An HPKE private key is a byte vector.

Implementations§

source§

impl HpkePrivateKey

source

pub fn new(b: Vec<u8>) -> Self

Create a new HPKE private key. Consumes the private key bytes.

source

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

Get the raw key as byte slice.

diff --git a/hpke_rs/struct.HpkePublicKey.html b/hpke_rs/struct.HpkePublicKey.html index 79b64dd..e5a5c9c 100644 --- a/hpke_rs/struct.HpkePublicKey.html +++ b/hpke_rs/struct.HpkePublicKey.html @@ -1,4 +1,4 @@ -HpkePublicKey in hpke_rs - Rust

Struct hpke_rs::HpkePublicKey

source ·
pub struct HpkePublicKey { /* private fields */ }
Expand description

An HPKE public key is a byte vector.

+HpkePublicKey in hpke_rs - Rust

Struct hpke_rs::HpkePublicKey

source ·
pub struct HpkePublicKey { /* private fields */ }
Expand description

An HPKE public key is a byte vector.

Implementations§

source§

impl HpkePublicKey

source

pub fn new(value: Vec<u8>) -> Self

Create a new HPKE public key. Consumes the public key bytes.

source

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

Get the raw key as byte slice.

@@ -9,7 +9,7 @@ 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>> for HpkePublicKey

source§

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

Converts to this type from the input type.
source§

impl PartialEq for HpkePublicKey

source§

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

This method tests for self and other values to be equal, and is used +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>> for HpkePublicKey

source§

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

Converts to this type from the input type.
source§

impl PartialEq 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>, Error>

Serialize self and return it as a byte vector.
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. diff --git a/hpke_rs/test_util/fn.bytes_to_hex.html b/hpke_rs/test_util/fn.bytes_to_hex.html index 4e661b4..e1050b1 100644 --- a/hpke_rs/test_util/fn.bytes_to_hex.html +++ b/hpke_rs/test_util/fn.bytes_to_hex.html @@ -1,2 +1,2 @@ -bytes_to_hex in hpke_rs::test_util - Rust

Function hpke_rs::test_util::bytes_to_hex

source ·
pub fn bytes_to_hex(bytes: &[u8]) -> String
Expand description

Convert bytes to a hex string.

+bytes_to_hex in hpke_rs::test_util - Rust

Function hpke_rs::test_util::bytes_to_hex

source ·
pub fn bytes_to_hex(bytes: &[u8]) -> String
Expand description

Convert bytes to a hex string.

\ No newline at end of file diff --git a/hpke_rs/test_util/fn.hex_to_bytes.html b/hpke_rs/test_util/fn.hex_to_bytes.html index 8605d5e..0a588ce 100644 --- a/hpke_rs/test_util/fn.hex_to_bytes.html +++ b/hpke_rs/test_util/fn.hex_to_bytes.html @@ -1,2 +1,2 @@ -hex_to_bytes in hpke_rs::test_util - Rust

Function hpke_rs::test_util::hex_to_bytes

source ·
pub fn hex_to_bytes(hex: &str) -> Vec<u8> 
Expand description

Convert a hex string to a byte vector.

+hex_to_bytes in hpke_rs::test_util - Rust

Function hpke_rs::test_util::hex_to_bytes

source ·
pub fn hex_to_bytes(hex: &str) -> Vec<u8> 
Expand description

Convert a hex string to a byte vector.

\ No newline at end of file diff --git a/hpke_rs/test_util/fn.hex_to_bytes_option.html b/hpke_rs/test_util/fn.hex_to_bytes_option.html index f5d831d..702653a 100644 --- a/hpke_rs/test_util/fn.hex_to_bytes_option.html +++ b/hpke_rs/test_util/fn.hex_to_bytes_option.html @@ -1,3 +1,3 @@ -hex_to_bytes_option in hpke_rs::test_util - Rust

Function hpke_rs::test_util::hex_to_bytes_option

source ·
pub fn hex_to_bytes_option(hex: Option<String>) -> Vec<u8> 
Expand description

Convert a hex string to a byte vector. +hex_to_bytes_option in hpke_rs::test_util - Rust

Function hpke_rs::test_util::hex_to_bytes_option

source ·
pub fn hex_to_bytes_option(hex: Option<String>) -> Vec<u8> 
Expand description

Convert a hex string to a byte vector. If the input is None, this returns an empty vector.

\ No newline at end of file diff --git a/hpke_rs/test_util/fn.vec_to_option_slice.html b/hpke_rs/test_util/fn.vec_to_option_slice.html index 0521ea1..6ba227c 100644 --- a/hpke_rs/test_util/fn.vec_to_option_slice.html +++ b/hpke_rs/test_util/fn.vec_to_option_slice.html @@ -1,3 +1,3 @@ -vec_to_option_slice in hpke_rs::test_util - Rust

Function hpke_rs::test_util::vec_to_option_slice

source ·
pub fn vec_to_option_slice(v: &[u8]) -> Option<&[u8]>
Expand description

Convert a byte slice into byte slice option. +vec_to_option_slice in hpke_rs::test_util - Rust

Function hpke_rs::test_util::vec_to_option_slice

source ·
pub fn vec_to_option_slice(v: &[u8]) -> Option<&[u8]>
Expand description

Convert a byte slice into byte slice option. Returns Nonce if the byte slice is empty and Some(v) otherwise.

\ No newline at end of file diff --git a/hpke_rs/test_util/index.html b/hpke_rs/test_util/index.html index 5e002a1..c3c0e92 100644 --- a/hpke_rs/test_util/index.html +++ b/hpke_rs/test_util/index.html @@ -1,4 +1,4 @@ -hpke_rs::test_util - Rust

Module hpke_rs::test_util

source ·
Expand description

Test util module. Should be moved really.

+hpke_rs::test_util - Rust

Module hpke_rs::test_util

source ·
Expand description

Test util module. Should be moved really.

Functions§

  • 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, this returns an empty vector.
  • Convert a byte slice into byte slice option. Returns Nonce if the byte slice is empty and Some(v) otherwise.
\ No newline at end of file diff --git a/hpke_rs/type.HPKEKeyPair.html b/hpke_rs/type.HPKEKeyPair.html index 5464d58..90f7df9 100644 --- a/hpke_rs/type.HPKEKeyPair.html +++ b/hpke_rs/type.HPKEKeyPair.html @@ -1 +1 @@ -HPKEKeyPair in hpke_rs - Rust

Type Alias hpke_rs::HPKEKeyPair

source ·
pub type HPKEKeyPair = HpkeKeyPair;
👎Deprecated since 0.0.7: Please use HpkeKeyPair instead. This alias will be removed with the first stable 0.1 release.

Aliased Type§

struct HPKEKeyPair { /* private fields */ }
\ No newline at end of file +HPKEKeyPair in hpke_rs - Rust

Type Alias hpke_rs::HPKEKeyPair

source ·
pub type HPKEKeyPair = HpkeKeyPair;
👎Deprecated since 0.0.7: Please use HpkeKeyPair instead. This alias will be removed with the first stable 0.1 release.

Aliased Type§

struct HPKEKeyPair { /* private fields */ }
\ No newline at end of file diff --git a/hpke_rs/type.HPKEPrivateKey.html b/hpke_rs/type.HPKEPrivateKey.html index 1e118b8..4694366 100644 --- a/hpke_rs/type.HPKEPrivateKey.html +++ b/hpke_rs/type.HPKEPrivateKey.html @@ -1 +1 @@ -HPKEPrivateKey in hpke_rs - Rust

Type Alias hpke_rs::HPKEPrivateKey

source ·
pub type HPKEPrivateKey = HpkePrivateKey;
👎Deprecated since 0.0.7: Please use HpkePrivateKey instead. This alias will be removed with the first stable 0.1 release.

Aliased Type§

struct HPKEPrivateKey { /* private fields */ }
\ No newline at end of file +HPKEPrivateKey in hpke_rs - Rust

Type Alias hpke_rs::HPKEPrivateKey

source ·
pub type HPKEPrivateKey = HpkePrivateKey;
👎Deprecated since 0.0.7: Please use HpkePrivateKey instead. This alias will be removed with the first stable 0.1 release.

Aliased Type§

struct HPKEPrivateKey { /* private fields */ }
\ No newline at end of file diff --git a/hpke_rs/type.HPKEPublicKey.html b/hpke_rs/type.HPKEPublicKey.html index 8fc9305..7d0f197 100644 --- a/hpke_rs/type.HPKEPublicKey.html +++ b/hpke_rs/type.HPKEPublicKey.html @@ -1 +1 @@ -HPKEPublicKey in hpke_rs - Rust

Type Alias hpke_rs::HPKEPublicKey

source ·
pub type HPKEPublicKey = HpkePublicKey;
👎Deprecated since 0.0.7: Please use HpkePublicKey instead. This alias will be removed with the first stable 0.1 release.

Aliased Type§

struct HPKEPublicKey { /* private fields */ }
\ No newline at end of file +HPKEPublicKey in hpke_rs - Rust

Type Alias hpke_rs::HPKEPublicKey

source ·
pub type HPKEPublicKey = HpkePublicKey;
👎Deprecated since 0.0.7: Please use HpkePublicKey instead. This alias will be removed with the first stable 0.1 release.

Aliased Type§

struct HPKEPublicKey { /* private fields */ }
\ No newline at end of file diff --git a/search-index.js b/search-index.js index 1c5e646..d1235b7 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,5 @@ var searchIndex = new Map(JSON.parse('[\ -["hpke_rs",{"t":"PPPFPIIIFGFFFPPPPPPPGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNREKMHHHH","n":["Auth","AuthPsk","Base","Context","CryptoError","HPKEKeyPair","HPKEPrivateKey","HPKEPublicKey","Hpke","HpkeError","HpkeKeyPair","HpkePrivateKey","HpkePublicKey","InconsistentPsk","InsecurePsk","InsufficientRandomness","InvalidConfig","InvalidInput","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","zeroize","Error","HpkeMode","TryFrom","try_from","bytes_to_hex","hex_to_bytes","hex_to_bytes_option","vec_to_option_slice"],"q":[[0,"hpke_rs"],[160,"hpke_rs::prelude"],[164,"hpke_rs::test_util"],[168,"hpke_rs_crypto"],[169,"core::result"],[170,"serde::de"],[171,"alloc::vec"],[172,"core::fmt"],[173,"hpke_rs_crypto::error"],[174,"hpke_rs_crypto::types"],[175,"core::option"],[176,"serde::ser"],[177,"tls_codec"],[178,"std::io"],[179,"alloc::string"],[180,"core::any"],[181,"core::convert"]],"i":[9,9,9,0,7,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,0,7,9,7,7,1,5,16,7,1,5,8,9,10,16,7,1,5,8,9,10,7,1,5,8,9,10,7,1,5,8,9,10,1,5,8,10,1,5,8,9,7,1,5,9,16,16,7,7,1,5,8,9,9,10,10,16,7,7,1,1,1,5,5,5,8,8,8,9,10,8,10,16,7,1,5,8,9,10,8,10,1,5,8,10,16,10,0,8,8,10,16,10,10,10,1,5,8,9,10,10,0,1,1,1,1,1,1,7,1,5,8,9,10,7,9,10,16,7,1,5,8,9,9,10,16,7,1,5,8,9,10,16,7,1,5,8,9,10,5,36,0,0,36,0,0,0,0],"f":"`````````````````````````{{{d{b}}}{{d{{h{f}}}}}}{{{d{j}}}{{d{{h{f}}}}}}{{{d{c}}}{{d{e}}}{}{}}000000{{{d{lc}}}{{d{le}}}{}{}}000000{{{d{n}}}n}{{{d{b}}}b}{{{d{j}}}j}{{{d{A`}}}A`}{{{d{Ab}}}Ab}{{{d{{Ad{c}}}}}{{Ad{c}}}Af}{{{d{c}}{d{le}}}Ah{}{}}00000{{}b}{{}j}{{}A`}{{{d{{Ad{c}}}}{d{{h{f}}}}}{{Aj{A`n}}}Af}{c{{Aj{b}}}Al}{c{{Aj{j}}}Al}{c{{Aj{A`}}}Al}{c{{Aj{Ab}}}Al}{{{d{n}}{d{n}}}An}{{{d{b}}{d{b}}}An}{{{d{j}}{d{j}}}An}{{{d{Ab}}{d{Ab}}}An}{{{d{{B`{c}}}}{d{{h{f}}}}Bb}{{Aj{{Bd{f}}n}}}Af}{{{d{{B`{c}}}}{d{lBf}}}BhAf}{{{d{n}}{d{lBf}}}Bh}0{{{d{b}}{d{lBf}}}Bh}{{{d{j}}{d{lBf}}}{{Aj{AhBj}}}}{{{d{A`}}{d{lBf}}}Bh}{{{d{Ab}}{d{lBf}}}Bh}0{{{d{{Ad{c}}}}{d{lBf}}}BhAf}{{{d{{Ad{c}}}}{d{lBf}}}Bh{BlAf}}{cc{}}{Bnn}11{{{Bd{f}}}b}{{{d{{h{f}}}}}b}{{{Bd{f}}}j}4{{{d{{h{f}}}}}j}{{{C`{{d{{h{f}}}}{d{{h{f}}}}}}}A`}6{{{C`{{Bd{f}}{Bd{f}}}}}A`}77{{jb}A`}{{{d{l{Ad{c}}}}}{{Aj{A`n}}}Af}{ce{}{}}000000{A`{{C`{jb}}}}{{{d{{Ad{c}}}}{d{{h{f}}}}{d{{h{f}}}}{d{{h{f}}}}{d{{h{f}}}}}{{Aj{{B`{c}}n}}}Af}:8{{{Bd{f}}{Bd{f}}}A`}{{AbCbCdCf}{{Ad{c}}}Af}{{{d{l{B`{c}}}}{d{{h{f}}}}{d{{h{f}}}}}{{Aj{{Bd{f}}n}}}Af}{{{d{{Ad{c}}}}{d{{h{f}}}}{d{j}}{d{{h{f}}}}{d{{h{f}}}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{b}}}}}{{Aj{{Bd{f}}n}}}Af}`{{{d{A`}}}{{d{j}}}}{{{d{A`}}}{{d{b}}}}{{{d{{Ad{c}}}}{d{{h{f}}}}{d{j}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{b}}}}{d{{h{f}}}}Bb}{{Aj{{Bd{f}}n}}}Af}4{{{d{l{Ad{c}}}}{d{b}}{d{{h{f}}}}{d{{h{f}}}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{j}}}}}{{Aj{{C`{{Bd{f}}{Bd{f}}}}n}}}Af}{{{d{l{Ad{c}}}}{d{{h{f}}}}}{{Aj{Ahn}}}Af}{{{d{l{Ad{c}}}}{d{b}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{j}}}}{d{{h{f}}}}Bb}{{Aj{{C`{{Bd{f}}{Bd{f}}}}n}}}Af}{{{d{b}}c}AjCj}{{{d{j}}c}AjCj}{{{d{A`}}c}AjCj}{{{d{Ab}}c}AjCj}{{{d{{Ad{c}}}}{d{{h{f}}}}{d{j}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{b}}}}}{{Aj{{B`{c}}n}}}Af}{{{d{l{Ad{c}}}}{d{b}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{j}}}}}{{Aj{{C`{{Bd{f}}{B`{c}}}}n}}}Af}`{{{d{lc}}}{{Aj{{d{b}}Cl}}}Cn}{{{d{lc}}}{{Aj{bCl}}}Cn}{{{d{b}}{d{lc}}}{{Aj{BbCl}}}D`}{{{d{{d{b}}}}{d{lc}}}{{Aj{BbCl}}}D`}{{{d{b}}}Bb}{{{d{{d{b}}}}}Bb}{{{d{c}}}e{}{}}00000{{{d{c}}}Db{}}00{c{{Aj{e}}}{}{}}0000{f{{Aj{Abn}}}}111111111{{{d{c}}}Dd{}}000000{{{d{lj}}}Ah}```{c{{Aj{{Dh{}{{Df{e}}}}e}}}{}{}}{{{d{{h{f}}}}}Db}{{{d{Dj}}}{{Bd{f}}}}{{{Ch{Db}}}{{Bd{f}}}}{{{d{{h{f}}}}}{{Ch{{d{{h{f}}}}}}}}","D":"Hj","p":[[5,"HpkePublicKey",0],[1,"reference"],[1,"u8"],[1,"slice"],[5,"HpkePrivateKey",0],[0,"mut"],[6,"HpkeError",0],[5,"HpkeKeyPair",0],[6,"Mode",0],[5,"Hpke",0],[10,"HpkeCrypto",168],[1,"unit"],[6,"Result",169],[10,"Deserializer",170],[1,"bool"],[5,"Context",0],[1,"usize"],[5,"Vec",171],[5,"Formatter",172],[8,"Result",172],[5,"Error",172],[10,"Debug",172],[6,"Error",173],[1,"tuple"],[6,"KemAlgorithm",174],[6,"KdfAlgorithm",174],[6,"AeadAlgorithm",174],[6,"Option",175],[10,"Serializer",176],[6,"Error",177],[10,"Read",178],[10,"Write",178],[5,"String",179],[5,"TypeId",180],[17,"Error"],[10,"TryFrom",160,181],[1,"str"]],"r":[[162,181]],"b":[[67,"impl-Debug-for-HpkeError"],[68,"impl-Display-for-HpkeError"],[72,"impl-Display-for-Mode"],[73,"impl-Debug-for-Mode"],[74,"impl-Display-for-Hpke%3CCrypto%3E"],[75,"impl-Debug-for-Hpke%3CCrypto%3E"],[80,"impl-From%3CVec%3Cu8%3E%3E-for-HpkePublicKey"],[81,"impl-From%3C%26%5Bu8%5D%3E-for-HpkePublicKey"],[82,"impl-From%3CVec%3Cu8%3E%3E-for-HpkePrivateKey"],[84,"impl-From%3C%26%5Bu8%5D%3E-for-HpkePrivateKey"],[85,"impl-From%3C(%26%5Bu8%5D,+%26%5Bu8%5D)%3E-for-HpkeKeyPair"],[87,"impl-From%3C(Vec%3Cu8%3E,+Vec%3Cu8%3E)%3E-for-HpkeKeyPair"],[122,"impl-Deserialize-for-%26HpkePublicKey"],[123,"impl-Deserialize-for-HpkePublicKey"],[124,"impl-Serialize-for-HpkePublicKey"],[125,"impl-Serialize-for-%26HpkePublicKey"],[126,"impl-Size-for-HpkePublicKey"],[127,"impl-Size-for-%26HpkePublicKey"]],"c":"OjAAAAEAAAAAAAIAEAAAAAYABwAIAA==","e":"OzAAAAEAAGMACwAGAAIAHAAcADoABwBDAAkATgAAAFEAAgBVAAEAWAAAAHQAAwB7ACUAogAAAA=="}]\ +["hpke_rs",{"t":"PPPFPIIIFGFFFPPPPPPPGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNREKMHHHH","n":["Auth","AuthPsk","Base","Context","CryptoError","HPKEKeyPair","HPKEPrivateKey","HPKEPublicKey","Hpke","HpkeError","HpkeKeyPair","HpkePrivateKey","HpkePublicKey","InconsistentPsk","InsecurePsk","InsufficientRandomness","InvalidConfig","InvalidInput","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","zeroize","Error","HpkeMode","TryFrom","try_from","bytes_to_hex","hex_to_bytes","hex_to_bytes_option","vec_to_option_slice"],"q":[[0,"hpke_rs"],[160,"hpke_rs::prelude"],[164,"hpke_rs::test_util"],[168,"hpke_rs_crypto"],[169,"core::result"],[170,"serde::de"],[171,"alloc::vec"],[172,"core::fmt"],[173,"hpke_rs_crypto::error"],[174,"hpke_rs_crypto::types"],[175,"core::option"],[176,"serde::ser"],[177,"tls_codec"],[178,"std::io"],[179,"alloc::string"],[180,"core::any"],[181,"core::convert"]],"i":[9,9,9,0,7,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,0,7,9,7,7,1,5,16,7,1,5,8,9,10,16,7,1,5,8,9,10,7,1,5,8,9,10,7,1,5,8,9,10,1,5,8,10,1,5,8,9,7,1,5,9,16,16,7,7,1,5,8,9,9,10,10,16,7,7,1,1,1,5,5,5,8,8,8,9,10,8,10,16,7,1,5,8,9,10,8,10,1,5,8,10,16,10,0,8,8,10,16,10,10,10,1,5,8,9,10,10,0,1,1,1,1,1,1,7,1,5,8,9,10,7,9,10,16,7,1,5,8,9,9,10,16,7,1,5,8,9,10,16,7,1,5,8,9,10,5,36,0,0,36,0,0,0,0],"f":"`````````````````````````{{{d{b}}}{{d{{h{f}}}}}}{{{d{j}}}{{d{{h{f}}}}}}{{{d{c}}}{{d{e}}}{}{}}000000{{{d{lc}}}{{d{le}}}{}{}}000000{{{d{n}}}n}{{{d{b}}}b}{{{d{j}}}j}{{{d{A`}}}A`}{{{d{Ab}}}Ab}{{{d{{Ad{c}}}}}{{Ad{c}}}Af}{{{d{c}}{d{le}}}Ah{}{}}00000{{}b}{{}j}{{}A`}{{{d{{Ad{c}}}}{d{{h{f}}}}}{{Aj{A`n}}}Af}{c{{Aj{b}}}Al}{c{{Aj{j}}}Al}{c{{Aj{A`}}}Al}{c{{Aj{Ab}}}Al}{{{d{n}}{d{n}}}An}{{{d{b}}{d{b}}}An}{{{d{j}}{d{j}}}An}{{{d{Ab}}{d{Ab}}}An}{{{d{{B`{c}}}}{d{{h{f}}}}Bb}{{Aj{{Bd{f}}n}}}Af}{{{d{{B`{c}}}}{d{lBf}}}BhAf}{{{d{n}}{d{lBf}}}Bh}0{{{d{b}}{d{lBf}}}Bh}{{{d{j}}{d{lBf}}}{{Aj{AhBj}}}}{{{d{A`}}{d{lBf}}}Bh}{{{d{Ab}}{d{lBf}}}Bh}0{{{d{{Ad{c}}}}{d{lBf}}}BhAf}{{{d{{Ad{c}}}}{d{lBf}}}Bh{BlAf}}{cc{}}{Bnn}1{{{Bd{f}}}b}2{{{d{{h{f}}}}}b}{{{Bd{f}}}j}{{{d{{h{f}}}}}j}5{{{C`{{d{{h{f}}}}{d{{h{f}}}}}}}A`}6{{{C`{{Bd{f}}{Bd{f}}}}}A`}77{{jb}A`}{{{d{l{Ad{c}}}}}{{Aj{A`n}}}Af}{ce{}{}}000000{A`{{C`{jb}}}}{{{d{{Ad{c}}}}{d{{h{f}}}}{d{{h{f}}}}{d{{h{f}}}}{d{{h{f}}}}}{{Aj{{B`{c}}n}}}Af}:8{{{Bd{f}}{Bd{f}}}A`}{{AbCbCdCf}{{Ad{c}}}Af}{{{d{l{B`{c}}}}{d{{h{f}}}}{d{{h{f}}}}}{{Aj{{Bd{f}}n}}}Af}{{{d{{Ad{c}}}}{d{{h{f}}}}{d{j}}{d{{h{f}}}}{d{{h{f}}}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{b}}}}}{{Aj{{Bd{f}}n}}}Af}`{{{d{A`}}}{{d{j}}}}{{{d{A`}}}{{d{b}}}}{{{d{{Ad{c}}}}{d{{h{f}}}}{d{j}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{b}}}}{d{{h{f}}}}Bb}{{Aj{{Bd{f}}n}}}Af}4{{{d{l{Ad{c}}}}{d{b}}{d{{h{f}}}}{d{{h{f}}}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{j}}}}}{{Aj{{C`{{Bd{f}}{Bd{f}}}}n}}}Af}{{{d{l{Ad{c}}}}{d{{h{f}}}}}{{Aj{Ahn}}}Af}{{{d{l{Ad{c}}}}{d{b}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{j}}}}{d{{h{f}}}}Bb}{{Aj{{C`{{Bd{f}}{Bd{f}}}}n}}}Af}{{{d{b}}c}AjCj}{{{d{j}}c}AjCj}{{{d{A`}}c}AjCj}{{{d{Ab}}c}AjCj}{{{d{{Ad{c}}}}{d{{h{f}}}}{d{j}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{b}}}}}{{Aj{{B`{c}}n}}}Af}{{{d{l{Ad{c}}}}{d{b}}{d{{h{f}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{{h{f}}}}}}{Ch{{d{j}}}}}{{Aj{{C`{{Bd{f}}{B`{c}}}}n}}}Af}`{{{d{lc}}}{{Aj{{d{b}}Cl}}}Cn}{{{d{lc}}}{{Aj{bCl}}}Cn}{{{d{{d{b}}}}{d{lc}}}{{Aj{BbCl}}}D`}{{{d{b}}{d{lc}}}{{Aj{BbCl}}}D`}{{{d{{d{b}}}}}Bb}{{{d{b}}}Bb}{{{d{c}}}e{}{}}00000{{{d{c}}}Db{}}00{c{{Aj{e}}}{}{}}00000{f{{Aj{Abn}}}}11111111{{{d{c}}}Dd{}}000000{{{d{lj}}}Ah}```{c{{Aj{{Dh{}{{Df{e}}}}e}}}{}{}}{{{d{{h{f}}}}}Db}{{{d{Dj}}}{{Bd{f}}}}{{{Ch{Db}}}{{Bd{f}}}}{{{d{{h{f}}}}}{{Ch{{d{{h{f}}}}}}}}","D":"Hj","p":[[5,"HpkePublicKey",0],[1,"reference"],[1,"u8"],[1,"slice"],[5,"HpkePrivateKey",0],[0,"mut"],[6,"HpkeError",0],[5,"HpkeKeyPair",0],[6,"Mode",0],[5,"Hpke",0],[10,"HpkeCrypto",168],[1,"unit"],[6,"Result",169],[10,"Deserializer",170],[1,"bool"],[5,"Context",0],[1,"usize"],[5,"Vec",171],[5,"Formatter",172],[8,"Result",172],[5,"Error",172],[10,"Debug",172],[6,"Error",173],[1,"tuple"],[6,"KemAlgorithm",174],[6,"KdfAlgorithm",174],[6,"AeadAlgorithm",174],[6,"Option",175],[10,"Serializer",176],[6,"Error",177],[10,"Read",178],[10,"Write",178],[5,"String",179],[5,"TypeId",180],[17,"Error"],[10,"TryFrom",160,181],[1,"str"]],"r":[[162,181]],"b":[[67,"impl-Display-for-HpkeError"],[68,"impl-Debug-for-HpkeError"],[72,"impl-Debug-for-Mode"],[73,"impl-Display-for-Mode"],[74,"impl-Display-for-Hpke%3CCrypto%3E"],[75,"impl-Debug-for-Hpke%3CCrypto%3E"],[79,"impl-From%3CVec%3Cu8%3E%3E-for-HpkePublicKey"],[81,"impl-From%3C%26%5Bu8%5D%3E-for-HpkePublicKey"],[82,"impl-From%3CVec%3Cu8%3E%3E-for-HpkePrivateKey"],[83,"impl-From%3C%26%5Bu8%5D%3E-for-HpkePrivateKey"],[85,"impl-From%3C(%26%5Bu8%5D,+%26%5Bu8%5D)%3E-for-HpkeKeyPair"],[87,"impl-From%3C(Vec%3Cu8%3E,+Vec%3Cu8%3E)%3E-for-HpkeKeyPair"],[122,"impl-Deserialize-for-%26HpkePublicKey"],[123,"impl-Deserialize-for-HpkePublicKey"],[124,"impl-Serialize-for-%26HpkePublicKey"],[125,"impl-Serialize-for-HpkePublicKey"],[126,"impl-Size-for-%26HpkePublicKey"],[127,"impl-Size-for-HpkePublicKey"]],"c":"OjAAAAEAAAAAAAIAEAAAAAYABwAIAA==","e":"OzAAAAEAAGMADAAGAAIAHAAcADoABwBDAAkATgAAAFAAAABSAAIAVgAAAFgAAAB0AAMAewAlAKIAAAA="}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex);