atproto_crypto.algs.base_alg

class atproto_crypto.algs.base_alg.AlgBase(curve: EllipticCurve, curve_order: int)

Bases: object

Base class for all algorithms.

NAME = None
compress_pubkey(pubkey: bytes) bytes

Compress a public key.

decompress_pubkey(pubkey: bytes) bytes

Decompress a public key.

get_elliptic_curve_public_key(pubkey: bytes) EllipticCurvePublicKey

Return the elliptic curve public key.

verify_signature(pubkey: bytes, signing_input: bytes, signature: bytes) bool

Verify signature.

Parameters:
  • pubkey – Public key.

  • signing_input – Signing input (data).

  • signature – Signature.

Returns:

True if signature is valid, False otherwise.

Return type:

bool