[][src]Trait signatory::ecdsa::curve::WeierstrassCurve

Elliptic curve in short Weierstrass form suitable for use with ECDSA

Associated Types

type ScalarSize: ArrayLength<u8>

Size of an integer modulo p (i.e. the curve's order) when serialized as octets (i.e. bytes). This also describes the size of an ECDSA private key, as well as half the size of a fixed-width signature.

type CompressedPointSize: ArrayLength<u8> + Eq + Hash + PartialEq + PartialOrd + Ord

Size of a compressed point for this curve in bytes when serialized using Elliptic-Curve-Point-to-Octet-String encoding defined in section 2.3.3 of SEC 1: Elliptic Curve Cryptography (Version 2.0):

http://www.secg.org/sec1-v2.pdf

type UntaggedPointSize: ArrayLength<u8>

Size of a raw uncompressed elliptic curve point sans the 0x04 tag byte added in the UncompressedPointSize value.

type UncompressedPointSize: ArrayLength<u8> + Eq + Hash + PartialEq + PartialOrd + Ord

Size of an uncompressed elliptic curve point serialized using the Elliptic-Curve-Point-to-Octet-String encoding (including the 0x04 tag)

type Asn1SignatureMaxSize: ArrayLength<u8>

Maximum size of an ASN.1 DER encoded ECDSA signature using this curve

type FixedSignatureSize: ArrayLength<u8>

Size of a compact, fixed-sized ECDSA signature using this curve

Loading content...

Associated Constants

const CURVE_KIND: WeierstrassCurveKind

Elliptic curve kind

Loading content...

Implementors

impl WeierstrassCurve for NistP256[src]

const CURVE_KIND: WeierstrassCurveKind[src]

Elliptic curve kind

type ScalarSize = U32

Random 256-bit (32-byte) private scalar

type CompressedPointSize = U33

Size of a compressed elliptic curve point serialized using Elliptic-Curve-Point-to-Octet-String encoding

type UntaggedPointSize = U64

Size of a raw uncompressed elliptic curve point sans the 0x04 tag byte added in the UncompressedPointSize value.

type UncompressedPointSize = U65

Size of an uncompressed elliptic curve point serialized using the Elliptic-Curve-Point-to-Octet-String encoding (including the 0x04 tag)

type Asn1SignatureMaxSize = U73

Maximum size of an ASN.1 DER encoded signature

type FixedSignatureSize = U64

Concatenated r || s values (32-bytes each)

impl WeierstrassCurve for NistP384[src]

const CURVE_KIND: WeierstrassCurveKind[src]

Elliptic curve kind

type ScalarSize = U48

Random 384-bit (48-byte) private scalar

type CompressedPointSize = U49

Size of a compressed elliptic curve point serialized using Elliptic-Curve-Point-to-Octet-String encoding

type UntaggedPointSize = U96

Size of a raw uncompressed elliptic curve point sans the 0x04 tag byte added in the UncompressedPointSize value.

type UncompressedPointSize = U97

Size of an uncompressed elliptic curve point serialized using the Elliptic-Curve-Point-to-Octet-String encoding (including the 0x04 tag)

type Asn1SignatureMaxSize = U105

Maximum size of an ASN.1 DER encoded signature

type FixedSignatureSize = U96

Concatenated r || s values (48-bytes each)

impl WeierstrassCurve for Secp256k1[src]

const CURVE_KIND: WeierstrassCurveKind[src]

Elliptic curve kind

type ScalarSize = U32

Random 256-bit (32-byte) private scalar

type CompressedPointSize = U33

Size of a compressed elliptic curve point serialized using Elliptic-Curve-Point-to-Octet-String encoding

type UntaggedPointSize = U64

Size of a raw uncompressed elliptic curve point sans the 0x04 tag byte added in the UncompressedPointSize value.

type UncompressedPointSize = U65

Size of a raw uncompressed elliptic curve point (i.e sans the 0x04 tag added by Elliptic-Curve-Point-to-Octet-String encoding)

type Asn1SignatureMaxSize = U73

Maximum size of an ASN.1 DER encoded signature

type FixedSignatureSize = U64

Concatenated r || s values (32-bytes each)

Loading content...