Codebase list libcryptx-perl / 4e350e8
handling compiler warnings Karel Miko 10 years ago
8 changed file(s) with 29 addition(s) and 27 deletion(s). Raw diff Collapse all Expand all
55
66 my $flags = '-Isrc/ltc/headers -Isrc/ltm -DLTC_SOURCE -DLTC_NO_TEST -DLTC_NO_PROTOTYPES -DLTM_DESC';
77 #$flags .= ' -DLTC_NO_ASM';
8 $flags .= ' -Wall';
8 #$flags .= ' -Wall';
99
1010 unless ($ENV{CRYPTX_USE_ASM} || $Config{archname} =~ /MSWin32-x86/) {
1111 $flags .= ' -DLTC_NO_ASM';
219219 SvPV_nolen(*sv_order),
220220 SvPV_nolen(*sv_Gx),
221221 SvPV_nolen(*sv_Gy),
222 SvIV(*sv_cofactor),
222 (unsigned long)SvUV(*sv_cofactor),
223223 ch_name );
224224 return err == CRYPT_OK ? dp : NULL;
225225 }
239239 char *Gy;
240240
241241 /** The co-factor */
242 int cofactor;
242 unsigned long cofactor;
243243 } ltc_ecc_set_type;
244244
245245 /** A point on a ECC curve, stored in Jacbobian format such that (x,y,z) => (x/z^2, y/z^3, 1) when interpretted as affine */
280280 int ecc_get_size(ecc_key *key);
281281
282282 int ecc_dp_init(ltc_ecc_set_type *dp);
283 int ecc_dp_set(ltc_ecc_set_type *dp, char *ch_prime, char *ch_A, char *ch_B, char *ch_order, char *ch_Gx, char *ch_Gy, int cofactor, char *ch_name);
283 int ecc_dp_set(ltc_ecc_set_type *dp, char *ch_prime, char *ch_A, char *ch_B, char *ch_order, char *ch_Gx, char *ch_Gy, unsigned long cofactor, char *ch_name);
284284 int ecc_dp_clear(ltc_ecc_set_type *dp);
285285
286286 int ecc_make_key(prng_state *prng, int wprng, int keysize, ecc_key *key);
1515
1616 #ifdef LTC_MECC
1717
18 int ecc_dp_set(ltc_ecc_set_type *dp, char *ch_prime, char *ch_A, char *ch_B, char *ch_order, char *ch_Gx, char *ch_Gy, int cofactor, char *ch_name)
18 int ecc_dp_set(ltc_ecc_set_type *dp, char *ch_prime, char *ch_A, char *ch_B, char *ch_order, char *ch_Gx, char *ch_Gy, unsigned long cofactor, char *ch_name)
1919 {
2020 unsigned long l_name, l_prime, l_A, l_B, l_order, l_Gx, l_Gy;
2121
22 if (!dp || !ch_prime || !ch_A || !ch_B || !ch_order || !ch_Gx || !ch_Gy || cofactor<=0) return CRYPT_INVALID_ARG;
22 if (!dp || !ch_prime || !ch_A || !ch_B || !ch_order || !ch_Gx || !ch_Gy || cofactor==0) return CRYPT_INVALID_ARG;
2323
24 l_name = strlen(ch_name);
25 l_prime = strlen(ch_prime);
26 l_A = strlen(ch_A);
27 l_B = strlen(ch_B);
28 l_order = strlen(ch_order);
29 l_Gx = strlen(ch_Gx);
30 l_Gy = strlen(ch_Gy);
24 l_name = (unsigned long)strlen(ch_name);
25 l_prime = (unsigned long)strlen(ch_prime);
26 l_A = (unsigned long)strlen(ch_A);
27 l_B = (unsigned long)strlen(ch_B);
28 l_order = (unsigned long)strlen(ch_order);
29 l_Gx = (unsigned long)strlen(ch_Gx);
30 l_Gy = (unsigned long)strlen(ch_Gy);
3131
3232 dp->cofactor = cofactor;
3333
1616
1717 #ifdef LTC_MECC
1818
19 static int _populate_dp(void *a, void *b, void *prime, void *order, void *gx, void *gy, int cofactor, ltc_ecc_set_type *dp)
19 static int _populate_dp(void *a, void *b, void *prime, void *order, void *gx, void *gy, unsigned long cofactor, ltc_ecc_set_type *dp)
2020 {
2121 unsigned char buf[ECC_BUF_SIZE];
2222 unsigned long len;
2323
2424 /* a */
2525 mp_tohex(a, (char *)buf);
26 len = strlen((char *)buf);
26 len = (unsigned long)strlen((char *)buf);
2727 if ((dp->A = XMALLOC(1+len)) == NULL) goto cleanup1;
2828 strncpy(dp->A, (char*)buf, 1+len);
2929 /* b */
3030 mp_tohex(b, (char *)buf);
31 len = strlen((char *)buf);
31 len = (unsigned long)strlen((char *)buf);
3232 if ((dp->B = XMALLOC(1+len)) == NULL) goto cleanup2;
3333 strncpy(dp->B, (char*)buf, 1+len);
3434 /* order */
3535 mp_tohex(order, (char *)buf);
36 len = strlen((char *)buf);
36 len = (unsigned long)strlen((char *)buf);
3737 if ((dp->order = XMALLOC(1+len)) == NULL) goto cleanup3;
3838 strncpy(dp->order, (char*)buf, 1+len);
3939 /* prime */
4040 mp_tohex(prime, (char *)buf);
41 len = strlen((char *)buf);
41 len = (unsigned long)strlen((char *)buf);
4242 if ((dp->prime = XMALLOC(1+len)) == NULL) goto cleanup4;
4343 strncpy(dp->prime, (char*)buf, 1+len);
4444 /* gx */
4545 mp_tohex(gx, (char *)buf);
46 len = strlen((char *)buf);
46 len = (unsigned long)strlen((char *)buf);
4747 if ((dp->Gx = XMALLOC(1+len)) == NULL) goto cleanup5;
4848 strncpy(dp->Gx, (char*)buf, 1+len);
4949 /* gy */
5050 mp_tohex(gy, (char *)buf);
51 len = strlen((char *)buf);
51 len = (unsigned long)strlen((char *)buf);
5252 if ((dp->Gy = XMALLOC(1+len)) == NULL) goto cleanup6;
5353 strncpy(dp->Gy, (char*)buf, 1+len);
5454 /* cofactor & size */
1717
1818 int ecc_import_point(const unsigned char *in, unsigned long inlen, void *prime, void *a, void *b, void *x, void *y)
1919 {
20 int err, size;
20 int err;
21 unsigned long size;
2122 void *t1, *t2;
2223
2324 /* init key + temporary numbers */
8384
8485 int ecc_import_raw(const unsigned char *in, unsigned long inlen, ecc_key *key, ltc_ecc_set_type *dp)
8586 {
86 int err, size = 0, type = -1;
87 int err, type = -1;
88 unsigned long size = 0;
8789 void *prime, *a, *b;
8890 ecc_point *base;
8991
9698 return CRYPT_MEM;
9799 }
98100
99 if (inlen == dp->size) {
101 if (inlen == (unsigned long)dp->size) {
100102 /* read PRIVATE key */
101103 type = PK_PRIVATE;
102104 size = inlen;
3838 ecc_key pubkey;
3939 void *r, *s, *e, *p;
4040 int err;
41 int pbits, pbytes, i, shift_right;
41 unsigned long pbits, pbytes, i, shift_right;
4242 unsigned char ch, buf[MAXBLOCKSIZE];
4343
4444 LTC_ARGCHK(in != NULL);
7070 pbits = mp_count_bits(p);
7171 pbytes = (pbits+7) >> 3;
7272 if (pbits > inlen*8) {
73 if ((err = mp_read_unsigned_bin(e, (unsigned char *)in, (int)inlen)) != CRYPT_OK) { goto errnokey; }
73 if ((err = mp_read_unsigned_bin(e, (unsigned char *)in, inlen)) != CRYPT_OK) { goto errnokey; }
7474 }
7575 else if (pbits % 8 == 0) {
7676 if ((err = mp_read_unsigned_bin(e, (unsigned char *)in, pbytes)) != CRYPT_OK) { goto errnokey; }
4848 void *r, *s, *v, *w, *u1, *u2, *e, *p, *m, *a;
4949 void *mp;
5050 int err;
51 int pbits, pbytes, i, shift_right;
51 unsigned long pbits, pbytes, i, shift_right;
5252 unsigned char ch, buf[MAXBLOCKSIZE];
5353
5454 LTC_ARGCHK(sig != NULL);
105105 pbits = mp_count_bits(p);
106106 pbytes = (pbits+7) >> 3;
107107 if (pbits > hashlen*8) {
108 if ((err = mp_read_unsigned_bin(e, (unsigned char *)hash, (int)hashlen)) != CRYPT_OK) { goto error; }
108 if ((err = mp_read_unsigned_bin(e, (unsigned char *)hash, hashlen)) != CRYPT_OK) { goto error; }
109109 }
110110 else if (pbits % 8 == 0) {
111111 if ((err = mp_read_unsigned_bin(e, (unsigned char *)hash, pbytes)) != CRYPT_OK) { goto error; }