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

Create generators flexibility #264

Merged
merged 8 commits into from
Jun 26, 2023
Merged

Conversation

BasileiosKal
Copy link
Contributor

Closes #206

Going with option 2 from the issue, allowing the definition of new create_generators and listing the relative requirements. Τhis will also benefit use cases like Bound signatures.

@BasileiosKal
Copy link
Contributor Author

Discussed on the WG call on the 29th of May, will re-consider the use of extra_info and add the PK as a parameter to the create_generators API.

@BasileiosKal BasileiosKal mentioned this pull request Jun 15, 2023
@christianpaquin
Copy link
Contributor

I'm not sure I understand the goal of parameterizing the generators creation. Isn't there a value for applications to pre-generate and reuse them across many issuers (which would not be possible of if they depend on an issuer PK). Is the goal of the header to further scope the generators, so an issuer can have multiple distinct generators? Generators can be used to track users, so their uniformity has value.

@andrewwhitehead
Copy link
Contributor

The ciphersuite does not have to take the PK and header into account when creating the generators, and the ones defined by the spec will not. It just seemed reasonable to pass those parameters in case the suite wants to define the generators differently (such as how the original implementation did, based on the issuer PK and number of messages). I don't think this increases correlation as the PK and header are known to all verifiers.

@christianpaquin
Copy link
Contributor

I don't think this increases correlation as the PK and header are known to all verifiers.

What header is this again? Is it a ciphersuite defined one, or a per-issuance one? I was just concerned that an issuer could pick a different header to create a "tagged" signature for a user.

@andrewwhitehead
Copy link
Contributor

It's the signature header, which is per issuance (and may be empty). It contributes to the domain hash.

@christianpaquin
Copy link
Contributor

It's the signature header, which is per issuance (and may be empty). It contributes to the domain hash.

Ok, so it doesn't add traceability risks then.

@BasileiosKal
Copy link
Contributor Author

I think a malicious issuer could use a unique header per signature to track the user. There are plans for adding privacy considerations to address this. The user (or anyone else) could check the header and decide if it is conformant to those considerations.

Indented use-cases for the header (e.g., to include algorithm/protocol identifiers etc.,) make it hard to define it as part of the ciphersuite.

@BasileiosKal
Copy link
Contributor Author

Discussed on the WG call on the 19th of June. Will remove the header parameter from the Inputs of create_generators.

@christianpaquin
Copy link
Contributor

Discussed on the WG call on the 19th of June. Will remove the header parameter from the Inputs of create_generators.

The fixtures from PR #269 currently used the header, right?

@BasileiosKal
Copy link
Contributor Author

The fixtures from PR #269 currently used the header, right?

I think the header should be ignored by the create generators procedure. It should be the same procedure, (i.e., hash_to_generators == the current create_generators from the main spec).

Similar to the PK, it was supplied in the core operations but ignored by the ciphersuite (I did removed the header entirely also)

Copy link
Contributor

@christianpaquin christianpaquin left a comment

Choose a reason for hiding this comment

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

LGTM

@tplooker
Copy link
Member

Discussed on WG call 26th of June, multiple approvals merging.

@tplooker tplooker merged commit 740e7d3 into main Jun 26, 2023
@tplooker tplooker deleted the vasilis/generators-flexibility branch June 26, 2023 18:17
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.

create_generators flexibility
5 participants