diff options
-rw-r--r-- | networking/tls_pstm.c | 109 | ||||
-rw-r--r-- | networking/tls_pstm.h | 86 | ||||
-rw-r--r-- | networking/tls_pstm_montgomery_reduce.c | 2 | ||||
-rw-r--r-- | networking/tls_pstm_mul_comba.c | 2 | ||||
-rw-r--r-- | networking/tls_pstm_sqr_comba.c | 2 | ||||
-rw-r--r-- | networking/tls_rsa.c | 4 |
6 files changed, 126 insertions, 79 deletions
diff --git a/networking/tls_pstm.c b/networking/tls_pstm.c index e12e6c9d4..e5544ab11 100644 --- a/networking/tls_pstm.c +++ b/networking/tls_pstm.c | |||
@@ -47,13 +47,18 @@ | |||
47 | //#include "../cryptoApi.h" | 47 | //#include "../cryptoApi.h" |
48 | #ifndef DISABLE_PSTM | 48 | #ifndef DISABLE_PSTM |
49 | 49 | ||
50 | #undef pstm_mul_2d | ||
50 | static int32 pstm_mul_2d(pstm_int *a, int b, pstm_int *c); //bbox: was int16 b | 51 | static int32 pstm_mul_2d(pstm_int *a, int b, pstm_int *c); //bbox: was int16 b |
52 | #define pstm_mul_2d(a, b, c) (pstm_mul_2d(a, b, c), PSTM_OKAY) | ||
51 | 53 | ||
52 | /******************************************************************************/ | 54 | /******************************************************************************/ |
53 | /* | 55 | /* |
54 | init an pstm_int for a given size | 56 | init an pstm_int for a given size |
55 | */ | 57 | */ |
56 | int32 pstm_init_size(psPool_t *pool, pstm_int * a, uint32 size) | 58 | #undef pstm_init_size |
59 | #define pstm_init_size(pool, a, size) \ | ||
60 | pstm_init_size( a, size) | ||
61 | int32 FAST_FUNC pstm_init_size(psPool_t *pool, pstm_int * a, uint32 size) | ||
57 | { | 62 | { |
58 | //bbox | 63 | //bbox |
59 | // uint16 x; | 64 | // uint16 x; |
@@ -75,12 +80,17 @@ int32 pstm_init_size(psPool_t *pool, pstm_int * a, uint32 size) | |||
75 | // } | 80 | // } |
76 | return PSTM_OKAY; | 81 | return PSTM_OKAY; |
77 | } | 82 | } |
83 | #undef pstm_init_size | ||
84 | #define pstm_init_size(pool, a, size) (pstm_init_size(a, size), PSTM_OKAY) | ||
78 | 85 | ||
79 | /******************************************************************************/ | 86 | /******************************************************************************/ |
80 | /* | 87 | /* |
81 | Init a new pstm_int. | 88 | Init a new pstm_int. |
82 | */ | 89 | */ |
83 | int32 pstm_init(psPool_t *pool, pstm_int * a) | 90 | #undef pstm_init |
91 | #define pstm_init(pool, a) \ | ||
92 | pstm_init( a) | ||
93 | static int32 pstm_init(psPool_t *pool, pstm_int * a) | ||
84 | { | 94 | { |
85 | //bbox | 95 | //bbox |
86 | // int32 i; | 96 | // int32 i; |
@@ -106,12 +116,15 @@ int32 pstm_init(psPool_t *pool, pstm_int * a) | |||
106 | 116 | ||
107 | return PSTM_OKAY; | 117 | return PSTM_OKAY; |
108 | } | 118 | } |
119 | #undef pstm_init | ||
120 | #define pstm_init(pool, a) (pstm_init(a), PSTM_OKAY) | ||
109 | 121 | ||
110 | /******************************************************************************/ | 122 | /******************************************************************************/ |
111 | /* | 123 | /* |
112 | Grow as required | 124 | Grow as required |
113 | */ | 125 | */ |
114 | int32 pstm_grow(pstm_int * a, int size) | 126 | #undef pstm_grow |
127 | int32 FAST_FUNC pstm_grow(pstm_int * a, int size) | ||
115 | { | 128 | { |
116 | int i; //bbox: was int16 | 129 | int i; //bbox: was int16 |
117 | pstm_digit *tmp; | 130 | pstm_digit *tmp; |
@@ -142,11 +155,13 @@ int32 pstm_grow(pstm_int * a, int size) | |||
142 | } | 155 | } |
143 | return PSTM_OKAY; | 156 | return PSTM_OKAY; |
144 | } | 157 | } |
158 | #define pstm_grow(a, size) (pstm_grow(a, size), PSTM_OKAY) | ||
145 | 159 | ||
146 | /******************************************************************************/ | 160 | /******************************************************************************/ |
147 | /* | 161 | /* |
148 | copy, b = a (b must be pre-allocated) | 162 | copy, b = a (b must be pre-allocated) |
149 | */ | 163 | */ |
164 | #undef pstm_copy | ||
150 | int32 pstm_copy(pstm_int * a, pstm_int * b) | 165 | int32 pstm_copy(pstm_int * a, pstm_int * b) |
151 | { | 166 | { |
152 | int32 res, n; | 167 | int32 res, n; |
@@ -195,6 +210,7 @@ int32 pstm_copy(pstm_int * a, pstm_int * b) | |||
195 | b->sign = a->sign; | 210 | b->sign = a->sign; |
196 | return PSTM_OKAY; | 211 | return PSTM_OKAY; |
197 | } | 212 | } |
213 | #define pstm_copy(a, b) (pstm_copy(a, b), PSTM_OKAY) | ||
198 | 214 | ||
199 | /******************************************************************************/ | 215 | /******************************************************************************/ |
200 | /* | 216 | /* |
@@ -204,7 +220,7 @@ int32 pstm_copy(pstm_int * a, pstm_int * b) | |||
204 | leading "used" digit will be non-zero. Typically very fast. Also fixes | 220 | leading "used" digit will be non-zero. Typically very fast. Also fixes |
205 | the sign if there are no more leading digits | 221 | the sign if there are no more leading digits |
206 | */ | 222 | */ |
207 | void pstm_clamp(pstm_int * a) | 223 | void FAST_FUNC pstm_clamp(pstm_int * a) |
208 | { | 224 | { |
209 | /* decrease used while the most significant digit is zero. */ | 225 | /* decrease used while the most significant digit is zero. */ |
210 | while (a->used > 0 && a->dp[a->used - 1] == 0) { | 226 | while (a->used > 0 && a->dp[a->used - 1] == 0) { |
@@ -220,7 +236,7 @@ void pstm_clamp(pstm_int * a) | |||
220 | /* | 236 | /* |
221 | clear one (frees). | 237 | clear one (frees). |
222 | */ | 238 | */ |
223 | void pstm_clear(pstm_int * a) | 239 | void FAST_FUNC pstm_clear(pstm_int * a) |
224 | { | 240 | { |
225 | int32 i; | 241 | int32 i; |
226 | /* | 242 | /* |
@@ -248,6 +264,7 @@ void pstm_clear(pstm_int * a) | |||
248 | /* | 264 | /* |
249 | clear many (frees). | 265 | clear many (frees). |
250 | */ | 266 | */ |
267 | #if 0 //UNUSED | ||
251 | void pstm_clear_multi(pstm_int *mp0, pstm_int *mp1, pstm_int *mp2, | 268 | void pstm_clear_multi(pstm_int *mp0, pstm_int *mp1, pstm_int *mp2, |
252 | pstm_int *mp3, pstm_int *mp4, pstm_int *mp5, | 269 | pstm_int *mp3, pstm_int *mp4, pstm_int *mp5, |
253 | pstm_int *mp6, pstm_int *mp7) | 270 | pstm_int *mp6, pstm_int *mp7) |
@@ -272,12 +289,13 @@ void pstm_clear_multi(pstm_int *mp0, pstm_int *mp1, pstm_int *mp2, | |||
272 | } | 289 | } |
273 | } | 290 | } |
274 | } | 291 | } |
292 | #endif | ||
275 | 293 | ||
276 | /******************************************************************************/ | 294 | /******************************************************************************/ |
277 | /* | 295 | /* |
278 | Set to zero. | 296 | Set to zero. |
279 | */ | 297 | */ |
280 | void pstm_zero(pstm_int * a) | 298 | static void pstm_zero(pstm_int * a) |
281 | { | 299 | { |
282 | int32 n; | 300 | int32 n; |
283 | pstm_digit *tmp; | 301 | pstm_digit *tmp; |
@@ -296,7 +314,7 @@ void pstm_zero(pstm_int * a) | |||
296 | /* | 314 | /* |
297 | Compare maginitude of two ints (unsigned). | 315 | Compare maginitude of two ints (unsigned). |
298 | */ | 316 | */ |
299 | int32 pstm_cmp_mag(pstm_int * a, pstm_int * b) | 317 | int32 FAST_FUNC pstm_cmp_mag(pstm_int * a, pstm_int * b) |
300 | { | 318 | { |
301 | int n; //bbox: was int16 | 319 | int n; //bbox: was int16 |
302 | pstm_digit *tmpa, *tmpb; | 320 | pstm_digit *tmpa, *tmpb; |
@@ -336,7 +354,7 @@ int32 pstm_cmp_mag(pstm_int * a, pstm_int * b) | |||
336 | /* | 354 | /* |
337 | Compare two ints (signed) | 355 | Compare two ints (signed) |
338 | */ | 356 | */ |
339 | int32 pstm_cmp(pstm_int * a, pstm_int * b) | 357 | int32 FAST_FUNC pstm_cmp(pstm_int * a, pstm_int * b) |
340 | { | 358 | { |
341 | /* | 359 | /* |
342 | compare based on sign | 360 | compare based on sign |
@@ -364,7 +382,7 @@ int32 pstm_cmp(pstm_int * a, pstm_int * b) | |||
364 | pstm_ints can be initialized more precisely when they will populated | 382 | pstm_ints can be initialized more precisely when they will populated |
365 | using pstm_read_unsigned_bin since the length of the byte stream is known | 383 | using pstm_read_unsigned_bin since the length of the byte stream is known |
366 | */ | 384 | */ |
367 | int32 pstm_init_for_read_unsigned_bin(psPool_t *pool, pstm_int *a, uint32 len) | 385 | int32 FAST_FUNC pstm_init_for_read_unsigned_bin(psPool_t *pool, pstm_int *a, uint32 len) |
368 | { | 386 | { |
369 | int32 size; | 387 | int32 size; |
370 | /* | 388 | /* |
@@ -385,7 +403,7 @@ int32 pstm_init_for_read_unsigned_bin(psPool_t *pool, pstm_int *a, uint32 len) | |||
385 | called pstm_init_for_read_unsigned_bin first. There is some grow logic | 403 | called pstm_init_for_read_unsigned_bin first. There is some grow logic |
386 | here if the default pstm_init was used but we don't really want to hit it. | 404 | here if the default pstm_init was used but we don't really want to hit it. |
387 | */ | 405 | */ |
388 | int32 pstm_read_unsigned_bin(pstm_int *a, unsigned char *b, int32 c) | 406 | int32 FAST_FUNC pstm_read_unsigned_bin(pstm_int *a, unsigned char *b, int32 c) |
389 | { | 407 | { |
390 | /* zero the int */ | 408 | /* zero the int */ |
391 | pstm_zero (a); | 409 | pstm_zero (a); |
@@ -460,7 +478,7 @@ int32 pstm_read_unsigned_bin(pstm_int *a, unsigned char *b, int32 c) | |||
460 | /******************************************************************************/ | 478 | /******************************************************************************/ |
461 | /* | 479 | /* |
462 | */ | 480 | */ |
463 | int pstm_count_bits (pstm_int * a) | 481 | static int pstm_count_bits(pstm_int * a) |
464 | { | 482 | { |
465 | int r; //bbox: was int16 | 483 | int r; //bbox: was int16 |
466 | pstm_digit q; | 484 | pstm_digit q; |
@@ -482,14 +500,14 @@ int pstm_count_bits (pstm_int * a) | |||
482 | } | 500 | } |
483 | 501 | ||
484 | /******************************************************************************/ | 502 | /******************************************************************************/ |
485 | int32 pstm_unsigned_bin_size(pstm_int *a) | 503 | int32 FAST_FUNC pstm_unsigned_bin_size(pstm_int *a) |
486 | { | 504 | { |
487 | int32 size = pstm_count_bits (a); | 505 | int32 size = pstm_count_bits (a); |
488 | return (size / 8 + ((size & 7) != 0 ? 1 : 0)); | 506 | return (size / 8 + ((size & 7) != 0 ? 1 : 0)); |
489 | } | 507 | } |
490 | 508 | ||
491 | /******************************************************************************/ | 509 | /******************************************************************************/ |
492 | void pstm_set(pstm_int *a, pstm_digit b) | 510 | static void pstm_set(pstm_int *a, pstm_digit b) |
493 | { | 511 | { |
494 | pstm_zero(a); | 512 | pstm_zero(a); |
495 | a->dp[0] = b; | 513 | a->dp[0] = b; |
@@ -500,7 +518,7 @@ void pstm_set(pstm_int *a, pstm_digit b) | |||
500 | /* | 518 | /* |
501 | Right shift | 519 | Right shift |
502 | */ | 520 | */ |
503 | void pstm_rshd(pstm_int *a, int x) | 521 | static void pstm_rshd(pstm_int *a, int x) |
504 | { | 522 | { |
505 | int y; //bbox: was int16 | 523 | int y; //bbox: was int16 |
506 | 524 | ||
@@ -529,7 +547,8 @@ void pstm_rshd(pstm_int *a, int x) | |||
529 | /* | 547 | /* |
530 | Shift left a certain amount of digits. | 548 | Shift left a certain amount of digits. |
531 | */ | 549 | */ |
532 | int32 pstm_lshd(pstm_int * a, int b) | 550 | #undef pstm_lshd |
551 | static int32 pstm_lshd(pstm_int * a, int b) | ||
533 | { | 552 | { |
534 | int x; //bbox: was int16 | 553 | int x; //bbox: was int16 |
535 | int32 res; | 554 | int32 res; |
@@ -577,12 +596,13 @@ int32 pstm_lshd(pstm_int * a, int b) | |||
577 | } | 596 | } |
578 | return PSTM_OKAY; | 597 | return PSTM_OKAY; |
579 | } | 598 | } |
599 | #define pstm_lshd(a, b) (pstm_lshd(a, b), PSTM_OKAY) | ||
580 | 600 | ||
581 | /******************************************************************************/ | 601 | /******************************************************************************/ |
582 | /* | 602 | /* |
583 | computes a = 2**b | 603 | computes a = 2**b |
584 | */ | 604 | */ |
585 | int32 pstm_2expt(pstm_int *a, int b) | 605 | static int32 pstm_2expt(pstm_int *a, int b) |
586 | { | 606 | { |
587 | int z; //bbox: was int16 | 607 | int z; //bbox: was int16 |
588 | 608 | ||
@@ -616,7 +636,7 @@ int32 pstm_2expt(pstm_int *a, int b) | |||
616 | /* | 636 | /* |
617 | 637 | ||
618 | */ | 638 | */ |
619 | int32 pstm_mul_2(pstm_int * a, pstm_int * b) | 639 | int32 FAST_FUNC pstm_mul_2(pstm_int * a, pstm_int * b) |
620 | { | 640 | { |
621 | int32 res; | 641 | int32 res; |
622 | int x, oldused; //bbox: was int16 | 642 | int x, oldused; //bbox: was int16 |
@@ -682,7 +702,7 @@ int32 pstm_mul_2(pstm_int * a, pstm_int * b) | |||
682 | /* | 702 | /* |
683 | unsigned subtraction ||a|| >= ||b|| ALWAYS! | 703 | unsigned subtraction ||a|| >= ||b|| ALWAYS! |
684 | */ | 704 | */ |
685 | int32 s_pstm_sub(pstm_int *a, pstm_int *b, pstm_int *c) | 705 | int32 FAST_FUNC s_pstm_sub(pstm_int *a, pstm_int *b, pstm_int *c) |
686 | { | 706 | { |
687 | int oldbused, oldused; //bbox: was int16 | 707 | int oldbused, oldused; //bbox: was int16 |
688 | int32 x; | 708 | int32 x; |
@@ -779,7 +799,7 @@ static int32 s_pstm_add(pstm_int *a, pstm_int *b, pstm_int *c) | |||
779 | /* | 799 | /* |
780 | 800 | ||
781 | */ | 801 | */ |
782 | int32 pstm_sub(pstm_int *a, pstm_int *b, pstm_int *c) | 802 | int32 FAST_FUNC pstm_sub(pstm_int *a, pstm_int *b, pstm_int *c) |
783 | { | 803 | { |
784 | int32 res; | 804 | int32 res; |
785 | int sa, sb; //bbox: was int16 | 805 | int sa, sb; //bbox: was int16 |
@@ -824,6 +844,7 @@ int32 pstm_sub(pstm_int *a, pstm_int *b, pstm_int *c) | |||
824 | /* | 844 | /* |
825 | c = a - b | 845 | c = a - b |
826 | */ | 846 | */ |
847 | #if 0 //UNUSED | ||
827 | int32 pstm_sub_d(psPool_t *pool, pstm_int *a, pstm_digit b, pstm_int *c) | 848 | int32 pstm_sub_d(psPool_t *pool, pstm_int *a, pstm_digit b, pstm_int *c) |
828 | { | 849 | { |
829 | pstm_int tmp; | 850 | pstm_int tmp; |
@@ -837,12 +858,13 @@ int32 pstm_sub_d(psPool_t *pool, pstm_int *a, pstm_digit b, pstm_int *c) | |||
837 | pstm_clear(&tmp); | 858 | pstm_clear(&tmp); |
838 | return res; | 859 | return res; |
839 | } | 860 | } |
861 | #endif | ||
840 | 862 | ||
841 | /******************************************************************************/ | 863 | /******************************************************************************/ |
842 | /* | 864 | /* |
843 | setups the montgomery reduction | 865 | setups the montgomery reduction |
844 | */ | 866 | */ |
845 | int32 pstm_montgomery_setup(pstm_int *a, pstm_digit *rho) | 867 | static int32 pstm_montgomery_setup(pstm_int *a, pstm_digit *rho) |
846 | { | 868 | { |
847 | pstm_digit x, b; | 869 | pstm_digit x, b; |
848 | 870 | ||
@@ -878,7 +900,7 @@ int32 pstm_montgomery_setup(pstm_int *a, pstm_digit *rho) | |||
878 | * computes a = B**n mod b without division or multiplication useful for | 900 | * computes a = B**n mod b without division or multiplication useful for |
879 | * normalizing numbers in a Montgomery system. | 901 | * normalizing numbers in a Montgomery system. |
880 | */ | 902 | */ |
881 | int32 pstm_montgomery_calc_normalization(pstm_int *a, pstm_int *b) | 903 | static int32 pstm_montgomery_calc_normalization(pstm_int *a, pstm_int *b) |
882 | { | 904 | { |
883 | int32 x; | 905 | int32 x; |
884 | int bits; //bbox: was int16 | 906 | int bits; //bbox: was int16 |
@@ -916,6 +938,7 @@ int32 pstm_montgomery_calc_normalization(pstm_int *a, pstm_int *b) | |||
916 | /* | 938 | /* |
917 | c = a * 2**d | 939 | c = a * 2**d |
918 | */ | 940 | */ |
941 | #undef pstm_mul_2d | ||
919 | static int32 pstm_mul_2d(pstm_int *a, int b, pstm_int *c) | 942 | static int32 pstm_mul_2d(pstm_int *a, int b, pstm_int *c) |
920 | { | 943 | { |
921 | pstm_digit carry, carrytmp, shift; | 944 | pstm_digit carry, carrytmp, shift; |
@@ -956,11 +979,13 @@ static int32 pstm_mul_2d(pstm_int *a, int b, pstm_int *c) | |||
956 | pstm_clamp(c); | 979 | pstm_clamp(c); |
957 | return PSTM_OKAY; | 980 | return PSTM_OKAY; |
958 | } | 981 | } |
982 | #define pstm_mul_2d(a, b, c) (pstm_mul_2d(a, b, c), PSTM_OKAY) | ||
959 | 983 | ||
960 | /******************************************************************************/ | 984 | /******************************************************************************/ |
961 | /* | 985 | /* |
962 | c = a mod 2**d | 986 | c = a mod 2**d |
963 | */ | 987 | */ |
988 | #undef pstm_mod_2d | ||
964 | static int32 pstm_mod_2d(pstm_int *a, int b, pstm_int *c) //bbox: was int16 b | 989 | static int32 pstm_mod_2d(pstm_int *a, int b, pstm_int *c) //bbox: was int16 b |
965 | { | 990 | { |
966 | int x; //bbox: was int16 | 991 | int x; //bbox: was int16 |
@@ -991,13 +1016,15 @@ static int32 pstm_mod_2d(pstm_int *a, int b, pstm_int *c) //bbox: was int16 b | |||
991 | pstm_clamp (c); | 1016 | pstm_clamp (c); |
992 | return PSTM_OKAY; | 1017 | return PSTM_OKAY; |
993 | } | 1018 | } |
1019 | #define pstm_mod_2d(a, b, c) (pstm_mod_2d(a, b, c), PSTM_OKAY) | ||
994 | 1020 | ||
995 | 1021 | ||
996 | /******************************************************************************/ | 1022 | /******************************************************************************/ |
997 | /* | 1023 | /* |
998 | c = a * b | 1024 | c = a * b |
999 | */ | 1025 | */ |
1000 | int32 pstm_mul_d(pstm_int *a, pstm_digit b, pstm_int *c) | 1026 | #undef pstm_mul_d |
1027 | static int32 pstm_mul_d(pstm_int *a, pstm_digit b, pstm_int *c) | ||
1001 | { | 1028 | { |
1002 | pstm_word w; | 1029 | pstm_word w; |
1003 | int32 res; | 1030 | int32 res; |
@@ -1027,12 +1054,16 @@ int32 pstm_mul_d(pstm_int *a, pstm_digit b, pstm_int *c) | |||
1027 | pstm_clamp(c); | 1054 | pstm_clamp(c); |
1028 | return PSTM_OKAY; | 1055 | return PSTM_OKAY; |
1029 | } | 1056 | } |
1057 | #define pstm_mul_d(a, b, c) (pstm_mul_d(a, b, c), PSTM_OKAY) | ||
1030 | 1058 | ||
1031 | /******************************************************************************/ | 1059 | /******************************************************************************/ |
1032 | /* | 1060 | /* |
1033 | c = a / 2**b | 1061 | c = a / 2**b |
1034 | */ | 1062 | */ |
1035 | int32 pstm_div_2d(psPool_t *pool, pstm_int *a, int b, pstm_int *c, | 1063 | #undef pstm_div_2d |
1064 | #define pstm_div_2d(pool, a, b, c, d) \ | ||
1065 | pstm_div_2d( a, b, c, d) | ||
1066 | static int32 pstm_div_2d(psPool_t *pool, pstm_int *a, int b, pstm_int *c, | ||
1036 | pstm_int *d) | 1067 | pstm_int *d) |
1037 | { | 1068 | { |
1038 | pstm_digit D, r, rr; | 1069 | pstm_digit D, r, rr; |
@@ -1113,11 +1144,14 @@ LBL_DONE: | |||
1113 | } | 1144 | } |
1114 | return res; | 1145 | return res; |
1115 | } | 1146 | } |
1147 | #undef pstm_div_2d | ||
1148 | #define pstm_div_2d(pool, a, b, c, d) (pstm_div_2d(a, b, c, d), PSTM_OKAY) | ||
1116 | 1149 | ||
1117 | /******************************************************************************/ | 1150 | /******************************************************************************/ |
1118 | /* | 1151 | /* |
1119 | b = a/2 | 1152 | b = a/2 |
1120 | */ | 1153 | */ |
1154 | #if 0 //UNUSED | ||
1121 | int32 pstm_div_2(pstm_int * a, pstm_int * b) | 1155 | int32 pstm_div_2(pstm_int * a, pstm_int * b) |
1122 | { | 1156 | { |
1123 | int x, oldused; //bbox: was int16 | 1157 | int x, oldused; //bbox: was int16 |
@@ -1161,12 +1195,16 @@ int32 pstm_div_2(pstm_int * a, pstm_int * b) | |||
1161 | pstm_clamp (b); | 1195 | pstm_clamp (b); |
1162 | return PSTM_OKAY; | 1196 | return PSTM_OKAY; |
1163 | } | 1197 | } |
1198 | #endif | ||
1164 | 1199 | ||
1165 | /******************************************************************************/ | 1200 | /******************************************************************************/ |
1166 | /* | 1201 | /* |
1167 | Creates "a" then copies b into it | 1202 | Creates "a" then copies b into it |
1168 | */ | 1203 | */ |
1169 | int32 pstm_init_copy(psPool_t *pool, pstm_int * a, pstm_int * b, int toSqr) | 1204 | #undef pstm_init_copy |
1205 | #define pstm_init_copy(pool, a, b, toSqr) \ | ||
1206 | pstm_init_copy( a, b, toSqr) | ||
1207 | static int32 pstm_init_copy(psPool_t *pool, pstm_int * a, pstm_int * b, int toSqr) | ||
1170 | { | 1208 | { |
1171 | int x; //bbox: was int16 | 1209 | int x; //bbox: was int16 |
1172 | int32 res; | 1210 | int32 res; |
@@ -1191,6 +1229,8 @@ int32 pstm_init_copy(psPool_t *pool, pstm_int * a, pstm_int * b, int toSqr) | |||
1191 | } | 1229 | } |
1192 | return pstm_copy(b, a); | 1230 | return pstm_copy(b, a); |
1193 | } | 1231 | } |
1232 | #undef pstm_init_copy | ||
1233 | #define pstm_init_copy(pool, a, b, toSqr) (pstm_init_copy(a, b, toSqr), PSTM_OKAY) | ||
1194 | 1234 | ||
1195 | /******************************************************************************/ | 1235 | /******************************************************************************/ |
1196 | /* | 1236 | /* |
@@ -1274,7 +1314,7 @@ static uint64 psDiv128(uint128 *numerator, uint64 denominator) | |||
1274 | /* | 1314 | /* |
1275 | a/b => cb + d == a | 1315 | a/b => cb + d == a |
1276 | */ | 1316 | */ |
1277 | int32 pstm_div(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c, | 1317 | static int32 pstm_div(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c, |
1278 | pstm_int *d) | 1318 | pstm_int *d) |
1279 | { | 1319 | { |
1280 | pstm_int q, x, y, t1, t2; | 1320 | pstm_int q, x, y, t1, t2; |
@@ -1487,7 +1527,7 @@ LBL_T1:pstm_clear (&t1); | |||
1487 | Swap the elements of two integers, for cases where you can't simply swap | 1527 | Swap the elements of two integers, for cases where you can't simply swap |
1488 | the pstm_int pointers around | 1528 | the pstm_int pointers around |
1489 | */ | 1529 | */ |
1490 | void pstm_exch(pstm_int * a, pstm_int * b) | 1530 | static void pstm_exch(pstm_int * a, pstm_int * b) |
1491 | { | 1531 | { |
1492 | pstm_int t; | 1532 | pstm_int t; |
1493 | 1533 | ||
@@ -1500,7 +1540,7 @@ void pstm_exch(pstm_int * a, pstm_int * b) | |||
1500 | /* | 1540 | /* |
1501 | c = a mod b, 0 <= c < b | 1541 | c = a mod b, 0 <= c < b |
1502 | */ | 1542 | */ |
1503 | int32 pstm_mod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c) | 1543 | static int32 pstm_mod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c) |
1504 | { | 1544 | { |
1505 | pstm_int t; | 1545 | pstm_int t; |
1506 | int32 err; | 1546 | int32 err; |
@@ -1527,7 +1567,7 @@ int32 pstm_mod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c) | |||
1527 | /* | 1567 | /* |
1528 | d = a * b (mod c) | 1568 | d = a * b (mod c) |
1529 | */ | 1569 | */ |
1530 | int32 pstm_mulmod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c, | 1570 | int32 FAST_FUNC pstm_mulmod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c, |
1531 | pstm_int *d) | 1571 | pstm_int *d) |
1532 | { | 1572 | { |
1533 | int32 res; | 1573 | int32 res; |
@@ -1560,7 +1600,7 @@ int32 pstm_mulmod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c, | |||
1560 | * y = g**x (mod b) | 1600 | * y = g**x (mod b) |
1561 | * Some restrictions... x must be positive and < b | 1601 | * Some restrictions... x must be positive and < b |
1562 | */ | 1602 | */ |
1563 | int32 pstm_exptmod(psPool_t *pool, pstm_int *G, pstm_int *X, pstm_int *P, | 1603 | int32 FAST_FUNC pstm_exptmod(psPool_t *pool, pstm_int *G, pstm_int *X, pstm_int *P, |
1564 | pstm_int *Y) | 1604 | pstm_int *Y) |
1565 | { | 1605 | { |
1566 | pstm_int M[32], res; /* Keep this winsize based: (1 << max_winsize) */ | 1606 | pstm_int M[32], res; /* Keep this winsize based: (1 << max_winsize) */ |
@@ -1801,7 +1841,7 @@ LBL_RES:pstm_clear(&res); | |||
1801 | /* | 1841 | /* |
1802 | 1842 | ||
1803 | */ | 1843 | */ |
1804 | int32 pstm_add(pstm_int *a, pstm_int *b, pstm_int *c) | 1844 | int32 FAST_FUNC pstm_add(pstm_int *a, pstm_int *b, pstm_int *c) |
1805 | { | 1845 | { |
1806 | int32 res; | 1846 | int32 res; |
1807 | int sa, sb; //bbox: was int16 | 1847 | int sa, sb; //bbox: was int16 |
@@ -1862,6 +1902,7 @@ static void pstm_reverse (unsigned char *s, int len) //bbox: was int16 len | |||
1862 | No reverse. Useful in some of the EIP-154 PKA stuff where special byte | 1902 | No reverse. Useful in some of the EIP-154 PKA stuff where special byte |
1863 | order seems to come into play more often | 1903 | order seems to come into play more often |
1864 | */ | 1904 | */ |
1905 | #if 0 //UNUSED | ||
1865 | int32 pstm_to_unsigned_bin_nr(psPool_t *pool, pstm_int *a, unsigned char *b) | 1906 | int32 pstm_to_unsigned_bin_nr(psPool_t *pool, pstm_int *a, unsigned char *b) |
1866 | { | 1907 | { |
1867 | int32 res; | 1908 | int32 res; |
@@ -1883,11 +1924,12 @@ int32 pstm_to_unsigned_bin_nr(psPool_t *pool, pstm_int *a, unsigned char *b) | |||
1883 | pstm_clear(&t); | 1924 | pstm_clear(&t); |
1884 | return PS_SUCCESS; | 1925 | return PS_SUCCESS; |
1885 | } | 1926 | } |
1927 | #endif | ||
1886 | /******************************************************************************/ | 1928 | /******************************************************************************/ |
1887 | /* | 1929 | /* |
1888 | 1930 | ||
1889 | */ | 1931 | */ |
1890 | int32 pstm_to_unsigned_bin(psPool_t *pool, pstm_int *a, unsigned char *b) | 1932 | int32 FAST_FUNC pstm_to_unsigned_bin(psPool_t *pool, pstm_int *a, unsigned char *b) |
1891 | { | 1933 | { |
1892 | int32 res; | 1934 | int32 res; |
1893 | int x; //bbox: was int16 | 1935 | int x; //bbox: was int16 |
@@ -1910,11 +1952,12 @@ int32 pstm_to_unsigned_bin(psPool_t *pool, pstm_int *a, unsigned char *b) | |||
1910 | return PS_SUCCESS; | 1952 | return PS_SUCCESS; |
1911 | } | 1953 | } |
1912 | 1954 | ||
1955 | #if 0 //UNUSED | ||
1913 | /******************************************************************************/ | 1956 | /******************************************************************************/ |
1914 | /* | 1957 | /* |
1915 | compare against a single digit | 1958 | compare against a single digit |
1916 | */ | 1959 | */ |
1917 | int32 pstm_cmp_d(pstm_int *a, pstm_digit b) | 1960 | static int32 pstm_cmp_d(pstm_int *a, pstm_digit b) |
1918 | { | 1961 | { |
1919 | /* compare based on sign */ | 1962 | /* compare based on sign */ |
1920 | if ((b && a->used == 0) || a->sign == PSTM_NEG) { | 1963 | if ((b && a->used == 0) || a->sign == PSTM_NEG) { |
@@ -2259,5 +2302,7 @@ LBL_Y: pstm_clear(&y); | |||
2259 | LBL_X: pstm_clear(&x); | 2302 | LBL_X: pstm_clear(&x); |
2260 | return res; | 2303 | return res; |
2261 | } | 2304 | } |
2305 | #endif //UNUSED | ||
2306 | |||
2262 | #endif /* !DISABLE_PSTM */ | 2307 | #endif /* !DISABLE_PSTM */ |
2263 | /******************************************************************************/ | 2308 | /******************************************************************************/ |
diff --git a/networking/tls_pstm.h b/networking/tls_pstm.h index df705adce..bc7a0119a 100644 --- a/networking/tls_pstm.h +++ b/networking/tls_pstm.h | |||
@@ -136,148 +136,148 @@ typedef struct { | |||
136 | #define pstm_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? PS_TRUE : PS_FALSE) | 136 | #define pstm_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? PS_TRUE : PS_FALSE) |
137 | #define pstm_abs(a, b) { pstm_copy(a, b); (b)->sign = 0; } | 137 | #define pstm_abs(a, b) { pstm_copy(a, b); (b)->sign = 0; } |
138 | 138 | ||
139 | extern void pstm_set(pstm_int *a, pstm_digit b); | 139 | //made static:extern void pstm_set(pstm_int *a, pstm_digit b); |
140 | 140 | ||
141 | extern void pstm_zero(pstm_int * a); | 141 | //made static:extern void pstm_zero(pstm_int * a); |
142 | 142 | ||
143 | //bbox: pool unused | 143 | //bbox: pool unused |
144 | #define pstm_init(pool, a) \ | 144 | #define pstm_init(pool, a) \ |
145 | pstm_init( a) | 145 | pstm_init( a) |
146 | extern int32 pstm_init(psPool_t *pool, pstm_int * a); | 146 | //made static:extern int32 pstm_init(psPool_t *pool, pstm_int * a); |
147 | 147 | ||
148 | //bbox: pool unused | 148 | //bbox: pool unused |
149 | #define pstm_init_size(pool, a, size) \ | 149 | #define pstm_init_size(pool, a, size) \ |
150 | pstm_init_size( a, size) | 150 | pstm_init_size( a, size) |
151 | extern int32 pstm_init_size(psPool_t *pool, pstm_int * a, uint32 size); | 151 | extern int32 pstm_init_size(psPool_t *pool, pstm_int * a, uint32 size) FAST_FUNC; |
152 | 152 | ||
153 | //bbox: pool unused | 153 | //bbox: pool unused |
154 | #define pstm_init_copy(pool, a, b, toSqr) \ | 154 | #define pstm_init_copy(pool, a, b, toSqr) \ |
155 | pstm_init_copy( a, b, toSqr) | 155 | pstm_init_copy( a, b, toSqr) |
156 | extern int32 pstm_init_copy(psPool_t *pool, pstm_int * a, pstm_int * b, | 156 | //made static:extern int32 pstm_init_copy(psPool_t *pool, pstm_int * a, pstm_int * b, |
157 | int toSqr); //bbox: was int16 toSqr | 157 | //made static: int toSqr); //bbox: was int16 toSqr |
158 | 158 | ||
159 | extern int pstm_count_bits (pstm_int * a); //bbox: was returning int16 | 159 | //made static:extern int pstm_count_bits (pstm_int * a) FAST_FUNC; //bbox: was returning int16 |
160 | 160 | ||
161 | //bbox: pool unused | 161 | //bbox: pool unused |
162 | #define pstm_init_for_read_unsigned_bin(pool, a, len) \ | 162 | #define pstm_init_for_read_unsigned_bin(pool, a, len) \ |
163 | pstm_init_for_read_unsigned_bin( a, len) | 163 | pstm_init_for_read_unsigned_bin( a, len) |
164 | extern int32 pstm_init_for_read_unsigned_bin(psPool_t *pool, pstm_int *a, | 164 | extern int32 pstm_init_for_read_unsigned_bin(psPool_t *pool, pstm_int *a, |
165 | uint32 len); | 165 | uint32 len) FAST_FUNC; |
166 | 166 | ||
167 | extern int32 pstm_read_unsigned_bin(pstm_int *a, unsigned char *b, int32 c); | 167 | extern int32 pstm_read_unsigned_bin(pstm_int *a, unsigned char *b, int32 c) FAST_FUNC; |
168 | 168 | ||
169 | extern int32 pstm_unsigned_bin_size(pstm_int *a); | 169 | extern int32 pstm_unsigned_bin_size(pstm_int *a) FAST_FUNC; |
170 | 170 | ||
171 | extern int32 pstm_copy(pstm_int * a, pstm_int * b); | 171 | extern int32 pstm_copy(pstm_int * a, pstm_int * b); |
172 | 172 | ||
173 | extern void pstm_exch(pstm_int * a, pstm_int * b); | 173 | //made static:extern void pstm_exch(pstm_int * a, pstm_int * b); |
174 | 174 | ||
175 | extern void pstm_clear(pstm_int * a); | 175 | extern void pstm_clear(pstm_int * a) FAST_FUNC; |
176 | 176 | ||
177 | extern void pstm_clear_multi(pstm_int *mp0, pstm_int *mp1, pstm_int *mp2, | 177 | extern void pstm_clear_multi(pstm_int *mp0, pstm_int *mp1, pstm_int *mp2, |
178 | pstm_int *mp3, pstm_int *mp4, pstm_int *mp5, pstm_int *mp6, | 178 | pstm_int *mp3, pstm_int *mp4, pstm_int *mp5, pstm_int *mp6, |
179 | pstm_int *mp7); | 179 | pstm_int *mp7) FAST_FUNC; |
180 | 180 | ||
181 | extern int32 pstm_grow(pstm_int * a, int size); //bbox: was int16 size | 181 | extern int32 pstm_grow(pstm_int * a, int size) FAST_FUNC; //bbox: was int16 size |
182 | 182 | ||
183 | extern void pstm_clamp(pstm_int * a); | 183 | extern void pstm_clamp(pstm_int * a) FAST_FUNC; |
184 | 184 | ||
185 | extern int32 pstm_cmp(pstm_int * a, pstm_int * b); | 185 | extern int32 pstm_cmp(pstm_int * a, pstm_int * b) FAST_FUNC; |
186 | 186 | ||
187 | extern int32 pstm_cmp_mag(pstm_int * a, pstm_int * b); | 187 | extern int32 pstm_cmp_mag(pstm_int * a, pstm_int * b) FAST_FUNC; |
188 | 188 | ||
189 | extern void pstm_rshd(pstm_int *a, int x); //bbox: was int16 x | 189 | //made static:extern void pstm_rshd(pstm_int *a, int x); //bbox: was int16 x |
190 | 190 | ||
191 | extern int32 pstm_lshd(pstm_int * a, int b); //bbox: was int16 b | 191 | //made static:extern int32 pstm_lshd(pstm_int * a, int b); //bbox: was int16 b |
192 | 192 | ||
193 | //bbox: pool unused | 193 | //bbox: pool unused |
194 | #define pstm_div(pool, a, b, c, d) \ | 194 | #define pstm_div(pool, a, b, c, d) \ |
195 | pstm_div( a, b, c, d) | 195 | pstm_div( a, b, c, d) |
196 | extern int32 pstm_div(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c, | 196 | //made static:extern int32 pstm_div(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c, |
197 | pstm_int *d); | 197 | //made static: pstm_int *d); |
198 | 198 | ||
199 | //bbox: pool unused | 199 | //bbox: pool unused |
200 | #define pstm_div_2d(pool, a, b, c, d) \ | 200 | #define pstm_div_2d(pool, a, b, c, d) \ |
201 | pstm_div_2d( a, b, c, d) | 201 | pstm_div_2d( a, b, c, d) |
202 | extern int32 pstm_div_2d(psPool_t *pool, pstm_int *a, int b, pstm_int *c, | 202 | //made static:extern int32 pstm_div_2d(psPool_t *pool, pstm_int *a, int b, pstm_int *c, |
203 | pstm_int *d); //bbox: was int16 b | 203 | //made static: pstm_int *d); //bbox: was int16 b |
204 | 204 | ||
205 | extern int32 pstm_div_2(pstm_int * a, pstm_int * b); | 205 | extern int32 pstm_div_2(pstm_int * a, pstm_int * b) FAST_FUNC; |
206 | 206 | ||
207 | extern int32 s_pstm_sub(pstm_int *a, pstm_int *b, pstm_int *c); | 207 | extern int32 s_pstm_sub(pstm_int *a, pstm_int *b, pstm_int *c) FAST_FUNC; |
208 | 208 | ||
209 | extern int32 pstm_sub(pstm_int *a, pstm_int *b, pstm_int *c); | 209 | extern int32 pstm_sub(pstm_int *a, pstm_int *b, pstm_int *c) FAST_FUNC; |
210 | 210 | ||
211 | //bbox: pool unused | 211 | //bbox: pool unused |
212 | #define pstm_sub_d(pool, a, b, c) \ | 212 | #define pstm_sub_d(pool, a, b, c) \ |
213 | pstm_sub_d( a, b, c) | 213 | pstm_sub_d( a, b, c) |
214 | extern int32 pstm_sub_d(psPool_t *pool, pstm_int *a, pstm_digit b, pstm_int *c); | 214 | extern int32 pstm_sub_d(psPool_t *pool, pstm_int *a, pstm_digit b, pstm_int *c) FAST_FUNC; |
215 | 215 | ||
216 | extern int32 pstm_mul_2(pstm_int * a, pstm_int * b); | 216 | extern int32 pstm_mul_2(pstm_int * a, pstm_int * b) FAST_FUNC; |
217 | 217 | ||
218 | //bbox: pool unused | 218 | //bbox: pool unused |
219 | #define pstm_mod(pool, a, b, c) \ | 219 | #define pstm_mod(pool, a, b, c) \ |
220 | pstm_mod( a, b, c) | 220 | pstm_mod( a, b, c) |
221 | extern int32 pstm_mod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c); | 221 | //made static:extern int32 pstm_mod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c); |
222 | 222 | ||
223 | //bbox: pool unused | 223 | //bbox: pool unused |
224 | #define pstm_mulmod(pool, a, b, c, d) \ | 224 | #define pstm_mulmod(pool, a, b, c, d) \ |
225 | pstm_mulmod( a, b, c, d) | 225 | pstm_mulmod( a, b, c, d) |
226 | extern int32 pstm_mulmod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c, | 226 | extern int32 pstm_mulmod(psPool_t *pool, pstm_int *a, pstm_int *b, pstm_int *c, |
227 | pstm_int *d); | 227 | pstm_int *d) FAST_FUNC; |
228 | 228 | ||
229 | //bbox: pool unused | 229 | //bbox: pool unused |
230 | #define pstm_exptmod(pool, G, X, P, Y) \ | 230 | #define pstm_exptmod(pool, G, X, P, Y) \ |
231 | pstm_exptmod( G, X, P, Y) | 231 | pstm_exptmod( G, X, P, Y) |
232 | extern int32 pstm_exptmod(psPool_t *pool, pstm_int *G, pstm_int *X, pstm_int *P, | 232 | extern int32 pstm_exptmod(psPool_t *pool, pstm_int *G, pstm_int *X, pstm_int *P, |
233 | pstm_int *Y); | 233 | pstm_int *Y) FAST_FUNC; |
234 | 234 | ||
235 | extern int32 pstm_2expt(pstm_int *a, int b); //bbox: was int16 b | 235 | //made static:extern int32 pstm_2expt(pstm_int *a, int b); //bbox: was int16 b |
236 | 236 | ||
237 | extern int32 pstm_add(pstm_int *a, pstm_int *b, pstm_int *c); | 237 | extern int32 pstm_add(pstm_int *a, pstm_int *b, pstm_int *c) FAST_FUNC; |
238 | 238 | ||
239 | //bbox: pool unused | 239 | //bbox: pool unused |
240 | #define pstm_to_unsigned_bin(pool, a, b) \ | 240 | #define pstm_to_unsigned_bin(pool, a, b) \ |
241 | pstm_to_unsigned_bin( a, b) | 241 | pstm_to_unsigned_bin( a, b) |
242 | extern int32 pstm_to_unsigned_bin(psPool_t *pool, pstm_int *a, | 242 | extern int32 pstm_to_unsigned_bin(psPool_t *pool, pstm_int *a, |
243 | unsigned char *b); | 243 | unsigned char *b) FAST_FUNC; |
244 | 244 | ||
245 | //bbox: pool unused | 245 | //bbox: pool unused |
246 | #define pstm_to_unsigned_bin_nr(pool, a, b) \ | 246 | #define pstm_to_unsigned_bin_nr(pool, a, b) \ |
247 | pstm_to_unsigned_bin_nr( a, b) | 247 | pstm_to_unsigned_bin_nr( a, b) |
248 | extern int32 pstm_to_unsigned_bin_nr(psPool_t *pool, pstm_int *a, | 248 | extern int32 pstm_to_unsigned_bin_nr(psPool_t *pool, pstm_int *a, |
249 | unsigned char *b); | 249 | unsigned char *b) FAST_FUNC; |
250 | 250 | ||
251 | extern int32 pstm_montgomery_setup(pstm_int *a, pstm_digit *rho); | 251 | //made static:extern int32 pstm_montgomery_setup(pstm_int *a, pstm_digit *rho); |
252 | 252 | ||
253 | //bbox: pool unused | 253 | //bbox: pool unused |
254 | #define pstm_montgomery_reduce(pool, a, m, mp, paD, paDlen) \ | 254 | #define pstm_montgomery_reduce(pool, a, m, mp, paD, paDlen) \ |
255 | pstm_montgomery_reduce( a, m, mp, paD, paDlen) | 255 | pstm_montgomery_reduce( a, m, mp, paD, paDlen) |
256 | extern int32 pstm_montgomery_reduce(psPool_t *pool, pstm_int *a, pstm_int *m, | 256 | extern int32 pstm_montgomery_reduce(psPool_t *pool, pstm_int *a, pstm_int *m, |
257 | pstm_digit mp, pstm_digit *paD, uint32 paDlen); | 257 | pstm_digit mp, pstm_digit *paD, uint32 paDlen) FAST_FUNC; |
258 | 258 | ||
259 | #define pstm_mul_comba(pool, A, B, C, paD, paDlen) \ | 259 | #define pstm_mul_comba(pool, A, B, C, paD, paDlen) \ |
260 | pstm_mul_comba( A, B, C, paD, paDlen) | 260 | pstm_mul_comba( A, B, C, paD, paDlen) |
261 | extern int32 pstm_mul_comba(psPool_t *pool, pstm_int *A, pstm_int *B, | 261 | extern int32 pstm_mul_comba(psPool_t *pool, pstm_int *A, pstm_int *B, |
262 | pstm_int *C, pstm_digit *paD, uint32 paDlen); | 262 | pstm_int *C, pstm_digit *paD, uint32 paDlen) FAST_FUNC; |
263 | 263 | ||
264 | //bbox: pool unused | 264 | //bbox: pool unused |
265 | #define pstm_sqr_comba(pool, A, B, paD, paDlen) \ | 265 | #define pstm_sqr_comba(pool, A, B, paD, paDlen) \ |
266 | pstm_sqr_comba( A, B, paD, paDlen) | 266 | pstm_sqr_comba( A, B, paD, paDlen) |
267 | extern int32 pstm_sqr_comba(psPool_t *pool, pstm_int *A, pstm_int *B, | 267 | extern int32 pstm_sqr_comba(psPool_t *pool, pstm_int *A, pstm_int *B, |
268 | pstm_digit *paD, uint32 paDlen); | 268 | pstm_digit *paD, uint32 paDlen) FAST_FUNC; |
269 | 269 | ||
270 | extern int32 pstm_cmp_d(pstm_int *a, pstm_digit b); | 270 | //made static:extern int32 pstm_cmp_d(pstm_int *a, pstm_digit b); |
271 | 271 | ||
272 | extern int32 pstm_montgomery_calc_normalization(pstm_int *a, pstm_int *b); | 272 | //made static:extern int32 pstm_montgomery_calc_normalization(pstm_int *a, pstm_int *b); |
273 | 273 | ||
274 | extern int32 pstm_mul_d(pstm_int *a, pstm_digit b, pstm_int *c); | 274 | //made static:extern int32 pstm_mul_d(pstm_int *a, pstm_digit b, pstm_int *c); |
275 | 275 | ||
276 | //bbox: pool unused | 276 | //bbox: pool unused |
277 | #define pstm_invmod(pool, a, b, c) \ | 277 | #define pstm_invmod(pool, a, b, c) \ |
278 | pstm_invmod( a, b, c) | 278 | pstm_invmod( a, b, c) |
279 | extern int32 pstm_invmod(psPool_t *pool, pstm_int * a, pstm_int * b, | 279 | extern int32 pstm_invmod(psPool_t *pool, pstm_int * a, pstm_int * b, |
280 | pstm_int * c); | 280 | pstm_int * c) FAST_FUNC; |
281 | 281 | ||
282 | #else /* DISABLE_PSTM */ | 282 | #else /* DISABLE_PSTM */ |
283 | typedef int32 pstm_int; | 283 | typedef int32 pstm_int; |
diff --git a/networking/tls_pstm_montgomery_reduce.c b/networking/tls_pstm_montgomery_reduce.c index 3391755e1..d46e2aa2b 100644 --- a/networking/tls_pstm_montgomery_reduce.c +++ b/networking/tls_pstm_montgomery_reduce.c | |||
@@ -340,7 +340,7 @@ asm( \ | |||
340 | #define LO 0 | 340 | #define LO 0 |
341 | 341 | ||
342 | /* computes x/R == x (mod N) via Montgomery Reduction */ | 342 | /* computes x/R == x (mod N) via Montgomery Reduction */ |
343 | int32 pstm_montgomery_reduce(psPool_t *pool, pstm_int *a, pstm_int *m, | 343 | int32 FAST_FUNC pstm_montgomery_reduce(psPool_t *pool, pstm_int *a, pstm_int *m, |
344 | pstm_digit mp, pstm_digit *paD, uint32 paDlen) | 344 | pstm_digit mp, pstm_digit *paD, uint32 paDlen) |
345 | { | 345 | { |
346 | pstm_digit *c, *_c, *tmpm, mu; | 346 | pstm_digit *c, *_c, *tmpm, mu; |
diff --git a/networking/tls_pstm_mul_comba.c b/networking/tls_pstm_mul_comba.c index 6ba152bc1..ac4fcc3ef 100644 --- a/networking/tls_pstm_mul_comba.c +++ b/networking/tls_pstm_mul_comba.c | |||
@@ -754,7 +754,7 @@ static int32 pstm_mul_comba32(pstm_int *A, pstm_int *B, pstm_int *C) | |||
754 | 754 | ||
755 | /******************************************************************************/ | 755 | /******************************************************************************/ |
756 | 756 | ||
757 | int32 pstm_mul_comba(psPool_t *pool, pstm_int *A, pstm_int *B, pstm_int *C, | 757 | int32 FAST_FUNC pstm_mul_comba(psPool_t *pool, pstm_int *A, pstm_int *B, pstm_int *C, |
758 | pstm_digit *paD, uint32 paDlen) | 758 | pstm_digit *paD, uint32 paDlen) |
759 | { | 759 | { |
760 | #ifdef USE_1024_KEY_SPEED_OPTIMIZATIONS | 760 | #ifdef USE_1024_KEY_SPEED_OPTIMIZATIONS |
diff --git a/networking/tls_pstm_sqr_comba.c b/networking/tls_pstm_sqr_comba.c index d5c74d2f0..8604132d6 100644 --- a/networking/tls_pstm_sqr_comba.c +++ b/networking/tls_pstm_sqr_comba.c | |||
@@ -1085,7 +1085,7 @@ static int32 pstm_sqr_comba32(pstm_int *A, pstm_int *B) | |||
1085 | /******************************************************************************/ | 1085 | /******************************************************************************/ |
1086 | /* | 1086 | /* |
1087 | */ | 1087 | */ |
1088 | int32 pstm_sqr_comba(psPool_t *pool, pstm_int *A, pstm_int *B, pstm_digit *paD, | 1088 | int32 FAST_FUNC pstm_sqr_comba(psPool_t *pool, pstm_int *A, pstm_int *B, pstm_digit *paD, |
1089 | uint32 paDlen) | 1089 | uint32 paDlen) |
1090 | { | 1090 | { |
1091 | #ifdef USE_1024_KEY_SPEED_OPTIMIZATIONS | 1091 | #ifdef USE_1024_KEY_SPEED_OPTIMIZATIONS |
diff --git a/networking/tls_rsa.c b/networking/tls_rsa.c index 631397e4d..5fda1cb49 100644 --- a/networking/tls_rsa.c +++ b/networking/tls_rsa.c | |||
@@ -173,7 +173,9 @@ error: | |||
173 | res = PS_FAILURE; | 173 | res = PS_FAILURE; |
174 | done: | 174 | done: |
175 | if (type == PRIVKEY_TYPE && key->optimized) { | 175 | if (type == PRIVKEY_TYPE && key->optimized) { |
176 | pstm_clear_multi(&tmpa, &tmpb, NULL, NULL, NULL, NULL, NULL, NULL); | 176 | //pstm_clear_multi(&tmpa, &tmpb, NULL, NULL, NULL, NULL, NULL, NULL); |
177 | pstm_clear(&tmpa); | ||
178 | pstm_clear(&tmpb); | ||
177 | } | 179 | } |
178 | pstm_clear(&tmp); | 180 | pstm_clear(&tmp); |
179 | return res; | 181 | return res; |