Replies: 4 comments 5 replies
-
Tagging @bhess who is our main link with the PQ Crystals team. |
Beta Was this translation helpful? Give feedback.
-
Hi @yogappu: See the "Note on the intermediate values for ML-KEM:" and "Note on the intermediate values for ML-DSA:" in https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization/example-files. |
Beta Was this translation helpful? Give feedback.
-
@bhess i had a look at the link provided. So, as per the above link and also my observations, most of the changes proposed in the 5th PQC conference are already implemented in ml-dsa/kem of liboqs. I could notice a proposed change for ML-DSA, that could be backward incompatible that is yet to be implemented since its recently announced. Additionally, i had few questions listed below, also mentioned in the link provided by you above: -ML-DSA : Fix missing check in HintBitUnpack |
Beta Was this translation helpful? Give feedback.
-
@bhess even for ExpandMask, i have the same doubt |
Beta Was this translation helpful? Give feedback.
-
Hello,
I was going through the fifth PQC conference notes for ML-KEM and DSA from : https://csrc.nist.gov/events/2024/fifth-pqc-standardization-conference and had doubts/needed confirmation for below points.
• As pointed out by Vadim Lyubashevsky, offset not necessary to prevent SHAKE output bits from being reused
As per https://github.com/open-quantum-safe/liboqs/blob/main/src/sig/ml_dsa/pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref/poly.c#L469, the implementation is more closer to Dilithium spec(Sampling the vectors y section) rather than FIPS 204 Algorithm 28
making SHAKE output to be used without "r" offset. Hence, the implementation for ML-DSA already has the fix. Correct ?
This is also taken care here and not as per algorithm 12 and 13 of FIPS203 : https://github.com/open-quantum-safe/liboqs/blob/main/src/kem/kyber/pqcrystals-kyber_kyber768_ref/indcpa.c#L174.
For not-transposed matrix : XOF(p,j,i)
For transposed matrix : XOF(p,i,j)
Correct ?
• Check is necessary for Strong Unforgeability (SUF-CMA)
I am not sure about this check ? what is missing currently ?
i could find a similar comment https://github.com/open-quantum-safe/liboqs/blob/main/src/sig/ml_dsa/pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref/packing.c#L223. Is this what is being asked above and what is rationale behind it ?
Beta Was this translation helpful? Give feedback.
All reactions