Replies: 8 comments 7 replies
-
Interesting suggestion. There are already incremental hashing APIs, do you think that people would be satisfied with using the incremental hashing API to hash the long message, then signing that hash using the signature algorithm (which itself will do an extra hash)? Or do you think there will be a desire to directly sign the long message using the signature algorithm without an intermediate step? |
Beta Was this translation helpful? Give feedback.
-
Can you please point to the code that lets you come to this understanding?
Can you please state why this proposal by @dstebila would not work for you? |
Beta Was this translation helpful? Give feedback.
-
Good afternoon. Do you have an update on this? Are you planning on implementing this enhancement? If so, do you have an estimate on its implementation? Thanks! |
Beta Was this translation helpful? Give feedback.
-
@cryptojedi @tlepoint Do you have any opinions on an incremental API for Dilithium signature generation? |
Beta Was this translation helpful? Give feedback.
-
If this is only about signing, I don't have a strong opinion, no. |
Beta Was this translation helpful? Give feedback.
-
@likakisp : Are you looking for a solution only valid for Dilithium or would you possibly want to use other algorithms, too? Should the implementation be efficient in terms of SHA(KE) rounds done? Or asked another way: Is incremental hashing followed by finishing hash-and-sign "good enough"? The latter would arguably be easy to "wrap around" all algorithms. |
Beta Was this translation helpful? Give feedback.
-
@baentsch: No, all PQC algorithms should offer incremental signing or encryption. Thank you. |
Beta Was this translation helpful? Give feedback.
-
OK. This then begs the question of which hashing alg to use: In OpenSSL you can pick-and-choose. Should the same choice be provided by |
Beta Was this translation helpful? Give feedback.
-
Are there any plans to offer "incremental data signing" with liboqs?
Currently, function "crypto_sign_signature" requires the entire message (data) along with the message length to compute a signature (i.e. dilithium).
What if I wanted to sign a 1GB or 2GB data file and my application is limited in memory size (RAM) that is less than the data size? My application would not be able to dynamically allocate a big enough buffer to hold this data.
Do you have any plans to offer "incremental data signing" or "multi part signing"? In this case, chucks of data (message) would be fed to liboqs which it would hash (using shake 256, like it does today) and continue hashing until the final data (message) is received.
Beta Was this translation helpful? Give feedback.
All reactions