Skip to content

Question: does FastAggregateVerify accept point of infinity PK (i.e., SK=0)? #27

@hwwhww

Description

@hwwhww

(Thanks to @mratsim for pointing out this.)

Hi @kwantam and co.

  • KeyGen and KeyValidate updates #26 disallows point at infinity PK in KeyValidate. Therefore, it's also disallowed in CoreVerify, CoreAggregateVerify, AggregateVerify, and PopVerify.
  • FastAggregateVerify does not use KeyValidate to check the PKs before aggregating the PKs. So having a point at infinity PK is valid.
  • That also means FastAggregateVerify doesn't check pubkey_subgroup_check before calling pubkey_to_point. I'm not sure if it's required for the formal spec. (I suppose implementations return False when pubkey_to_point raises exceptions anyway?)

Questions:

  1. Is this inconsistent behavior intended?
  2. If not, a reminder that most implementations have implemented their own AggregatePKs, or more generic AggregateG1 APIs to deal with aggregation inside FastAggregateVerify. So adding KeyValidate to FastAggregateVerify may increase more overhead than what it looks like in the IETF document. It would be nice if it can be figured out with minimum changes.

Thanks for your time. :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions