Mercurial > dropbear
comparison gendss.c @ 1459:06d52bcb8094
Pointer parameter could be declared as pointing to const
author | Francois Perrad <francois.perrad@gadz.org> |
---|---|
date | Sat, 19 Aug 2017 17:16:13 +0200 |
parents | 750ec4ec4cbe |
children | f52919ffd3b1 |
comparison
equal
deleted
inserted
replaced
1458:bdd3802c8ac6 | 1459:06d52bcb8094 |
---|---|
35 | 35 |
36 /* This is just a test */ | 36 /* This is just a test */ |
37 | 37 |
38 #if DROPBEAR_DSS | 38 #if DROPBEAR_DSS |
39 | 39 |
40 static void getq(dropbear_dss_key *key); | 40 static void getq(const dropbear_dss_key *key); |
41 static void getp(dropbear_dss_key *key, unsigned int size); | 41 static void getp(const dropbear_dss_key *key, unsigned int size); |
42 static void getg(dropbear_dss_key *key); | 42 static void getg(const dropbear_dss_key *key); |
43 static void getx(dropbear_dss_key *key); | 43 static void getx(const dropbear_dss_key *key); |
44 static void gety(dropbear_dss_key *key); | 44 static void gety(const dropbear_dss_key *key); |
45 | 45 |
46 dropbear_dss_key * gen_dss_priv_key(unsigned int size) { | 46 dropbear_dss_key * gen_dss_priv_key(unsigned int size) { |
47 | 47 |
48 dropbear_dss_key *key; | 48 dropbear_dss_key *key; |
49 | 49 |
63 | 63 |
64 return key; | 64 return key; |
65 | 65 |
66 } | 66 } |
67 | 67 |
68 static void getq(dropbear_dss_key *key) { | 68 static void getq(const dropbear_dss_key *key) { |
69 | 69 |
70 unsigned char buf[QSIZE]; | 70 unsigned char buf[QSIZE]; |
71 | 71 |
72 /* 160 bit prime */ | 72 /* 160 bit prime */ |
73 genrandom(buf, QSIZE); | 73 genrandom(buf, QSIZE); |
81 fprintf(stderr, "DSS key generation failed\n"); | 81 fprintf(stderr, "DSS key generation failed\n"); |
82 exit(1); | 82 exit(1); |
83 } | 83 } |
84 } | 84 } |
85 | 85 |
86 static void getp(dropbear_dss_key *key, unsigned int size) { | 86 static void getp(const dropbear_dss_key *key, unsigned int size) { |
87 | 87 |
88 DEF_MP_INT(tempX); | 88 DEF_MP_INT(tempX); |
89 DEF_MP_INT(tempC); | 89 DEF_MP_INT(tempC); |
90 DEF_MP_INT(tempP); | 90 DEF_MP_INT(tempP); |
91 DEF_MP_INT(temp2q); | 91 DEF_MP_INT(temp2q); |
140 mp_clear_multi(&tempX, &tempC, &tempP, &temp2q, NULL); | 140 mp_clear_multi(&tempX, &tempC, &tempP, &temp2q, NULL); |
141 m_burn(buf, size); | 141 m_burn(buf, size); |
142 m_free(buf); | 142 m_free(buf); |
143 } | 143 } |
144 | 144 |
145 static void getg(dropbear_dss_key * key) { | 145 static void getg(const dropbear_dss_key * key) { |
146 | 146 |
147 DEF_MP_INT(div); | 147 DEF_MP_INT(div); |
148 DEF_MP_INT(h); | 148 DEF_MP_INT(h); |
149 DEF_MP_INT(val); | 149 DEF_MP_INT(val); |
150 | 150 |
177 } while (mp_cmp_d(key->g, 1) != MP_GT); | 177 } while (mp_cmp_d(key->g, 1) != MP_GT); |
178 | 178 |
179 mp_clear_multi(&div, &h, &val, NULL); | 179 mp_clear_multi(&div, &h, &val, NULL); |
180 } | 180 } |
181 | 181 |
182 static void getx(dropbear_dss_key *key) { | 182 static void getx(const dropbear_dss_key *key) { |
183 | 183 |
184 gen_random_mpint(key->q, key->x); | 184 gen_random_mpint(key->q, key->x); |
185 } | 185 } |
186 | 186 |
187 static void gety(dropbear_dss_key *key) { | 187 static void gety(const dropbear_dss_key *key) { |
188 | 188 |
189 if (mp_exptmod(key->g, key->x, key->p, key->y) != MP_OKAY) { | 189 if (mp_exptmod(key->g, key->x, key->p, key->y) != MP_OKAY) { |
190 fprintf(stderr, "DSS key generation failed\n"); | 190 fprintf(stderr, "DSS key generation failed\n"); |
191 exit(1); | 191 exit(1); |
192 } | 192 } |