[][src]Crate hash2curve

This implements the hash to curve as described in https://datatracker.ietf.org/doc/draft-irtf-cfrg-hash-to-curve/?include_text=1

The idea is to offer concrete methods for hashing arbitrary input to a point on an elliptic curve used in cryptography.

As much as possible, the interfaces, structs, and traits have been modeled after the RustCrypto digest crate at https://docs.rs/digest/

These methods do not cover serialization or deserialization according to http://www.secg.org/sec1-v2.pdf

Modules

bls381g1feature="bls"

Hashing for BLS12-381 to G1 Implements hash to curve as described in Section 8.7.1 of https://datatracker.ietf.org/doc/draft-irtf-cfrg-hash-to-curve/?include_text=1 and Section 5 of https://eprint.iacr.org/2019/403.pdf

error

Errors generated by this crate

prelude

Convenience export module

Structs

DomainSeparationTag

Represents a domain separation tag suitable for use in hash_to_curve or encode_to_curve functions as describe in section 3.1 in https://datatracker.ietf.org/doc/draft-irtf-cfrg-hash-to-curve/?include_text=1

Constants

MAX_DMS_SIZE

The longest the domain separation tag can be in bytes

MIN_DMS_PROTOCOL_ID_SIZE

The minimum length for a protocol id.

Traits

HashToCurveXmd

The HashToCurveXmd trait specifies an interface common for mapping to curve functions using XMD to expand the message.

HashToCurveXof

The HashToCurveXof trait specifies an interface common for mapping to curve functions using XMD to expand the message.