diff --git a/crates/backend/koala-bear/src/monty_31/monty_31.rs b/crates/backend/koala-bear/src/monty_31/monty_31.rs index b4be71e5..7de88fa2 100644 --- a/crates/backend/koala-bear/src/monty_31/monty_31.rs +++ b/crates/backend/koala-bear/src/monty_31/monty_31.rs @@ -160,6 +160,9 @@ impl<'de, FP: FieldParameters> Deserialize<'de> for MontyField31 { fn deserialize>(d: D) -> Result { // It's faster to Serialize and Deserialize in monty form. let val = u32::deserialize(d)?; + if val >= FP::PRIME { + return Err(serde::de::Error::custom("non-canonical MontyField31 value")); + } Ok(Self::new_monty(val)) } }