Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SNOVA Optimization #14

Closed
pqclab-zero opened this issue May 13, 2024 · 4 comments · Fixed by #19
Closed

SNOVA Optimization #14

pqclab-zero opened this issue May 13, 2024 · 4 comments · Fixed by #19

Comments

@pqclab-zero
Copy link

Dear All,

I hope this message finds you well. I am pleased to announce that the latest optimized code for the SNOVA post-quantum cryptography digital signature scheme has been updated on GitHub. This update brings some significant improvements and optimizations, which we believe will enhance the security and performance of our signature scheme.

You can find the latest code at the following link: https://github.com/PQCLAB-SNOVA/SNOVA

Here are the latest benchmarks for efficiency:

            name   generate_keys_ssk   generate_keys_esk   sign_digest_ssk   sign_digest_esk   verify_signture
SNOVA(37, 17, 2)             801,339             828,048           690,663           338,723           146,738
 SNOVA(25, 8, 3)             433,186             442,031           713,438           370,046           218,801
 SNOVA(24, 5, 4)             202,843             212,256           444,236           306,736           163,805
SNOVA(56, 25, 2)           4,207,799           4,302,330         3,332,244           964,716           507,009
SNOVA(49, 11, 3)           2,758,759           2,808,062         3,702,911         1,365,463         1,004,519
 SNOVA(37, 8, 4)             891,056             933,377         1,795,054         1,188,690           544,395
SNOVA(75, 33, 2)          11,844,511          12,109,075         8,871,223         2,304,920         1,165,161
SNOVA(66, 15, 3)           8,635,966           8,779,555        10,685,501         3,546,746         2,460,059
SNOVA(60, 10, 4)           3,877,397           4,013,756         6,206,765         3,110,898         1,504,945

Our team remains committed to continuously improving and optimizing our digital signature scheme to provide better security in the post-quantum era. If you have any questions or suggestions, please feel free to contact us anytime.

Thank you once again for your attention and support to our work!

Best Regards,
SNOVA TEAM

@thomwiggers
Copy link
Collaborator

Thanks for the update---it's pretty tough to keep up with what's happening so I'm afraid many scheme's data got a little bit stale. This helps.

Just to clarify what I'm looking at, what's the difference between ssk and esk?

@pqclab-zero
Copy link
Author

ssk uses the seed as the private key, esk uses the private key that has already been expanded, so when signing with ssk, the private key will be expanded by seed first, but this is not needed when using esk, so it is faster.

@pqclab-zero
Copy link
Author

However, the storage space of the esk private key is larger.

@pqclab-zero
Copy link
Author

pqclab-zero commented May 13, 2024

SNOVA parameter

SL Name V O L sk size (esk) sk size (ssk) pk size sign size
1 SNOVA_37_17_2 37 17 2 60008(+48) 48 9826(+16) 108(+16)
1 SNOVA_25_8_3 25 8 3 37962(+48) 48 2304(+16) 148.5(+16)
1 SNOVA_24_5_4 24 5 4 34112(+48) 48 1000(+16) 232(+16)
3 SNOVA_56_25_2 56 25 2 202132(+48) 48 31250(+16) 162(+16)
3 SNOVA_49_11_3 49 11 3 174798(+48) 48 5989.5(+16) 270(+16)
3 SNOVA_37_8_4 37 8 4 128384(+48) 48 4096(+16) 360(+16)
5 SNOVA_75_33_2 75 33 2 515360(+48) 48 71874(+16) 216(+16)
5 SNOVA_66_15_3 66 15 3 432297(+48) 48 15187.5(+16) 364.5(+16)
5 SNOVA_60_10_4 60 10 4 389312(+48) 48 8000(+16) 560(+16)

esk vs ssk

@thomwiggers thomwiggers linked a pull request Oct 28, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants