The following tables indicate which files contain implementations of each
algorithm.
See the individual function descriptions for more information on specific functions.
Note: IEEE 1363-2000 was previously known as IEEE P1363
RSA
| Algorithm/System |
Standards |
Header File |
| PKCS#1 v1.5 encryption |
PKCS#1 v1.5 |
hursa.h |
| PKCS#1 v1.5 signature |
PKCS#1 v1.5 |
hursa.h |
| PKCS#1 v2.1 encryption (OAEP) |
PKCS#1 v2.1, IEEE 1363-2000 |
hursa.h |
| Raw RSA |
PKCS#1 v1.5 |
hursa.h |
| PSS |
PKCS#1 v2.1 |
hursapss.h |
Elliptic Curve Cryptography
| Algorithm/System |
Standards |
Header File |
| ECDSA |
ANSI X9.62, FIPS 186-2, IEEE 1363-2000, SEC1 |
huecc.h |
| ECDH |
ANSI X9.63, IEEE 1363-2000, SEC1 |
huecc.h |
| ECMQV |
ANSI X9.63, IEEE 1363-2000, SEC1 |
huecc.h |
| ECIES |
ANSI X9.63, IEEE 1363-2000, SEC1 |
huecc.h |
| ECQV |
|
huecc.h |
| ECNR |
IEEE 1363-2000 |
huecc.h |
Integer Discrete Logarithm Cryptography
| Algorithm/System |
Standards |
Header File |
| DSA |
FIPS 186-2, IEEE 1363-2000 |
huidlc.h |
| DH |
ANSI X9.42, IEEE 1363-2000 |
huidlc.h |
Block Ciphers
| Algorithm/System |
Standards |
Header File |
| AES |
FIPS 197 |
huaes.h |
| AES Key Wrap |
RFC 3394 |
huaes.h |
| AES CCM/CCM* |
NISP SP 800-38C, ZigBee Specification |
huaes.h,huauthenc.h |
| AES GCM |
NIST SP 800-38D |
huaes.h, huauthenc.h |
| AES XTS |
NIST SP 800-83E |
huaes.h |
| DES, TDES |
FIPS 46-3, ANSI X3.92, ANSI X9.52, ANSI X3.106 |
hudes.h |
| DESX |
|
hudes.h |
| ARC2 |
RFC 2268 |
huarc2.h |
Note that all block ciphers support electronic codebook (ECB), cipher-block chaining (CBC), cipher feedback (CFB)
and output feedback (OFB) modes. Only full block size feedback is supported for CFB and OFB.
Stream Ciphers
| Algorithm/System |
Standards |
Header File |
| ARC4 |
|
huarc4.h |
Hash Algorithms
| Algorithm/System |
Standards |
Header File |
| SHA-1 |
FIPS 180-2, ANSI X9.30.2 |
husha1.h |
| SHA-2 |
FIPS 180-2 |
husha2.h |
| MD2 |
RFC 1319 |
humd2.h |
| MD4 |
RFC 1320 |
humd4.h |
| MD5 |
RFC 1321 |
humd5.h |
| MMO |
ZigBee Specification |
huaesmmo.h |
Message Authentication Codes
| Algorithm/System |
Standards |
Header File |
| HMAC-SHA-1 |
FIPS 198, ANSI X9.71, RFC 2104 |
husha1.h |
| HMAC-SHA-2 |
FIPS 198, ANSI X9.71, RFC 2104 |
husha2.h |
| HMAC-MD5 |
RFC 2104 |
humd5.h |
| AES-XCBC-MAC |
RFC 3566 |
humac.h |
| AES-CMAC |
NIST SP 800-38B |
humac.h |
Key Agreement and Derivation
| Algorithm/System |
Standards |
Header File |
| DH |
ANSI X9.42, IEEE 1363-2000 |
huidlc.h |
| ECDH |
ANSI X9.63, IEEE 1363-2000, SEC1 |
huecc.h |
| ECMQV |
ANSI X9.63, IEEE 1363-2000, SEC1 |
huecc.h |
| KDF |
ANSI X9.42, ANSI X9.63, IEEE 1363-2000, SP 800-56A |
hukdf.h |
Digital Signatures
| Algorithm/System |
Standards |
Header File |
| DSA |
FIPS 186-2, IEEE 1363-2000, SP 800-56A |
huidlc.h |
| ECDSA |
ANSI X9.62, FIPS 186-2, IEEE 1363-2000, SEC1 |
huecc.h |
| PKCS#1 v1.5 |
PKCS#1 v1.5 |
hursa.h |
| PSS |
PKCS#1 v2.1, IEEE 1363-2000 |
hursapss.h |
Public Key Encryption
| Algorithm/System |
Standards |
Header File |
| PKCS#1 v1.5 encryption |
PKCS#1 v1.5 |
hursa.h |
| PKCS#1 v2.1 encryption (OAEP) |
PKCS#1 v2.1, IEEE 1363-2000 |
hursa.h |
| Raw RSA |
PKCS#1 v1.5 |
hursa.h |
Random Number Generation
| Algorithm/System |
Standards |
Header File |
| PRNG |
FIPS 186-2, ANSI X9.62, ANSI X9.31 |
hurandom.h |
| DRBG |
NIST SP 800-90 |
hurandom.h |