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/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

Last modified: 2014-05-14



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

comments powered by Disqus