package nocrypto

  1. Overview
  2. Docs

OAEP-padded encryption, as defined by PKCS #1 v2.1.

The same hash function is used for padding and MGF. MGF is MGF1 as defined in PKCS #1 2.1.

Keys must have a minimum of 2 + 2 * hlen + len(message) bytes, where hlen is the hash length.


module H : Hash.S


val encrypt : ?g:Rng.g -> ?label:Cstruct.t -> key:pub -> Cstruct.t -> Cstruct.t

encrypt ~g ~label ~key message is OAEP-padded and encrypted message, using the optional label.

val decrypt : ?mask:mask -> ?label:Cstruct.t -> key:priv -> Cstruct.t -> Cstruct.t option

decrypt ~mask ~label ~key ciphertext is Some message if the ciphertext was produced by the corresponding encrypt operation, or None otherwise.