Skip to content
This repository has been archived by the owner on Jan 8, 2025. It is now read-only.

Investigate signature algorithm limitations due to bitmasks in ssl/ssl_local.h #214

Closed
xvzcf opened this issue Jun 18, 2020 · 1 comment · Fixed by #249
Closed

Investigate signature algorithm limitations due to bitmasks in ssl/ssl_local.h #214

xvzcf opened this issue Jun 18, 2020 · 1 comment · Fixed by #249
Assignees

Comments

@xvzcf
Copy link

xvzcf commented Jun 18, 2020

In ssl/ssl_local.h, there are #defines that assign one-hot encodings to each signature algorithm. These encodings are used in ssl/ssl_cert_table.h, and are assigned to a uint32_t variable called "amask" (declared here).

Since the encodings are one-hot, at most 32 different signature algorithms can be encoded, and since 8 bits are already used up by OpenSSL by default, at most 24 different OQS signature algorithms can be encoded and assigned to "amask" at any given instant.

We should look into overcoming this limitation.

@baentsch
Copy link
Member

@xvzcf Looking into a few "past" issues I wonder what would speak against changing amask to a uint64_t? If I'm not mistaken after the round 3 downselect we have 37 (OQS-)sig (incl. hybrid) combinations and this "upgrade" would give us ample room. I changed what I think is required in branch "mb-issue214" but for some reason can't create a draft PR... So maybe you can "manually" compare to check the changes (pretty minimal).

baentsch added a commit that referenced this issue Nov 2, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants