Generates an ML-DSA or SLH-DSA key pair inside the module that
fipsmod()
found. The private key stays in the module's own format (PEM) and never
passes through this package's code; cpssign() hands it back to the
module to sign. The public key is the standard one, so the signatures
verify with cpsvrf() (this package's implementation), with
cpsxvrf() (OpenSSL's), and anywhere else FIPS 204 and 205 are
implemented.
Usage
fipsmkg(scheme = "SLH-DSA-SHA2-128s", mod = fipsmod())Value
A key of class rmbl_fipsmod_key (also a
bricklayer_fips_public_key, so every verifier accepts it): public
(hex), scheme, module (name, build, status and certificate) and
the private key in pem.
Details
The key prints without its private part. It is an ordinary R object:
anything that saves it (saveRDS(), a workspace) saves the private key
too, so keep it as carefully as any other private key. Signing checks
that the module loaded now is the one that made the key and refuses
otherwise. XMSS and HQC have no FIPS module and are refused.
