Skip to content

Commit 16b9f1c

Browse files
committed
Fix Scalar Serde implementation
1 parent 4868520 commit 16b9f1c

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

ed448-goldilocks/src/edwards/scalar.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ mod test {
297297
let res = serde_bare::to_vec(&EdwardsScalar::TWO_INV);
298298
assert!(res.is_ok());
299299
let sb = res.unwrap();
300-
assert_eq!(sb.len(), 57);
300+
assert_eq!(sb.len(), 58);
301301

302302
let res = serde_bare::from_slice::<EdwardsScalar>(&sb);
303303
assert!(res.is_ok());

ed448-goldilocks/src/field/scalar.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ impl<C: CurveWithScalar> serdect::serde::Serialize for Scalar<C> {
430430
where
431431
S: serdect::serde::Serializer,
432432
{
433-
serdect::slice::serialize_hex_lower_or_bin(&self.to_bytes(), s)
433+
serdect::slice::serialize_hex_lower_or_bin(&self.to_repr(), s)
434434
}
435435
}
436436

@@ -441,7 +441,7 @@ impl<'de, C: CurveWithScalar> serdect::serde::Deserialize<'de> for Scalar<C> {
441441
D: serdect::serde::Deserializer<'de>,
442442
{
443443
let mut buffer = ScalarBytes::<C>::default();
444-
serdect::array::deserialize_hex_or_bin(&mut buffer[..56], d)?;
444+
serdect::array::deserialize_hex_or_bin(&mut buffer, d)?;
445445
Option::from(Self::from_canonical_bytes(&buffer)).ok_or(serdect::serde::de::Error::custom(
446446
"scalar was not canonically encoded",
447447
))

ed448-goldilocks/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,12 @@ impl PointCompression for Ed448 {
100100

101101
impl FieldBytesEncoding<Ed448> for U448 {
102102
fn decode_field_bytes(field_bytes: &Ed448FieldBytes) -> Self {
103-
U448::from_le_slice(field_bytes)
103+
U448::from_le_slice(&field_bytes[..56])
104104
}
105105

106106
fn encode_field_bytes(&self) -> Ed448FieldBytes {
107107
let mut data = Ed448FieldBytes::default();
108-
data.copy_from_slice(&self.to_le_byte_array()[..]);
108+
data[..56].copy_from_slice(&self.to_le_byte_array());
109109
data
110110
}
111111
}

0 commit comments

Comments
 (0)