comparison dss.c @ 1511:5916af64acd4 fuzz

merge from main
author Matt Johnston <matt@ucc.asn.au>
date Sat, 17 Feb 2018 19:29:51 +0800
parents 5b25d86b865b 06d52bcb8094
children 1051e4eea25a
comparison
equal deleted inserted replaced
1457:32f990cc96b1 1511:5916af64acd4
137 * mpint p 137 * mpint p
138 * mpint q 138 * mpint q
139 * mpint g 139 * mpint g
140 * mpint y 140 * mpint y
141 */ 141 */
142 void buf_put_dss_pub_key(buffer* buf, dropbear_dss_key *key) { 142 void buf_put_dss_pub_key(buffer* buf, const dropbear_dss_key *key) {
143 143
144 dropbear_assert(key != NULL); 144 dropbear_assert(key != NULL);
145 buf_putstring(buf, SSH_SIGNKEY_DSS, SSH_SIGNKEY_DSS_LEN); 145 buf_putstring(buf, SSH_SIGNKEY_DSS, SSH_SIGNKEY_DSS_LEN);
146 buf_putmpint(buf, key->p); 146 buf_putmpint(buf, key->p);
147 buf_putmpint(buf, key->q); 147 buf_putmpint(buf, key->q);
149 buf_putmpint(buf, key->y); 149 buf_putmpint(buf, key->y);
150 150
151 } 151 }
152 152
153 /* Same as buf_put_dss_pub_key, but with the private "x" key appended */ 153 /* Same as buf_put_dss_pub_key, but with the private "x" key appended */
154 void buf_put_dss_priv_key(buffer* buf, dropbear_dss_key *key) { 154 void buf_put_dss_priv_key(buffer* buf, const dropbear_dss_key *key) {
155 155
156 dropbear_assert(key != NULL); 156 dropbear_assert(key != NULL);
157 buf_put_dss_pub_key(buf, key); 157 buf_put_dss_pub_key(buf, key);
158 buf_putmpint(buf, key->x); 158 buf_putmpint(buf, key->x);
159 159
160 } 160 }
161 161
162 #if DROPBEAR_SIGNKEY_VERIFY 162 #if DROPBEAR_SIGNKEY_VERIFY
163 /* Verify a DSS signature (in buf) made on data by the key given. 163 /* Verify a DSS signature (in buf) made on data by the key given.
164 * returns DROPBEAR_SUCCESS or DROPBEAR_FAILURE */ 164 * returns DROPBEAR_SUCCESS or DROPBEAR_FAILURE */
165 int buf_dss_verify(buffer* buf, dropbear_dss_key *key, buffer *data_buf) { 165 int buf_dss_verify(buffer* buf, const dropbear_dss_key *key, const buffer *data_buf) {
166 unsigned char msghash[SHA1_HASH_SIZE]; 166 unsigned char msghash[SHA1_HASH_SIZE];
167 hash_state hs; 167 hash_state hs;
168 int ret = DROPBEAR_FAILURE; 168 int ret = DROPBEAR_FAILURE;
169 DEF_MP_INT(val1); 169 DEF_MP_INT(val1);
170 DEF_MP_INT(val2); 170 DEF_MP_INT(val2);
278 } 278 }
279 #endif /* DROPBEAR_SIGNKEY_VERIFY */ 279 #endif /* DROPBEAR_SIGNKEY_VERIFY */
280 280
281 /* Sign the data presented with key, writing the signature contents 281 /* Sign the data presented with key, writing the signature contents
282 * to the buffer */ 282 * to the buffer */
283 void buf_put_dss_sign(buffer* buf, dropbear_dss_key *key, buffer *data_buf) { 283 void buf_put_dss_sign(buffer* buf, const dropbear_dss_key *key, const buffer *data_buf) {
284 unsigned char msghash[SHA1_HASH_SIZE]; 284 unsigned char msghash[SHA1_HASH_SIZE];
285 unsigned int writelen; 285 unsigned int writelen;
286 unsigned int i; 286 unsigned int i;
287 DEF_MP_INT(dss_k); 287 DEF_MP_INT(dss_k);
288 DEF_MP_INT(dss_m); 288 DEF_MP_INT(dss_m);