aboutsummaryrefslogtreecommitdiff
path: root/networking/tls.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2021-10-05 20:00:50 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2021-10-05 20:01:38 +0200
commit3b411ebbfc749f9f12b0eb739cb5ba3ec052197e (patch)
treeda81f1546b78d25f4ac63e612e76cb27aa4c2db3 /networking/tls.c
parent55578f2fb7c05357fb0b1ce84b616ba8ffd6d907 (diff)
downloadbusybox-w32-3b411ebbfc749f9f12b0eb739cb5ba3ec052197e.tar.gz
busybox-w32-3b411ebbfc749f9f12b0eb739cb5ba3ec052197e.tar.bz2
busybox-w32-3b411ebbfc749f9f12b0eb739cb5ba3ec052197e.zip
tls: replace "26-bit" P256 code with 32-bit one.
function old new delta sp_256_ecc_mulmod_8 - 1171 +1171 sp_256_mod_mul_norm_8 - 834 +834 sp_256_proj_point_dbl_8 - 374 +374 sp_256_mont_reduce_8 - 268 +268 sp_256_mont_mul_8 - 151 +151 sp_256_sub_8 - 76 +76 sp_256_add_8 - 76 +76 sp_256_cmp_8 - 38 +38 static.sp_256_mont_dbl_8 - 31 +31 static.sp_256_mont_sub_8 - 29 +29 sp_256_to_bin_8 - 28 +28 sp_256_point_from_bin2x32 50 73 +23 sp_256_mont_sqr_8 - 7 +7 sp_256_mont_sqr_10 7 - -7 p256_mod 40 32 -8 curve_P256_compute_pubkey_and_premaster 186 167 -19 sp_256_sub_10 22 - -22 sp_256_add_10 22 - -22 sp_256_cmp_10 24 - -24 sp_256_norm_10 31 - -31 static.sp_256_mont_sub_10 49 - -49 static.sp_256_mont_dbl_10 52 - -52 static.sp_256_mul_add_10 82 - -82 sp_256_from_bin_10 119 - -119 sp_256_to_bin_10 120 - -120 sp_256_mont_reduce_10 178 - -178 sp_256_mont_mul_10 214 - -214 sp_256_proj_point_dbl_10 451 - -451 sp_256_ecc_mulmod_10 1216 - -1216 sp_256_mod_mul_norm_10 1305 - -1305 ------------------------------------------------------------------------------ (add/remove: 12/15 grow/shrink: 1/2 up/down: 3106/-3919) Total: -813 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/tls.c')
-rw-r--r--networking/tls.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/networking/tls.c b/networking/tls.c
index 4f0e2b6eb..675ef4b3a 100644
--- a/networking/tls.c
+++ b/networking/tls.c
@@ -2334,7 +2334,6 @@ void FAST_FUNC tls_run_copy_loop(tls_state_t *tls, unsigned flags)
2334// e.g. at the very beginning of wget_main() 2334// e.g. at the very beginning of wget_main()
2335// 2335//
2336{ 2336{
2337//kbuild:lib-$(CONFIG_TLS) += tls_sp_c32_new.o
2338 uint8_t ecc_pub_key32[2 * 32]; 2337 uint8_t ecc_pub_key32[2 * 32];
2339 uint8_t pubkey2x32[2 * 32]; 2338 uint8_t pubkey2x32[2 * 32];
2340 uint8_t premaster32[32]; 2339 uint8_t premaster32[32];
@@ -2345,14 +2344,14 @@ void FAST_FUNC tls_run_copy_loop(tls_state_t *tls, unsigned flags)
2345// memset(ecc_pub_key32, 0x00, sizeof(ecc_pub_key32)); 2344// memset(ecc_pub_key32, 0x00, sizeof(ecc_pub_key32));
2346// ecc_pub_key32[18] = 0xab; 2345// ecc_pub_key32[18] = 0xab;
2347//Random key: 2346//Random key:
2348 tls_get_random(ecc_pub_key32, sizeof(ecc_pub_key32)); 2347// tls_get_random(ecc_pub_key32, sizeof(ecc_pub_key32));
2349//Biased random (almost all zeros or almost all ones): 2348//Biased random (almost all zeros or almost all ones):
2350// srand(time(NULL) ^ getpid()); 2349 srand(time(NULL) ^ getpid());
2351// if (rand() & 1) 2350 if (rand() & 1)
2352// memset(ecc_pub_key32, 0x00, sizeof(ecc_pub_key32)); 2351 memset(ecc_pub_key32, 0x00, sizeof(ecc_pub_key32));
2353// else 2352 else
2354// memset(ecc_pub_key32, 0xff, sizeof(ecc_pub_key32)); 2353 memset(ecc_pub_key32, 0xff, sizeof(ecc_pub_key32));
2355// ecc_pub_key32[rand() & 0x3f] = rand(); 2354 ecc_pub_key32[rand() & 0x3f] = rand();
2356 2355
2357 xmove_fd(xopen("p256.OLD", O_WRONLY | O_CREAT | O_TRUNC), 2); 2356 xmove_fd(xopen("p256.OLD", O_WRONLY | O_CREAT | O_TRUNC), 2);
2358 curve_P256_compute_pubkey_and_premaster( 2357 curve_P256_compute_pubkey_and_premaster(