Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions src/asymmetric_crypto/curves/curve_25519/curve_secret.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,17 @@ impl SecretCBytes<{ CURVE_25519_SECRET_LENGTH }> for Curve25519Secret {}
/// Key Serialization framework
#[cfg(feature = "ser")]
impl Serializable for Curve25519Secret {
type Error = CryptoCoreError;

fn length(&self) -> usize {
Self::LENGTH
}

fn write(&self, ser: &mut Serializer) -> Result<usize, Self::Error> {
ser.write_array(self.as_bytes())
fn write<S: Serializer>(&self, ser: &mut S) -> Result<usize, S::Error> {
ser.write_bytes(self.as_bytes())
}

fn read(de: &mut Deserializer) -> Result<Self, Self::Error> {
let bytes = de.read_array::<{ Self::LENGTH }>()?;
Self::try_from_bytes(bytes)
fn read<D: Deserializer>(de: &mut D) -> Result<Self, D::Error> {
let bytes = <[u8; Self::LENGTH]>::read(de)?;
Self::try_from_bytes(bytes).map_err(D::Error::from)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,16 @@ impl From<&R25519PrivateKey> for R25519CurvePoint {

#[cfg(feature = "ser")]
impl Serializable for R25519CurvePoint {
type Error = CryptoCoreError;

fn length(&self) -> usize {
Self::LENGTH
}

fn write(&self, ser: &mut crate::bytes_ser_de::Serializer) -> Result<usize, Self::Error> {
ser.write_array(&self.0.compress().to_bytes())
fn write<S: crate::bytes_ser_de::Serializer>(&self, ser: &mut S) -> Result<usize, S::Error> {
self.0.compress().to_bytes().write(ser)
}

fn read(de: &mut crate::bytes_ser_de::Deserializer) -> Result<Self, Self::Error> {
Self::try_from_bytes(de.read_array::<{ Self::LENGTH }>()?)
fn read<D: crate::bytes_ser_de::Deserializer>(de: &mut D) -> Result<Self, D::Error> {
Self::try_from_bytes(<[u8; Self::LENGTH]>::read(de)?).map_err(D::Error::from)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,17 @@ impl SecretCBytes<{ R25519_PRIVATE_KEY_LENGTH }> for R25519PrivateKey {}
/// Key Serialization framework
#[cfg(feature = "ser")]
impl Serializable for R25519PrivateKey {
type Error = CryptoCoreError;

fn length(&self) -> usize {
Self::LENGTH
}

fn write(&self, ser: &mut Serializer) -> Result<usize, Self::Error> {
ser.write_array(self.as_bytes())
fn write<S: Serializer>(&self, ser: &mut S) -> Result<usize, S::Error> {
ser.write_bytes(self.as_bytes())
}

fn read(de: &mut Deserializer) -> Result<Self, Self::Error> {
let bytes = de.read_array::<{ Self::LENGTH }>()?;
Self::try_from_bytes(bytes)
fn read<D: Deserializer>(de: &mut D) -> Result<Self, D::Error> {
let bytes = <[u8; Self::LENGTH]>::read(de)?;
Self::try_from_bytes(bytes).map_err(D::Error::from)
}
}

Expand Down
12 changes: 5 additions & 7 deletions src/asymmetric_crypto/curves/nist/private_key.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
#[cfg(feature = "ser")]
use crate::bytes_ser_de::{Deserializer, Serializable, Serializer};
use crate::{
pkcs8_fix, reexport::rand_core::CryptoRngCore, CBytes, CryptoCoreError, CsRng, FixedSizeCBytes,

Check warning on line 19 in src/asymmetric_crypto/curves/nist/private_key.rs

View workflow job for this annotation

GitHub Actions / hack

unused import: `FixedSizeCBytes`

Check warning on line 19 in src/asymmetric_crypto/curves/nist/private_key.rs

View workflow job for this annotation

GitHub Actions / hack

unused imports: `SecretCBytes` and `reexport::rand_core::CryptoRngCore`

Check warning on line 19 in src/asymmetric_crypto/curves/nist/private_key.rs

View workflow job for this annotation

GitHub Actions / hack

unused import: `FixedSizeCBytes`

Check warning on line 19 in src/asymmetric_crypto/curves/nist/private_key.rs

View workflow job for this annotation

GitHub Actions / hack

unused imports: `SecretCBytes` and `reexport::rand_core::CryptoRngCore`
NistPublicKey, RandomFixedSizeCBytes, SecretCBytes,

Check warning on line 20 in src/asymmetric_crypto/curves/nist/private_key.rs

View workflow job for this annotation

GitHub Actions / hack

unused import: `RandomFixedSizeCBytes`
};

/// Nist Curve private key
Expand Down Expand Up @@ -150,19 +150,17 @@
/// Key Serialization framework
#[cfg(all(feature = "ser", feature = "aes"))]
impl<C: Curve + CurveArithmetic, const LENGTH: usize> Serializable for NistPrivateKey<C, LENGTH> {
type Error = CryptoCoreError;

fn length(&self) -> usize {
LENGTH
}

fn write(&self, ser: &mut Serializer) -> Result<usize, Self::Error> {
ser.write_array(self.as_bytes())
fn write<S: Serializer>(&self, ser: &mut S) -> Result<usize, S::Error> {
ser.write_bytes(self.as_bytes())
}

fn read(de: &mut Deserializer) -> Result<Self, Self::Error> {
let bytes = de.read_array::<LENGTH>()?;
Self::try_from_bytes(bytes)
fn read<D: Deserializer>(de: &mut D) -> Result<Self, D::Error> {
let bytes = <[u8; LENGTH]>::read(de)?;
Self::try_from_bytes(bytes).map_err(D::Error::from)
}
}

Expand Down
12 changes: 5 additions & 7 deletions src/asymmetric_crypto/curves/nist/public_key.rs
Original file line number Diff line number Diff line change
Expand Up @@ -149,19 +149,17 @@ where
<C as CurveArithmetic>::AffinePoint: sec1::ToEncodedPoint<C>,
<C as CurveArithmetic>::AffinePoint: sec1::FromEncodedPoint<C>,
{
type Error = CryptoCoreError;

fn length(&self) -> usize {
LENGTH
}

fn write(&self, ser: &mut Serializer) -> Result<usize, Self::Error> {
ser.write_array(self.to_bytes().as_ref())
fn write<S: Serializer>(&self, ser: &mut S) -> Result<usize, S::Error> {
self.to_bytes().write(ser)
}

fn read(de: &mut Deserializer) -> Result<Self, Self::Error> {
let bytes = de.read_array::<LENGTH>()?;
Self::try_from_bytes(bytes)
fn read<D: Deserializer>(de: &mut D) -> Result<Self, D::Error> {
let bytes = <[u8; LENGTH]>::read(de)?;
Self::try_from_bytes(bytes).map_err(D::Error::from)
}
}

Expand Down
20 changes: 9 additions & 11 deletions src/bytes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ macro_rules! _define_byte_type {

use std::ops::{Deref, DerefMut};

use $crate::{
bytes_ser_de::Serializable, reexport::rand_core::RngCore, CryptoCoreError, Sampling,
};
use $crate::{bytes_ser_de::Serializable, reexport::rand_core::RngCore, Sampling};

impl<const LENGTH: usize> Deref for $name<LENGTH> {
type Target = [u8; LENGTH];
Expand Down Expand Up @@ -84,21 +82,21 @@ macro_rules! _define_byte_type {
}

impl<const LENGTH: usize> Serializable for $name<LENGTH> {
type Error = CryptoCoreError;

fn length(&self) -> usize {
LENGTH
}

fn write(
fn write<S: $crate::bytes_ser_de::Serializer>(
&self,
ser: &mut $crate::bytes_ser_de::Serializer,
) -> Result<usize, Self::Error> {
ser.write_array(&self.0)
ser: &mut S,
) -> Result<usize, S::Error> {
ser.write_bytes(&self.0)
}

fn read(de: &mut $crate::bytes_ser_de::Deserializer) -> Result<Self, Self::Error> {
de.read_array::<LENGTH>().map(Self)
fn read<D: $crate::bytes_ser_de::Deserializer>(
de: &mut D,
) -> Result<Self, D::Error> {
<[u8; LENGTH]>::read(de).map(Self)
}
}
}
Expand Down
Loading
Loading