use crate::*;
#[test]
fn check_deserialize_non_canonical() {
let mut encoded_generator = <P256Sha256 as Ciphersuite>::Group::serialize(
&<P256Sha256 as Ciphersuite>::Group::generator(),
)
.unwrap();
let r = <P256Sha256 as Ciphersuite>::Group::deserialize(&encoded_generator);
assert!(r.is_ok());
encoded_generator[0] = 0xFF;
let r = <P256Sha256 as Ciphersuite>::Group::deserialize(&encoded_generator);
assert_eq!(r, Err(GroupError::MalformedElement));
let encoded_point =
hex::decode("02ffffffff00000001000000000000000000000001000000000000000000000004")
.unwrap()
.try_into()
.unwrap();
let r = <P256Sha256 as Ciphersuite>::Group::deserialize(&encoded_point);
assert_eq!(r, Err(GroupError::MalformedElement));
}
#[test]
fn check_deserialize_identity() {
let encoded_identity = [0u8; 33];
let r = <P256Sha256 as Ciphersuite>::Group::deserialize(&encoded_identity);
assert_eq!(r, Err(GroupError::MalformedElement));
}