nocrypto
  1. Overview
  2. Docs
type priv = {
  1. p : Z.t;
  2. q : Z.t;
  3. gg : Z.t;
  4. x : Z.t;
  5. y : Z.t;
}
type pub = {
  1. p : Z.t;
  2. q : Z.t;
  3. gg : Z.t;
  4. y : Z.t;
}
type keysize = [
  1. | `Fips1024
  2. | `Fips2048
  3. | `Fips3072
  4. | `Exactly of int * int
]
type mask = [
  1. | `No
  2. | `Yes
  3. | `Yes_with of Rng.g
]
val pub_of_priv : priv -> pub
val generate : ?g:Rng.g -> keysize -> priv
val sign : ?mask:mask -> ?k:Z.t -> key:priv -> Cstruct.t -> Cstruct.t * Cstruct.t
val verify : key:pub -> (Cstruct.t * Cstruct.t) -> Cstruct.t -> bool
val massage : key:pub -> Cstruct.t -> Cstruct.t
module K_gen (H : Hash.S) : sig ... end
val pub_of_sexp : Sexplib.Sexp.t -> pub
val sexp_of_pub : pub -> Sexplib.Sexp.t
val priv_of_sexp : Sexplib.Sexp.t -> priv
val sexp_of_priv : priv -> Sexplib.Sexp.t