# JSON Web Algorithms

JSON Web Algorithms.

https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40

class `josepy.jwa.``JWA`

  Bases: `josepy.interfaces.JSONDeSerializable`

  JSON Web Algorithm.

class `josepy.jwa.``JWASignature`(name)

  Bases: `josepy.jwa.JWA`, `collections.abc.Hashable`

  Base class for JSON Web Signature Algorithms.

  classmethod `register`(signature_cls)

    Register class for JSON deserialization.

  `sign`(key, msg)

    Sign the `msg` using `key`.

  `verify`(key, msg, sig)

    Verify the `msg` and `sig` using `key`.

`josepy.jwa.``HS256` = HS256

  HMAC using SHA-256

`josepy.jwa.``HS384` = HS384

  HMAC using SHA-384

`josepy.jwa.``HS512` = HS512

  HMAC using SHA-512

`josepy.jwa.``RS256` = RS256

  RSASSA-PKCS-v1_5 using SHA-256

`josepy.jwa.``RS384` = RS384

  RSASSA-PKCS-v1_5 using SHA-384

`josepy.jwa.``RS512` = RS512

  RSASSA-PKCS-v1_5 using SHA-512

`josepy.jwa.``PS256` = PS256

  RSASSA-PSS using SHA-256 and MGF1 with SHA-256

`josepy.jwa.``PS384` = PS384

  RSASSA-PSS using SHA-384 and MGF1 with SHA-384

`josepy.jwa.``PS512` = PS512

  RSASSA-PSS using SHA-512 and MGF1 with SHA-512

`josepy.jwa.``ES256` = ES256

  ECDSA using P-256 and SHA-256

`josepy.jwa.``ES384` = ES384

  ECDSA using P-384 and SHA-384

`josepy.jwa.``ES512` = ES512

  ECDSA using P-521 and SHA-512