|
struct | m2mb_crypto_attr |
|
struct | m2mb_crypto_attrib |
| An attribute can be either a buffer attribute or a value attribute. This is determined by bit [29] of the attribute identifier. If this bit is set to 0, then the attribute is a buffer attribute and the field ref must be selected. If the bit is set to 1, it is a value attribute and the field val must be selected. More...
|
|
#define | M2MB_CRYPTO_OBJ_TYPE_AES_E 0xA0000010 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_HMAC_MD5_E 0xA0000001 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_HMAC_SHA1_E 0xA0000002 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_HMAC_SHA224_E 0xA0000003 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_HMAC_SHA256_E 0xA0000004 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_HMAC_SHA384_E 0xA0000005 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_HMAC_SHA512_E 0xA0000006 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_RSA_PUBLIC_KEY_E 0xA0000030 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_RSA_KEYPAIR_E 0xA1000030 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_DH_KEYPAIR_E 0xA1000032 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_ECDSA_PUBLIC_KEY_E 0xA0000041 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_ECDSA_KEYPAIR_E 0xA1000041 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_ECDH_KEYPAIR_E 0xA1000042 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_GENERIC_SECRET_E 0xA0000000 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_ED25519_PUBLIC_KEY_E 0xA00000C0 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_ED25519_KEYPAIR_E 0xA10000C0 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_CURVE25519_KEYPAIR_E 0xA10000C1 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_SRP_KEYPAIR_E 0xA10000C2 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_CHACHA20_E 0xA00000C3 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_ECJPAKE_ROUND1_PUBLIC_KEY_AND_ZKP_PAIR_E 0xA10000C3 |
|
#define | M2MB_CRYPTO_OBJ_TYPE_ECJPAKE_ROUND2_PUBLIC_KEY_AND_ZKP_E 0xA10000C4 |
|
#define | M2MB_CRYPTO_ALG_AES_CBC_NOPAD_E 0x10000110 |
| Algorithm type. More...
|
|
#define | M2MB_CRYPTO_ALG_AES_CTR_E 0x10000210 |
|
#define | M2MB_CRYPTO_ALG_AES_CCM_E 0x40000710 |
|
#define | M2MB_CRYPTO_ALG_AES_GCM_E 0x40000810 |
|
#define | M2MB_CRYPTO_ALG_RSASSA_PKCS1_V1_5_SHA1_E 0x70002830 |
|
#define | M2MB_CRYPTO_ALG_RSASSA_PKCS1_V1_5_SHA256_E 0x70004830 |
|
#define | M2MB_CRYPTO_ALG_RSASSA_PKCS1_V1_5_SHA384_E 0x70005830 |
|
#define | M2MB_CRYPTO_ALG_RSASSA_PKCS1_V1_5_SHA512_E 0x70006830 |
|
#define | M2MB_CRYPTO_ALG_RSAES_PKCS1_V1_5_E 0x60000130 |
|
#define | M2MB_CRYPTO_ALG_RSA_NOPAD_E 0x60000030 |
|
#define | M2MB_CRYPTO_ALG_DH_DERIVE_SHARED_SECRET_E 0x80000032 |
|
#define | M2MB_CRYPTO_ALG_MD5_E 0x50000001 |
|
#define | M2MB_CRYPTO_ALG_SHA1_E 0x50000002 |
|
#define | M2MB_CRYPTO_ALG_SHA224_E 0x50000003 |
|
#define | M2MB_CRYPTO_ALG_SHA256_E 0x50000004 |
|
#define | M2MB_CRYPTO_ALG_SHA384_E 0x50000005 |
|
#define | M2MB_CRYPTO_ALG_SHA512_E 0x50000006 |
|
#define | M2MB_CRYPTO_ALG_HMAC_MD5_E 0x30000001 |
|
#define | M2MB_CRYPTO_ALG_HMAC_SHA1_E 0x30000002 |
|
#define | M2MB_CRYPTO_ALG_HMAC_SHA224_E 0x30000003 |
|
#define | M2MB_CRYPTO_ALG_HMAC_SHA256_E 0x30000004 |
|
#define | M2MB_CRYPTO_ALG_HMAC_SHA384_E 0x30000005 |
|
#define | M2MB_CRYPTO_ALG_HMAC_SHA512_E 0x30000006 |
|
#define | M2MB_CRYPTO_ALG_ECDSA_P192_E 0x70001042 |
|
#define | M2MB_CRYPTO_ALG_ECDSA_P224_E 0x70002042 |
|
#define | M2MB_CRYPTO_ALG_ECDSA_P256_E 0x70003042 |
|
#define | M2MB_CRYPTO_ALG_ECDSA_P384_E 0x70004042 |
|
#define | M2MB_CRYPTO_ALG_ECDSA_P521_E 0x70005042 |
|
#define | M2MB_CRYPTO_ALG_ECDH_P192_E 0x80001042 |
|
#define | M2MB_CRYPTO_ALG_ECDH_P224_E 0x80002042 |
|
#define | M2MB_CRYPTO_ALG_ECDH_P256_E 0x80003042 |
|
#define | M2MB_CRYPTO_ALG_ECDH_P384_E 0x80004042 |
|
#define | M2MB_CRYPTO_ALG_ECDH_P521_E 0x80005042 |
|
#define | M2MB_CRYPTO_ALG_ED25519_E 0x700000C0 |
|
#define | M2MB_CRYPTO_ALG_CURVE25519_DERIVE_SHARED_SECRET_E 0x800000C1 |
|
#define | M2MB_CRYPTO_ALG_SRP_DERIVE_SHARED_SECRET_E 0x800000C2 |
|
#define | M2MB_CRYPTO_ALG_CHACHA20_POLY1305_E 0x400000C3 |
|
#define | M2MB_CRYPTO_ALG_ECJPAKE_E 0x800000C3 |
|
#define | M2MB_CRYPTO_ATTR_SECRET_VALUE_E 0xC0000000 |
|
#define | M2MB_CRYPTO_ATTR_ED25519_PUBLIC_VALUE_E 0xD00001C0 |
|
#define | M2MB_CRYPTO_ATTR_ED25519_PRIVATE_VALUE_E 0xC00001C0 |
|
#define | M2MB_CRYPTO_ATTR_CURVE25519_PUBLIC_VALUE_E 0xD00001C1 |
|
#define | M2MB_CRYPTO_ATTR_CURVE25519_PRIVATE_VALUE_E 0xC00002C1 |
|
#define | M2MB_CRYPTO_ATTR_ECC_PUBLIC_VALUE_X_E 0xD0000141 |
|
#define | M2MB_CRYPTO_ATTR_ECC_PUBLIC_VALUE_Y_E 0xD0000241 |
|
#define | M2MB_CRYPTO_ATTR_ECC_PRIVATE_VALUE_E 0xC0000341 |
|
#define | M2MB_CRYPTO_ATTR_ECC_CURVE_E 0xF0000441 |
|
#define | M2MB_CRYPTO_ATTR_DH_PRIME_E 0xD0001032 |
|
#define | M2MB_CRYPTO_ATTR_DH_BASE_E 0xD0001232 |
|
#define | M2MB_CRYPTO_ATTR_DH_PUBLIC_VALUE_E 0xD0000132 |
|
#define | M2MB_CRYPTO_ATTR_DH_PRIVATE_VALUE_E 0xC0000232 |
|
#define | M2MB_CRYPTO_ATTR_RSA_MODULUS_E 0xD0000130 |
|
#define | M2MB_CRYPTO_ATTR_RSA_PUBLIC_EXPONENT_E 0xD0000230 |
|
#define | M2MB_CRYPTO_ATTR_RSA_PRIVATE_EXPONENT_E 0xC0000330 |
|
#define | M2MB_CRYPTO_ATTR_RSA_PRIME1_E 0xC0000430 |
|
#define | M2MB_CRYPTO_ATTR_RSA_PRIME2_E 0xC0000530 |
|
#define | M2MB_CRYPTO_ATTR_RSA_EXPONENT1_E 0xC0000630 |
|
#define | M2MB_CRYPTO_ATTR_RSA_EXPONENT2_E 0xC0000730 |
|
#define | M2MB_CRYPTO_ATTR_RSA_COEFFICIENT_E 0xC0000830 |
|
#define | M2MB_CRYPTO_ATTR_SRP_PRIME_E 0xD00001C2 |
|
#define | M2MB_CRYPTO_ATTR_SRP_GEN_E 0xD00002C2 |
|
#define | M2MB_CRYPTO_ATTR_SRP_VERIFIER_E 0xC00003C2 |
|
#define | M2MB_CRYPTO_ATTR_SRP_USERNAME_E 0xD00004C2 |
|
#define | M2MB_CRYPTO_ATTR_SRP_PASSWORD_E 0xC00005C2 |
|
#define | M2MB_CRYPTO_ATTR_SRP_TYPE_E 0xD00006C2 |
|
#define | M2MB_CRYPTO_ATTR_SRP_HASH_E 0xD00007C2 |
|
#define | M2MB_CRYPTO_ATTR_SRP_SALT_E 0xD00008C2 |
|
#define | M2MB_CRYPTO_ATTR_SRP_PUBLIC_VALUE_E 0xD00009C2 |
|
#define | M2MB_CRYPTO_ATTR_SRP_PRIVATE_VALUE_E 0xC0000AC2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_LOCAL_IDENTITY_E 0xD00010C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_REMOTE_IDENTITY_E 0xD00020C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_ROUND1_PUBLIC_KEY_1_E 0xD00030C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_ROUND1_ZKP_EPHEMERAL_PUBLIC_KEY_1_E 0xD00040C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_ROUND1_ZKP_SIGNATURE_1_E 0xD00050C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_ROUND1_PUBLIC_KEY_2_E 0xD00060C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_ROUND1_ZKP_EPHEMERAL_PUBLIC_KEY_2_E 0xD00070C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_ROUND1_ZKP_SIGNATURE_2_E 0xD00080C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_ROUND2_PUBLIC_KEY_E 0xD00090C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_ROUND2_ZKP_EPHEMERAL_PUBLIC_KEY_E 0xD00100C2 |
|
#define | M2MB_CRYPTO_ATTR_ECJPAKE_ROUND2_ZKP_SIGNATURE_E 0xD00110C2 |
|
#define | M2MB_CRYPTO_AES128_KEY_BYTES (16) |
|
#define | M2MB_CRYPTO_AES256_KEY_BYTES (32) |
|
#define | M2MB_CRYPTO_AES_IV_BYTES (16) |
|
#define | M2MB_CRYPTO_AES_BLOCK_BYTES (16) |
|
enum | m2mb_crypto_mode_t {
M2MB_CRYPTO_MODE_ENCRYPT_E,
M2MB_CRYPTO_MODE_DECRYPT_E,
M2MB_CRYPTO_MODE_SIGN_E,
M2MB_CRYPTO_MODE_VERIFY_E,
M2MB_CRYPTO_MODE_MAC_E,
M2MB_CRYPTO_MODE_DIGEST_E,
M2MB_CRYPTO_MODE_DERIVE_E
} |
| Operation mode. enum. More...
|
|
typedef UINT32 | m2mb_crypto_obj_type_t |
| Crypto object type.
Objects are the keys used in the crypto operations. More...
|
|
typedef UINT32 | m2mb_crypto_alg_t |
| Crypto algorithm type.
Algorithms are the cryptographic functions performed on the keys. More...
|
|
typedef UINT32 | m2mb_crypto_attr_type_t |
| Attribute type. Used in m2mb_crypto_attrib_t. More...
|
|
typedef struct m2mb_crypto_attr | m2mb_crypto_attr_t |
|
typedef struct m2mb_crypto_attrib | m2mb_crypto_attrib_t |
| An attribute can be either a buffer attribute or a value attribute. This is determined by bit [29] of the attribute identifier. If this bit is set to 0, then the attribute is a buffer attribute and the field ref must be selected. If the bit is set to 1, it is a value attribute and the field val must be selected. More...
|
|
typedef VOID * | M2M_SHA_HANDLE |
| Handle used in SHA operations. More...
|
|
INT32 | m2mb_crypto_random_get (VOID *buffer, UINT16 len) |
| To get random number. More...
|
|
Crypto support.
we866e4/epl/core/m2mb/driver/crypto/m2mb_crypto.h
M2MB APIs to perform various cryptographic operations
- Note
- Dependencies:
"#include <m2mb_types.h>"
- Author
- Burhanuddin
- Date
- 3/04/2018
Definition in file m2mb_crypto.h.