Slot Struct
C
struct crm_pk_inops_mod_single_op_cmd { struct crm_pk_slot n; < Modulus * struct crm_pk_slot b; < Value * };
Description
Input slots for ::CRM_PK_CMD_ODD_MOD_INV & ::CRM_PK_CMD_ODD_MOD_REDUCE & ::CRM_PK_CMD_MOD_SQRT & ::CRM_PK_CMD_EVEN_MOD_INV & ::CRM_PK_CMD_ODD_MOD_REDUCE
Slot Struct
C
struct crm_pk_inops_mod_cmd { struct crm_pk_slot n; < Modulus * struct crm_pk_slot a; < Operand A * struct crm_pk_slot b; < Operand B * };
Description
Input slots for ::CRM_PK_CMD_MOD_ADD & ::CRM_PK_CMD_MOD_SUB & ::CRM_PK_CMD_ODD_MOD_MULT & ::CRM_PK_CMD_ODD_MOD_DIV
Slot Struct
C
struct crm_pk_inops_mult { struct crm_pk_slot a; < First scalar value * struct crm_pk_slot b; < Second scalar value * };
Description
Input slots for ::CRM_PK_CMD_MULT
Slot Struct
C
struct crm_pk_inops_mod_exp { struct crm_pk_slot m; < Modulus * struct crm_pk_slot input; < Base * struct crm_pk_slot exp; < Exponent * };
Description
Input slots for ::CRM_PK_CMD_MOD_EXP
Slot Struct
C
struct crm_pk_inops_rsa_mod_exp_cm { struct crm_pk_slot m; < Modulus * struct crm_pk_slot lambda_n; < Lambda_n * struct crm_pk_slot input; < Base * struct crm_pk_slot exp; < Exponent * struct crm_pk_slot blind; < Blinding factor * };
Description
Input slots for ::CRM_PK_CMD_RSA_MOD_EXP_CM
Slot Struct
C
struct crm_pk_inops_crt_mod_exp { struct crm_pk_slot p; < Prime number p * struct crm_pk_slot q; < Prime number q * struct crm_pk_slot in; < Input * struct crm_pk_slot dp; < d mod (p-1), with d the private key * struct crm_pk_slot dq; < d mod (q-1), with d the private key * struct crm_pk_slot qinv; < q^(-1) mod p * };
Description
Input slots for ::CRM_PK_CMD_MOD_EXP_CRT
Slot Struct
C
struct crm_pk_inops_rsa_keygen { struct crm_pk_slot p; < Prime number p * struct crm_pk_slot q; < Prime number q * struct crm_pk_slot e; < Public exponent * };
Description
Input slots for ::CRM_PK_CMD_RSA_KEYGEN
Slot Struct
C
struct crm_pk_inops_rsa_crt_keyparams { struct crm_pk_slot p; < Prime number p * struct crm_pk_slot q; < Prime number q * struct crm_pk_slot privkey; < Private key * };
Description
Input slots for ::CRM_PK_CMD_RSA_CRT_KEYPARAMS
Slot Struct
C
struct crm_pk_inops_srp_user_keyparams { struct crm_pk_slot n; < Safe prime number * struct crm_pk_slot g; < Generator of the multiplicative group * struct crm_pk_slot a; < Random value * struct crm_pk_slot b; < kg^x + g^t with t random salt, k value derived by both sides (for example k = H(n, g)) * struct crm_pk_slot x; < Hash of (s, p) with s a random salt and p the user password * struct crm_pk_slot k; < Hash of (n, g) * struct crm_pk_slot u; < Hash of (g^a, b) * };
Description
Input slots for ::CRM_PK_CMD_SRP_USER_KEY_GEN
Slot Struct
C
struct crm_pk_inops_eckcdsa_sign { struct crm_pk_slot d; < Private key * struct crm_pk_slot k; < Random value * struct crm_pk_slot r; < First part of signature * struct crm_pk_slot h; < Hash digest * };
Description
Input slots for ::CRM_PK_CMD_ECKCDSA_SIGN
Slot Struct
C
struct crm_pk_inops_montgomery_mult { struct crm_pk_slot p; < Point P * struct crm_pk_slot k; < Scalar * };
Description
Input slots for ::CRM_PK_CMD_MONTGOMERY_PTMUL
Slot Struct
C
struct crm_pk_inops_ecp_add { struct crm_pk_slot p1x; < x-coordinate of point P1 * struct crm_pk_slot p1y; < y-coordinate of point P1 * struct crm_pk_slot p2x; < x-coordinate of point P2 * struct crm_pk_slot p2y; < y-coordinate of point P2 * };
Description
Input slots for ::CRM_PK_CMD_ECC_PT_ADD
Slot Struct
C
struct crm_pk_inops_ecp_mult { struct crm_pk_slot k; < Scalar * struct crm_pk_slot px; < x-coordinate of point P * struct crm_pk_slot py; < y-coordinate of point P * };
Description
Input slots for ::CRM_PK_CMD_ECC_PTMUL
Slot Struct
C
struct crm_pk_inops_ecp_double { struct crm_pk_slot px; < x-coordinate of point P * struct crm_pk_slot py; < y-coordinate of point P * };
Description
Input slots for ::CRM_PK_CMD_ECC_PT_DOUBLE
Slot Struct
C
struct crm_pk_inops_ec_ptoncurve { struct crm_pk_slot px; < x-coordinate of point P * struct crm_pk_slot py; < y-coordinate of point P * };
Description
Input slots for ::CRM_PK_CMD_ECC_PTONCURVE
Slot Struct
C
struct crm_pk_inops_ec_pt_decompression { struct crm_pk_slot x; < x-coordinate of compressed point * };
Description
Input slots for ::CRM_PK_CMD_ECC_PT_DECOMP
Slot Struct
C
struct crm_pk_inops_ecdsa_verify { struct crm_pk_slot qx; < x-coordinate of public key * struct crm_pk_slot qy; < y-coordinate of public key * struct crm_pk_slot r; < First part of signature * struct crm_pk_slot s; < Second part of signature * struct crm_pk_slot h; < Hash digest * };
Description
Input slots for ::CRM_PK_CMD_ECDSA_VER & ::CRM_PK_CMD_ECKCDSA_VER & ::CRM_PK_CMD_SM2_VER
Slot Struct
C
struct crm_pk_inops_ecdsa_generate { struct crm_pk_slot d; < Private key * struct crm_pk_slot k; < Random value * struct crm_pk_slot h; < Hash digest * };
Description
Input slots for ::CRM_PK_CMD_ECDSA_GEN & ::CRM_PK_CMD_SM2_GEN
Slot Struct
C
struct crm_pk_inops_sm2_exchange { struct crm_pk_slot d; < Private key * struct crm_pk_slot k; < Random value * struct crm_pk_slot qx; < x-coordinate of public key * struct crm_pk_slot qy; < y-coordinate of public key * struct crm_pk_slot rbx; < x-coordinate of random value from B * struct crm_pk_slot rby; < y-coordinate of random value from B * struct crm_pk_slot cof; < Cofactor * struct crm_pk_slot rax; < x-coordinate of random value from A * struct crm_pk_slot w; < (log2(n)/2)-1, with n the curve order * };
Description
Input slots for ::CRM_PK_CMD_SM2_EXCH
Slot Struct
C
struct crm_pk_inops_eckcdsa_generate { struct crm_pk_slot d; < Private key * };
Description
Input slots for ::CRM_PK_CMD_ECKCDSA_PUBKEY_GEN
Slot Struct
C
struct crm_pk_inops_eddsa_ptmult { struct crm_pk_dblslot r; < Scalar * };
Description
Input slots for ::CRM_PK_CMD_EDDSA_PTMUL
Slot Struct
C
struct crm_pk_inops_eddsa_sign { struct crm_pk_dblslot k; < Scalar with a size double of other operands * struct crm_pk_dblslot r; < Signature part 1 * struct crm_pk_slot s; < Signature part 2 * };
Description
Input slots for ::CRM_PK_CMD_EDDSA_SIGN
Slot Struct
C
struct crm_pk_inops_eddsa_ver {
struct crm_pk_dblslot k; < Scalar with a size double of other operands *
struct crm_pk_slot ay; < Encoded public key *
struct crm_pk_slot sig_s; < Signature part 2 *
struct crm_pk_slot ry; < y-coordinate of r *
};
Description
Input slots for ::CRM_PK_CMD_EDDSA_VER
Slot Struct
C
struct crm_pk_inops_miller_rabin { struct crm_pk_slot n; < Candidate prime value * struct crm_pk_slot a; < Random value * };
Description
Input slots for ::CRM_PK_CMD_MILLER_RABIN
Slot Struct
C
struct crm_pk_inops_dsa_sign {
struct crm_pk_slot p; < Prime modulus *
struct crm_pk_slot q; < Prime divisor of p-1 *
struct crm_pk_slot g; < Generator *
struct crm_pk_slot k; < Random value *
struct crm_pk_slot privkey; < Private key *
struct crm_pk_slot h; < Hash digest *
};
Description
Input slots for ::CRM_PK_CMD_DSA_SIGN
Slot Struct
C
struct crm_pk_inops_dsa_ver {
struct crm_pk_slot p; < Prime modulus *
struct crm_pk_slot q; < Prime divisor of p-1 *
struct crm_pk_slot g; < Generator *
struct crm_pk_slot pubkey; < Public key *
struct crm_pk_slot r; < First part of signature *
struct crm_pk_slot s; < Second part of signature *
struct crm_pk_slot h; < Hash digest *
};
Description
Input slots for ::CRM_PK_CMD_DSA_VER
Slot Struct
C
struct crm_pk_inops_sm9_exp {
struct crm_pk_slot h; < exponent
struct crm_pk_slot t; < polynomial base
struct crm_pk_slot g[12]; < g in GT
};
Description
Input slots for ::CRM_PK_CMD_SM9_EXP
Slot Struct
C
struct crm_pk_inops_sm9_pmulg1 { struct crm_pk_slot p1x0; < x-coordinate struct crm_pk_slot p1y0; < y-coordinate struct crm_pk_slot ke; < scalar struct crm_pk_slot t; < polynomial base };
Description
Input slots for ::CRM_PK_CMD_SM9_PMULG1
Slot Struct
C
struct crm_pk_inops_sm9_pmulg2 { struct crm_pk_slot p2x0; < x-coordinate 0 struct crm_pk_slot p2x1; < x-coordinate 1 struct crm_pk_slot p2y0; < y-coordinate 0 struct crm_pk_slot p2y1; < y-coordinate 1 struct crm_pk_slot ke; < scalar struct crm_pk_slot t; < polynomial base };
Description
Input slots for ::CRM_PK_CMD_SM9_PMULG2
Slot Struct
C
struct crm_pk_inops_sm9_pair { struct crm_pk_slot qx0; < Q x-coordinate 0 struct crm_pk_slot qx1; < Q x-coordinate 1 struct crm_pk_slot qy0; < Q y-coordinate 0 struct crm_pk_slot qy1; < Q y-coordinate 1 struct crm_pk_slot px0; < P x-coordinate struct crm_pk_slot py0; < P y-coordinate struct crm_pk_slot f; < frobenius constant struct crm_pk_slot t; < polynomial base };
Description
Input slots for ::CRM_PK_CMD_SM9_PAIR
Slot Struct
C
struct crm_pk_inops_sm9_sigpkgen { struct crm_pk_slot p1x0; < x-coordinate struct crm_pk_slot p1y0; < y-coordinate struct crm_pk_slot h; < scalar struct crm_pk_slot ks; < scalar struct crm_pk_slot t; < polynomial base };
Description
Input slots for ::CRM_PK_CMD_SM9_PRIVSIGKEYGEN
Slot Struct
C
struct crm_pk_inops_sm9_signaturegen { struct crm_pk_slot dcrm0; < x-coordinate struct crm_pk_slot dsy0; < y-coordinate struct crm_pk_slot h; < scalar struct crm_pk_slot r; < scalar struct crm_pk_slot t; < polynomial base };
Description
Input slots for ::CRM_PK_CMD_SM9_SIGNATUREGEN
Slot Struct
C
struct crm_pk_inops_sm9_signatureverify { struct crm_pk_slot h1; < scalar struct crm_pk_slot p2x0; < x-coordinate struct crm_pk_slot p2x1; < x-coordinate struct crm_pk_slot p2y0; < y-coordinate struct crm_pk_slot p2y1; < y-coordinate struct crm_pk_slot ppubcrm0; < x-coordinate 0 struct crm_pk_slot ppubcrm1; < x-coordinate 1 struct crm_pk_slot ppubsy0; < y-coordinate 0 struct crm_pk_slot ppubsy1; < y-coordinate 1 struct crm_pk_slot crm0; < x-coordinate struct crm_pk_slot sy0; < y-coordinate struct crm_pk_slot h; < scalar struct crm_pk_slot f; < frobenius constant struct crm_pk_slot t; < polynomial base struct crm_pk_slot g[12]; < input };
Description
Input slots for ::CRM_PK_CMD_SM9_SIGNATUREVERIFY
Slot Struct
C
struct crm_pk_inops_sm9_privencrkeygen { struct crm_pk_slot p2x0; < x-coordinate 0 struct crm_pk_slot p2x1; < x-coordinate 1 struct crm_pk_slot p2y0; < y-coordinate 0 struct crm_pk_slot p2y1; < y-coordinate 1 struct crm_pk_slot h; < scalar struct crm_pk_slot ks; < scalar struct crm_pk_slot t; < polynomial base };
Description
Input slots for ::CRM_PK_CMD_SM9_PRIVENCRKEYGEN
Slot Struct
C
struct crm_pk_inops_sm9_sendkey { struct crm_pk_slot p1x0; < x-coordinate struct crm_pk_slot p1y0; < y-coordinate struct crm_pk_slot ppubex0; < x-coordinate struct crm_pk_slot ppubey0; < y-coordinate struct crm_pk_slot h; < scalar struct crm_pk_slot r; < scalar struct crm_pk_slot t; < polynomial base };
Description
Input slots for ::CRM_PK_CMD_SM9_SENDKEY
Slot Struct
C
struct crm_pk_inops_sm9_reduceh { struct crm_pk_slot h; < scalar struct crm_pk_slot t; < polynomial base };
Description
Input slots for ::CRM_PK_CMD_SM9_REDUCEH
Slot Struct
C
struct crm_pk_inops_ecjpake_generate_zkp { struct crm_pk_slot v; < Random input struct crm_pk_slot x; < Exponent struct crm_pk_slot h; < Hash digest };
Description
Input slots for ::CRM_PK_CMD_ECJPAKE_GENERATE_ZKP
Slot Struct
C
struct crm_pk_inops_ecjpake_verify_zkp { struct crm_pk_slot xv; < Point V on the curve, x-coordinate struct crm_pk_slot yv; < Point V on the curve, y-coordinate struct crm_pk_slot xx; < Point X on the curve, x-coordinate struct crm_pk_slot yx; < Point X on the curve, y-coordinate struct crm_pk_slot r; < Proof struct crm_pk_slot h; < Hash digest struct crm_pk_slot xg2; < Point G on the curve, x-coordinate struct crm_pk_slot yg2; < Point G on the curve, y-coordinate };
Description
Input slots for ::CRM_PK_CMD_ECJPAKE_VERIFY_ZKP
Slot Struct
C
struct crm_pk_inops_ecjpake_3pt_add { struct crm_pk_slot x2_1; < Point X2 on the curve, x-coordinate struct crm_pk_slot x2_2; < Point X2 on the curve, y-coordinate struct crm_pk_slot x3_1; < Point X3 on the curve, x-coordinate struct crm_pk_slot x3_2; < Point X3 on the curve, y-coordinate struct crm_pk_slot x1_1; < Point X1 on the curve, x-coordinate struct crm_pk_slot x1_2; < Point X1 on the curve, y-coordinate };
Description
Input slots for ::CRM_PK_CMD_ECJPAKE_3PT_ADD
Slot Struct
C
struct crm_pk_inops_ecjpake_gen_step_2 { struct crm_pk_slot x4_1; < Point X4 on the curve, x-coordinate struct crm_pk_slot x4_2; < Point X4 on the curve, y-coordinate struct crm_pk_slot x3_1; < Point X3 on the curve, x-coordinate struct crm_pk_slot x3_2; < Point X3 on the curve, y-coordinate struct crm_pk_slot x2s; < Random valuePassword struct crm_pk_slot x1_1; < Point X1 on the curve, x-coordinate struct crm_pk_slot x1_2; < Point X1 on the curve, y-coordinate struct crm_pk_slot s; < Password };
Description
Input slots for ::CRM_PK_CMD_ECJPAKE_GEN_STEP_2
Slot Struct
C
struct crm_pk_inops_ecjpake_gen_sess_key { struct crm_pk_slot x4_1; < Point X4 on the curve, x-coordinate struct crm_pk_slot x4_2; < Point X4 on the curve, y-coordinate struct crm_pk_slot b_1; < Point B on the curve, x-coordinate struct crm_pk_slot b_2; < Point B on the curve, y-coordinate struct crm_pk_slot x2; < Random value struct crm_pk_slot x2s; < Random valuePassword };
Description
Input slots for ::CRM_PK_CMD_ECJPAKE_GEN_SESS_KEY
Slot Struct
C
struct crm_pk_inops_srp_server_public_key_gen { struct crm_pk_slot n; < Safe prime struct crm_pk_slot g; < Generator struct crm_pk_slot k; < Hash digest struct crm_pk_slot v; < Exponentiated hash digest struct crm_pk_slot b; < Random };
Description
Inputs slots for ::CRM_PK_CMD_SRP_SERVER_PUBLIC_KEY_GEN
Slot Struct
C
struct crm_pk_inops_srp_server_session_key_gen { struct crm_pk_slot n; < Safe prime struct crm_pk_slot a; < Random struct crm_pk_slot u; < Hash digest struct crm_pk_slot v; < Exponentiated hash digest struct crm_pk_slot b; < Random };
Description
Inputs slots for ::CRM_PK_CMD_SRP_SERVER_SESSION_KEY_GEN
Slot Struct
C
struct crm_pk_inops_check_param_ab { struct crm_pk_slot p; < p parameter of curve struct crm_pk_slot a; < a parameter of curve struct crm_pk_slot b; < b parameter of curve };
Description
Inputs slots for ::CRM_PK_CMD_CHECK_PARAM_AB
Slot Struct
C
struct crm_pk_inops_check_param_n { struct crm_pk_slot p; < p parameter of curve struct crm_pk_slot n; < n parameter of curve };
Description
Inputs slots for ::CRM_PK_CMD_CHECK_PARAM_N
Slot Struct
C
struct crm_pk_inops_check_xy { struct crm_pk_slot p; < p parameter of curve struct crm_pk_slot x; < x-coordinate struct crm_pk_slot y; < y-coordinate };
Description
Inputs slots for ::CRM_PK_CMD_CHECK_XY