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

Gemss #79

Merged
merged 23 commits into from
Jul 17, 2020
Merged

Gemss #79

merged 23 commits into from
Jul 17, 2020

Conversation

Hennich
Copy link
Contributor

@Hennich Hennich commented May 28, 2020

No description provided.

@Hennich Hennich requested a review from a team as a code owner May 28, 2020 18:35
Copy link
Contributor

@dingens dingens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments below. There's mainly one thing I'd like to change about the flavors, see below, and a couple minor things.

I've looked at some of the benchmark numbers and all those I checked differ from those in the specs I have here (from NIST, same as the one in the pdf I just added in the last commit), so I assume it's not a typo but we have different versions. Where is your pdf from?

classical: 128
quantum: 174
nist category: 1
failure probability: -24204404
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For signature schemes, I think it is always possible to detect a failure and create a second signature, thus effectively reaching a zero failure probability. Unfortunately, they don't talk about this in the specs. Did you have a look at the implementation, by chance?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, I didn't

@@ -0,0 +1,3 @@
name: GeMSS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to me that the "colors" are not really separate flavors (they don't differ in anything but the numbers), but rather just "groups" of parameter sets. At least, the data you've entered is the same everywhere. It looks like the implementations are also all the same, correct?

I'd suggest we merge them into one flavor. (That should be quickly done by some copy'n'pasting. I can do it if you like. I like hacking around with sed ;) )

Copy link
Contributor Author

@Hennich Hennich Jun 2, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the documentation what flavours are for? Like, what is our intention, when to use flavours?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, R&S have already mentioned this, there's indeed a lack of documentation here.

Basically, what we thought about when making up the separation was that there's things that are

  • more different than just parameter sets
  • but still belong together somehow

for example, because they have a differing API (for example a passively secure PKE (KTM) and an actively secure KEM built upon the former), or completely different and incompatible implementations (for example, one scheme using AES and one using Shake). The latter is not a harsh definition, this could also be implemented as parameter sets, but we thought it's clearer when we call them flavors).

Because the red/blue/vanilla GeMSS schemes only differ in the numbers, it's a quite clear case of parameter sets. What is different between them is just how strict they are in the qubits<->category relation. (Personally, I'd expect NIST to opt for one "color" (=calculation method) and throw out the rest anyways)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you can do it easily, I would prefer if you do it.
The other changes are done.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. In fact, it didn't even involve sed, just renaming and moving :)

signatures/gemss/gemss/impl/opt.yaml Outdated Show resolved Hide resolved
signatures/gemss/gemss/impl/additional.yaml Outdated Show resolved Hide resolved
signatures/gemss/gemss/param/128.yaml Show resolved Hide resolved
signatures/gemss/BlueGemss/param/128.yaml Outdated Show resolved Hide resolved
signatures/gemss/BlueGemss/param/128.yaml Outdated Show resolved Hide resolved
@Hennich
Copy link
Contributor Author

Hennich commented Jun 2, 2020

I used the data given in https://www-polsys.lip6.fr/Links/NIST/changes_round2_V2.pdf

Copy link
Contributor

@dingens dingens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I've checked the numbers now with the new document. I just found one typo. Can you address the stuff above?

@taudor taudor linked an issue Jul 15, 2020 that may be closed by this pull request
@dingens dingens merged commit 99f32a9 into master Jul 17, 2020
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 this pull request may close these issues.

Add GeMSS
2 participants