Supported algorithms

The following tables indicate which files contain implementations of each algorithm.

See the individual function descriptions for more information on specific functions.

IEEE 1363-2000 was previously known as IEEE P1363.

RSA

Algorithm or 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 (ECC)

Algorithm or 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 (IDLC)

Algorithm or 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 or 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

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 or system Standards Header file
ARC4 huarc4.h

Hash algorithms

Algorithm or 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 or 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 or 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 or 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 or 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 or system Standards Header file
PRNG FIPS 186-2, ANSI X9.62, ANSI X9.31 hurandom.h
DRBG NIST SP 800-90 hurandom.h

Last modified: 2015-03-31



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus