• Home
  • Raw
  • Download

Lines Matching refs:key

46 int buf_get_dss_pub_key(buffer* buf, dss_key *key) {  in buf_get_dss_pub_key()  argument
49 dropbear_assert(key != NULL); in buf_get_dss_pub_key()
50 key->p = m_malloc(sizeof(mp_int)); in buf_get_dss_pub_key()
51 key->q = m_malloc(sizeof(mp_int)); in buf_get_dss_pub_key()
52 key->g = m_malloc(sizeof(mp_int)); in buf_get_dss_pub_key()
53 key->y = m_malloc(sizeof(mp_int)); in buf_get_dss_pub_key()
54 m_mp_init_multi(key->p, key->q, key->g, key->y, NULL); in buf_get_dss_pub_key()
55 key->x = NULL; in buf_get_dss_pub_key()
58 if (buf_getmpint(buf, key->p) == DROPBEAR_FAILURE in buf_get_dss_pub_key()
59 || buf_getmpint(buf, key->q) == DROPBEAR_FAILURE in buf_get_dss_pub_key()
60 || buf_getmpint(buf, key->g) == DROPBEAR_FAILURE in buf_get_dss_pub_key()
61 || buf_getmpint(buf, key->y) == DROPBEAR_FAILURE) { in buf_get_dss_pub_key()
66 if (mp_count_bits(key->p) < MIN_DSS_KEYLEN) { in buf_get_dss_pub_key()
79 int buf_get_dss_priv_key(buffer* buf, dss_key *key) { in buf_get_dss_priv_key() argument
83 dropbear_assert(key != NULL); in buf_get_dss_priv_key()
85 ret = buf_get_dss_pub_key(buf, key); in buf_get_dss_priv_key()
90 key->x = m_malloc(sizeof(mp_int)); in buf_get_dss_priv_key()
91 m_mp_init(key->x); in buf_get_dss_priv_key()
92 ret = buf_getmpint(buf, key->x); in buf_get_dss_priv_key()
94 m_free(key->x); in buf_get_dss_priv_key()
102 void dss_key_free(dss_key *key) { in dss_key_free() argument
105 if (key == NULL) { in dss_key_free()
109 if (key->p) { in dss_key_free()
110 mp_clear(key->p); in dss_key_free()
111 m_free(key->p); in dss_key_free()
113 if (key->q) { in dss_key_free()
114 mp_clear(key->q); in dss_key_free()
115 m_free(key->q); in dss_key_free()
117 if (key->g) { in dss_key_free()
118 mp_clear(key->g); in dss_key_free()
119 m_free(key->g); in dss_key_free()
121 if (key->y) { in dss_key_free()
122 mp_clear(key->y); in dss_key_free()
123 m_free(key->y); in dss_key_free()
125 if (key->x) { in dss_key_free()
126 mp_clear(key->x); in dss_key_free()
127 m_free(key->x); in dss_key_free()
129 m_free(key); in dss_key_free()
141 void buf_put_dss_pub_key(buffer* buf, dss_key *key) { in buf_put_dss_pub_key() argument
143 dropbear_assert(key != NULL); in buf_put_dss_pub_key()
145 buf_putmpint(buf, key->p); in buf_put_dss_pub_key()
146 buf_putmpint(buf, key->q); in buf_put_dss_pub_key()
147 buf_putmpint(buf, key->g); in buf_put_dss_pub_key()
148 buf_putmpint(buf, key->y); in buf_put_dss_pub_key()
153 void buf_put_dss_priv_key(buffer* buf, dss_key *key) { in buf_put_dss_priv_key() argument
155 dropbear_assert(key != NULL); in buf_put_dss_priv_key()
156 buf_put_dss_pub_key(buf, key); in buf_put_dss_priv_key()
157 buf_putmpint(buf, key->x); in buf_put_dss_priv_key()
164 int buf_dss_verify(buffer* buf, dss_key *key, const unsigned char* data, in buf_dss_verify() argument
178 dropbear_assert(key != NULL); in buf_dss_verify()
198 if (mp_cmp(&val1, key->q) != MP_LT) { in buf_dss_verify()
203 if (mp_invmod(&val1, key->q, &val2) != MP_OKAY) { in buf_dss_verify()
212 if (mp_mulmod(&val1, &val2, key->q, &val3) != MP_OKAY) { in buf_dss_verify()
219 if (mp_cmp(&val1, key->q) != MP_LT) { in buf_dss_verify()
224 if (mp_mulmod(&val1, &val2, key->q, &val4) != MP_OKAY) { in buf_dss_verify()
230 if (mp_exptmod(key->g, &val3, key->p, &val2) != MP_OKAY) { in buf_dss_verify()
234 if (mp_exptmod(key->y, &val4, key->p, &val3) != MP_OKAY) { in buf_dss_verify()
238 if (mp_mulmod(&val2, &val3, key->p, &val4) != MP_OKAY) { in buf_dss_verify()
242 if (mp_mod(&val4, key->q, &val2) != MP_OKAY) { in buf_dss_verify()
295 void buf_put_dss_sign(buffer* buf, dss_key *key, const unsigned char* data, in buf_put_dss_sign() argument
316 dropbear_assert(key != NULL); in buf_put_dss_sign()
327 privkeytmp = mptobytes(key->x, &i); in buf_put_dss_sign()
344 if (mp_mod(&dss_protok, key->q, &dss_k) != MP_OKAY) { in buf_put_dss_sign()
350 gen_random_mpint(key->q, &dss_k); in buf_put_dss_sign()
357 if (mp_exptmod(key->g, &dss_k, key->p, &dss_temp1) != MP_OKAY) { in buf_put_dss_sign()
361 if (mp_mod(&dss_temp1, key->q, &dss_r) != MP_OKAY) { in buf_put_dss_sign()
366 if (mp_mulmod(&dss_r, key->x, key->q, &dss_temp1) != MP_OKAY) { in buf_put_dss_sign()
370 if (mp_addmod(&dss_m, &dss_temp1, key->q, &dss_temp2) != MP_OKAY) { in buf_put_dss_sign()
375 if (mp_invmod(&dss_k, key->q, &dss_temp1) != MP_OKAY) { in buf_put_dss_sign()
380 if (mp_mulmod(&dss_temp1, &dss_temp2, key->q, &dss_s) != MP_OKAY) { in buf_put_dss_sign()