[−][src]Trait ece::Crypto
Associated Types
type RemotePublicKey: RemotePublicKey
type LocalKeyPair: LocalKeyPair
Required methods
fn public_key_from_raw(raw: &[u8]) -> Result<Self::RemotePublicKey>
Construct a RemotePublicKey
from raw bytes typically obtained in a HTTP ECE header.
fn generate_ephemeral_keypair() -> Result<Self::LocalKeyPair>
fn compute_ecdh_secret(
remote: &Self::RemotePublicKey,
local: &Self::LocalKeyPair
) -> Result<Vec<u8>>
remote: &Self::RemotePublicKey,
local: &Self::LocalKeyPair
) -> Result<Vec<u8>>
fn hkdf_sha256(
salt: &[u8],
secret: &[u8],
info: &[u8],
len: usize
) -> Result<Vec<u8>>
salt: &[u8],
secret: &[u8],
info: &[u8],
len: usize
) -> Result<Vec<u8>>
fn aes_gcm_128_encrypt(
key: &[u8],
iv: &[u8],
data: &[u8],
tag_len: usize
) -> Result<Vec<u8>>
key: &[u8],
iv: &[u8],
data: &[u8],
tag_len: usize
) -> Result<Vec<u8>>
Should return [ciphertext, auth_tag].
fn aes_gcm_128_decrypt(
key: &[u8],
iv: &[u8],
data: &[u8],
tag: &[u8]
) -> Result<Vec<u8>>
key: &[u8],
iv: &[u8],
data: &[u8],
tag: &[u8]
) -> Result<Vec<u8>>
fn random(dest: &mut [u8]) -> Result<()>
Implementors
impl Crypto for OpenSSLCrypto
[src]
type RemotePublicKey = OpenSSLRemotePublicKey
type LocalKeyPair = OpenSSLLocalKeyPair
fn public_key_from_raw(raw: &[u8]) -> Result<Self::RemotePublicKey>
[src]
fn generate_ephemeral_keypair() -> Result<Self::LocalKeyPair>
[src]
fn compute_ecdh_secret(
remote: &Self::RemotePublicKey,
local: &Self::LocalKeyPair
) -> Result<Vec<u8>>
[src]
remote: &Self::RemotePublicKey,
local: &Self::LocalKeyPair
) -> Result<Vec<u8>>
fn hkdf_sha256(
salt: &[u8],
secret: &[u8],
info: &[u8],
len: usize
) -> Result<Vec<u8>>
[src]
salt: &[u8],
secret: &[u8],
info: &[u8],
len: usize
) -> Result<Vec<u8>>
fn aes_gcm_128_encrypt(
key: &[u8],
iv: &[u8],
data: &[u8],
tag_len: usize
) -> Result<Vec<u8>>
[src]
key: &[u8],
iv: &[u8],
data: &[u8],
tag_len: usize
) -> Result<Vec<u8>>
fn aes_gcm_128_decrypt(
key: &[u8],
iv: &[u8],
data: &[u8],
tag: &[u8]
) -> Result<Vec<u8>>
[src]
key: &[u8],
iv: &[u8],
data: &[u8],
tag: &[u8]
) -> Result<Vec<u8>>