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
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
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.