Skip to content

Constant time hashing to the curve #73

@ralexstokes

Description

@ralexstokes

What is wrong?

For bls12-381 we want to map messages to points on the curve. The current implementation uses an expensive "hash and check" method via hash_to_g2. It is desirable to have a more performant method of mapping a given message to the curve.

How can it be fixed

Luckily, there was recent work on a constant time hashing method w/ implementation here:

https://github.com/kwantam/bls12-381_hash

There are some BLS standardization efforts under way that will likely involve making this method the canonical "hash to the curve". If this method makes its way into the standard, then we will definitely want to include it.

The linked repo has a C implementation and a pure Python implementation. We can add both, in the appropriate places, to get the functionality we want.

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