<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/networking/tls_sp_c32.c, branch zstd</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=zstd</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=zstd'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2026-02-15T14:16:26+00:00</updated>
<entry>
<title>tls: make ECDHE_RSA work against our client (openssl s_client not yet)</title>
<updated>2026-02-15T14:16:26+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2026-02-14T23:13:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7773faa8781d91bb328d38fcef1c5fd393e03230'/>
<id>urn:sha1:7773faa8781d91bb328d38fcef1c5fd393e03230</id>
<content type='text'>
function                                             old     new   delta
tls_handshake_as_server                             1601    2033    +432
sp_ecc_make_key_256                                    -     103    +103
curve_P256_compute_premaster                           -      65     +65
.rodata                                           108023  108079     +56
curve_x25519_generate_keypair                          -      44     +44
tls_get_zeroed_outbuf                                  -      28     +28
curve_P256_generate_keypair                            -      27     +27
sp_256_from_bin_8                                      -      26     +26
curve_x25519_compute_premaster                         -      15     +15
tls_xread_record                                     708     704      -4
tls_handshake                                       1530    1519     -11
get_outbuf_fill_handshake_record                      51      37     -14
sp_256_point_from_bin2x32                             70      43     -27
curve_x25519_compute_pubkey_and_premaster             71      39     -32
curve_P256_compute_pubkey_and_premaster              167      65    -102
------------------------------------------------------------------------------
(add/remove: 7/0 grow/shrink: 2/6 up/down: 796/-190)          Total: 606 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tls: P256: improve x86_64 multiplication asm code</title>
<updated>2024-07-12T09:10:24+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2024-07-12T09:08:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=999e290ef64cbd49a9e0a0f6d3cfaf26414c1c3e'/>
<id>urn:sha1:999e290ef64cbd49a9e0a0f6d3cfaf26414c1c3e</id>
<content type='text'>
gcc is being rather silly. Usues suboptimal registers,
and does not realize that i and j are never negative,
thus usese even _more_ registers for temporaries
to sign-extend i/j to 64-bit offsets.

function                                             old     new   delta
sp_256_mont_mul_8                                    155     132     -23

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tls: P256: fix obscure x86_64 asm misbehavior, closes 15679</title>
<updated>2024-07-11T21:53:47+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2024-07-11T21:48:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d745852f136bac4646e50a4f03565273e687b28b'/>
<id>urn:sha1:d745852f136bac4646e50a4f03565273e687b28b</id>
<content type='text'>
gcc does not necessarily clear upper bits in
64-bit regs if you ask it to load a 32-bit constant.

Cast it to unsigned long. Better yet, hand-write loading
of the constant with a smaller instruction.

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tls: P256: remove NOP macro sp_256_norm_8()</title>
<updated>2022-07-13T14:11:17+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2022-07-13T14:11:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7b969bb2ada4d7757229fd735135f7720ef8008c'/>
<id>urn:sha1:7b969bb2ada4d7757229fd735135f7720ef8008c</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tls: P256: factor out "multiply then reduce" operation</title>
<updated>2021-12-11T22:27:40+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-12-11T22:27:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=27df6aeef2d0d4b726a8b3b1ce1b1cafbbce3431'/>
<id>urn:sha1:27df6aeef2d0d4b726a8b3b1ce1b1cafbbce3431</id>
<content type='text'>
function                                             old     new   delta
sp_256_mont_mul_and_reduce_8                           -      44     +44
sp_256_ecc_mulmod_8                                  517     442     -75
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 44/-75)            Total: -31 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tls: P256: enable 64-bit version of montgomery reduction</title>
<updated>2021-11-28T20:43:51+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-11-28T20:40:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=8514b4166d7a9d7720006d852ae67f43baed8ef1'/>
<id>urn:sha1:8514b4166d7a9d7720006d852ae67f43baed8ef1</id>
<content type='text'>
After more testing, (1) I'm more sure it is indeed correct, and
(2) it is a significant speedup - we do a lot of those multiplications.

function                                             old     new   delta
sp_512to256_mont_reduce_8                            191     223     +32

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tls: P256: add 64-bit montgomery reduce (disabled), small optimization in 32-bit code</title>
<updated>2021-11-28T14:44:08+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-11-28T14:38:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=90b0d3304455ad432c49f38e0419ac7820a625f7'/>
<id>urn:sha1:90b0d3304455ad432c49f38e0419ac7820a625f7</id>
<content type='text'>
function                                             old     new   delta
sp_512to256_mont_reduce_8                            191     185      -6

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tls: P256: add comment on logic in sp_512to256_mont_reduce_8, no code changes</title>
<updated>2021-11-28T11:55:20+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-11-28T11:55:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=832626227ea3798403159080532f763a37273a91'/>
<id>urn:sha1:832626227ea3798403159080532f763a37273a91</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tls: P256: simplify sp_256_mont_inv_8 (no need for a temporary)</title>
<updated>2021-11-28T10:15:34+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-11-28T10:10:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=cfb615781df5c7439fe0060a85e6b6a56d10dc7f'/>
<id>urn:sha1:cfb615781df5c7439fe0060a85e6b6a56d10dc7f</id>
<content type='text'>
function                                             old     new   delta
sp_256_ecc_mulmod_8                                  543     517     -26

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tls: P256: pad struct sp_point to 64 bits (on 64-bit arches)</title>
<updated>2021-11-28T01:56:02+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-11-28T01:56:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1b93c7c4ecc47318905b6e6f801732b7dd31e0ee'/>
<id>urn:sha1:1b93c7c4ecc47318905b6e6f801732b7dd31e0ee</id>
<content type='text'>
function                                             old     new   delta
curve_P256_compute_pubkey_and_premaster              198     190      -8

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
