tls: code shrink P256 code

function                                             old     new   delta
sp_256_to_bin                                        148     120     -28

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2021-10-01 13:51:39 +02:00
parent ac36e70074
commit 7714518f1a

View File

@ -70,6 +70,16 @@ static const sp_digit p256_mod[10] = {
#define p256_mp_mod ((sp_digit)0x000001) #define p256_mp_mod ((sp_digit)0x000001)
/* Normalize the values in each word to 26 bits. */
static void sp_256_norm_10(sp_digit* a)
{
int i;
for (i = 0; i < 9; i++) {
a[i+1] += a[i] >> 26;
a[i] &= 0x3ffffff;
}
}
/* Write r as big endian to byte aray. /* Write r as big endian to byte aray.
* Fixed length number of bytes written: 32 * Fixed length number of bytes written: 32
* *
@ -80,10 +90,8 @@ static void sp_256_to_bin(sp_digit* r, uint8_t* a)
{ {
int i, j, s = 0, b; int i, j, s = 0, b;
for (i = 0; i < 9; i++) { sp_256_norm_10(r);
r[i+1] += r[i] >> 26;
r[i] &= 0x3ffffff;
}
j = 256 / 8 - 1; j = 256 / 8 - 1;
a[j] = 0; a[j] = 0;
for (i = 0; i < 10 && j >= 0; i++) { for (i = 0; i < 10 && j >= 0; i++) {
@ -171,16 +179,6 @@ static int sp_256_cmp_equal_10(const sp_digit* a, const sp_digit* b)
return sp_256_cmp_10(a, b) == 0; return sp_256_cmp_10(a, b) == 0;
} }
/* Normalize the values in each word to 26 bits. */
static void sp_256_norm_10(sp_digit* a)
{
int i;
for (i = 0; i < 9; i++) {
a[i+1] += a[i] >> 26;
a[i] &= 0x3ffffff;
}
}
/* Add b to a into r. (r = a + b) */ /* Add b to a into r. (r = a + b) */
static void sp_256_add_10(sp_digit* r, const sp_digit* a, const sp_digit* b) static void sp_256_add_10(sp_digit* r, const sp_digit* a, const sp_digit* b)
{ {