Lines Matching refs:ret
58 int ret, cmp; in dsa_import_priv_key() local
61 MUST_HAVE((priv != NULL), ret, err); in dsa_import_priv_key()
62 MUST_HAVE((p != NULL) && (q != NULL) && (g != NULL) && (x != NULL), ret, err); in dsa_import_priv_key()
65 ret = _os2ip(&(priv->p), p, plen); EG(ret, err); in dsa_import_priv_key()
66 ret = _os2ip(&(priv->q), q, qlen); EG(ret, err); in dsa_import_priv_key()
67 ret = _os2ip(&(priv->g), g, glen); EG(ret, err); in dsa_import_priv_key()
68 ret = _os2ip(&(priv->x), x, xlen); EG(ret, err); in dsa_import_priv_key()
71 ret = nn_cmp(&(priv->q), &(priv->p), &cmp); EG(ret, err); in dsa_import_priv_key()
72 MUST_HAVE((cmp < 0), ret, err); in dsa_import_priv_key()
74 ret = nn_cmp(&(priv->g), &(priv->p), &cmp); EG(ret, err); in dsa_import_priv_key()
75 MUST_HAVE((cmp < 0), ret, err); in dsa_import_priv_key()
77 ret = nn_cmp(&(priv->x), &(priv->q), &cmp); EG(ret, err); in dsa_import_priv_key()
78 MUST_HAVE((cmp < 0), ret, err); in dsa_import_priv_key()
81 if(ret && (priv != NULL)){ in dsa_import_priv_key()
85 return ret; in dsa_import_priv_key()
94 int ret, cmp; in dsa_import_pub_key() local
97 MUST_HAVE((pub != NULL), ret, err); in dsa_import_pub_key()
98 MUST_HAVE((p != NULL) && (q != NULL) && (g != NULL) && (y != NULL), ret, err); in dsa_import_pub_key()
101 ret = _os2ip(&(pub->p), p, plen); EG(ret, err); in dsa_import_pub_key()
102 ret = _os2ip(&(pub->q), q, qlen); EG(ret, err); in dsa_import_pub_key()
103 ret = _os2ip(&(pub->g), g, glen); EG(ret, err); in dsa_import_pub_key()
104 ret = _os2ip(&(pub->y), y, ylen); EG(ret, err); in dsa_import_pub_key()
107 ret = nn_cmp(&(pub->q), &(pub->p), &cmp); EG(ret, err); in dsa_import_pub_key()
108 MUST_HAVE((cmp < 0), ret, err); in dsa_import_pub_key()
110 ret = nn_cmp(&(pub->g), &(pub->p), &cmp); EG(ret, err); in dsa_import_pub_key()
111 MUST_HAVE((cmp < 0), ret, err); in dsa_import_pub_key()
113 ret = nn_cmp(&(pub->y), &(pub->p), &cmp); EG(ret, err); in dsa_import_pub_key()
114 MUST_HAVE((cmp < 0), ret, err); in dsa_import_pub_key()
117 if(ret && (pub != NULL)){ in dsa_import_pub_key()
121 return ret; in dsa_import_pub_key()
132 int ret, cmp; in dsa_compute_pub_from_priv() local
137 MUST_HAVE((pub != NULL) && (priv != NULL), ret, err); in dsa_compute_pub_from_priv()
146 ret = nn_check_initialized(p); EG(ret, err); in dsa_compute_pub_from_priv()
147 ret = nn_check_initialized(q); EG(ret, err); in dsa_compute_pub_from_priv()
148 ret = nn_check_initialized(g); EG(ret, err); in dsa_compute_pub_from_priv()
149 ret = nn_check_initialized(x); EG(ret, err); in dsa_compute_pub_from_priv()
152 ret = nn_cmp(&(priv->q), &(priv->p), &cmp); EG(ret, err); in dsa_compute_pub_from_priv()
153 MUST_HAVE((cmp < 0), ret, err); in dsa_compute_pub_from_priv()
155 ret = nn_cmp(&(priv->g), &(priv->p), &cmp); EG(ret, err); in dsa_compute_pub_from_priv()
156 MUST_HAVE((cmp < 0), ret, err); in dsa_compute_pub_from_priv()
158 ret = nn_cmp(&(priv->x), &(priv->q), &cmp); EG(ret, err); in dsa_compute_pub_from_priv()
159 MUST_HAVE((cmp < 0), ret, err); in dsa_compute_pub_from_priv()
161 ret = nn_init(&x_, 0); EG(ret, err); in dsa_compute_pub_from_priv()
165 ret = _blind_scalar(x, q, &x_); EG(ret, err); in dsa_compute_pub_from_priv()
166 ret = _fix_scalar_msb(&x_, q, &x_); EG(ret, err); in dsa_compute_pub_from_priv()
169 ret = nn_mod_pow(&(pub->y), g, &x_, p); EG(ret, err); in dsa_compute_pub_from_priv()
172 ret = nn_copy(&(pub->p), p); EG(ret, err); in dsa_compute_pub_from_priv()
173 ret = nn_copy(&(pub->q), q); EG(ret, err); in dsa_compute_pub_from_priv()
174 ret = nn_copy(&(pub->g), g); in dsa_compute_pub_from_priv()
177 if(ret && (pub != NULL)){ in dsa_compute_pub_from_priv()
188 return ret; in dsa_compute_pub_from_priv()
198 int ret, iszero; in dsa_sign() local
218 MUST_HAVE((priv != NULL) && (msg != NULL) && (sig != NULL), ret, err); in dsa_sign()
220 ret = local_memset(hash, 0, sizeof(hash)); EG(ret, err); in dsa_sign()
229 ret = nn_check_initialized(p); EG(ret, err); in dsa_sign()
230 ret = nn_check_initialized(q); EG(ret, err); in dsa_sign()
231 ret = nn_check_initialized(g); EG(ret, err); in dsa_sign()
232 ret = nn_check_initialized(x); EG(ret, err); in dsa_sign()
238 ret = nn_bitlen(q, &N); EG(ret, err); in dsa_sign()
239 ret = gen_hash_get_hash_sizes(dsa_hash, &hlen, &block_size); EG(ret, err); in dsa_sign()
240 MUST_HAVE((hlen <= MAX_DIGEST_SIZE), ret, err); in dsa_sign()
243 MUST_HAVE((siglen == (2 * BYTECEIL(N))), ret, err); in dsa_sign()
248 ret = _os2ip(&k, nonce, noncelen); EG(ret, err); in dsa_sign()
251 ret = nn_get_random_mod(&k, q); EG(ret, err); in dsa_sign()
255 ret = nn_copy(&k_, &k); EG(ret, err); in dsa_sign()
258 ret = _blind_scalar(&k_, q, &k_); EG(ret, err); in dsa_sign()
260 ret = _fix_scalar_msb(&k_, q, &k_); EG(ret, err); in dsa_sign()
262 ret = nn_init(&r, 0); EG(ret, err); in dsa_sign()
264 ret = nn_mod_pow(&r, g, &k_, p); EG(ret, err); in dsa_sign()
266 ret = nn_mod(&r, &r, q); EG(ret, err); in dsa_sign()
269 ret = nn_iszero(&r, &iszero); EG(ret, err); in dsa_sign()
275 ret = _i2osp(&r, sig, (siglen / 2)); EG(ret, err); in dsa_sign()
278 ret = gen_hash_hfunc(msg, msglen, hash, dsa_hash); EG(ret, err); in dsa_sign()
284 ret = _os2ip(&z, hash, hlen); EG(ret, err); in dsa_sign()
286 ret = nn_rshift_fixedlen(&z, &z, rshift); EG(ret, err); in dsa_sign()
288 ret = nn_mod(&z, &z, q); EG(ret, err); in dsa_sign()
293 ret = nn_get_random_mod(&b, q); EG(ret, err); in dsa_sign()
295 ret = nn_mod_mul(&r, &r, &b, q); EG(ret, err); in dsa_sign()
297 ret = nn_mod_mul(&z, &z, &b, q); EG(ret, err); in dsa_sign()
302 ret = nn_mod_mul(&k, &k, &b, q); EG(ret, err); in dsa_sign()
310 ret = nn_modinv_fermat(&kinv, &k, q); EG(ret, err); in dsa_sign()
311 ret = nn_mod_mul(&s, &r, x, q); EG(ret, err); in dsa_sign()
312 ret = nn_mod_add(&s, &s, &z, q); EG(ret, err); in dsa_sign()
313 ret = nn_mod_mul(&s, &kinv, &s, q); EG(ret, err); in dsa_sign()
316 ret = nn_iszero(&s, &iszero); EG(ret, err); in dsa_sign()
322 ret = _i2osp(&s, sig + (siglen / 2), (siglen / 2)); in dsa_sign()
325 if(ret && (sig != NULL)){ in dsa_sign()
344 return ret; in dsa_sign()
355 int ret, iszero, cmp; in dsa_verify() local
370 MUST_HAVE((pub != NULL) && (msg != NULL) && (sig != NULL), ret, err); in dsa_verify()
372 ret = local_memset(hash, 0, sizeof(hash)); EG(ret, err); in dsa_verify()
381 ret = nn_check_initialized(p); EG(ret, err); in dsa_verify()
382 ret = nn_check_initialized(q); EG(ret, err); in dsa_verify()
383 ret = nn_check_initialized(g); EG(ret, err); in dsa_verify()
384 ret = nn_check_initialized(y); EG(ret, err); in dsa_verify()
387 ret = nn_bitlen(q, &N); EG(ret, err); in dsa_verify()
388 MUST_HAVE((siglen == (2 * BYTECEIL(N))), ret, err); in dsa_verify()
391 ret = _os2ip(&r, sig, (siglen / 2)); EG(ret, err); in dsa_verify()
392 ret = _os2ip(&s, sig + (siglen / 2), (siglen / 2)); EG(ret, err); in dsa_verify()
395 ret = nn_iszero(&r, &iszero); EG(ret, err); in dsa_verify()
396 MUST_HAVE((!iszero), ret, err); in dsa_verify()
397 ret = nn_iszero(&s, &iszero); EG(ret, err); in dsa_verify()
398 MUST_HAVE((!iszero), ret, err); in dsa_verify()
400 ret = nn_cmp(&r, q, &cmp); EG(ret, err); in dsa_verify()
401 MUST_HAVE((cmp < 0), ret, err); in dsa_verify()
402 ret = nn_cmp(&s, q, &cmp); EG(ret, err); in dsa_verify()
403 MUST_HAVE((cmp < 0), ret, err); in dsa_verify()
406 ret = gen_hash_get_hash_sizes(dsa_hash, &hlen, &block_size); EG(ret, err); in dsa_verify()
407 MUST_HAVE((hlen <= MAX_DIGEST_SIZE), ret, err); in dsa_verify()
408 ret = gen_hash_hfunc(msg, msglen, hash, dsa_hash); EG(ret, err); in dsa_verify()
414 ret = _os2ip(&z, hash, hlen); EG(ret, err); in dsa_verify()
416 ret = nn_rshift_fixedlen(&z, &z, rshift); EG(ret, err); in dsa_verify()
418 ret = nn_mod(&z, &z, q); EG(ret, err); in dsa_verify()
421 ret = nn_modinv(&s, &s, q); EG(ret, err); in dsa_verify()
424 ret = nn_mod_mul(&u1, &z, &s, q); EG(ret, err); in dsa_verify()
426 ret = nn_mod_mul(&u2, &r, &s, q); EG(ret, err); in dsa_verify()
431 ret = _nn_mod_pow_insecure(&v, g, &u1, p); EG(ret, err); in dsa_verify()
432 ret = _nn_mod_pow_insecure(&s, y, &u2, p); EG(ret, err); in dsa_verify()
433 ret = nn_mod_mul(&v, &v, &s, p); EG(ret, err); in dsa_verify()
434 ret = nn_mod(&v, &v, q); EG(ret, err); in dsa_verify()
437 ret = nn_cmp(&v, &r, &cmp); EG(ret, err); in dsa_verify()
438 ret = (cmp != 0) ? -1 : 0; in dsa_verify()
453 return ret; in dsa_verify()
460 int ret = 0; in main() local
534 ret = 0; in main()
539 …ret = dsa_import_priv_key(&priv, p, sizeof(p), q, sizeof(q), g, sizeof(g), x, sizeof(x)); EG(ret, … in main()
540 …ret = dsa_import_pub_key(&pub, p, sizeof(p), q, sizeof(q), g, sizeof(g), y, sizeof(y)); EG(ret, er… in main()
541 ret = dsa_compute_pub_from_priv(&pub2, &priv); EG(ret, err); in main()
545 …ret = dsa_sign(&priv, msg, sizeof(msg)-1, nonce, sizeof(nonce), sig, sizeof(sig), HASH_SHA256); EG… in main()
549 ret = dsa_verify(&pub, msg, sizeof(msg)-1, sig, sizeof(sig), HASH_SHA256); in main()
550 ext_printf("Signature result %d\n", ret); in main()
553 return ret; in main()