Remove Zeroize Tests (#381)
* Remove Zeroize tests * Remove `Zeroize` requirements from `Group::Pk` * Remove `Copy` requirements from `Group::Pk` * Change to `ZeroizeOnDrop` requirements for `Group::Sk` * Add note why we don't use `elliptic_curve::PublicKey`
This commit is contained in:
@@ -1157,91 +1157,3 @@ fn blind<CS: CipherSuite, R: RngCore + CryptoRng>(
|
||||
|
||||
Ok(result)
|
||||
}
|
||||
|
||||
//////////////////////////
|
||||
// Test Implementations //
|
||||
//===================== //
|
||||
//////////////////////////
|
||||
|
||||
#[cfg(test)]
|
||||
use crate::serialization::AssertZeroized;
|
||||
|
||||
#[cfg(test)]
|
||||
impl<CS: CipherSuite> AssertZeroized for ClientRegistration<CS> {
|
||||
fn assert_zeroized(&self) {
|
||||
let Self {
|
||||
oprf_client,
|
||||
blinded_element,
|
||||
} = self;
|
||||
|
||||
for byte in oprf_client
|
||||
.serialize()
|
||||
.iter()
|
||||
.chain(&blinded_element.serialize())
|
||||
{
|
||||
assert_eq!(byte, &0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
impl<CS: CipherSuite> AssertZeroized for ServerRegistration<CS>
|
||||
where
|
||||
<KeGroup<CS> as Group>::Pk: AssertZeroized,
|
||||
{
|
||||
fn assert_zeroized(&self) {
|
||||
let RegistrationUpload {
|
||||
envelope,
|
||||
masking_key,
|
||||
client_s_pk,
|
||||
} = &self.0;
|
||||
|
||||
envelope.assert_zeroized();
|
||||
|
||||
assert_eq!(masking_key, &GenericArray::default());
|
||||
client_s_pk.assert_zeroized();
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
impl<CS: CipherSuite> AssertZeroized for ClientLogin<CS>
|
||||
where
|
||||
<CS::KeyExchange as KeyExchange>::KE1State: AssertZeroized,
|
||||
<CS::KeyExchange as KeyExchange>::KE1Message: AssertZeroized,
|
||||
{
|
||||
fn assert_zeroized(&self) {
|
||||
let Self {
|
||||
ke1_state,
|
||||
credential_request,
|
||||
oprf_client,
|
||||
} = self;
|
||||
let CredentialRequest {
|
||||
blinded_element,
|
||||
ke1_message,
|
||||
} = credential_request;
|
||||
|
||||
ke1_state.assert_zeroized();
|
||||
ke1_message.assert_zeroized();
|
||||
|
||||
for byte in oprf_client
|
||||
.serialize()
|
||||
.iter()
|
||||
.chain(&blinded_element.serialize())
|
||||
{
|
||||
assert_eq!(byte, &0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
impl<CS: CipherSuite> AssertZeroized for ServerLogin<CS>
|
||||
where
|
||||
PublicKey<KeGroup<CS>>: AssertZeroized,
|
||||
<CS::KeyExchange as KeyExchange>::KE2State<CS>: AssertZeroized,
|
||||
{
|
||||
fn assert_zeroized(&self) {
|
||||
let Self { ke2_state } = self;
|
||||
|
||||
ke2_state.assert_zeroized();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user