BYTECEIL
#define BIGN_S0_LEN(q_bit_len) (BYTECEIL(q_bit_len) / 2)
#define BIGN_S1_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define BIP0340_R_LEN(p_bit_len) (BYTECEIL(p_bit_len))
#define BIP0340_S_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define EC_PUB_KEY_MAX_SIZE (3 * BYTECEIL(CURVES_MAX_P_BIT_LEN))
(3 * BYTECEIL((pub_key)->params->ec_curve.a.ctx->p_bitlen))
#define EC_PRIV_KEY_MAX_SIZE (LOCAL_MAX(MAX_DIGEST_SIZE, LOCAL_MAX(BYTECEIL(CURVES_MAX_Q_BIT_LEN), BYTECEIL(CURVES_MAX_P_BIT_LEN))))
((u8)(LOCAL_MAX(MAX_DIGEST_SIZE, LOCAL_MAX(BYTECEIL((priv_key)->params->ec_gen_order_bitlen), BYTECEIL((priv_key)->params->ec_fp.p_bitlen)))))
#define EC_PRIV_KEY_MAX_SIZE (LOCAL_MAX(BYTECEIL(CURVES_MAX_Q_BIT_LEN), BYTECEIL(CURVES_MAX_P_BIT_LEN)))
((u8)(LOCAL_MAX(BYTECEIL((priv_key)->params->ec_gen_order_bitlen), BYTECEIL((priv_key)->params->ec_fp.p_bitlen))))
#define ECDSA_R_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define ECDSA_S_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define ECFSDSA_R_LEN(p_bit_len) (2 * (BYTECEIL(p_bit_len)))
#define ECFSDSA_S_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define ECGDSA_R_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define ECGDSA_S_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define ECKCDSA_R_LEN(hsize, q_bit_len) LOCAL_MIN(hsize, BYTECEIL(q_bit_len))
#define ECKCDSA_S_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define ECOSDSA_S_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define ECRDSA_R_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define ECRDSA_S_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define ECSDSA_S_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define SM2_R_LEN(q_bit_len) (BYTECEIL(q_bit_len))
#define SM2_S_LEN(q_bit_len) (BYTECEIL(q_bit_len))
coord_len = (u16)BYTECEIL(ctx->p_bitlen);
coord_len = (u16)BYTECEIL(pt->crv->a.ctx->p_bitlen);
coord_len = (u16)BYTECEIL(ctx->p_bitlen);
coord_len = (u16)BYTECEIL(ctx->p_bitlen);
coord_len = (u16)BYTECEIL(ctx->p_bitlen);
coord_len = (u16)BYTECEIL(ctx->p_bitlen);
coord_len = (u16)BYTECEIL(ctx->p_bitlen);
coord_len = (u16)BYTECEIL(ctx->p_bitlen);
coord_len = (u16)BYTECEIL(ctx->p_bitlen);
MUST_HAVE((BYTECEIL(params->ec_fp.p_bitlen) <= 255), ret, err);
(*size) = (u8)(BYTECEIL(params->ec_fp.p_bitlen));
MUST_HAVE(((2 * BYTECEIL(params->ec_fp.p_bitlen)) <= 255), ret, err);
(*size) = (u8)(2 * BYTECEIL(params->ec_fp.p_bitlen));
(u32)(2 * BYTECEIL(curve_params.ec_fp.p_bitlen))); EG(ret, err);
(u16)(2 * BYTECEIL(curve_params.ec_fp.p_bitlen)),
MUST_HAVE((siglen == (2 * BYTECEIL(N))), ret, err);
MUST_HAVE((siglen == (2 * BYTECEIL(N))), ret, err);
MUST_HAVE((siglen == (2 * BYTECEIL(N))), ret, err);
MUST_HAVE((siglen == (2 * BYTECEIL(N))), ret, err);
if(hlen <= (u16)BYTECEIL(beta)){
curr_rlen = (u16)BYTECEIL(beta);
curr_siglen = (u16)(curr_rlen + BYTECEIL(beta));
MUST_HAVE((sizeof(pi_buf) >= (u16)BYTECEIL(alpha)), ret, err);
ret = _i2osp(pi, pi_buf, (u16)BYTECEIL(alpha)); EG(ret, err);
if(hlen <= (u16)BYTECEIL(beta)){
ret = gen_hash_update(&hash_ctx, pi_buf, (u16)BYTECEIL(alpha), kcdsa_hash); EG(ret, err);
MUST_HAVE((block_size <= (u16)BYTECEIL(alpha)), ret, err);
ret = _i2osp(y, pi_buf, (u16)BYTECEIL(alpha)); EG(ret, err);
ret = buf_lshift(pi_buf, (u16)BYTECEIL(alpha), (u16)(BYTECEIL(alpha) - block_size)); EG(ret, err);
ret = gen_hash_update(&hash_ctx, pi_buf, (u16)BYTECEIL(alpha), kcdsa_hash); EG(ret, err);
ret = buf_lshift(hash, hlen, (u16)(hlen - BYTECEIL(beta))); EG(ret, err);
ret = local_memcpy(sig, hash, (u16)BYTECEIL(beta)); EG(ret, err);
MUST_HAVE((block_size <= (u16)BYTECEIL(alpha)), ret, err);
ret = _i2osp(y, pi_buf, (u16)BYTECEIL(alpha)); EG(ret, err);
ret = buf_lshift(pi_buf, (u16)BYTECEIL(alpha), (u16)(BYTECEIL(alpha) - block_size)); EG(ret, err);
ret = buf_lshift(hash, hlen, (u16)(hlen - BYTECEIL(beta))); EG(ret, err);
for(i = 0; i < (u16)BYTECEIL(beta); i++){
ret = _os2ip(&s, hash, (u16)BYTECEIL(beta)); EG(ret, err);
ret = _i2osp(&s, sig + curr_rlen, (u16)BYTECEIL(beta));
if(hlen <= (u16)BYTECEIL(beta)){
curr_rlen = (u16)BYTECEIL(beta);
curr_siglen = (u16)(curr_rlen + BYTECEIL(beta));
if(hlen <= (u16)BYTECEIL(beta)){
MUST_HAVE((block_size <= (u16)BYTECEIL(alpha)), ret, err);
ret = _i2osp(y, pi_buf, (u16)BYTECEIL(alpha)); EG(ret, err);
ret = buf_lshift(pi_buf, (u16)BYTECEIL(alpha), (u16)(BYTECEIL(alpha) - block_size)); EG(ret, err);
MUST_HAVE((block_size <= (u16)BYTECEIL(alpha)), ret, err);
ret = _i2osp(y, pi_buf, (u16)BYTECEIL(alpha)); EG(ret, err);
ret = buf_lshift(pi_buf, (u16)BYTECEIL(alpha), (u16)(BYTECEIL(alpha) - block_size)); EG(ret, err);
ret = buf_lshift(hash, hlen, (u16)(hlen - BYTECEIL(beta))); EG(ret, err);
for(i = 0; i < (u16)BYTECEIL(beta); i++){
ret = _os2ip(&v, hash, (u16)BYTECEIL(beta)); EG(ret, err);
MUST_HAVE((sizeof(pi_buf) >= (u16)BYTECEIL(alpha)), ret, err);
ret = _i2osp(&pi, pi_buf, (u16)BYTECEIL(alpha)); EG(ret, err);
if(hlen <= (u16)BYTECEIL(beta)){
ret = gen_hash_update(&hash_ctx, pi_buf, (u16)BYTECEIL(alpha), kcdsa_hash); EG(ret, err);
ret = gen_hash_update(&hash_ctx, pi_buf, (u16)BYTECEIL(alpha), kcdsa_hash); EG(ret, err);
ret = buf_lshift(hash, hlen, (u16)(hlen - BYTECEIL(beta))); EG(ret, err);
k = BYTECEIL(modbits);
k = BYTECEIL(modbits);
k = BYTECEIL(modbits);
k = BYTECEIL(modbits);
k = BYTECEIL(modbits);
k = BYTECEIL(modbits);
k = BYTECEIL(modbits);
MUST_HAVE(emsize == BYTECEIL(modbits - 1), ret, err);
k = BYTECEIL(modbits);
MUST_HAVE(emlen == BYTECEIL(modbits - 1), ret, err);
k = BYTECEIL(modbits);
k = BYTECEIL(modbits);
emlen = BYTECEIL(embits);
MUST_HAVE((siglen == (hlen + BYTECEIL(beta))), ret, err);
ret = _i2osp(pi, pi_buf, (u16)BYTECEIL(alpha)); EG(ret, err);
ret = gen_hash_update(&hash_ctx, pi_buf, (u16)BYTECEIL(alpha), sdsa_hash); EG(ret, err);
MUST_HAVE((siglen == (hlen + BYTECEIL(beta))), ret, err);
ret = _i2osp(&pi, pi_buf, (u16)BYTECEIL(alpha)); EG(ret, err);
ret = gen_hash_update(&hash_ctx, pi_buf, (u16)BYTECEIL(alpha), sdsa_hash); EG(ret, err);
q_len = (bitcnt_t)BYTECEIL(q_bit_len);
u8 FE2OS_D[LOCAL_MAX(BYTECEIL(CURVES_MAX_Q_BIT_LEN), 2 * BELT_HASH_DIGEST_SIZE)];
q_len = (u8)BYTECEIL(q_bit_len);
u8 FE2OS_W[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), 2 * BIGN_S0_LEN(CURVES_MAX_Q_BIT_LEN))];
p_len = (u8)BYTECEIL(p_bit_len);
u8 TMP[BYTECEIL(CURVES_MAX_Q_BIT_LEN)];
u8 FE2OS_W[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), 2 * BIGN_S0_LEN(CURVES_MAX_Q_BIT_LEN))];
p_len = (u8)BYTECEIL(p_bit_len);
u8 chacha20_scalar[BYTECEIL(CURVES_MAX_Q_BIT_LEN)];
p_len = (u8)BYTECEIL(p_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
p_len = (u8)BYTECEIL(p_bit_len);
p_len = (u8)BYTECEIL(p_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
u8 chacha20_scalar[BYTECEIL(CURVES_MAX_Q_BIT_LEN)];
p_len = (u8)BYTECEIL(p_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
ret = local_memcpy(&T[BYTECEIL(t_bit_len)], V, hmac_size); EG(ret, err);
q_len = (u8)BYTECEIL(q_bit_len);
u8 T[BYTECEIL(CURVES_MAX_Q_BIT_LEN) + MAX_DIGEST_SIZE];
q_len = (u8)BYTECEIL(q_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
MUST_HAVE(((u32)BYTECEIL(p_bit_len) <= NN_MAX_BYTE_LEN), ret, err);
p_len = (u8)BYTECEIL(p_bit_len);
p_len = (u8)BYTECEIL(p_bit_len);
p_len = (u8)BYTECEIL(p_bit_len);
p_len = (u8)BYTECEIL(p_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
p_len = (u8)BYTECEIL(p_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
MUST_HAVE(((u32)BYTECEIL(p_bit_len) <= NN_MAX_BYTE_LEN), ret, err);
u8 tmp_buf[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), MAX_BLOCK_SIZE)];
p_len = (u8)BYTECEIL(pub_key->params->ec_fp.p_bitlen);
u8 tmp_buf[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
p_len = (u8)BYTECEIL(priv_key->params->ec_fp.p_bitlen);
u8 tmp_buf[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), MAX_BLOCK_SIZE)];
p_len = (u8)BYTECEIL(pub_key->params->ec_fp.p_bitlen);
u8 tmp_buf[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
p_len = (u8)BYTECEIL(p_bit_len);
u8 Wx[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
u8 Wy[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
p_len = (u8)BYTECEIL(p_bit_len);
u8 Wprimex[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
u8 Wprimey[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
p_len = (u8)BYTECEIL(pub_key->params->ec_fp.p_bitlen);
MUST_HAVE((noncelen <= (u8)(BYTECEIL(q_bit_len))), ret, err);
q_len = (u8)BYTECEIL(q_bit_len);
MUST_HAVE((noncelen <= (u8)(BYTECEIL(q_bit_len))), ret, err);
MUST_HAVE(((u32)BYTECEIL(p_bit_len) <= NN_MAX_BYTE_LEN), ret, err);
MUST_HAVE((noncelen <= (u8)(BYTECEIL(q_bit_len))), ret, err);
#define Z_INPUT_MAX_LEN (2 + SM2_MAX_ID_LEN + (6 * BYTECEIL(CURVES_MAX_P_BIT_LEN)))
u8 buf[2 * BYTECEIL(CURVES_MAX_P_BIT_LEN)];
p_len = (u8)BYTECEIL(p_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
q_len = (u8)BYTECEIL(q_bit_len);
ret = nn_export_to_buf(nonce, (u16)BYTECEIL(q_bit_len), &n_nonce); EG(ret, err);
if((unsigned int)BYTECEIL(q_bit_len) > sizeof(nonce)){
noncelen = (u8)(BYTECEIL(q_bit_len));
coord_len = (u16)(3 * BYTECEIL((Q.crv)->a.ctx->p_bitlen));