Skip to content

GroupProjective serializes to different byte arrays even when "equal" #1

@nirvantyagi

Description

@nirvantyagi

GroupProjective (https://github.com/scipr-lab/zexe/blob/master/algebra/src/curves/models/short_weierstrass_jacobian.rs#L221) serializes based on the (X, Y, Z) elliptic curve coordinates (https://github.com/scipr-lab/zexe/blob/master/algebra/src/curves/models/short_weierstrass_jacobian.rs#L267) which results in different serializations even when the group elements are "equal", i.e., project to the same affine point (https://github.com/scipr-lab/zexe/blob/master/algebra/src/curves/models/short_weierstrass_jacobian.rs#L234).

This means that if trying to generically work with GroupProjective as a Group, hashing two group elements that are supposed to be equal will result in different outputs. This breaks primitives that rely on Fiat-Shamir non-interactive challenges.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions