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

Dilithium2 incorrectly marked as level 1 #378

Closed
dstebila opened this issue Jul 21, 2022 · 2 comments · Fixed by #381
Closed

Dilithium2 incorrectly marked as level 1 #378

dstebila opened this issue Jul 21, 2022 · 2 comments · Fixed by #381

Comments

@dstebila
Copy link
Member

https://github.com/open-quantum-safe/openssl/blob/OQS-OpenSSL_1_1_1-stable/oqs-template/oqs-sig-info.md

@baentsch
Copy link
Member

The issue stems from

def nist_to_bits(nistlevel):
if nistlevel==1 or nistlevel==2:
return 128
elif nistlevel==3 or nistlevel==4:
return 192
elif nistlevel==5:
return 256
else:
return None
treating both NIST L1 and L2 as "128 bits security". Is this right or wrong? If wrong, the documentation regarding hybrids must be changed, too:

if claims NIST L1 or L2 security, then the fork provides the methods rsa3072_ and p256_, which combine with RSA3072 and with ECDSA using NIST's P256 curve respectively.

If right, we might document "L2" for dilithium2 but without any implications as to any code operations (incl. the classic algs used in hybrid).

@dstebila
Copy link
Member Author

Officially, level 2 means computational resources equivalent to a collision search on a 256-bit hash function such as SHA-256. For a single bit-security metric level 1 and 2 both have 128 bit security, although a more granular resource estimate would view level 2 as having a higher resource requirement than level 1. For our purposes, it is fine to continue viewing level 2 as 128-bit security and pairing it with AES128 and SHA256 / SHA3-256.

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