Danger

This is a “Hazardous Materials” module. You should ONLY use it if you’re 100% absolutely sure that you know what you’re doing because this module is full of land mines, dragons, and dinosaurs with laser guns.

# Ed448 signing

Ed448 is an elliptic curve signing algorithm using EdDSA.

## Signing & Verification

    >>> from cryptography.hazmat.primitives.asymmetric.ed448 import Ed448PrivateKey
    >>> private_key = Ed448PrivateKey.generate()
    >>> signature = private_key.sign(b"my authenticated message")
    >>> public_key = private_key.public_key()
    >>> # Raises InvalidSignature if verification fails
    >>> public_key.verify(signature, b"my authenticated message")

## Key interfaces

class cryptography.hazmat.primitives.asymmetric.ed448.Ed448PrivateKey

  New in version 2.6.

  classmethod generate()

    Generate an Ed448 private key.

    Returns

      `Ed448PrivateKey`

  classmethod from_private_bytes(data)
    Parameters

      data (bytes-like) – 57 byte private key.

    Returns

      `Ed448PrivateKey`

  public_key()
    Returns

      `Ed448PublicKey`

  sign(data)
    Parameters

      data (bytes) – The data to sign.

    Returns bytes

      The 114 byte signature.

  private_bytes(encoding, format, encryption_algorithm)

    Allows serialization of the key to bytes. Encoding ( `PEM`, `DER`, or `Raw`) and format ( `PKCS8` or `Raw` ) are chosen to define the exact serialization.

    Parameters

      - encoding – A value from the `Encoding` enum.

      - format – A value from the `PrivateFormat` enum. If the `encoding` is `Raw` then `format` must be `Raw` , otherwise it must be `PKCS8`.

      - encryption_algorithm – An instance of an object conforming to the `KeySerializationEncryption` interface.

    Return bytes

      Serialized key.

class cryptography.hazmat.primitives.asymmetric.ed448.Ed448PublicKey

  New in version 2.6.

  classmethod from_public_bytes(data)
    Parameters

      data (bytes) – 57 byte public key.

    Returns

      `Ed448PublicKey`

  public_bytes(encoding, format)

    Allows serialization of the key to bytes. Encoding ( `PEM`, `DER`, or `Raw`) and format ( `SubjectPublicKeyInfo` or `Raw` ) are chosen to define the exact serialization.

    Parameters

      - encoding – A value from the `Encoding` enum.

      - format – A value from the `PublicFormat` enum. If the `encoding` is `Raw` then `format` must be `Raw` , otherwise it must be `SubjectPublicKeyInfo`.

    Returns bytes

      The public key bytes.

  verify(signature, data)
    Parameters

      - signature (bytes) – The signature to verify.

      - data (bytes) – The data to verify.

    Raises

      cryptography.exceptions.InvalidSignature – Raised when the signature cannot be verified.