AEADCipher |
Supports ALG_AES_CCM and ALG_AES_GCM (supports only the 12-byte
IV length, which is the value recommended by NIST).
Corresponding combinations (cipher algorithm, padding
algorithm):
- (CIPHER_AES_CCM, PAD_NULL)
- (CIPHER_AES_GCM, PAD_NULL)
|
Checksum |
- ALG_ISO3309_CRC16 — ISO/IEC 3309-compliant
16-bit CRC algorithm. This algorithm uses the generator
polynomial: x^16+x^12+x^5+1. The default initial checksum
value used by this algorithm is 0. This algorithm is also
compliant with the frame-checking sequence as specified in
section 4.2.5.2 of the ISO/IEC 13239 specification.
- ALG_ISO3309_CRC32 — ISO/IEC 3309-compliant
32-bit CRC algorithm. This algorithm uses the generator
polynomial: x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8
+x^7+x^5+x^4+x^2+x+1. The default initial checksum value
used by this algorithm is 0. This algorithm is also
compliant with the frame-checking sequence as specified in
section 4.2.5.3 of the ISO/IEC 13239 specification.
|
Cipher |
-
ALG_DES_CBC_NOPAD — provides a cipher using DES in CBC
mode without padding. This algorithm uses CBC mode for
DES and 3DES.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_DES_CBC, PAD_NOPAD)
-
ALG_DES_CBC_PKCS5 — provides a cipher using
DES in CBC mode with PKCS5 padding.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_DES_CBC, PAD_PKCS5)
-
ALG_DES_CBC_ISO9797_M1 — provides a cipher
using DES in CBC mode. This algorithm uses CBC for DES
and 3DES. Input data is padded according to the ISO 9797
method 1 scheme.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_DES_CBC, PAD_ISO9797_M1)
-
ALG_DES_CBC_ISO9797_M2 — provides a cipher
using DES in CBC mode. This algorithm uses EBC for DES
and 3DES. Input data is padded according to the ISO 9797
method 2 (ISO 7816-4, EMV'96) scheme.
Corresponding combination (cipher algorithm, padding
algorithm)
- (CIPHER_DES_CBC, PAD_ISO9797_M2)
-
ALG_DES_ECB_NOPAD — provides a cipher using DES in ECB
mode without padding. This algorithm uses ECB mode for
DES and 3DES.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_DES_ECB, PAD_NOPAD)
-
ALG_DES_ECB_PKCS5 — provides a cipher using
DES in ECB mode with PKCS5 padding. This algorithm uses
ECB for DES and 3DES.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_DES_ECB, PAD_PKCS5)
-
ALG_DES_ECB_ISO9797_M1 — provides a cipher
using DES in ECB mode. This algorithm uses ECB for DES
and 3DES. Input data is padded according to the ISO 9797
method 1.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_DES_ECB, PAD_ISO9797_M1)
-
ALG_DES_ECB_ISO9797_M2 — provides a cipher
using DES in ECB mode. This algorithm uses ECB for DES
and 3DES. Input data is padded according to the ISO 9797
method 2 (ISO 7816-4, EMV'96) scheme.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_DES_ECB, PAD_ISO9797_M2)
- ALG_RSA_NOPAD — provides a cipher using RSA
without padding. Corresponding combination (cipher
algorithm, padding algorithm):
-
ALG_RSA_PKCS1_OAEP — provides a cipher using
RSA using the Optimal Asymmetric Encryption Padding
scheme (OAEP).
Corresponding combinations (cipher algorithm, padding
algorithm):
- (CIPHER_RSA, PAD_PKCS1_OAEP)
- (CIPHER_RSA, PAD_PKCS1_OAEP_SHA224)
- (CIPHER_RSA, PAD_PKCS1_OAEP_SHA256)
- (CIPHER_RSA, PAD_PKCS1_OAEP_SHA384)
- (CIPHER_RSA, PAD_PKCS1_OAEP_SHA512)
- (CIPHER_RSA,
PAD_PKCS1_OAEP_EXT_PARAMETERS)
Note: The very last combination also permits
customization of the MGF1 digest algorithm with
ALG_SHA or ALG_SHA256.
-
ALG_RSA_PKCS1 — provides a cipher using RSA.
Input data is padded according to the PKCS#1 (v1.5)
scheme.
Corresponding combination (cipher algorithm, padding
algorithm):
-
ALG_AES_BLOCK_128_CBC_NOPAD — provides a
cipher using AES with block size 128 in CBC mode and
does not pad input data.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_CBC, PAD_NOPAD)
-
ALG_AES_BLOCK_128_ECB_NOPAD — provides a
cipher using AES with block size 128 in ECB mode and
does not pad input data.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_ECB, PAD_NOPAD)
-
ALG_AES_CBC_ISO9797_M1 — provides a cipher
using AES with block size 128 in CBC mode. Input data is
padded according to the ISO 9797 method 1 scheme.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_CBC, PAD_ISO9797_M1)
-
ALG_AES_CBC_ISO9797_M2 — provides a cipher
using AES with block size 128 in CBC mode. Input data is
padded according to the ISO 9797 method 2 (ISO 7816-4,
EMV’96) scheme.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_CBC, PAD_ISO9797_M2)
-
ALG_AES_ECB_ISO9797_M1 — provides a cipher
using AES with block size 128 in ECB mode. Input data is
padded according to the ISO 9797 method 1 scheme.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_ECB, PAD_ISO9797_M1)
-
ALG_AES_ECB_ISO9797_M2 — provides a cipher
using AES with block size 128 in ECB mode. Input data is
padded according to the ISO 9797 method 2 (ISO 7816-4,
EMV’96) scheme.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_ECB, PAD_ISO9797_M2)
-
ALG_AES_CBC_PKCS5 — provides a cipher using
AES with block size 128 in CBC mode. Input data is
padded according to the PKCS#5 scheme.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_CBC, PAD_PKCS5)
-
ALG_AES_ECB_PKCS5 — provides a cipher using
AES with block size 128 in ECB mode. Input data is
padded according to the PKCS#5 scheme.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_ECB, PAD_PKCS5)
-
ALG_AES_CTR — provides a cipher using AES in
Counter Mode (CTR) as defined in RFC-3686.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_CTR, PAD_NULL)
-
ALG_AES_XTS — provides a cipher using AES in
XEX Tweakable Block Cipher with Ciphertext Stealing
(XTS) mode as defined in IEEE Std 1619. AES keys of
128-bit and 256-bit length are supported.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_XTS, PAD_NULL)
-
ALG_AES_CFB — provides a cipher using AES in
Cipher Feedback (CFB) mode.
Corresponding combination (cipher algorithm, padding
algorithm):
- (CIPHER_AES_CFB, PAD_NULL)
-
ALG_KOREAN_SEED_ECB_NOPAD and ALG_KOREAN_SEED_CBC_NOPAD —
both provide a cipher using Korean Seed in ECB or CBC
mode with a 128 bit long Korean Seed key.
Corresponding combinations (cipher algorithm, padding
algorithm):
- (CIPHER_KOREAN_SEED_CBC, PAD_NOPAD)
- (CIPHER_KOREAN_SEED_ECB, PAD_NOPAD)
|
InitializedMessageDigest |
Provides the functionality to create
MessageDigest with the additional ability
to allow for initialization with a starting hash value
corresponding to a previously hashed part of the message.
Supports algorithms as follows:
- ALG_MD5
- ALG_RIPEMD160
- ALG_SHA
- ALG_SHA_224
- ALG_SHA_256
- ALG_SHA_384
- ALG_SHA_512
|
KeyAgreement |
Supported algorithms:
- ALG_DH_PLAIN — Diffie-Hellman (DH) secret value derivation
primitive as per NIST Special Publication 800-56Ar2.
- ALG_EC_PACE_GM — elliptic curve Generic Mapping according to
TR03110 v2.
- ALG_EC_SVDP_DH_KDF — elliptic curve secret value derivation
primitive, Diffie-Hellman version, per [IEEE P1363].
- ALG_EC_SVDP_DH_PLAIN_XY — elliptic curve secret value
derivation primitive Diffie-Hellman version, as per [IEEE
P1363].
- ALG_EC_SVDP_DH_PLAIN — elliptic curve secret value
derivation primitive, Diffie-Hellman version, per [IEEE
P1363].
- ALG_EC_SVDP_DHC_PLAIN — elliptic curve secret value
derivation primitive, Diffie-Hellman version, with cofactor
multiplication, and compatibility mode as per [IEEE
P1363].
- ALG_EC_SVDP_DHC_KDF — elliptic curve secret value derivation
primitive, Diffie-Hellman version, with cofactor
multiplication, and compatibility mode as per [IEEE
P1363].
- ALG_XDH — Elliptic Curve Diffie-Hellman key agreement
protocol, using named curves X25519 or X448, as defined in
RFC 7748.
|
KeyBuilder |
Provides the functionality to create the following supported key
types and key lengths:
- 128, 192, 256 -bit ALG_TYPE_AES and 512-bit
only for AES-XTS, additionally
- TYPE_AES
- TYPE_AES_TRANSIENT_RESET
- TYPE_AES_TRANSIENT_DESELECT
- 64, 128 and 192-bit ALG_TYPE_DES,
additionally
- TYPE_DES
- TYPE_DES_TRANSIENT_RESET
- TYPE_DES_TRANSIENT_DESELECT
- 112-, up to 521-bit
ALG_TYPE_EC_FP_PARAMETERS, additionally
- 112-, up to 521-bit ALG_TYPE_EC_FP_PRIVATE,
additionally
- TYPE_EC_FP_PRIVATE
- TYPE_EC_FP_PRIVATE_TRANSIENT_RESET
- TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT
- 112-, up to 521-bit ALG_TYPE_EC_FP_PUBLIC, additionally
- 113-, up to 193-bit ALG_TYPE_EC_F2M_PARAMETERS,
additionally
- 113-, up to 193-bit ALG_TYPE_EC_F2M_PRIVATE,
additionally
- TYPE_EC_F2M_PRIVATE
- TYPE_EC_F2M_PRIVATE_TRANSIENT_RESET
- TYPE_EC_F2M_PRIVATE_TRANSIENT_DESELECT
- 113-, up to 193-bit ALG_TYPE_EC_F2M_PUBLIC,
additionally
- 512-, up to 4096-bit ALG_TYPE_RSA_PRIVATE,
additionally
- TYPE_RSA_PRIVATE
- TYPE_RSA_PRIVATE_TRANSIENT_RESET
- TYPE_RSA_PRIVATE_TRANSIENT_DESELECT
- 512-, up to 4096-bit ALG_TYPE_RSA_PUBLIC additionally
- 512-, up to 4096-bit ALG_TYPE_RSA_CRT_PRIVATE,
additionally
- TYPE_RSA_CRT_PRIVATE
- TYPE_RSA_CRT_PRIVATE_TRANSIENT_RESET
- TYPE_RSA_CRT_PRIVATE_TRANSIENT_DESELECT
- 8-, up to 512-bit ALG_TYPE_HMAC, additionally
- TYPE_HMAC
- TYPE_HMAC_TRANSIENT_RESET
- TYPE_HMAC_TRANSIENT_DESELECT
- 8-, up to 1024-bit ALG_TYPE_GENERIC_SECRET,
additionally
- 1024-bit and 2048-bit ALG_TYPE_DH_PARAMETERS,
additionally
- 1024-bit and 2048-bit ALG_TYPE_DH_PRIVATE,
additionally
- TYPE_DH_PRIVATE
- TYPE_DH_PRIVATE_TRANSIENT_RESET
- TYPE_DH_PRIVATE_TRANSIENT_DESELECT
- 1024-bit and 2048-bit ALG_TYPE_DH_PUBLIC,
additionally
- TYPE_DH_PUBLIC
- TYPE_DH_PUBLIC_TRANSIENT_RESET
- TYPE_DH_PUBLIC_TRANSIENT_DESELECT
- 1024-bit and 2048-bit ALG_TYPE_DSA_PARAMETERS,
additionally
- 1024-bit and 2048-bit ALG_TYPE_DSA_PRIVATE,
additionally
- TYPE_DSA_PRIVATE
- TYPE_DSA_PRIVATE_TRANSIENT_RESET
- TYPE_DSA_PRIVATE_TRANSIENT_DESELECT
- 1024-bit and 2048-bit ALG_TYPE_DSA_PUBLIC,
additionally
- 192-bit to 512-bit
NamedParameterSpec.BRAINPOOLPXXXR1
- 192-bit to 512-bit
NamedParameterSpec.BRAINPOOLPXXXT1
- 192-bit to 521-bit NamedPrameterSpec.SECPXXXR1
- NamedParameterSpec.ED25519 and
NamedParameterSpec.ED448
- NamedParameterSpec.X25519 and
NamedParameterSpec.X448
- 128-bit ALG_TYPE_KOREAN_SEED with the
following types:
- TYPE_KOREAN_SEED
- TYPE_KOREAN_SEED_TRANSIENT_RESET
- TYPE_KOREAN_SEED_TRANSIENT_DESELECT
|
KeyPair |
Provides the functionality to create and generate the following
key pair types and lengths:
- 112-, 128-, 160-, 192-, 224-, 256-, 384-, 521-bit
ALG_EC_FP
- 113-, 131-, 163-, 193-bit ALG_EC_F2M
- 512-, 736-, 768-, 869-, 1024-, 1280-, 1536-, 2048-,
3072-, 4096-bit ALG_RSA and ALG_RSA_CRT
- 1024-bit and 2048-bit ALG_DH
- 1024-bit and 2048-bit ALG_DSA
- 192-, 224-, 256-, 320-, 384-, 512
NamedPrameterSpec.BRAINPOOLPXXXT1
- 192-, 224-, 256-, 320-, 384-, 512
NamedPrameterSpec.BRAINPOOLPXXXR1
- 192-, 224-, 256-, 384-, 521
NamedPrameterSpec.SECPXXXR1
- NamedParameterSpec.ED25519 and
NamedParameterSpec.ED448
- NamedParameterSpec.X25519 and
NamedParameterSpec.X448
|
MessageDigest |
Message digest supported algorithms:
- ALG_MD5
- ALG_RIPEMD160
- ALG_SHA
- ALG_SHA_224
- ALG_SHA_256
- ALG_SHA_384
- ALG_SHA_512
|
OwnerPINBuilder |
Creates a new PIN instance of the requested type, maximum allowed
PIN size and tries limit, and with the validated flag initially
set to false. Supported type:
|
RandomData |
Supported random byte generation algorithms:
- ALG_FAST
- ALG_KEYGENERATION
- ALG_PRESEEDED_DRBG
- ALG_TRNG
- ALG_PSEUDO_RANDOM (deprecated)
- ALG_SECURE_RANDOM (deprecated)
|
Signature |
-
ALG_DES_MAC8_NOPAD — generates an 8-byte MAC
(most significant 8 bytes of encrypted block) using DES
or 3DES in CBC mode with no padding applied.
Corresponding combination (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_DES_MAC8, ALG_NULL, PAD_NOPAD)
- ALG_DES_MAC8_ISO9797_M1 — generates an 8-byte
MAC (most significant 8 bytes of encrypted block) using DES
or 3DES in CBC mode. This algorithm uses CBC for DES and
3DES. Input data is padded according to the ISO 9797 method
1 (ISO 7816-4, EMV'96) scheme. Corresponding combination
(cipher algorithm, digest algorithm, padding algorithm):
- (SIG_CIPHER_DES_MAC8, ALG_NULL,
PAD_ISO9797_M1)
- ALG_DES_MAC8_ISO9797_M2 — generates an 8-byte
MAC (most significant 8 bytes of encrypted block) using DES
or 3DES in CBC mode. This algorithm uses CBC for DES and
3DES. Input data is padded according to the ISO 9797 method
2 (ISO 7816-4, EMV'96) scheme. Corresponding combination
(cipher algorithm, digest algorithm, padding algorithm):
- (SIG_CIPHER_DES_MAC8, ALG_NULL,
PAD_ISO9797_M2)
-
ALG_DES_MAC8_ISO9797_1_M2_ALG3 — generates an
8-byte MAC using triple DES with 2 keys. The MAC is
according to “MAC algorithm 3” of ISO 9797-1 with
padding according to method 2 (see also EMV 3.0 and EMV
4.0).
Corresponding combination (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_DES_MAC8, ALG_NULL,
PAD_ISO9797_1_M2_ALG3)
-
ALG_DES_MAC8_PKCS5 — generates an 8-byte MAC
(most significant 8 bytes of encrypted block) using DES
or 3DES in CBC mode. This algorithm uses CBC for DES and
3DES. Input data is padded according to PKCS#5.
Corresponding combination (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_DES_MAC8, ALG_NULL, PAD_PKCS5)
-
ALG_DSA_SHA signs or verifies a message that is hashed
with SHA1, SHA_224 or SHA-256.
Corresponding combinations (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_DSA, ALG_SHA, PAD_NULL)
- (SIG_CIPHER_DSA, ALG_SHA_224, PAD_NULL)
- (SIG_CIPHER_DSA, ALG_SHA_256, PAD_NULL)
-
ALG_RSA_MD5_PKCS1, ALG_RSA_RIPEMD160_PKCS1 —
encrypts the MD5 or the RIPEMD160 message digest using
RSA. The digest is padded according to the PKCS#1(v1.5)
scheme.
Corresponding combinations (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_RSA, ALG_MD5, PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_RIPEMD160, PAD_PKCS1)
-
ALG_RSA_SHA_ISO9796 — Provides a Signature
using the RSA algorithm for signing or verifying a
message. The message digest is padded according to the
ISO9796 scheme.
Corresponding combination (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_RSA, ALG_SHA, PAD_ISO9796)
- ALG_RSA_SHA_PKCS1, ALG_RSA_SHA_224_PKCS1,
ALG_RSA_SHA_256_PKCS1, ALG_RSA_SHA_384_PKCS1,
ALG_RSA_SHA_512_PKCS1 — provide a Signature using the RSA
algorithm for signing or verifying a message. The message
digest is padded according to the PKCS#1(v1.5) scheme.
Corresponding combinations (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_RSA, ALG_SHA,
PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA_224,
PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA_256,
PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA_384,
PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA_512,
PAD_PKCS1)
-
ALG_RSA_SHA_PKCS1_PSS,
ALG_RSA_SHA_224_PKCS1_PSS, ALG_RSA_SHA_256_PKCS1_PSS,
ALG_RSA_SHA_384_PKCS1_PSS, ALG_RSA_SHA_512_PKCS1_PSS —
provide a Signature using the Probabilistic Signature
Scheme (PSS) for signing or verifying a message.
Corresponding combinations (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_RSA, ALG_SHA, PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA224, PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA256, PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA384, PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA512,
PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA,
PAD_PKCS1_PSS_EXT_PARAMETERS)
- (SIG_CIPHER_RSA, ALG_SHA224,
PAD_PCKS1_PSS_EXT_PARAMETERS)
- (SIG_CIPHER_RSA, ALG_SHA256,
PAD_PCKS1_PSS_EXT_PARAMETERS)
- (SIG_CIPHER_RSA, ALG_SHA384,
PAD_PCKS1_PSS_EXT_PARAMETERS)
- (SIG_CIPHER_RSA, ALG_SHA512,
PAD_PCKS1_PSS_EXT_PARAMETERS)
Note: The last five combinations permit also to
customize the mask generation function (MGF1)
digest algorithm with ALG_SHA or
ALG_SHA256.
-
ALG_AES_MAC_128_NOPAD — generates a 16-byte
MAC using AES with block size 128 in CBC mode and does
not pad input data.
Corresponding combination (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_AES_MAC128, ALG_NULL, PAD_NOPAD)
-
ALG_AES_CMAC_128 — generates a 16-byte
Cipher base MAC using AES with block size 128 in CBC
with ISO9797-M2 padding.
Corresponding combination (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_AES_CMAC128, ALG_NULL,
PAD_ISO9797_M2)
-
ALG_ECDSA_SHA, ALG_ECDSA_SHA_224, ALG_ECDSA_SHA_256,
ALG_ECDSA_SHA_384, ALG_ECDSA_SHA_512 — provide a
Signature using ECDSA for signing or verifying a
message.
Corresponding combinations with signatures as ASN.1
SEQUENCE (cipher algorithm, digest algorithm, padding
algorithm):
- (SIG_CIPHER_ECDSA, ALG_SHA, PAD_NULL)
- (SIG_CIPHER_ECDSA, ALG_SHA_224, PAD_NULL)
- (SIG_CIPHER_ECDSA, ALG_SHA_256, PAD_NULL)
- (SIG_CIPHER_ECDSA, ALG_SHA_384, PAD_NULL)
- (SIG_CIPHER_ECDSA, ALG_SHA_512,
PAD_NULL)
Note: And the following combinations for an ECDSA
signature encoded as octet string:
- (SIG_CIPHER_ECDSA_PLAIN, ALG_SHA, PAD_NULL)
- (SIG_CIPHER_ECDSA_PLAIN, ALG_SHA_224, PAD_NULL)
- (SIG_CIPHER_ECDSA_PLAIN, ALG_SHA_256, PAD_NULL)
- (SIG_CIPHER_ECDSA_PLAIN, ALG_SHA_384, PAD_NULL)
- (SIG_CIPHER_ECDSA_PLAIN, ALG_SHA_512, PAD_NULL)
-
SIG_CIPHER_EDDSA, SIG_CIPHER_EDDSA_ED25519,
SIG_CIPHER_ED448 — provide a Signature using Pure EdDSA
for signing or verifying a message for the two variants
Ed25519 and Ed448 (without context). They are always
combined with ALG_NULL for the digest algorithm and
PAD_NULL for the padding algorithm.
Corresponding combinations (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_EDDSA, ALG_NULL, PAD_NULL)
- (SIG_CIPHER_EDDSA_ED25519, ALG_NULL, PAD_NULL)
- (SIG_CIPHER_EDDSA_ED448, ALG_NULL, PAD_NULL)
-
ALG_HMAC_SHA1 and ALG_HMAC_SHA_256 —
generate an HMAC using the steps found in RFC 2104 using
the SHA1 and SHA-256 standards, respectively as the
hashing algorithm.
Corresponding combinations (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_HMAC, ALG_SHA, PAD_NULL)
- (SIG_CIPHER_HMAC, ALG_SHA_256, PAD_NULL)
|
SignatureMessageRecovery |
-
ALG_RSA_SHA_ISO9796_MR — RSA ISO9796 signature with
message recovery scheme1 trailer field option1 and SHA1
algorithm uses the first part of the input message as
padding bytes during signing. During verification, these
message bytes (recoverable message) can be recovered to
reconstruct the message.
Corresponding combinations (cipher algorithm, digest
algorithm, padding algorithm):
- (SIG_CIPHER_RSA, ALG_SHA, PAD_ISO9796_MR)
- (SIG_CIPHER_RSA, ALG_SHA,
PAD_ISO9796_MR_SCHEME_1_OPT_2)
|
DerivationFunction |
- ALG_HKDF_EXPAND_LABEL_TLS13 — Algorithm implementing the
HKDF Expand Label version 1.3 for both TLS 1.3 (RFC 8446)
and DTLS 1.3 (RFC 9147) cases.
- ALG_KDF_HKDF — Algorithm implementing the HKDF Key
Derivation function defined in IETF RFC 5869 with HMAC-SHA-1
or HMAC-SHA-256.
|
CertificateParser |
- TYPE_X509_DER — parser for X.509 v1, v2, and v3
DER-encoded certificates (see RFC 5280).
- ALG_RSA_SHA_PKCS1 — is the supported signature
algorithm.
|
Cipher.OneShot |
Specialization of the Cipher class
intended to support efficient one-shot ciphering and deciphering
operations that may avoid persistent memory writes entirely.
Corresponding combinations (cipher algorithm, padding
algorithm):
- (CIPHER_KOREAN_SEED_CBC, PAD_NOPAD)
- (CIPHER_KOREAN_SEED_ECB, PAD_NOPAD)
- (CIPHER_DES_CBC, PAD_NOPAD)
- (CIPHER_DES_CBC, PAD_ISO9797_M1)
- (CIPHER_DES_CBC, PAD_ISO9797_M2)
- (CIPHER_DES_CBC, PAD_PKCS5)
- (CIPHER_DES_ECB, PAD_NOPAD)
- (CIPHER_DES_ECB, PAD_ISO9797_M1)
- (CIPHER_DES_ECB, PAD_ISO9797_M2)
- (CIPHER_DES_ECB, PAD_PKCS5)
- (CIPHER_AES_CBC, PAD_NOPAD)
- (CIPHER_AES_CBC, PAD_ISO9797_M1)
- (CIPHER_AES_CBC, PAD_ISO9797_M2)
- (CIPHER_AES_CBC, PAD_PKCS5)
- (CIPHER_AES_ECB, PAD_NOPAD)
- (CIPHER_AES_ECB, PAD_ISO9797_M1)
- (CIPHER_AES_ECB, PAD_ISO9797_M2)
- (CIPHER_AES_ECB, PAD_PKCS5)
- (CIPHER_AES_XTS, PAD_NULL)
- (CIPHER_AES_CFB, PAD_NULL)
- (CIPHER_AES_CTR, PAD_NULL)
- (CIPHER_RSA, PAD_NOPAD)
- (CIPHER_RSA, PAD_PKCS1)
- (CIPHER_RSA, PAD_PKCS1_OAEP)
- (CIPHER_RSA, PAD_PKCS1_OAEP_SHA224)
- (CIPHER_RSA, PAD_PKCS1_OAEP_SHA256)
- (CIPHER_RSA, PAD_PKCS1_OAEP_SHA384)
- (CIPHER_RSA, PAD_PKCS1_OAEP_SHA512)
- (CIPHER_RSA, PAD_PKCS1_OAEP_EXT_PARAMETERS)
|
Signature.OneShot |
Specialization of the Signature
class intended to support efficient one-shot signing and
verification operations that may avoid persistent memory writes
entirely.
Corresponding combinations (cipher algorithm, digest algorithm,
padding algorithm):
- (SIG_CIPHER_DSA, ALG_SHA, PAD_NULL)
- (SIG_CIPHER_DSA, ALG_SHA_224, PAD_NULL)
- (SIG_CIPHER_DSA, ALG_SHA_256, PAD_NULL)
- (SIG_CIPHER_ECDSA, ALG_SHA, PAD_NULL)
- (SIG_CIPHER_ECDSA, ALG_SHA_224, PAD_NULL)
- (SIG_CIPHER_ECDSA, ALG_SHA_256, PAD_NULL)
- (SIG_CIPHER_ECDSA, ALG_SHA_384, PAD_NULL)
- (SIG_CIPHER_ECDSA, ALG_SHA_512, PAD_NULL)
- (SIG_CIPHER_ECDSA_PLAIN, ALG_SHA, PAD_NULL)
- (SIG_CIPHER_ECDSA _PLAIN, ALG_SHA_224, PAD_NULL)
- (SIG_CIPHER_ECDSA _PLAIN, ALG_SHA_256, PAD_NULL)
- (SIG_CIPHER_ECDSA _PLAIN, ALG_SHA_384, PAD_NULL)
- (SIG_CIPHER_ECDSA _PLAIN, ALG_SHA_512,
PAD_NULL)
- (SIG_CIPHER_EDDSA, ALG_NULL, PAD_NULL)
- (SIG_CIPHER_EDDSA_ED25519, ALG_NULL, PAD_NULL)
- (SIG_CIPHER_EDDSA_ED448, ALG_NULL, PAD_NULL)
- (SIG_CIPHER_HMAC, ALG_SHA, PAD_NULL)
- (SIG_CIPHER_HMAC, ALG_SHA_256, PAD_NULL)
- (SIG_CIPHER_AES_MAC128, ALG_NULL, PAD_NOPAD)
- (SIG_CIPHER_AES_CMAC128, ALG_NULL,
PAD_ISO9797_M2)
- (SIG_CIPHER_DES_MAC8, ALG_NULL, PAD_NOPAD)
- (SIG_CIPHER_DES_MAC8, ALG_NULL, PAD_ISO9797_M1)
- (SIG_CIPHER_DES_MAC8, ALG_NULL, PAD_ISO9797_M2)
- (SIG_CIPHER_DES_MAC8, ALG_NULL,
PAD_ISO9797_1_M2_ALG3)
- (SIG_CIPHER_DES_MAC8, ALG_NULL, PAD_PKCS5)
- (SIG_CIPHER_RSA, ALG_SHA, PAD_ISO9796)
- (SIG_CIPHER_RSA, ALG_SHA, PAD_ISO9796_MR)
- (SIG_CIPHER_RSA, ALG_SHA,
PAD_ISO9796_MR_SCHEME_1_OPT_2)
- (SIG_CIPHER_RSA, ALG_RIPEMD160, PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_MD5, PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA, PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA_224, PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA_256, PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA_384, PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA_512, PAD_PKCS1)
- (SIG_CIPHER_RSA, ALG_SHA, PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA_224, PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA_256, PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA_384, PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA_512, PAD_PKCS1_PSS)
- (SIG_CIPHER_RSA, ALG_SHA,
PAD_PKCS1_PSS_EXT_PARAMETERS)
- (SIG_CIPHER_RSA, ALG_SHA_224,
PAD_PKCS1_PSS_EXT_PARAMETERS)
- (SIG_CIPHER_RSA, ALG_SHA_256,
PAD_PKCS1_PSS_EXT_PARAMETERS)
- (SIG_CIPHER_RSA, ALG_SHA_384,
PAD_PKCS1_PSS_EXT_PARAMETERS)
- (SIG_CIPHER_RSA, ALG_SHA_512,
PAD_PKCS1_PSS_EXT_PARAMETERS)
|
RandomData.OneShot |
Specialization of the RandomData
class intended to support efficient one-shot random data
generation operations that may avoid persistent memory writes
entirely. Supported types:
- ALG_FAST
- ALG_KEYGENERATION
- ALG_PRESEEDED_DRBG
- ALG_TRNG
- ALG_PSEUDO_RANDOM (deprecated)
- ALG_SECURE_RANDOM (deprecated)
|
MessageDigest.OneShot |
Specialization of the MessageDigest
class intended to support efficient one-shot hash operations
that may avoid persistent memory writes entirely. Supported
types:
- ALG_MD5
- ALG_RIPEMD160
- ALG_SHA
- ALG_SHA_224
- ALG_SHA_256
- ALG_SHA_384
- ALG_SHA_512
|
InitializedMessageDigest.OneShot |
Specialization of the
InitializedMessageDigest class intended to
support efficient one-shot hash operations that may avoid
persistent memory writes entirely. Supported types:
- ALG_MD5
- ALG_RIPEMD160
- ALG_SHA
- ALG_SHA_224
- ALG_SHA_256
- ALG_SHA_384
- ALG_SHA_512
|
DerivationFunction.OneShot |
Specialization of the
DerivationFunction class intended to
support efficient one-shot derivation-function operations that
may avoid persistent memory writes entirely. Supported types:
- ALG_KDF_HKDF
- ALG_HKDF_EXPAND_LABEL_TLS13
|