This specification includes key agreement, signature, and encryption schemes using several mathematical approaches:
integer factorization,
discrete logarithm, and
elliptic curve discrete logarithm.
Key agreement schemes •
DL/ECKAS-DH1 and DL/ECKAS-DH2 (Discrete Logarithm/Elliptic Curve Key Agreement Scheme,
Diffie–Hellman version): This includes both traditional
Diffie–Hellman and
elliptic curve Diffie–Hellman. •
DL/ECKAS-MQV (Discrete Logarithm/Elliptic Curve Key Agreement Scheme,
Menezes–Qu–Vanstone version)
Signature schemes •
DL/ECSSA (Discrete Logarithm/Elliptic Curve Signature Scheme with Appendix): Includes four main variants:
DSA,
ECDSA, Nyberg-Rueppel, and Elliptic Curve Nyberg-Rueppel. •
IFSSA (Integer Factorization Signature Scheme with Appendix): Includes two variants of
RSA, Rabin-Williams, and ESIGN, with several message encoding methods. "RSA1 with EMSA3" is essentially PKCS#1 v1.5 RSA signature; "RSA1 with EMSA4 encoding" is essentially
RSA-PSS; "RSA1 with EMSA2 encoding" is essentially ANSI X9.31 RSA signature. •
DL/ECSSR (Discrete Logarithm/Elliptic Curve Signature Scheme with Recovery) •
DL/ECSSR-PV (Discrete Logarithm/Elliptic Curve Signature Scheme with Recovery, Pintsov-Vanstone version) •
IFSSR (Integer Factorization Signature Scheme with Recovery)
Encryption schemes •
IFES (Integer Factorization Encryption Scheme): Essentially
RSA encryption with
Optimal Asymmetric Encryption Padding (OAEP). •
DL/ECIES (Discrete Logarithm/Elliptic Curve
Integrated Encryption Scheme): Essentially the "DHAES" variant of
ElGamal encryption. •
IFES-EPOC (Integer Factorization Encryption Scheme, EPOC version) == Lattice-based public key cryptography (IEEE Std 1363.1-2008) ==