@@ -4,12 +4,12 @@ use crate::{
44} ;
55use core:: fmt;
66use digest:: {
7- CustomizedInit , HashMarker , Reset ,
7+ CollisionResistance , CustomizedInit , HashMarker , Reset ,
88 block_api:: {
99 AlgorithmName , Block , BlockSizeUser , Buffer , BufferKindUser , Eager , ExtendableOutputCore ,
1010 UpdateCore ,
1111 } ,
12- consts:: { U136 , U168 , U400 } ,
12+ consts:: { U16 , U32 , U136 , U168 , U400 } ,
1313 crypto_common:: hazmat:: { DeserializeStateError , SerializableState , SerializedState } ,
1414 typenum:: Unsigned ,
1515} ;
@@ -212,3 +212,13 @@ macro_rules! impl_cshake {
212212
213213impl_cshake ! ( CShake128Core , CShake128 , CShake128Reader , U168 , "cSHAKE128" ) ;
214214impl_cshake ! ( CShake256Core , CShake256 , CShake256Reader , U136 , "cSHAKE256" ) ;
215+
216+ impl CollisionResistance for CShake128 {
217+ // https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf#[{"num":68,"gen":0},{"name":"XYZ"},108,440,null]
218+ type CollisionResistance = U16 ;
219+ }
220+
221+ impl CollisionResistance for CShake256 {
222+ // https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf#[{"num":68,"gen":0},{"name":"XYZ"},108,440,null]
223+ type CollisionResistance = U32 ;
224+ }
0 commit comments