open-quantum-safe / liboqs-java

liboqs-java is an open source Java wrapper for the liboqs C library. The Open Quantum Safe (OQS) project provides software for prototyping quantum-resistant cryptography.
https://openquantumsafe.org
MIT License
37 stars 24 forks source link

Different secret key size(Dilithium3) and Signature (Falcon-1024) #17

Closed gpadisal closed 3 years ago

gpadisal commented 3 years ago

Dilithium3 secretkey size is 4000 vs NIST 4016 Falcon-1024 Signature size 1330 vs NIST 1280

bhess commented 3 years ago

Dilithium3 secret key size was changed to 4000 bytes as part of the version 3.1 specification update. Falcon-1024 defines 1330 bytes for signatures in their reference implementation. I believe it is because of the encoding used for the signature blob in the NIST API.

gpadisal commented 3 years ago

Hi , Thanks for your quick reply. Appreciate your help to clarify few points

  1. could you confirm OQS referring updated params
  2. Where can I refer these updated params from NIST submissions/package ?
  3. does OQS lib has the original version of Dilithium3 with secret size 4016 ?

Thanks.

bhess commented 3 years ago
  1. could you confirm OQS referring updated params

You can find which upstream versions OQS uses and the key/signature sizes in the docs. For Dilithium and Falcon:

https://openquantumsafe.org/liboqs/algorithms/sig/dilithium https://openquantumsafe.org/liboqs/algorithms/sig/falcon

2. Where can I refer these updated params from NIST submissions/package ?

They should be available on the Authors' websites for the submissions (available under the links above).

3. does OQS lib has the original version of Dilithium3 with secret size 4016 ?

OQS uses the latest Dilithium3 version with secret key size 4000 bytes. See the version 3.1 spec on the Dilithium site: https://pq-crystals.org/dilithium/resources.shtml