From 4ae890bbd0647373c34364dde0cbc1f9c5064301 Mon Sep 17 00:00:00 2001 From: Hanno Becker Date: Wed, 24 Aug 2022 16:17:52 +0100 Subject: [PATCH 1/9] Extract MPI_CORE(mul) from the prototype Signed-off-by: Hanno Becker Signed-off-by: Gabor Mezei --- library/bignum_core.c | 9 +++++++++ library/bignum_core.h | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/library/bignum_core.c b/library/bignum_core.c index e50f043c51..1ec5340b7d 100644 --- a/library/bignum_core.c +++ b/library/bignum_core.c @@ -448,6 +448,15 @@ mbedtls_mpi_uint mbedtls_mpi_core_mla(mbedtls_mpi_uint *d, size_t d_len, return c; } +void MPI_CORE(mul)( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, size_t a, + const mbedtls_mpi_uint *B, size_t b ) +{ + memset( X, 0, ( a + b ) * ciL ); + for( size_t i=0; i < b; i++ ) + (void) mbedtls_mpi_core_mla( X + i, a + 1, A, a, B[i] ); +} + /* * Fast Montgomery initialization (thanks to Tom St Denis). */ diff --git a/library/bignum_core.h b/library/bignum_core.h index 05bc923d27..f66db8fd43 100644 --- a/library/bignum_core.h +++ b/library/bignum_core.h @@ -398,6 +398,25 @@ mbedtls_mpi_uint mbedtls_mpi_core_mla(mbedtls_mpi_uint *X, size_t X_limbs, const mbedtls_mpi_uint *A, size_t A_limbs, mbedtls_mpi_uint b); +#define MPI_CORE(func) mbedtls_mpi_core_ ## func ## _minimal + +/** + * \brief Perform a known-size multiplication + * + * \param[out] X The pointer to the (little-endian) array + * representing the product of \p a and \p b. + * This must be of length \p a + \p b. + * \param[in] A The pointer to the (little-endian) array + * representing the first factor. + * \param a The number of limbs in \p A. + * \param[in] B The pointer to the (little-endian) array + * representing the second factor. + * \param b The number of limbs in \p B. + */ +void MPI_CORE(mul)( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, size_t a, + const mbedtls_mpi_uint *B, size_t b ); + /** * \brief Calculate initialisation value for fast Montgomery modular * multiplication From 6af26f383860802ff9a29c7fb322398e4159f506 Mon Sep 17 00:00:00 2001 From: Tom Cosgrove Date: Wed, 24 Aug 2022 16:40:55 +0100 Subject: [PATCH 2/9] Tidy up, remove MPI_CORE(), apply the naming convention, and use the new mbedtls_mpi_core_mul() Signed-off-by: Tom Cosgrove Signed-off-by: Gabor Mezei --- library/bignum.c | 11 +++-------- library/bignum_core.c | 14 ++++++++------ library/bignum_core.h | 26 ++++++++++++-------------- 3 files changed, 23 insertions(+), 28 deletions(-) diff --git a/library/bignum.c b/library/bignum.c index d3a1b00d52..2421c1a3ec 100644 --- a/library/bignum.c +++ b/library/bignum.c @@ -1136,7 +1136,8 @@ int mbedtls_mpi_mul_mpi(mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi MPI_VALIDATE_RET(A != NULL); MPI_VALIDATE_RET(B != NULL); - mbedtls_mpi_init(&TA); mbedtls_mpi_init(&TB); + mbedtls_mpi_init(&TA); + mbedtls_mpi_init(&TB); if (X == A) { MBEDTLS_MPI_CHK(mbedtls_mpi_copy(&TA, A)); A = &TA; @@ -1166,13 +1167,7 @@ int mbedtls_mpi_mul_mpi(mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi MBEDTLS_MPI_CHK(mbedtls_mpi_grow(X, i + j)); MBEDTLS_MPI_CHK(mbedtls_mpi_lset(X, 0)); - for (size_t k = 0; k < j; k++) { - /* We know that there cannot be any carry-out since we're - * iterating from bottom to top. */ - (void) mbedtls_mpi_core_mla(X->p + k, i + 1, - A->p, i, - B->p[k]); - } + mbedtls_mpi_core_mul(X->p, A->p, i, B->p, j); /* If the result is 0, we don't shortcut the operation, which reduces * but does not eliminate side channels leaking the zero-ness. We do diff --git a/library/bignum_core.c b/library/bignum_core.c index 1ec5340b7d..1ba4142c7e 100644 --- a/library/bignum_core.c +++ b/library/bignum_core.c @@ -448,13 +448,15 @@ mbedtls_mpi_uint mbedtls_mpi_core_mla(mbedtls_mpi_uint *d, size_t d_len, return c; } -void MPI_CORE(mul)( mbedtls_mpi_uint *X, - const mbedtls_mpi_uint *A, size_t a, - const mbedtls_mpi_uint *B, size_t b ) +void mbedtls_mpi_core_mul(mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, size_t A_limbs, + const mbedtls_mpi_uint *B, size_t B_limbs) { - memset( X, 0, ( a + b ) * ciL ); - for( size_t i=0; i < b; i++ ) - (void) mbedtls_mpi_core_mla( X + i, a + 1, A, a, B[i] ); + memset(X, 0, (A_limbs + B_limbs) * ciL); + + for (size_t i = 0; i < B_limbs; i++) { + (void) mbedtls_mpi_core_mla(X + i, A_limbs + 1, A, A_limbs, B[i]); + } } /* diff --git a/library/bignum_core.h b/library/bignum_core.h index f66db8fd43..3a111600b8 100644 --- a/library/bignum_core.h +++ b/library/bignum_core.h @@ -398,24 +398,22 @@ mbedtls_mpi_uint mbedtls_mpi_core_mla(mbedtls_mpi_uint *X, size_t X_limbs, const mbedtls_mpi_uint *A, size_t A_limbs, mbedtls_mpi_uint b); -#define MPI_CORE(func) mbedtls_mpi_core_ ## func ## _minimal - /** * \brief Perform a known-size multiplication * - * \param[out] X The pointer to the (little-endian) array - * representing the product of \p a and \p b. - * This must be of length \p a + \p b. - * \param[in] A The pointer to the (little-endian) array - * representing the first factor. - * \param a The number of limbs in \p A. - * \param[in] B The pointer to the (little-endian) array - * representing the second factor. - * \param b The number of limbs in \p B. + * \param[out] X The pointer to the (little-endian) array to receive + * the product of \p A_limbs and \p B_limbs. + * This must be of length \p A_limbs + \p B_limbs. + * \param[in] A The pointer to the (little-endian) array + * representing the first factor. + * \param A_limbs The number of limbs in \p A. + * \param[in] B The pointer to the (little-endian) array + * representing the second factor. + * \param B_limbs The number of limbs in \p B. */ -void MPI_CORE(mul)( mbedtls_mpi_uint *X, - const mbedtls_mpi_uint *A, size_t a, - const mbedtls_mpi_uint *B, size_t b ); +void mbedtls_mpi_core_mul(mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, size_t A_limbs, + const mbedtls_mpi_uint *B, size_t B_limbs); /** * \brief Calculate initialisation value for fast Montgomery modular From e16a945421b508553bef3f3b32e68da490a64496 Mon Sep 17 00:00:00 2001 From: Tom Cosgrove Date: Wed, 24 Aug 2022 17:34:08 +0100 Subject: [PATCH 3/9] Add unit tests for mbedtls_mpi_core_mul() The test cases use the following MPI values. The .data file only includes those (a, b) values where a <= b; the test code does a * b and b * a. 0 1 80 ff 100 fffe ffff 10000 ffffffff 100000000 20000000000000 7f7f7f7f7f7f7f7f 8000000000000000 ffffffffffffffff 10000000000000000 10000000000000001 1234567890abcdef0 fffffffffffffffffefefefefefefefe 100000000000000000000000000000000 1234567890abcdef01234567890abcdef0 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b The lines in the .data file were generated by the following script ``` #!/usr/bin/env perl # # mpi-test-core-mul.pl - generate MPI tests in Perl for mbedtls_mpi_core_mul() # use strict; use warnings; use Math::BigInt; use sort 'stable'; my $echo = 0; my @mul_mpis = qw( 0 1 80 ff 100 fffe ffff 10000 ffffffff 100000000 20000000000000 7f7f7f7f7f7f7f7f 8000000000000000 ffffffffffffffff 10000000000000000 10000000000000001 1234567890abcdef0 fffffffffffffffffefefefefefefefe 100000000000000000000000000000000 1234567890abcdef01234567890abcdef0 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b ); generate_tests(); sub generate_tests { generate_mbedtls_mpi_core_mul(); } sub generate_mbedtls_mpi_core_mul { my $sub_name = (caller(0))[3]; # e.g. main::generate_mbedtls_mpi_sub_mpi my ($ignore, $test_name) = split("main::generate_", $sub_name); my @cases = (); for my $ah (@mul_mpis) { for my $bh (@mul_mpis) { my $a = Math::BigInt->from_hex($ah); my $b = Math::BigInt->from_hex($bh); next if $a > $b; # don't need to repeat test cases my $r = $a * $b; my $rh = $r->to_hex(); my $desc = "$test_name #NUMBER: 0x$ah * 0x$bh = 0x$rh"; my $case = output($test_name, str($ah), str($bh), str($rh)); push(@cases, [$case, $desc]); } } output_cases("", @cases); } sub output_cases { my ($explain, @cases) = @_; my $count = 1; for my $c (@cases) { my ($case, $desc, $dep) = @$c; $desc =~ s/NUMBER/$count/; $count++; if (defined($explain) && $desc =~ /EXPLAIN/) { $desc =~ s/EXPLAIN/$explain/; $explain = ""; } my $depends = ""; $depends = "depends_on:$dep\n" if defined($dep) && length($dep); print < Signed-off-by: Gabor Mezei --- tests/suites/test_suite_bignum_core.function | 75 ++ tests/suites/test_suite_bignum_core.misc.data | 828 ++++++++++++++++++ 2 files changed, 903 insertions(+) diff --git a/tests/suites/test_suite_bignum_core.function b/tests/suites/test_suite_bignum_core.function index 408eb0be4f..e727ce35d4 100644 --- a/tests/suites/test_suite_bignum_core.function +++ b/tests/suites/test_suite_bignum_core.function @@ -1057,6 +1057,81 @@ exit: } /* END_CASE */ +/* BEGIN_CASE */ +void mpi_core_mul(char *input_A_hex, char *input_B_hex, + char *expected_hex) +{ + mbedtls_mpi A, B, Expected; + mbedtls_mpi_uint *a = NULL; + mbedtls_mpi_uint *b = NULL; + mbedtls_mpi_uint *expected = NULL; + mbedtls_mpi_uint *r = NULL; + + mbedtls_mpi_init(&A); + mbedtls_mpi_init(&B); + mbedtls_mpi_init(&Expected); + + TEST_EQUAL(mbedtls_test_read_mpi(&A, input_A_hex), 0); + TEST_EQUAL(mbedtls_test_read_mpi(&B, input_B_hex), 0); + TEST_EQUAL(mbedtls_test_read_mpi(&Expected, expected_hex), 0); + + /* All of the inputs are +ve (or zero) */ + TEST_EQUAL(A.s, 1); + TEST_EQUAL(B.s, 1); + TEST_EQUAL(Expected.s, 1); + + /* Test cases are such that A <= B, so #limbs should be <= */ + TEST_ASSERT(A.n <= B.n); + TEST_ASSERT(A.n + B.n >= Expected.n); + + size_t output_limbs = A.n + B.n; + TEST_EQUAL(mbedtls_mpi_grow(&Expected, output_limbs), 0); + TEST_EQUAL(Expected.n, output_limbs); + + /* Now let's get arrays of mbedtls_mpi_uints, rather than MPI structures */ + a = mbedtls_calloc(A.n, sizeof(mbedtls_mpi_uint)); + b = mbedtls_calloc(B.n, sizeof(mbedtls_mpi_uint)); + expected = mbedtls_calloc(Expected.n, sizeof(mbedtls_mpi_uint)); + r = mbedtls_calloc(output_limbs, sizeof(mbedtls_mpi_uint)); + + TEST_ASSERT(a != NULL); + TEST_ASSERT(b != NULL); + TEST_ASSERT(expected != NULL); + TEST_ASSERT(r != NULL); + + /* Populate the arrays */ + memcpy(a, A.p, A.n * sizeof(mbedtls_mpi_uint)); + memcpy(b, B.p, B.n * sizeof(mbedtls_mpi_uint)); + memcpy(expected, Expected.p, Expected.n * sizeof(mbedtls_mpi_uint)); + + /* Set result to something that is unlikely to be correct */ + memset(r, '!', output_limbs * sizeof(mbedtls_mpi_uint)); + + /* 1. r = a * b - result should be correct, a and b unchanged */ + mbedtls_mpi_core_mul(r, A.p, A.n, B.p, B.n); + TEST_EQUAL(memcmp(r, expected, output_limbs * sizeof(mbedtls_mpi_uint)), 0); + TEST_EQUAL(memcmp(a, A.p, A.n * sizeof(mbedtls_mpi_uint)), 0); + TEST_EQUAL(memcmp(b, B.p, B.n * sizeof(mbedtls_mpi_uint)), 0); + + /* 2. r = b * a - result should be correct, a and b unchanged */ + memset(r, '!', output_limbs * sizeof(mbedtls_mpi_uint)); + mbedtls_mpi_core_mul(r, B.p, B.n, A.p, A.n); + TEST_EQUAL(memcmp(r, expected, output_limbs * sizeof(mbedtls_mpi_uint)), 0); + TEST_EQUAL(memcmp(a, A.p, A.n * sizeof(mbedtls_mpi_uint)), 0); + TEST_EQUAL(memcmp(b, B.p, B.n * sizeof(mbedtls_mpi_uint)), 0); + +exit: + mbedtls_free(a); + mbedtls_free(b); + mbedtls_free(expected); + mbedtls_free(r); + + mbedtls_mpi_free(&A); + mbedtls_mpi_free(&B); + mbedtls_mpi_free(&Expected); +} +/* END_CASE */ + /* BEGIN MERGE SLOT 1 */ /* BEGIN_CASE */ diff --git a/tests/suites/test_suite_bignum_core.misc.data b/tests/suites/test_suite_bignum_core.misc.data index 81a767a0c4..ca67d8b063 100644 --- a/tests/suites/test_suite_bignum_core.misc.data +++ b/tests/suites/test_suite_bignum_core.misc.data @@ -491,6 +491,834 @@ mpi_core_fill_random:42:0:-1:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA Fill random core: 42 bytes, 5 missing limbs mpi_core_fill_random:42:0:-5:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA +mbedtls_mpi_core_mul #1: 0x0 * 0x0 = 0x0 +mpi_core_mul:"0":"0":"0" + +mbedtls_mpi_core_mul #2: 0x0 * 0x1 = 0x0 +mpi_core_mul:"0":"1":"0" + +mbedtls_mpi_core_mul #3: 0x0 * 0x80 = 0x0 +mpi_core_mul:"0":"80":"0" + +mbedtls_mpi_core_mul #4: 0x0 * 0xff = 0x0 +mpi_core_mul:"0":"ff":"0" + +mbedtls_mpi_core_mul #5: 0x0 * 0x100 = 0x0 +mpi_core_mul:"0":"100":"0" + +mbedtls_mpi_core_mul #6: 0x0 * 0xfffe = 0x0 +mpi_core_mul:"0":"fffe":"0" + +mbedtls_mpi_core_mul #7: 0x0 * 0xffff = 0x0 +mpi_core_mul:"0":"ffff":"0" + +mbedtls_mpi_core_mul #8: 0x0 * 0x10000 = 0x0 +mpi_core_mul:"0":"10000":"0" + +mbedtls_mpi_core_mul #9: 0x0 * 0xffffffff = 0x0 +mpi_core_mul:"0":"ffffffff":"0" + +mbedtls_mpi_core_mul #10: 0x0 * 0x100000000 = 0x0 +mpi_core_mul:"0":"100000000":"0" + +mbedtls_mpi_core_mul #11: 0x0 * 0x20000000000000 = 0x0 +mpi_core_mul:"0":"20000000000000":"0" + +mbedtls_mpi_core_mul #12: 0x0 * 0x7f7f7f7f7f7f7f7f = 0x0 +mpi_core_mul:"0":"7f7f7f7f7f7f7f7f":"0" + +mbedtls_mpi_core_mul #13: 0x0 * 0x8000000000000000 = 0x0 +mpi_core_mul:"0":"8000000000000000":"0" + +mbedtls_mpi_core_mul #14: 0x0 * 0xffffffffffffffff = 0x0 +mpi_core_mul:"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mul #15: 0x0 * 0x10000000000000000 = 0x0 +mpi_core_mul:"0":"10000000000000000":"0" + +mbedtls_mpi_core_mul #16: 0x0 * 0x10000000000000001 = 0x0 +mpi_core_mul:"0":"10000000000000001":"0" + +mbedtls_mpi_core_mul #17: 0x0 * 0x1234567890abcdef0 = 0x0 +mpi_core_mul:"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mul #18: 0x0 * 0xfffffffffffffffffefefefefefefefe = 0x0 +mpi_core_mul:"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mul #19: 0x0 * 0x100000000000000000000000000000000 = 0x0 +mpi_core_mul:"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mul #20: 0x0 * 0x1234567890abcdef01234567890abcdef0 = 0x0 +mpi_core_mul:"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mul #21: 0x0 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x0 +mpi_core_mul:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mul #22: 0x0 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x0 +mpi_core_mul:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mul #23: 0x0 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x0 +mpi_core_mul:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mul #24: 0x1 * 0x1 = 0x1 +mpi_core_mul:"1":"1":"1" + +mbedtls_mpi_core_mul #25: 0x1 * 0x80 = 0x80 +mpi_core_mul:"1":"80":"80" + +mbedtls_mpi_core_mul #26: 0x1 * 0xff = 0xff +mpi_core_mul:"1":"ff":"ff" + +mbedtls_mpi_core_mul #27: 0x1 * 0x100 = 0x100 +mpi_core_mul:"1":"100":"100" + +mbedtls_mpi_core_mul #28: 0x1 * 0xfffe = 0xfffe +mpi_core_mul:"1":"fffe":"fffe" + +mbedtls_mpi_core_mul #29: 0x1 * 0xffff = 0xffff +mpi_core_mul:"1":"ffff":"ffff" + +mbedtls_mpi_core_mul #30: 0x1 * 0x10000 = 0x10000 +mpi_core_mul:"1":"10000":"10000" + +mbedtls_mpi_core_mul #31: 0x1 * 0xffffffff = 0xffffffff +mpi_core_mul:"1":"ffffffff":"ffffffff" + +mbedtls_mpi_core_mul #32: 0x1 * 0x100000000 = 0x100000000 +mpi_core_mul:"1":"100000000":"100000000" + +mbedtls_mpi_core_mul #33: 0x1 * 0x20000000000000 = 0x20000000000000 +mpi_core_mul:"1":"20000000000000":"20000000000000" + +mbedtls_mpi_core_mul #34: 0x1 * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7f7f7f7f7f +mpi_core_mul:"1":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mul #35: 0x1 * 0x8000000000000000 = 0x8000000000000000 +mpi_core_mul:"1":"8000000000000000":"8000000000000000" + +mbedtls_mpi_core_mul #36: 0x1 * 0xffffffffffffffff = 0xffffffffffffffff +mpi_core_mul:"1":"ffffffffffffffff":"ffffffffffffffff" + +mbedtls_mpi_core_mul #37: 0x1 * 0x10000000000000000 = 0x10000000000000000 +mpi_core_mul:"1":"10000000000000000":"10000000000000000" + +mbedtls_mpi_core_mul #38: 0x1 * 0x10000000000000001 = 0x10000000000000001 +mpi_core_mul:"1":"10000000000000001":"10000000000000001" + +mbedtls_mpi_core_mul #39: 0x1 * 0x1234567890abcdef0 = 0x1234567890abcdef0 +mpi_core_mul:"1":"1234567890abcdef0":"1234567890abcdef0" + +mbedtls_mpi_core_mul #40: 0x1 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe +mpi_core_mul:"1":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe" + +mbedtls_mpi_core_mul #41: 0x1 * 0x100000000000000000000000000000000 = 0x100000000000000000000000000000000 +mpi_core_mul:"1":"100000000000000000000000000000000":"100000000000000000000000000000000" + +mbedtls_mpi_core_mul #42: 0x1 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef0 +mpi_core_mul:"1":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0" + +mbedtls_mpi_core_mul #43: 0x1 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +mpi_core_mul:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + +mbedtls_mpi_core_mul #44: 0x1 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 +mpi_core_mul:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0" + +mbedtls_mpi_core_mul #45: 0x1 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b +mpi_core_mul:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b" + +mbedtls_mpi_core_mul #46: 0x80 * 0x80 = 0x4000 +mpi_core_mul:"80":"80":"4000" + +mbedtls_mpi_core_mul #47: 0x80 * 0xff = 0x7f80 +mpi_core_mul:"80":"ff":"7f80" + +mbedtls_mpi_core_mul #48: 0x80 * 0x100 = 0x8000 +mpi_core_mul:"80":"100":"8000" + +mbedtls_mpi_core_mul #49: 0x80 * 0xfffe = 0x7fff00 +mpi_core_mul:"80":"fffe":"7fff00" + +mbedtls_mpi_core_mul #50: 0x80 * 0xffff = 0x7fff80 +mpi_core_mul:"80":"ffff":"7fff80" + +mbedtls_mpi_core_mul #51: 0x80 * 0x10000 = 0x800000 +mpi_core_mul:"80":"10000":"800000" + +mbedtls_mpi_core_mul #52: 0x80 * 0xffffffff = 0x7fffffff80 +mpi_core_mul:"80":"ffffffff":"7fffffff80" + +mbedtls_mpi_core_mul #53: 0x80 * 0x100000000 = 0x8000000000 +mpi_core_mul:"80":"100000000":"8000000000" + +mbedtls_mpi_core_mul #54: 0x80 * 0x20000000000000 = 0x1000000000000000 +mpi_core_mul:"80":"20000000000000":"1000000000000000" + +mbedtls_mpi_core_mul #55: 0x80 * 0x7f7f7f7f7f7f7f7f = 0x3fbfbfbfbfbfbfbf80 +mpi_core_mul:"80":"7f7f7f7f7f7f7f7f":"3fbfbfbfbfbfbfbf80" + +mbedtls_mpi_core_mul #56: 0x80 * 0x8000000000000000 = 0x400000000000000000 +mpi_core_mul:"80":"8000000000000000":"400000000000000000" + +mbedtls_mpi_core_mul #57: 0x80 * 0xffffffffffffffff = 0x7fffffffffffffff80 +mpi_core_mul:"80":"ffffffffffffffff":"7fffffffffffffff80" + +mbedtls_mpi_core_mul #58: 0x80 * 0x10000000000000000 = 0x800000000000000000 +mpi_core_mul:"80":"10000000000000000":"800000000000000000" + +mbedtls_mpi_core_mul #59: 0x80 * 0x10000000000000001 = 0x800000000000000080 +mpi_core_mul:"80":"10000000000000001":"800000000000000080" + +mbedtls_mpi_core_mul #60: 0x80 * 0x1234567890abcdef0 = 0x91a2b3c4855e6f7800 +mpi_core_mul:"80":"1234567890abcdef0":"91a2b3c4855e6f7800" + +mbedtls_mpi_core_mul #61: 0x80 * 0xfffffffffffffffffefefefefefefefe = 0x7fffffffffffffffff7f7f7f7f7f7f7f00 +mpi_core_mul:"80":"fffffffffffffffffefefefefefefefe":"7fffffffffffffffff7f7f7f7f7f7f7f00" + +mbedtls_mpi_core_mul #62: 0x80 * 0x100000000000000000000000000000000 = 0x8000000000000000000000000000000000 +mpi_core_mul:"80":"100000000000000000000000000000000":"8000000000000000000000000000000000" + +mbedtls_mpi_core_mul #63: 0x80 * 0x1234567890abcdef01234567890abcdef0 = 0x91a2b3c4855e6f78091a2b3c4855e6f7800 +mpi_core_mul:"80":"1234567890abcdef01234567890abcdef0":"91a2b3c4855e6f78091a2b3c4855e6f7800" + +mbedtls_mpi_core_mul #64: 0x80 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 +mpi_core_mul:"80":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80" + +mbedtls_mpi_core_mul #65: 0x80 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x91a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f7800 +mpi_core_mul:"80":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"91a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f7800" + +mbedtls_mpi_core_mul #66: 0x80 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x26fb9683da5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b589580 +mpi_core_mul:"80":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"26fb9683da5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b589580" + +mbedtls_mpi_core_mul #67: 0xff * 0xff = 0xfe01 +mpi_core_mul:"ff":"ff":"fe01" + +mbedtls_mpi_core_mul #68: 0xff * 0x100 = 0xff00 +mpi_core_mul:"ff":"100":"ff00" + +mbedtls_mpi_core_mul #69: 0xff * 0xfffe = 0xfefe02 +mpi_core_mul:"ff":"fffe":"fefe02" + +mbedtls_mpi_core_mul #70: 0xff * 0xffff = 0xfeff01 +mpi_core_mul:"ff":"ffff":"feff01" + +mbedtls_mpi_core_mul #71: 0xff * 0x10000 = 0xff0000 +mpi_core_mul:"ff":"10000":"ff0000" + +mbedtls_mpi_core_mul #72: 0xff * 0xffffffff = 0xfeffffff01 +mpi_core_mul:"ff":"ffffffff":"feffffff01" + +mbedtls_mpi_core_mul #73: 0xff * 0x100000000 = 0xff00000000 +mpi_core_mul:"ff":"100000000":"ff00000000" + +mbedtls_mpi_core_mul #74: 0xff * 0x20000000000000 = 0x1fe0000000000000 +mpi_core_mul:"ff":"20000000000000":"1fe0000000000000" + +mbedtls_mpi_core_mul #75: 0xff * 0x7f7f7f7f7f7f7f7f = 0x7effffffffffffff81 +mpi_core_mul:"ff":"7f7f7f7f7f7f7f7f":"7effffffffffffff81" + +mbedtls_mpi_core_mul #76: 0xff * 0x8000000000000000 = 0x7f8000000000000000 +mpi_core_mul:"ff":"8000000000000000":"7f8000000000000000" + +mbedtls_mpi_core_mul #77: 0xff * 0xffffffffffffffff = 0xfeffffffffffffff01 +mpi_core_mul:"ff":"ffffffffffffffff":"feffffffffffffff01" + +mbedtls_mpi_core_mul #78: 0xff * 0x10000000000000000 = 0xff0000000000000000 +mpi_core_mul:"ff":"10000000000000000":"ff0000000000000000" + +mbedtls_mpi_core_mul #79: 0xff * 0x10000000000000001 = 0xff00000000000000ff +mpi_core_mul:"ff":"10000000000000001":"ff00000000000000ff" + +mbedtls_mpi_core_mul #80: 0xff * 0x1234567890abcdef0 = 0x12222222181b2221110 +mpi_core_mul:"ff":"1234567890abcdef0":"12222222181b2221110" + +mbedtls_mpi_core_mul #81: 0xff * 0xfffffffffffffffffefefefefefefefe = 0xfefffffffffffffffeffffffffffffff02 +mpi_core_mul:"ff":"fffffffffffffffffefefefefefefefe":"fefffffffffffffffeffffffffffffff02" + +mbedtls_mpi_core_mul #82: 0xff * 0x100000000000000000000000000000000 = 0xff00000000000000000000000000000000 +mpi_core_mul:"ff":"100000000000000000000000000000000":"ff00000000000000000000000000000000" + +mbedtls_mpi_core_mul #83: 0xff * 0x1234567890abcdef01234567890abcdef0 = 0x12222222181b2221122222222181b2221110 +mpi_core_mul:"ff":"1234567890abcdef01234567890abcdef0":"12222222181b2221122222222181b2221110" + +mbedtls_mpi_core_mul #84: 0xff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01 +mpi_core_mul:"ff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01" + +mbedtls_mpi_core_mul #85: 0xff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x12222222181b2221122222222181b2221122222222181b2221122222222181b2221110 +mpi_core_mul:"ff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"12222222181b2221122222222181b2221122222222181b2221122222222181b2221110" + +mbedtls_mpi_core_mul #86: 0xff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d5 +mpi_core_mul:"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d5" + +mbedtls_mpi_core_mul #87: 0x100 * 0x100 = 0x10000 +mpi_core_mul:"100":"100":"10000" + +mbedtls_mpi_core_mul #88: 0x100 * 0xfffe = 0xfffe00 +mpi_core_mul:"100":"fffe":"fffe00" + +mbedtls_mpi_core_mul #89: 0x100 * 0xffff = 0xffff00 +mpi_core_mul:"100":"ffff":"ffff00" + +mbedtls_mpi_core_mul #90: 0x100 * 0x10000 = 0x1000000 +mpi_core_mul:"100":"10000":"1000000" + +mbedtls_mpi_core_mul #91: 0x100 * 0xffffffff = 0xffffffff00 +mpi_core_mul:"100":"ffffffff":"ffffffff00" + +mbedtls_mpi_core_mul #92: 0x100 * 0x100000000 = 0x10000000000 +mpi_core_mul:"100":"100000000":"10000000000" + +mbedtls_mpi_core_mul #93: 0x100 * 0x20000000000000 = 0x2000000000000000 +mpi_core_mul:"100":"20000000000000":"2000000000000000" + +mbedtls_mpi_core_mul #94: 0x100 * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7f7f7f7f7f00 +mpi_core_mul:"100":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f00" + +mbedtls_mpi_core_mul #95: 0x100 * 0x8000000000000000 = 0x800000000000000000 +mpi_core_mul:"100":"8000000000000000":"800000000000000000" + +mbedtls_mpi_core_mul #96: 0x100 * 0xffffffffffffffff = 0xffffffffffffffff00 +mpi_core_mul:"100":"ffffffffffffffff":"ffffffffffffffff00" + +mbedtls_mpi_core_mul #97: 0x100 * 0x10000000000000000 = 0x1000000000000000000 +mpi_core_mul:"100":"10000000000000000":"1000000000000000000" + +mbedtls_mpi_core_mul #98: 0x100 * 0x10000000000000001 = 0x1000000000000000100 +mpi_core_mul:"100":"10000000000000001":"1000000000000000100" + +mbedtls_mpi_core_mul #99: 0x100 * 0x1234567890abcdef0 = 0x1234567890abcdef000 +mpi_core_mul:"100":"1234567890abcdef0":"1234567890abcdef000" + +mbedtls_mpi_core_mul #100: 0x100 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe00 +mpi_core_mul:"100":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe00" + +mbedtls_mpi_core_mul #101: 0x100 * 0x100000000000000000000000000000000 = 0x10000000000000000000000000000000000 +mpi_core_mul:"100":"100000000000000000000000000000000":"10000000000000000000000000000000000" + +mbedtls_mpi_core_mul #102: 0x100 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef000 +mpi_core_mul:"100":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef000" + +mbedtls_mpi_core_mul #103: 0x100 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 +mpi_core_mul:"100":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + +mbedtls_mpi_core_mul #104: 0x100 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000 +mpi_core_mul:"100":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000" + +mbedtls_mpi_core_mul #105: 0x100 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00 +mpi_core_mul:"100":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00" + +mbedtls_mpi_core_mul #106: 0xfffe * 0xfffe = 0xfffc0004 +mpi_core_mul:"fffe":"fffe":"fffc0004" + +mbedtls_mpi_core_mul #107: 0xfffe * 0xffff = 0xfffd0002 +mpi_core_mul:"fffe":"ffff":"fffd0002" + +mbedtls_mpi_core_mul #108: 0xfffe * 0x10000 = 0xfffe0000 +mpi_core_mul:"fffe":"10000":"fffe0000" + +mbedtls_mpi_core_mul #109: 0xfffe * 0xffffffff = 0xfffdffff0002 +mpi_core_mul:"fffe":"ffffffff":"fffdffff0002" + +mbedtls_mpi_core_mul #110: 0xfffe * 0x100000000 = 0xfffe00000000 +mpi_core_mul:"fffe":"100000000":"fffe00000000" + +mbedtls_mpi_core_mul #111: 0xfffe * 0x20000000000000 = 0x1fffc0000000000000 +mpi_core_mul:"fffe":"20000000000000":"1fffc0000000000000" + +mbedtls_mpi_core_mul #112: 0xfffe * 0x7f7f7f7f7f7f7f7f = 0x7f7e8080808080800102 +mpi_core_mul:"fffe":"7f7f7f7f7f7f7f7f":"7f7e8080808080800102" + +mbedtls_mpi_core_mul #113: 0xfffe * 0x8000000000000000 = 0x7fff0000000000000000 +mpi_core_mul:"fffe":"8000000000000000":"7fff0000000000000000" + +mbedtls_mpi_core_mul #114: 0xfffe * 0xffffffffffffffff = 0xfffdffffffffffff0002 +mpi_core_mul:"fffe":"ffffffffffffffff":"fffdffffffffffff0002" + +mbedtls_mpi_core_mul #115: 0xfffe * 0x10000000000000000 = 0xfffe0000000000000000 +mpi_core_mul:"fffe":"10000000000000000":"fffe0000000000000000" + +mbedtls_mpi_core_mul #116: 0xfffe * 0x10000000000000001 = 0xfffe000000000000fffe +mpi_core_mul:"fffe":"10000000000000001":"fffe000000000000fffe" + +mbedtls_mpi_core_mul #117: 0xfffe * 0x1234567890abcdef0 = 0x1234320fe3baac9764220 +mpi_core_mul:"fffe":"1234567890abcdef0":"1234320fe3baac9764220" + +mbedtls_mpi_core_mul #118: 0xfffe * 0xfffffffffffffffffefefefefefefefe = 0xfffdfffffffffffffeff0101010101000204 +mpi_core_mul:"fffe":"fffffffffffffffffefefefefefefefe":"fffdfffffffffffffeff0101010101000204" + +mbedtls_mpi_core_mul #119: 0xfffe * 0x100000000000000000000000000000000 = 0xfffe00000000000000000000000000000000 +mpi_core_mul:"fffe":"100000000000000000000000000000000":"fffe00000000000000000000000000000000" + +mbedtls_mpi_core_mul #120: 0xfffe * 0x1234567890abcdef01234567890abcdef0 = 0x1234320fe3baac9765454320fe3baac9764220 +mpi_core_mul:"fffe":"1234567890abcdef01234567890abcdef0":"1234320fe3baac9765454320fe3baac9764220" + +mbedtls_mpi_core_mul #121: 0xfffe * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002 +mpi_core_mul:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002" + +mbedtls_mpi_core_mul #122: 0xfffe * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234320fe3baac9765454320fe3baac9765454320fe3baac9765454320fe3baac9764220 +mpi_core_mul:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234320fe3baac9765454320fe3baac9765454320fe3baac9765454320fe3baac9764220" + +mbedtls_mpi_core_mul #123: 0xfffe * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df691195aa7b31f739b768cf55a62e90a3b17e044a4f594de8e1aaf3cb98ef042e3e891af8b1a62060252a18aa41967c1295be53fac13956966a4501ff4699867cc923927b1c18dc203fb078eb9fdb3df0388e652fa228c2821a8cf77ee9a713b90c78667fbf2c552f68e8cd25fb777cf2a9c70611d939fe7872103d9daa +mpi_core_mul:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df691195aa7b31f739b768cf55a62e90a3b17e044a4f594de8e1aaf3cb98ef042e3e891af8b1a62060252a18aa41967c1295be53fac13956966a4501ff4699867cc923927b1c18dc203fb078eb9fdb3df0388e652fa228c2821a8cf77ee9a713b90c78667fbf2c552f68e8cd25fb777cf2a9c70611d939fe7872103d9daa" + +mbedtls_mpi_core_mul #124: 0xffff * 0xffff = 0xfffe0001 +mpi_core_mul:"ffff":"ffff":"fffe0001" + +mbedtls_mpi_core_mul #125: 0xffff * 0x10000 = 0xffff0000 +mpi_core_mul:"ffff":"10000":"ffff0000" + +mbedtls_mpi_core_mul #126: 0xffff * 0xffffffff = 0xfffeffff0001 +mpi_core_mul:"ffff":"ffffffff":"fffeffff0001" + +mbedtls_mpi_core_mul #127: 0xffff * 0x100000000 = 0xffff00000000 +mpi_core_mul:"ffff":"100000000":"ffff00000000" + +mbedtls_mpi_core_mul #128: 0xffff * 0x20000000000000 = 0x1fffe0000000000000 +mpi_core_mul:"ffff":"20000000000000":"1fffe0000000000000" + +mbedtls_mpi_core_mul #129: 0xffff * 0x7f7f7f7f7f7f7f7f = 0x7f7effffffffffff8081 +mpi_core_mul:"ffff":"7f7f7f7f7f7f7f7f":"7f7effffffffffff8081" + +mbedtls_mpi_core_mul #130: 0xffff * 0x8000000000000000 = 0x7fff8000000000000000 +mpi_core_mul:"ffff":"8000000000000000":"7fff8000000000000000" + +mbedtls_mpi_core_mul #131: 0xffff * 0xffffffffffffffff = 0xfffeffffffffffff0001 +mpi_core_mul:"ffff":"ffffffffffffffff":"fffeffffffffffff0001" + +mbedtls_mpi_core_mul #132: 0xffff * 0x10000000000000000 = 0xffff0000000000000000 +mpi_core_mul:"ffff":"10000000000000000":"ffff0000000000000000" + +mbedtls_mpi_core_mul #133: 0xffff * 0x10000000000000001 = 0xffff000000000000ffff +mpi_core_mul:"ffff":"10000000000000001":"ffff000000000000ffff" + +mbedtls_mpi_core_mul #134: 0xffff * 0x1234567890abcdef0 = 0x123444443a333d4332110 +mpi_core_mul:"ffff":"1234567890abcdef0":"123444443a333d4332110" + +mbedtls_mpi_core_mul #135: 0xffff * 0xfffffffffffffffffefefefefefefefe = 0xfffefffffffffffffefeffffffffffff0102 +mpi_core_mul:"ffff":"fffffffffffffffffefefefefefefefe":"fffefffffffffffffefeffffffffffff0102" + +mbedtls_mpi_core_mul #136: 0xffff * 0x100000000000000000000000000000000 = 0xffff00000000000000000000000000000000 +mpi_core_mul:"ffff":"100000000000000000000000000000000":"ffff00000000000000000000000000000000" + +mbedtls_mpi_core_mul #137: 0xffff * 0x1234567890abcdef01234567890abcdef0 = 0x123444443a333d433334444443a333d4332110 +mpi_core_mul:"ffff":"1234567890abcdef01234567890abcdef0":"123444443a333d433334444443a333d4332110" + +mbedtls_mpi_core_mul #138: 0xffff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001 +mpi_core_mul:"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001" + +mbedtls_mpi_core_mul #139: 0xffff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x123444443a333d433334444443a333d433334444443a333d433334444443a333d4332110 +mpi_core_mul:"ffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"123444443a333d433334444443a333d433334444443a333d433334444443a333d4332110" + +mbedtls_mpi_core_mul #140: 0xffff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed5 +mpi_core_mul:"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed5" + +mbedtls_mpi_core_mul #141: 0x10000 * 0x10000 = 0x100000000 +mpi_core_mul:"10000":"10000":"100000000" + +mbedtls_mpi_core_mul #142: 0x10000 * 0xffffffff = 0xffffffff0000 +mpi_core_mul:"10000":"ffffffff":"ffffffff0000" + +mbedtls_mpi_core_mul #143: 0x10000 * 0x100000000 = 0x1000000000000 +mpi_core_mul:"10000":"100000000":"1000000000000" + +mbedtls_mpi_core_mul #144: 0x10000 * 0x20000000000000 = 0x200000000000000000 +mpi_core_mul:"10000":"20000000000000":"200000000000000000" + +mbedtls_mpi_core_mul #145: 0x10000 * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7f7f7f7f7f0000 +mpi_core_mul:"10000":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f0000" + +mbedtls_mpi_core_mul #146: 0x10000 * 0x8000000000000000 = 0x80000000000000000000 +mpi_core_mul:"10000":"8000000000000000":"80000000000000000000" + +mbedtls_mpi_core_mul #147: 0x10000 * 0xffffffffffffffff = 0xffffffffffffffff0000 +mpi_core_mul:"10000":"ffffffffffffffff":"ffffffffffffffff0000" + +mbedtls_mpi_core_mul #148: 0x10000 * 0x10000000000000000 = 0x100000000000000000000 +mpi_core_mul:"10000":"10000000000000000":"100000000000000000000" + +mbedtls_mpi_core_mul #149: 0x10000 * 0x10000000000000001 = 0x100000000000000010000 +mpi_core_mul:"10000":"10000000000000001":"100000000000000010000" + +mbedtls_mpi_core_mul #150: 0x10000 * 0x1234567890abcdef0 = 0x1234567890abcdef00000 +mpi_core_mul:"10000":"1234567890abcdef0":"1234567890abcdef00000" + +mbedtls_mpi_core_mul #151: 0x10000 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe0000 +mpi_core_mul:"10000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe0000" + +mbedtls_mpi_core_mul #152: 0x10000 * 0x100000000000000000000000000000000 = 0x1000000000000000000000000000000000000 +mpi_core_mul:"10000":"100000000000000000000000000000000":"1000000000000000000000000000000000000" + +mbedtls_mpi_core_mul #153: 0x10000 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef00000 +mpi_core_mul:"10000":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef00000" + +mbedtls_mpi_core_mul #154: 0x10000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 +mpi_core_mul:"10000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000" + +mbedtls_mpi_core_mul #155: 0x10000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000 +mpi_core_mul:"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000" + +mbedtls_mpi_core_mul #156: 0x10000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000 +mpi_core_mul:"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000" + +mbedtls_mpi_core_mul #157: 0xffffffff * 0xffffffff = 0xfffffffe00000001 +mpi_core_mul:"ffffffff":"ffffffff":"fffffffe00000001" + +mbedtls_mpi_core_mul #158: 0xffffffff * 0x100000000 = 0xffffffff00000000 +mpi_core_mul:"ffffffff":"100000000":"ffffffff00000000" + +mbedtls_mpi_core_mul #159: 0xffffffff * 0x20000000000000 = 0x1fffffffe0000000000000 +mpi_core_mul:"ffffffff":"20000000000000":"1fffffffe0000000000000" + +mbedtls_mpi_core_mul #160: 0xffffffff * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7effffffff80808081 +mpi_core_mul:"ffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f7effffffff80808081" + +mbedtls_mpi_core_mul #161: 0xffffffff * 0x8000000000000000 = 0x7fffffff8000000000000000 +mpi_core_mul:"ffffffff":"8000000000000000":"7fffffff8000000000000000" + +mbedtls_mpi_core_mul #162: 0xffffffff * 0xffffffffffffffff = 0xfffffffeffffffff00000001 +mpi_core_mul:"ffffffff":"ffffffffffffffff":"fffffffeffffffff00000001" + +mbedtls_mpi_core_mul #163: 0xffffffff * 0x10000000000000000 = 0xffffffff0000000000000000 +mpi_core_mul:"ffffffff":"10000000000000000":"ffffffff0000000000000000" + +mbedtls_mpi_core_mul #164: 0xffffffff * 0x10000000000000001 = 0xffffffff00000000ffffffff +mpi_core_mul:"ffffffff":"10000000000000001":"ffffffff00000000ffffffff" + +mbedtls_mpi_core_mul #165: 0xffffffff * 0x1234567890abcdef0 = 0x123456787e7777766f5432110 +mpi_core_mul:"ffffffff":"1234567890abcdef0":"123456787e7777766f5432110" + +mbedtls_mpi_core_mul #166: 0xffffffff * 0xfffffffffffffffffefefefefefefefe = 0xfffffffefffffffffefefefeffffffff01010102 +mpi_core_mul:"ffffffff":"fffffffffffffffffefefefefefefefe":"fffffffefffffffffefefefeffffffff01010102" + +mbedtls_mpi_core_mul #167: 0xffffffff * 0x100000000000000000000000000000000 = 0xffffffff00000000000000000000000000000000 +mpi_core_mul:"ffffffff":"100000000000000000000000000000000":"ffffffff00000000000000000000000000000000" + +mbedtls_mpi_core_mul #168: 0xffffffff * 0x1234567890abcdef01234567890abcdef0 = 0x123456787e7777767077777887e7777766f5432110 +mpi_core_mul:"ffffffff":"1234567890abcdef01234567890abcdef0":"123456787e7777767077777887e7777766f5432110" + +mbedtls_mpi_core_mul #169: 0xffffffff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001 +mpi_core_mul:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001" + +mbedtls_mpi_core_mul #170: 0xffffffff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x123456787e7777767077777887e7777767077777887e7777767077777887e7777766f5432110 +mpi_core_mul:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"123456787e7777767077777887e7777767077777887e7777767077777887e7777766f5432110" + +mbedtls_mpi_core_mul #171: 0xffffffff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed5 +mpi_core_mul:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed5" + +mbedtls_mpi_core_mul #172: 0x100000000 * 0x100000000 = 0x10000000000000000 +mpi_core_mul:"100000000":"100000000":"10000000000000000" + +mbedtls_mpi_core_mul #173: 0x100000000 * 0x20000000000000 = 0x2000000000000000000000 +mpi_core_mul:"100000000":"20000000000000":"2000000000000000000000" + +mbedtls_mpi_core_mul #174: 0x100000000 * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7f7f7f7f7f00000000 +mpi_core_mul:"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f00000000" + +mbedtls_mpi_core_mul #175: 0x100000000 * 0x8000000000000000 = 0x800000000000000000000000 +mpi_core_mul:"100000000":"8000000000000000":"800000000000000000000000" + +mbedtls_mpi_core_mul #176: 0x100000000 * 0xffffffffffffffff = 0xffffffffffffffff00000000 +mpi_core_mul:"100000000":"ffffffffffffffff":"ffffffffffffffff00000000" + +mbedtls_mpi_core_mul #177: 0x100000000 * 0x10000000000000000 = 0x1000000000000000000000000 +mpi_core_mul:"100000000":"10000000000000000":"1000000000000000000000000" + +mbedtls_mpi_core_mul #178: 0x100000000 * 0x10000000000000001 = 0x1000000000000000100000000 +mpi_core_mul:"100000000":"10000000000000001":"1000000000000000100000000" + +mbedtls_mpi_core_mul #179: 0x100000000 * 0x1234567890abcdef0 = 0x1234567890abcdef000000000 +mpi_core_mul:"100000000":"1234567890abcdef0":"1234567890abcdef000000000" + +mbedtls_mpi_core_mul #180: 0x100000000 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe00000000 +mpi_core_mul:"100000000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe00000000" + +mbedtls_mpi_core_mul #181: 0x100000000 * 0x100000000000000000000000000000000 = 0x10000000000000000000000000000000000000000 +mpi_core_mul:"100000000":"100000000000000000000000000000000":"10000000000000000000000000000000000000000" + +mbedtls_mpi_core_mul #182: 0x100000000 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef000000000 +mpi_core_mul:"100000000":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef000000000" + +mbedtls_mpi_core_mul #183: 0x100000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 +mpi_core_mul:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000" + +mbedtls_mpi_core_mul #184: 0x100000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000 +mpi_core_mul:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000" + +mbedtls_mpi_core_mul #185: 0x100000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000 +mpi_core_mul:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000" + +mbedtls_mpi_core_mul #186: 0x20000000000000 * 0x20000000000000 = 0x400000000000000000000000000 +mpi_core_mul:"20000000000000":"20000000000000":"400000000000000000000000000" + +mbedtls_mpi_core_mul #187: 0x20000000000000 * 0x7f7f7f7f7f7f7f7f = 0xfefefefefefefefe0000000000000 +mpi_core_mul:"20000000000000":"7f7f7f7f7f7f7f7f":"fefefefefefefefe0000000000000" + +mbedtls_mpi_core_mul #188: 0x20000000000000 * 0x8000000000000000 = 0x100000000000000000000000000000 +mpi_core_mul:"20000000000000":"8000000000000000":"100000000000000000000000000000" + +mbedtls_mpi_core_mul #189: 0x20000000000000 * 0xffffffffffffffff = 0x1fffffffffffffffe0000000000000 +mpi_core_mul:"20000000000000":"ffffffffffffffff":"1fffffffffffffffe0000000000000" + +mbedtls_mpi_core_mul #190: 0x20000000000000 * 0x10000000000000000 = 0x200000000000000000000000000000 +mpi_core_mul:"20000000000000":"10000000000000000":"200000000000000000000000000000" + +mbedtls_mpi_core_mul #191: 0x20000000000000 * 0x10000000000000001 = 0x200000000000000020000000000000 +mpi_core_mul:"20000000000000":"10000000000000001":"200000000000000020000000000000" + +mbedtls_mpi_core_mul #192: 0x20000000000000 * 0x1234567890abcdef0 = 0x2468acf121579bde00000000000000 +mpi_core_mul:"20000000000000":"1234567890abcdef0":"2468acf121579bde00000000000000" + +mbedtls_mpi_core_mul #193: 0x20000000000000 * 0xfffffffffffffffffefefefefefefefe = 0x1fffffffffffffffffdfdfdfdfdfdfdfc0000000000000 +mpi_core_mul:"20000000000000":"fffffffffffffffffefefefefefefefe":"1fffffffffffffffffdfdfdfdfdfdfdfc0000000000000" + +mbedtls_mpi_core_mul #194: 0x20000000000000 * 0x100000000000000000000000000000000 = 0x2000000000000000000000000000000000000000000000 +mpi_core_mul:"20000000000000":"100000000000000000000000000000000":"2000000000000000000000000000000000000000000000" + +mbedtls_mpi_core_mul #195: 0x20000000000000 * 0x1234567890abcdef01234567890abcdef0 = 0x2468acf121579bde02468acf121579bde00000000000000 +mpi_core_mul:"20000000000000":"1234567890abcdef01234567890abcdef0":"2468acf121579bde02468acf121579bde00000000000000" + +mbedtls_mpi_core_mul #196: 0x20000000000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 +mpi_core_mul:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000" + +mbedtls_mpi_core_mul #197: 0x20000000000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x2468acf121579bde02468acf121579bde02468acf121579bde02468acf121579bde00000000000000 +mpi_core_mul:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"2468acf121579bde02468acf121579bde02468acf121579bde02468acf121579bde00000000000000" + +mbedtls_mpi_core_mul #198: 0x20000000000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x9bee5a0f696e391b596d9ff52a9f1b104a96c4ee13261175e007f56e644fe68052c876b44c7ecdc1a787f452fdee2eabdfaa771f6d970258d77ef79e2f25317b328f89916286482814581ebf5af2b14d20a1530f4c12dd3e0abf671dbe18b113d949419f53368bf7bddc98d2d6651bb9d5c8e4728b203d804a0ed62560000000000000 +mpi_core_mul:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"9bee5a0f696e391b596d9ff52a9f1b104a96c4ee13261175e007f56e644fe68052c876b44c7ecdc1a787f452fdee2eabdfaa771f6d970258d77ef79e2f25317b328f89916286482814581ebf5af2b14d20a1530f4c12dd3e0abf671dbe18b113d949419f53368bf7bddc98d2d6651bb9d5c8e4728b203d804a0ed62560000000000000" + +mbedtls_mpi_core_mul #199: 0x7f7f7f7f7f7f7f7f * 0x7f7f7f7f7f7f7f7f = 0x3f7fc0004080c100c2824201c1814101 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f":"3f7fc0004080c100c2824201c1814101" + +mbedtls_mpi_core_mul #200: 0x7f7f7f7f7f7f7f7f * 0x8000000000000000 = 0x3fbfbfbfbfbfbfbf8000000000000000 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"8000000000000000":"3fbfbfbfbfbfbfbf8000000000000000" + +mbedtls_mpi_core_mul #201: 0x7f7f7f7f7f7f7f7f * 0xffffffffffffffff = 0x7f7f7f7f7f7f7f7e8080808080808081 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"ffffffffffffffff":"7f7f7f7f7f7f7f7e8080808080808081" + +mbedtls_mpi_core_mul #202: 0x7f7f7f7f7f7f7f7f * 0x10000000000000000 = 0x7f7f7f7f7f7f7f7f0000000000000000 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"10000000000000000":"7f7f7f7f7f7f7f7f0000000000000000" + +mbedtls_mpi_core_mul #203: 0x7f7f7f7f7f7f7f7f * 0x10000000000000001 = 0x7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f +mpi_core_mul:"7f7f7f7f7f7f7f7f":"10000000000000001":"7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mul #204: 0x7f7f7f7f7f7f7f7f * 0x1234567890abcdef0 = 0x91107edbd82bde76f67708abaf5ba910 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"1234567890abcdef0":"91107edbd82bde76f67708abaf5ba910" + +mbedtls_mpi_core_mul #205: 0x7f7f7f7f7f7f7f7f * 0xfffffffffffffffffefefefefefefefe = 0x7f7f7f7f7f7f7f7eff800081018202828504840383028202 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7eff800081018202828504840383028202" + +mbedtls_mpi_core_mul #206: 0x7f7f7f7f7f7f7f7f * 0x100000000000000000000000000000000 = 0x7f7f7f7f7f7f7f7f00000000000000000000000000000000 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f00000000000000000000000000000000" + +mbedtls_mpi_core_mul #207: 0x7f7f7f7f7f7f7f7f * 0x1234567890abcdef01234567890abcdef0 = 0x91107edbd82bde76ff8810996cde66f76f67708abaf5ba910 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef0":"91107edbd82bde76ff8810996cde66f76f67708abaf5ba910" + +mbedtls_mpi_core_mul #208: 0x7f7f7f7f7f7f7f7f * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x7f7f7f7f7f7f7f7effffffffffffffffffffffffffffffffffffffffffffffff8080808080808081 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7effffffffffffffffffffffffffffffffffffffffffffffff8080808080808081" + +mbedtls_mpi_core_mul #209: 0x7f7f7f7f7f7f7f7f * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x91107edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba910 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"91107edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba910" + +mbedtls_mpi_core_mul #210: 0x7f7f7f7f7f7f7f7f * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x26d473ca9d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3955 +mpi_core_mul:"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"26d473ca9d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3955" + +mbedtls_mpi_core_mul #211: 0x8000000000000000 * 0x8000000000000000 = 0x40000000000000000000000000000000 +mpi_core_mul:"8000000000000000":"8000000000000000":"40000000000000000000000000000000" + +mbedtls_mpi_core_mul #212: 0x8000000000000000 * 0xffffffffffffffff = 0x7fffffffffffffff8000000000000000 +mpi_core_mul:"8000000000000000":"ffffffffffffffff":"7fffffffffffffff8000000000000000" + +mbedtls_mpi_core_mul #213: 0x8000000000000000 * 0x10000000000000000 = 0x80000000000000000000000000000000 +mpi_core_mul:"8000000000000000":"10000000000000000":"80000000000000000000000000000000" + +mbedtls_mpi_core_mul #214: 0x8000000000000000 * 0x10000000000000001 = 0x80000000000000008000000000000000 +mpi_core_mul:"8000000000000000":"10000000000000001":"80000000000000008000000000000000" + +mbedtls_mpi_core_mul #215: 0x8000000000000000 * 0x1234567890abcdef0 = 0x91a2b3c4855e6f780000000000000000 +mpi_core_mul:"8000000000000000":"1234567890abcdef0":"91a2b3c4855e6f780000000000000000" + +mbedtls_mpi_core_mul #216: 0x8000000000000000 * 0xfffffffffffffffffefefefefefefefe = 0x7fffffffffffffffff7f7f7f7f7f7f7f0000000000000000 +mpi_core_mul:"8000000000000000":"fffffffffffffffffefefefefefefefe":"7fffffffffffffffff7f7f7f7f7f7f7f0000000000000000" + +mbedtls_mpi_core_mul #217: 0x8000000000000000 * 0x100000000000000000000000000000000 = 0x800000000000000000000000000000000000000000000000 +mpi_core_mul:"8000000000000000":"100000000000000000000000000000000":"800000000000000000000000000000000000000000000000" + +mbedtls_mpi_core_mul #218: 0x8000000000000000 * 0x1234567890abcdef01234567890abcdef0 = 0x91a2b3c4855e6f78091a2b3c4855e6f780000000000000000 +mpi_core_mul:"8000000000000000":"1234567890abcdef01234567890abcdef0":"91a2b3c4855e6f78091a2b3c4855e6f780000000000000000" + +mbedtls_mpi_core_mul #219: 0x8000000000000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 +mpi_core_mul:"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000" + +mbedtls_mpi_core_mul #220: 0x8000000000000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x91a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000000000000 +mpi_core_mul:"8000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"91a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000000000000" + +mbedtls_mpi_core_mul #221: 0x8000000000000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x26fb9683da5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000000000000 +mpi_core_mul:"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"26fb9683da5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000000000000" + +mbedtls_mpi_core_mul #222: 0xffffffffffffffff * 0xffffffffffffffff = 0xfffffffffffffffe0000000000000001 +mpi_core_mul:"ffffffffffffffff":"ffffffffffffffff":"fffffffffffffffe0000000000000001" + +mbedtls_mpi_core_mul #223: 0xffffffffffffffff * 0x10000000000000000 = 0xffffffffffffffff0000000000000000 +mpi_core_mul:"ffffffffffffffff":"10000000000000000":"ffffffffffffffff0000000000000000" + +mbedtls_mpi_core_mul #224: 0xffffffffffffffff * 0x10000000000000001 = 0xffffffffffffffffffffffffffffffff +mpi_core_mul:"ffffffffffffffff":"10000000000000001":"ffffffffffffffffffffffffffffffff" + +mbedtls_mpi_core_mul #225: 0xffffffffffffffff * 0x1234567890abcdef0 = 0x1234567890abcdeeedcba9876f5432110 +mpi_core_mul:"ffffffffffffffff":"1234567890abcdef0":"1234567890abcdeeedcba9876f5432110" + +mbedtls_mpi_core_mul #226: 0xffffffffffffffff * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffefefefefefefefefe0101010101010102 +mpi_core_mul:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"fffffffffffffffefefefefefefefefe0101010101010102" + +mbedtls_mpi_core_mul #227: 0xffffffffffffffff * 0x100000000000000000000000000000000 = 0xffffffffffffffff00000000000000000000000000000000 +mpi_core_mul:"ffffffffffffffff":"100000000000000000000000000000000":"ffffffffffffffff00000000000000000000000000000000" + +mbedtls_mpi_core_mul #228: 0xffffffffffffffff * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdeeeeeeeeeef85eeeefeedcba9876f5432110 +mpi_core_mul:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"1234567890abcdeeeeeeeeeef85eeeefeedcba9876f5432110" + +mbedtls_mpi_core_mul #229: 0xffffffffffffffff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffff0000000000000001 +mpi_core_mul:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffff0000000000000001" + +mbedtls_mpi_core_mul #230: 0xffffffffffffffff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdeeeeeeeeeef85eeeefeeeeeeeeef85eeeefeeeeeeeeef85eeeefeedcba9876f5432110 +mpi_core_mul:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdeeeeeeeeeef85eeeefeeeeeeeeef85eeeefeeeeeeeeef85eeeefeedcba9876f5432110" + +mbedtls_mpi_core_mul #231: 0xffffffffffffffff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8d5ebfa2f2e09870fa7894927c74437b32cab898402894ea85396040a2f41773a0aa5fbecf58b7b0751c11416637d469d67bea403f60c717912d8848f999b08b5670e44a96fc36349286249a27f89015f8750f0a073902e9eae744ed40ca8eed71f249ab99c19747e10bf625cfda5d90e33a22f8d96a6fe13fdaf894ed5 +mpi_core_mul:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8d5ebfa2f2e09870fa7894927c74437b32cab898402894ea85396040a2f41773a0aa5fbecf58b7b0751c11416637d469d67bea403f60c717912d8848f999b08b5670e44a96fc36349286249a27f89015f8750f0a073902e9eae744ed40ca8eed71f249ab99c19747e10bf625cfda5d90e33a22f8d96a6fe13fdaf894ed5" + +mbedtls_mpi_core_mul #232: 0x10000000000000000 * 0x10000000000000000 = 0x100000000000000000000000000000000 +mpi_core_mul:"10000000000000000":"10000000000000000":"100000000000000000000000000000000" + +mbedtls_mpi_core_mul #233: 0x10000000000000000 * 0x10000000000000001 = 0x100000000000000010000000000000000 +mpi_core_mul:"10000000000000000":"10000000000000001":"100000000000000010000000000000000" + +mbedtls_mpi_core_mul #234: 0x10000000000000000 * 0x1234567890abcdef0 = 0x1234567890abcdef00000000000000000 +mpi_core_mul:"10000000000000000":"1234567890abcdef0":"1234567890abcdef00000000000000000" + +mbedtls_mpi_core_mul #235: 0x10000000000000000 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe0000000000000000 +mpi_core_mul:"10000000000000000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe0000000000000000" + +mbedtls_mpi_core_mul #236: 0x10000000000000000 * 0x100000000000000000000000000000000 = 0x1000000000000000000000000000000000000000000000000 +mpi_core_mul:"10000000000000000":"100000000000000000000000000000000":"1000000000000000000000000000000000000000000000000" + +mbedtls_mpi_core_mul #237: 0x10000000000000000 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef00000000000000000 +mpi_core_mul:"10000000000000000":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef00000000000000000" + +mbedtls_mpi_core_mul #238: 0x10000000000000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 +mpi_core_mul:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000" + +mbedtls_mpi_core_mul #239: 0x10000000000000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000000000000000 +mpi_core_mul:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000000000000000" + +mbedtls_mpi_core_mul #240: 0x10000000000000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000000000000000 +mpi_core_mul:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000000000000000" + +mbedtls_mpi_core_mul #241: 0x10000000000000001 * 0x10000000000000001 = 0x100000000000000020000000000000001 +mpi_core_mul:"10000000000000001":"10000000000000001":"100000000000000020000000000000001" + +mbedtls_mpi_core_mul #242: 0x10000000000000001 * 0x1234567890abcdef0 = 0x1234567890abcdef1234567890abcdef0 +mpi_core_mul:"10000000000000001":"1234567890abcdef0":"1234567890abcdef1234567890abcdef0" + +mbedtls_mpi_core_mul #243: 0x10000000000000001 * 0xfffffffffffffffffefefefefefefefe = 0x10000000000000000fefefefefefefefdfefefefefefefefe +mpi_core_mul:"10000000000000001":"fffffffffffffffffefefefefefefefe":"10000000000000000fefefefefefefefdfefefefefefefefe" + +mbedtls_mpi_core_mul #244: 0x10000000000000001 * 0x100000000000000000000000000000000 = 0x1000000000000000100000000000000000000000000000000 +mpi_core_mul:"10000000000000001":"100000000000000000000000000000000":"1000000000000000100000000000000000000000000000000" + +mbedtls_mpi_core_mul #245: 0x10000000000000001 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef13579be019b68acdf1234567890abcdef0 +mpi_core_mul:"10000000000000001":"1234567890abcdef01234567890abcdef0":"1234567890abcdef13579be019b68acdf1234567890abcdef0" + +mbedtls_mpi_core_mul #246: 0x10000000000000001 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x10000000000000000fffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffff +mpi_core_mul:"10000000000000001":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000fffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffff" + +mbedtls_mpi_core_mul #247: 0x10000000000000001 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef13579be019b68acdf13579be019b68acdf13579be019b68acdf1234567890abcdef0 +mpi_core_mul:"10000000000000001":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef13579be019b68acdf13579be019b68acdf13579be019b68acdf1234567890abcdef0" + +mbedtls_mpi_core_mul #248: 0x10000000000000001 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dfaadfd024a06aa15d20232719ee29643154f5d2e3bbafbfb1968361158675a20fd283583a5367e36c39935b935c298825b94b75ece5e19ea05074097c8d5bcd1a373d4285ebc7cba9a7cb8e75382c74595b05d168515c728f204545e88a79e85cb92ed3914cdd3d8c9d2bea2b0c2ac9d0febdd4bf5901ec025076b12b +mpi_core_mul:"10000000000000001":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dfaadfd024a06aa15d20232719ee29643154f5d2e3bbafbfb1968361158675a20fd283583a5367e36c39935b935c298825b94b75ece5e19ea05074097c8d5bcd1a373d4285ebc7cba9a7cb8e75382c74595b05d168515c728f204545e88a79e85cb92ed3914cdd3d8c9d2bea2b0c2ac9d0febdd4bf5901ec025076b12b" + +mbedtls_mpi_core_mul #249: 0x1234567890abcdef0 * 0x1234567890abcdef0 = 0x14b66dc328828bca6475f09a2f2a52100 +mpi_core_mul:"1234567890abcdef0":"1234567890abcdef0":"14b66dc328828bca6475f09a2f2a52100" + +mbedtls_mpi_core_mul #250: 0x1234567890abcdef0 * 0xfffffffffffffffffefefefefefefefe = 0x1234567890abcdeeffedb962ea59addfdecee11575eb75220 +mpi_core_mul:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"1234567890abcdeeffedb962ea59addfdecee11575eb75220" + +mbedtls_mpi_core_mul #251: 0x1234567890abcdef0 * 0x100000000000000000000000000000000 = 0x1234567890abcdef000000000000000000000000000000000 +mpi_core_mul:"1234567890abcdef0":"100000000000000000000000000000000":"1234567890abcdef000000000000000000000000000000000" + +mbedtls_mpi_core_mul #252: 0x1234567890abcdef0 * 0x1234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca65c1577661b27acca6475f09a2f2a52100 +mpi_core_mul:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"14b66dc328828bca65c1577661b27acca6475f09a2f2a52100" + +mbedtls_mpi_core_mul #253: 0x1234567890abcdef0 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x1234567890abcdeeffffffffffffffffffffffffffffffffffffffffffffffffedcba9876f5432110 +mpi_core_mul:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdeeffffffffffffffffffffffffffffffffffffffffffffffffedcba9876f5432110" + +mbedtls_mpi_core_mul #254: 0x1234567890abcdef0 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca65c1577661b27acca65c1577661b27acca65c1577661b27acca6475f09a2f2a52100 +mpi_core_mul:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"14b66dc328828bca65c1577661b27acca65c1577661b27acca65c1577661b27acca6475f09a2f2a52100" + +mbedtls_mpi_core_mul #255: 0x1234567890abcdef0 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x58b51b57152a3ad1ef7d678598fe6678cb344d765cae634b6d4469e50f77859a273c638dc26d69a31ac5bef7f212408626817f095af6269b1f915c36ec88ccfc5d219d61e04922e4aba684c0c216cf0aa939905c0b4575d8454348917846053573774f157f74a7793b7838197f78b7ddf1f48b9aa78cbd785a60a47e2f7b31b0b267d6250 +mpi_core_mul:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"58b51b57152a3ad1ef7d678598fe6678cb344d765cae634b6d4469e50f77859a273c638dc26d69a31ac5bef7f212408626817f095af6269b1f915c36ec88ccfc5d219d61e04922e4aba684c0c216cf0aa939905c0b4575d8454348917846053573774f157f74a7793b7838197f78b7ddf1f48b9aa78cbd785a60a47e2f7b31b0b267d6250" + +mbedtls_mpi_core_mul #256: 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffdfdfdfdfdfdfdfc00010203040506070a09080706050404 +mpi_core_mul:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffdfdfdfdfdfdfdfc00010203040506070a09080706050404" + +mbedtls_mpi_core_mul #257: 0xfffffffffffffffffefefefefefefefe * 0x100000000000000000000000000000000 = 0xfffffffffffffffffefefefefefefefe00000000000000000000000000000000 +mpi_core_mul:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe00000000000000000000000000000000" + +mbedtls_mpi_core_mul #258: 0xfffffffffffffffffefefefefefefefe * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef0110feca73646abececdbcaba4910ffffdecee11575eb75220 +mpi_core_mul:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"1234567890abcdef0110feca73646abececdbcaba4910ffffdecee11575eb75220" + +mbedtls_mpi_core_mul #259: 0xfffffffffffffffffefefefefefefefe * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffffffffffffffffefefefefefefefdffffffffffffffffffffffffffffffff00000000000000000101010101010102 +mpi_core_mul:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefdffffffffffffffffffffffffffffffff00000000000000000101010101010102" + +mbedtls_mpi_core_mul #260: 0xfffffffffffffffffefefefefefefefe * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef0110feca73646abecedff1021d21bbcdecedff1021d21bbcdececdbcaba4910ffffdecee11575eb75220 +mpi_core_mul:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0110feca73646abecedff1021d21bbcdecedff1021d21bbcdececdbcaba4910ffffdecee11575eb75220" + +mbedtls_mpi_core_mul #261: 0xfffffffffffffffffefefefefefefefe * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dac688a881b20a7854765871e10b72eff1aabf4f4581f694059a3ab1d167d9a77b05332649c2a67e5f5f6259c27caa121f940b59824f0017de93662d25470d50227c8671b26de06a45bfcf48422f846522fe22e1ef9623f0c8d0fa3ea9ef436d26431f74bbc8c0c3c75c50cf992297619ba8190f5c16fb6d6e5b201415ba6a82580c3672aa +mpi_core_mul:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dac688a881b20a7854765871e10b72eff1aabf4f4581f694059a3ab1d167d9a77b05332649c2a67e5f5f6259c27caa121f940b59824f0017de93662d25470d50227c8671b26de06a45bfcf48422f846522fe22e1ef9623f0c8d0fa3ea9ef436d26431f74bbc8c0c3c75c50cf992297619ba8190f5c16fb6d6e5b201415ba6a82580c3672aa" + +mbedtls_mpi_core_mul #262: 0x100000000000000000000000000000000 * 0x100000000000000000000000000000000 = 0x10000000000000000000000000000000000000000000000000000000000000000 +mpi_core_mul:"100000000000000000000000000000000":"100000000000000000000000000000000":"10000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_core_mul #263: 0x100000000000000000000000000000000 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef000000000000000000000000000000000 +mpi_core_mul:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef000000000000000000000000000000000" + +mbedtls_mpi_core_mul #264: 0x100000000000000000000000000000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000 +mpi_core_mul:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000" + +mbedtls_mpi_core_mul #265: 0x100000000000000000000000000000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000000000000000000000000000 +mpi_core_mul:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000000000000000000000000000" + +mbedtls_mpi_core_mul #266: 0x100000000000000000000000000000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000000000000000000000000000 +mpi_core_mul:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000000000000000000000000000" + +mbedtls_mpi_core_mul #267: 0x1234567890abcdef01234567890abcdef0 * 0x1234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca670cbe52943aa3894ca37481090dcccdca6475f09a2f2a52100 +mpi_core_mul:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"14b66dc328828bca670cbe52943aa3894ca37481090dcccdca6475f09a2f2a52100" + +mbedtls_mpi_core_mul #268: 0x1234567890abcdef01234567890abcdef0 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x1234567890abcdef01234567890abcdeefffffffffffffffffffffffffffffffedcba9876f543210fedcba9876f5432110 +mpi_core_mul:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdeefffffffffffffffffffffffffffffffedcba9876f543210fedcba9876f5432110" + +mbedtls_mpi_core_mul #269: 0x1234567890abcdef01234567890abcdef0 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca670cbe52943aa3894cb82aeecc364f5994cb82aeecc364f5994ca37481090dcccdca6475f09a2f2a52100 +mpi_core_mul:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"14b66dc328828bca670cbe52943aa3894cb82aeecc364f5994cb82aeecc364f5994ca37481090dcccdca6475f09a2f2a52100" + +mbedtls_mpi_core_mul #270: 0x1234567890abcdef01234567890abcdef0 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x58b51b57152a3ad1f508b93b0a510a25ea2c23eeb63e49b2f9f7aebc75426bcede10aa2c1364e1fcbd398530ce391720582ddaf8da174aa381f9742782382f660f1ab3254f11afb471789e96e01b6138f3f3f8a81766e2c8efd6e19738fa5c92f7cb839e96f907cc92afad0ad770025585ac0f1c3f8448f6397fed37d9f3fd88380de06ce2f7b31b0b267d6250 +mpi_core_mul:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"58b51b57152a3ad1f508b93b0a510a25ea2c23eeb63e49b2f9f7aebc75426bcede10aa2c1364e1fcbd398530ce391720582ddaf8da174aa381f9742782382f660f1ab3254f11afb471789e96e01b6138f3f3f8a81766e2c8efd6e19738fa5c92f7cb839e96f907cc92afad0ad770025585ac0f1c3f8448f6397fed37d9f3fd88380de06ce2f7b31b0b267d6250" + +mbedtls_mpi_core_mul #271: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001 +mpi_core_mul:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_core_mul #272: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcccbba9876f543210fedcba9876f543210fedcba9876f543210fedcba9876f5432110 +mpi_core_mul:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcccbba9876f543210fedcba9876f543210fedcba9876f543210fedcba9876f5432110" + +mbedtls_mpi_core_mul #273: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f33fdb6d0e5271884a53270d2a2ee9a789cdca89d918ad3878717bbb8117e56aa57d6fe3896e8b03bd33366815362e824150a07b6df7ef3ded7299a037bfc779bfcc535cdc06f85821e7d4c23d09bdb935365a93c8b19f86b0211fa7b783d0f3a776135b5f305664ba042111b39694cd7223151b8dc6ba6fe13fdaf894ed5 +mpi_core_mul:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f33fdb6d0e5271884a53270d2a2ee9a789cdca89d918ad3878717bbb8117e56aa57d6fe3896e8b03bd33366815362e824150a07b6df7ef3ded7299a037bfc779bfcc535cdc06f85821e7d4c23d09bdb935365a93c8b19f86b0211fa7b783d0f3a776135b5f305664ba042111b39694cd7223151b8dc6ba6fe13fdaf894ed5" + +mbedtls_mpi_core_mul #274: 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca670cbe52943aa3894ccce15c8f5ed1e55f328f6d3f579f9922995b9f6fd5441c275f2ff89f86f28f47a94ca37481090dcccdca6475f09a2f2a52100 +mpi_core_mul:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"14b66dc328828bca670cbe52943aa3894ccce15c8f5ed1e55f328f6d3f579f9922995b9f6fd5441c275f2ff89f86f28f47a94ca37481090dcccdca6475f09a2f2a52100" + +mbedtls_mpi_core_mul #275: 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x58b51b57152a3ad1f508b93b0a510a25ea84d90a0d5373edcbecb775b04cbcd903fad650021b204670337cdf8aae598c270beba3062aaf857eb6adacb306687d2f72e10047ebc6ff14fa980b079d99685a03135b3cb5f478a4485a35cfda77f430bf77973f106eaf5b9f83ec6ea8fcb218a3da9fde1b41fe06129ce4e4cb6d8a8d938c7bff373764015ffd4f87d9f3fd88380de06ce2f7b31b0b267d6250 +mpi_core_mul:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"58b51b57152a3ad1f508b93b0a510a25ea84d90a0d5373edcbecb775b04cbcd903fad650021b204670337cdf8aae598c270beba3062aaf857eb6adacb306687d2f72e10047ebc6ff14fa980b079d99685a03135b3cb5f478a4485a35cfda77f430bf77973f106eaf5b9f83ec6ea8fcb218a3da9fde1b41fe06129ce4e4cb6d8a8d938c7bff373764015ffd4f87d9f3fd88380de06ce2f7b31b0b267d6250" + +mbedtls_mpi_core_mul #276: 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x17be9fbe8f80964a14e8a37adb18c0de92e256bcefc993460f7f560274fc392a3a4fd78e8293605ef9b4e20e398dd6e5481d16c7e86fa6d27cea58ebc0c86ab0610f83e5f5ae966a5b0cfc9e60736c807ce4f92cb15e2034c9422122371ffcfc2a586dcf07ad7bf500af10f16fd8d8dd0d49a2c426755bf04f1730ef2c68459ffeb353e46446bb4ac8f212b2f761b59818a5539fb0de652b0731829d63b935ab849ce67d17b9908799e663dc9258eba123149cb9129feb1669cc58800b55f65afc3069eeca6166ee53d3f1926be52d8c785a5edabe7b3480a3622a00a2a75b0555c1ac5cb765caf8158ab734ab851408357a22726eae407d39 +mpi_core_mul:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"17be9fbe8f80964a14e8a37adb18c0de92e256bcefc993460f7f560274fc392a3a4fd78e8293605ef9b4e20e398dd6e5481d16c7e86fa6d27cea58ebc0c86ab0610f83e5f5ae966a5b0cfc9e60736c807ce4f92cb15e2034c9422122371ffcfc2a586dcf07ad7bf500af10f16fd8d8dd0d49a2c426755bf04f1730ef2c68459ffeb353e46446bb4ac8f212b2f761b59818a5539fb0de652b0731829d63b935ab849ce67d17b9908799e663dc9258eba123149cb9129feb1669cc58800b55f65afc3069eeca6166ee53d3f1926be52d8c785a5edabe7b3480a3622a00a2a75b0555c1ac5cb765caf8158ab734ab851408357a22726eae407d39" + # BEGIN MERGE SLOT 1 # END MERGE SLOT 1 From 5ded38e0e10c6846cb2443b8de21db5ec979b314 Mon Sep 17 00:00:00 2001 From: Gabor Mezei Date: Fri, 31 Mar 2023 16:03:14 +0200 Subject: [PATCH 4/9] Fix 0 limb size for value 0 Signed-off-by: Gabor Mezei --- scripts/mbedtls_dev/bignum_common.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/mbedtls_dev/bignum_common.py b/scripts/mbedtls_dev/bignum_common.py index 5319ec68b2..aa2cd25886 100644 --- a/scripts/mbedtls_dev/bignum_common.py +++ b/scripts/mbedtls_dev/bignum_common.py @@ -68,7 +68,8 @@ def bound_mpi_limbs(limbs: int, bits_in_limb: int) -> int: def limbs_mpi(val: int, bits_in_limb: int) -> int: """Return the number of limbs required to store value.""" - return (val.bit_length() + bits_in_limb - 1) // bits_in_limb + bit_length = max(val.bit_length(), 1) + return (bit_length + bits_in_limb - 1) // bits_in_limb def combination_pairs(values: List[T]) -> List[Tuple[T, T]]: """Return all pair combinations from input values.""" From 87223ab1cebe99b5a07e2d3dc1ff74ce0ceb8c5b Mon Sep 17 00:00:00 2001 From: Gabor Mezei Date: Fri, 31 Mar 2023 16:04:42 +0200 Subject: [PATCH 5/9] Add generated test for core_mul Signed-off-by: Gabor Mezei --- scripts/mbedtls_dev/bignum_core.py | 24 + tests/suites/test_suite_bignum_core.function | 110 ++- tests/suites/test_suite_bignum_core.misc.data | 828 ------------------ 3 files changed, 75 insertions(+), 887 deletions(-) diff --git a/scripts/mbedtls_dev/bignum_core.py b/scripts/mbedtls_dev/bignum_core.py index 24d37cbc72..f7b175f089 100644 --- a/scripts/mbedtls_dev/bignum_core.py +++ b/scripts/mbedtls_dev/bignum_core.py @@ -230,6 +230,30 @@ class BignumCoreMLA(BignumCoreTarget, bignum_common.OperationCommon): yield cur_op.create_test_case() +class BignumCoreMul(BignumCoreTarget, bignum_common.OperationCommon): + """Test cases for bignum core multiplication.""" + count = 0 + input_style = "arch_split" + symbol = "*" + test_function = "mpi_core_mul" + test_name = "mbedtls_mpi_core_mul" + arity = 2 + + def format_arg(self, val: str) -> str: + return val + + def format_result(self, res: int) -> str: + res_str = '{:x}'.format(res) + a_limbs = bignum_common.limbs_mpi(self.int_a, self.bits_in_limb) + b_limbs = bignum_common.limbs_mpi(self.int_b, self.bits_in_limb) + hex_digits = bignum_common.hex_digits_for_limb(a_limbs + b_limbs, self.bits_in_limb) + return bignum_common.quote_str(self.format_arg(res_str).zfill(hex_digits)) + + def result(self) -> List[str]: + result = self.int_a * self.int_b + return [self.format_result(result)] + + class BignumCoreMontmul(BignumCoreTarget, test_data_generation.BaseTest): """Test cases for Montgomery multiplication.""" count = 0 diff --git a/tests/suites/test_suite_bignum_core.function b/tests/suites/test_suite_bignum_core.function index e727ce35d4..a2dd5fdb01 100644 --- a/tests/suites/test_suite_bignum_core.function +++ b/tests/suites/test_suite_bignum_core.function @@ -1058,77 +1058,69 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mpi_core_mul(char *input_A_hex, char *input_B_hex, - char *expected_hex) +void mpi_core_mul(char *input_A, + char *input_B, + char *result) { - mbedtls_mpi A, B, Expected; - mbedtls_mpi_uint *a = NULL; - mbedtls_mpi_uint *b = NULL; - mbedtls_mpi_uint *expected = NULL; - mbedtls_mpi_uint *r = NULL; + mbedtls_mpi_uint *A = NULL; + mbedtls_mpi_uint *A_orig = NULL; + mbedtls_mpi_uint *B = NULL; + mbedtls_mpi_uint *B_orig = NULL; + mbedtls_mpi_uint *R = NULL; + mbedtls_mpi_uint *X = NULL; + size_t A_limbs, B_limbs, R_limbs; - mbedtls_mpi_init(&A); - mbedtls_mpi_init(&B); - mbedtls_mpi_init(&Expected); + TEST_EQUAL(mbedtls_test_read_mpi_core(&A, &A_limbs, input_A), 0); + TEST_EQUAL(mbedtls_test_read_mpi_core(&B, &B_limbs, input_B), 0); + TEST_EQUAL(mbedtls_test_read_mpi_core(&R, &R_limbs, result ), 0); - TEST_EQUAL(mbedtls_test_read_mpi(&A, input_A_hex), 0); - TEST_EQUAL(mbedtls_test_read_mpi(&B, input_B_hex), 0); - TEST_EQUAL(mbedtls_test_read_mpi(&Expected, expected_hex), 0); + TEST_EQUAL(R_limbs, A_limbs + B_limbs); - /* All of the inputs are +ve (or zero) */ - TEST_EQUAL(A.s, 1); - TEST_EQUAL(B.s, 1); - TEST_EQUAL(Expected.s, 1); + const size_t X_limbs = A_limbs + B_limbs; + const size_t X_bytes = X_limbs * sizeof(mbedtls_mpi_uint); + ASSERT_ALLOC(X, X_limbs); - /* Test cases are such that A <= B, so #limbs should be <= */ - TEST_ASSERT(A.n <= B.n); - TEST_ASSERT(A.n + B.n >= Expected.n); + const size_t A_bytes = A_limbs * sizeof(mbedtls_mpi_uint); + ASSERT_ALLOC(A_orig, A_limbs); + memcpy(A_orig, A, A_bytes); - size_t output_limbs = A.n + B.n; - TEST_EQUAL(mbedtls_mpi_grow(&Expected, output_limbs), 0); - TEST_EQUAL(Expected.n, output_limbs); - - /* Now let's get arrays of mbedtls_mpi_uints, rather than MPI structures */ - a = mbedtls_calloc(A.n, sizeof(mbedtls_mpi_uint)); - b = mbedtls_calloc(B.n, sizeof(mbedtls_mpi_uint)); - expected = mbedtls_calloc(Expected.n, sizeof(mbedtls_mpi_uint)); - r = mbedtls_calloc(output_limbs, sizeof(mbedtls_mpi_uint)); - - TEST_ASSERT(a != NULL); - TEST_ASSERT(b != NULL); - TEST_ASSERT(expected != NULL); - TEST_ASSERT(r != NULL); - - /* Populate the arrays */ - memcpy(a, A.p, A.n * sizeof(mbedtls_mpi_uint)); - memcpy(b, B.p, B.n * sizeof(mbedtls_mpi_uint)); - memcpy(expected, Expected.p, Expected.n * sizeof(mbedtls_mpi_uint)); + const size_t B_bytes = B_limbs * sizeof(mbedtls_mpi_uint); + ASSERT_ALLOC(B_orig, B_limbs); + memcpy(B_orig, B, B_bytes); /* Set result to something that is unlikely to be correct */ - memset(r, '!', output_limbs * sizeof(mbedtls_mpi_uint)); + memset(X, '!', X_bytes); - /* 1. r = a * b - result should be correct, a and b unchanged */ - mbedtls_mpi_core_mul(r, A.p, A.n, B.p, B.n); - TEST_EQUAL(memcmp(r, expected, output_limbs * sizeof(mbedtls_mpi_uint)), 0); - TEST_EQUAL(memcmp(a, A.p, A.n * sizeof(mbedtls_mpi_uint)), 0); - TEST_EQUAL(memcmp(b, B.p, B.n * sizeof(mbedtls_mpi_uint)), 0); + /* 1. X = A * B - result should be correct, A and B unchanged */ + mbedtls_mpi_core_mul(X, A, A_limbs, B, B_limbs); + ASSERT_COMPARE(X, X_bytes, R, X_bytes); + ASSERT_COMPARE(A, A_bytes, A_orig, A_bytes); + ASSERT_COMPARE(B, B_bytes, B_orig, B_bytes); - /* 2. r = b * a - result should be correct, a and b unchanged */ - memset(r, '!', output_limbs * sizeof(mbedtls_mpi_uint)); - mbedtls_mpi_core_mul(r, B.p, B.n, A.p, A.n); - TEST_EQUAL(memcmp(r, expected, output_limbs * sizeof(mbedtls_mpi_uint)), 0); - TEST_EQUAL(memcmp(a, A.p, A.n * sizeof(mbedtls_mpi_uint)), 0); - TEST_EQUAL(memcmp(b, B.p, B.n * sizeof(mbedtls_mpi_uint)), 0); + /* 2. A == B: alias A and B - result should be correct, A and B unchanged */ + if (A_bytes == B_bytes && memcmp(A, B, A_bytes) == 0) { + memset(X, '!', X_bytes); + mbedtls_mpi_core_mul(X, A, A_limbs, A, A_limbs); + ASSERT_COMPARE(X, X_bytes, R, X_bytes); + ASSERT_COMPARE(A, A_bytes, A_orig, A_bytes); + } + + /* 3. X = B * A - result should be correct, A and B unchanged */ + else { + memset(X, '!', X_bytes); + mbedtls_mpi_core_mul(X, B, B_limbs, A, A_limbs); + ASSERT_COMPARE(X, X_bytes, R, X_bytes); + ASSERT_COMPARE(A, A_bytes, A_orig, A_bytes); + ASSERT_COMPARE(B, B_bytes, B_orig, B_bytes); + } exit: - mbedtls_free(a); - mbedtls_free(b); - mbedtls_free(expected); - mbedtls_free(r); - - mbedtls_mpi_free(&A); - mbedtls_mpi_free(&B); - mbedtls_mpi_free(&Expected); + mbedtls_free(A); + mbedtls_free(A_orig); + mbedtls_free(B); + mbedtls_free(B_orig); + mbedtls_free(R); + mbedtls_free(X); } /* END_CASE */ diff --git a/tests/suites/test_suite_bignum_core.misc.data b/tests/suites/test_suite_bignum_core.misc.data index ca67d8b063..81a767a0c4 100644 --- a/tests/suites/test_suite_bignum_core.misc.data +++ b/tests/suites/test_suite_bignum_core.misc.data @@ -491,834 +491,6 @@ mpi_core_fill_random:42:0:-1:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA Fill random core: 42 bytes, 5 missing limbs mpi_core_fill_random:42:0:-5:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA -mbedtls_mpi_core_mul #1: 0x0 * 0x0 = 0x0 -mpi_core_mul:"0":"0":"0" - -mbedtls_mpi_core_mul #2: 0x0 * 0x1 = 0x0 -mpi_core_mul:"0":"1":"0" - -mbedtls_mpi_core_mul #3: 0x0 * 0x80 = 0x0 -mpi_core_mul:"0":"80":"0" - -mbedtls_mpi_core_mul #4: 0x0 * 0xff = 0x0 -mpi_core_mul:"0":"ff":"0" - -mbedtls_mpi_core_mul #5: 0x0 * 0x100 = 0x0 -mpi_core_mul:"0":"100":"0" - -mbedtls_mpi_core_mul #6: 0x0 * 0xfffe = 0x0 -mpi_core_mul:"0":"fffe":"0" - -mbedtls_mpi_core_mul #7: 0x0 * 0xffff = 0x0 -mpi_core_mul:"0":"ffff":"0" - -mbedtls_mpi_core_mul #8: 0x0 * 0x10000 = 0x0 -mpi_core_mul:"0":"10000":"0" - -mbedtls_mpi_core_mul #9: 0x0 * 0xffffffff = 0x0 -mpi_core_mul:"0":"ffffffff":"0" - -mbedtls_mpi_core_mul #10: 0x0 * 0x100000000 = 0x0 -mpi_core_mul:"0":"100000000":"0" - -mbedtls_mpi_core_mul #11: 0x0 * 0x20000000000000 = 0x0 -mpi_core_mul:"0":"20000000000000":"0" - -mbedtls_mpi_core_mul #12: 0x0 * 0x7f7f7f7f7f7f7f7f = 0x0 -mpi_core_mul:"0":"7f7f7f7f7f7f7f7f":"0" - -mbedtls_mpi_core_mul #13: 0x0 * 0x8000000000000000 = 0x0 -mpi_core_mul:"0":"8000000000000000":"0" - -mbedtls_mpi_core_mul #14: 0x0 * 0xffffffffffffffff = 0x0 -mpi_core_mul:"0":"ffffffffffffffff":"0" - -mbedtls_mpi_core_mul #15: 0x0 * 0x10000000000000000 = 0x0 -mpi_core_mul:"0":"10000000000000000":"0" - -mbedtls_mpi_core_mul #16: 0x0 * 0x10000000000000001 = 0x0 -mpi_core_mul:"0":"10000000000000001":"0" - -mbedtls_mpi_core_mul #17: 0x0 * 0x1234567890abcdef0 = 0x0 -mpi_core_mul:"0":"1234567890abcdef0":"0" - -mbedtls_mpi_core_mul #18: 0x0 * 0xfffffffffffffffffefefefefefefefe = 0x0 -mpi_core_mul:"0":"fffffffffffffffffefefefefefefefe":"0" - -mbedtls_mpi_core_mul #19: 0x0 * 0x100000000000000000000000000000000 = 0x0 -mpi_core_mul:"0":"100000000000000000000000000000000":"0" - -mbedtls_mpi_core_mul #20: 0x0 * 0x1234567890abcdef01234567890abcdef0 = 0x0 -mpi_core_mul:"0":"1234567890abcdef01234567890abcdef0":"0" - -mbedtls_mpi_core_mul #21: 0x0 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x0 -mpi_core_mul:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" - -mbedtls_mpi_core_mul #22: 0x0 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x0 -mpi_core_mul:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" - -mbedtls_mpi_core_mul #23: 0x0 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x0 -mpi_core_mul:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" - -mbedtls_mpi_core_mul #24: 0x1 * 0x1 = 0x1 -mpi_core_mul:"1":"1":"1" - -mbedtls_mpi_core_mul #25: 0x1 * 0x80 = 0x80 -mpi_core_mul:"1":"80":"80" - -mbedtls_mpi_core_mul #26: 0x1 * 0xff = 0xff -mpi_core_mul:"1":"ff":"ff" - -mbedtls_mpi_core_mul #27: 0x1 * 0x100 = 0x100 -mpi_core_mul:"1":"100":"100" - -mbedtls_mpi_core_mul #28: 0x1 * 0xfffe = 0xfffe -mpi_core_mul:"1":"fffe":"fffe" - -mbedtls_mpi_core_mul #29: 0x1 * 0xffff = 0xffff -mpi_core_mul:"1":"ffff":"ffff" - -mbedtls_mpi_core_mul #30: 0x1 * 0x10000 = 0x10000 -mpi_core_mul:"1":"10000":"10000" - -mbedtls_mpi_core_mul #31: 0x1 * 0xffffffff = 0xffffffff -mpi_core_mul:"1":"ffffffff":"ffffffff" - -mbedtls_mpi_core_mul #32: 0x1 * 0x100000000 = 0x100000000 -mpi_core_mul:"1":"100000000":"100000000" - -mbedtls_mpi_core_mul #33: 0x1 * 0x20000000000000 = 0x20000000000000 -mpi_core_mul:"1":"20000000000000":"20000000000000" - -mbedtls_mpi_core_mul #34: 0x1 * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7f7f7f7f7f -mpi_core_mul:"1":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f" - -mbedtls_mpi_core_mul #35: 0x1 * 0x8000000000000000 = 0x8000000000000000 -mpi_core_mul:"1":"8000000000000000":"8000000000000000" - -mbedtls_mpi_core_mul #36: 0x1 * 0xffffffffffffffff = 0xffffffffffffffff -mpi_core_mul:"1":"ffffffffffffffff":"ffffffffffffffff" - -mbedtls_mpi_core_mul #37: 0x1 * 0x10000000000000000 = 0x10000000000000000 -mpi_core_mul:"1":"10000000000000000":"10000000000000000" - -mbedtls_mpi_core_mul #38: 0x1 * 0x10000000000000001 = 0x10000000000000001 -mpi_core_mul:"1":"10000000000000001":"10000000000000001" - -mbedtls_mpi_core_mul #39: 0x1 * 0x1234567890abcdef0 = 0x1234567890abcdef0 -mpi_core_mul:"1":"1234567890abcdef0":"1234567890abcdef0" - -mbedtls_mpi_core_mul #40: 0x1 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe -mpi_core_mul:"1":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe" - -mbedtls_mpi_core_mul #41: 0x1 * 0x100000000000000000000000000000000 = 0x100000000000000000000000000000000 -mpi_core_mul:"1":"100000000000000000000000000000000":"100000000000000000000000000000000" - -mbedtls_mpi_core_mul #42: 0x1 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef0 -mpi_core_mul:"1":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0" - -mbedtls_mpi_core_mul #43: 0x1 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -mpi_core_mul:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - -mbedtls_mpi_core_mul #44: 0x1 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 -mpi_core_mul:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0" - -mbedtls_mpi_core_mul #45: 0x1 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b -mpi_core_mul:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b" - -mbedtls_mpi_core_mul #46: 0x80 * 0x80 = 0x4000 -mpi_core_mul:"80":"80":"4000" - -mbedtls_mpi_core_mul #47: 0x80 * 0xff = 0x7f80 -mpi_core_mul:"80":"ff":"7f80" - -mbedtls_mpi_core_mul #48: 0x80 * 0x100 = 0x8000 -mpi_core_mul:"80":"100":"8000" - -mbedtls_mpi_core_mul #49: 0x80 * 0xfffe = 0x7fff00 -mpi_core_mul:"80":"fffe":"7fff00" - -mbedtls_mpi_core_mul #50: 0x80 * 0xffff = 0x7fff80 -mpi_core_mul:"80":"ffff":"7fff80" - -mbedtls_mpi_core_mul #51: 0x80 * 0x10000 = 0x800000 -mpi_core_mul:"80":"10000":"800000" - -mbedtls_mpi_core_mul #52: 0x80 * 0xffffffff = 0x7fffffff80 -mpi_core_mul:"80":"ffffffff":"7fffffff80" - -mbedtls_mpi_core_mul #53: 0x80 * 0x100000000 = 0x8000000000 -mpi_core_mul:"80":"100000000":"8000000000" - -mbedtls_mpi_core_mul #54: 0x80 * 0x20000000000000 = 0x1000000000000000 -mpi_core_mul:"80":"20000000000000":"1000000000000000" - -mbedtls_mpi_core_mul #55: 0x80 * 0x7f7f7f7f7f7f7f7f = 0x3fbfbfbfbfbfbfbf80 -mpi_core_mul:"80":"7f7f7f7f7f7f7f7f":"3fbfbfbfbfbfbfbf80" - -mbedtls_mpi_core_mul #56: 0x80 * 0x8000000000000000 = 0x400000000000000000 -mpi_core_mul:"80":"8000000000000000":"400000000000000000" - -mbedtls_mpi_core_mul #57: 0x80 * 0xffffffffffffffff = 0x7fffffffffffffff80 -mpi_core_mul:"80":"ffffffffffffffff":"7fffffffffffffff80" - -mbedtls_mpi_core_mul #58: 0x80 * 0x10000000000000000 = 0x800000000000000000 -mpi_core_mul:"80":"10000000000000000":"800000000000000000" - -mbedtls_mpi_core_mul #59: 0x80 * 0x10000000000000001 = 0x800000000000000080 -mpi_core_mul:"80":"10000000000000001":"800000000000000080" - -mbedtls_mpi_core_mul #60: 0x80 * 0x1234567890abcdef0 = 0x91a2b3c4855e6f7800 -mpi_core_mul:"80":"1234567890abcdef0":"91a2b3c4855e6f7800" - -mbedtls_mpi_core_mul #61: 0x80 * 0xfffffffffffffffffefefefefefefefe = 0x7fffffffffffffffff7f7f7f7f7f7f7f00 -mpi_core_mul:"80":"fffffffffffffffffefefefefefefefe":"7fffffffffffffffff7f7f7f7f7f7f7f00" - -mbedtls_mpi_core_mul #62: 0x80 * 0x100000000000000000000000000000000 = 0x8000000000000000000000000000000000 -mpi_core_mul:"80":"100000000000000000000000000000000":"8000000000000000000000000000000000" - -mbedtls_mpi_core_mul #63: 0x80 * 0x1234567890abcdef01234567890abcdef0 = 0x91a2b3c4855e6f78091a2b3c4855e6f7800 -mpi_core_mul:"80":"1234567890abcdef01234567890abcdef0":"91a2b3c4855e6f78091a2b3c4855e6f7800" - -mbedtls_mpi_core_mul #64: 0x80 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 -mpi_core_mul:"80":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80" - -mbedtls_mpi_core_mul #65: 0x80 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x91a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f7800 -mpi_core_mul:"80":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"91a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f7800" - -mbedtls_mpi_core_mul #66: 0x80 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x26fb9683da5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b589580 -mpi_core_mul:"80":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"26fb9683da5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b589580" - -mbedtls_mpi_core_mul #67: 0xff * 0xff = 0xfe01 -mpi_core_mul:"ff":"ff":"fe01" - -mbedtls_mpi_core_mul #68: 0xff * 0x100 = 0xff00 -mpi_core_mul:"ff":"100":"ff00" - -mbedtls_mpi_core_mul #69: 0xff * 0xfffe = 0xfefe02 -mpi_core_mul:"ff":"fffe":"fefe02" - -mbedtls_mpi_core_mul #70: 0xff * 0xffff = 0xfeff01 -mpi_core_mul:"ff":"ffff":"feff01" - -mbedtls_mpi_core_mul #71: 0xff * 0x10000 = 0xff0000 -mpi_core_mul:"ff":"10000":"ff0000" - -mbedtls_mpi_core_mul #72: 0xff * 0xffffffff = 0xfeffffff01 -mpi_core_mul:"ff":"ffffffff":"feffffff01" - -mbedtls_mpi_core_mul #73: 0xff * 0x100000000 = 0xff00000000 -mpi_core_mul:"ff":"100000000":"ff00000000" - -mbedtls_mpi_core_mul #74: 0xff * 0x20000000000000 = 0x1fe0000000000000 -mpi_core_mul:"ff":"20000000000000":"1fe0000000000000" - -mbedtls_mpi_core_mul #75: 0xff * 0x7f7f7f7f7f7f7f7f = 0x7effffffffffffff81 -mpi_core_mul:"ff":"7f7f7f7f7f7f7f7f":"7effffffffffffff81" - -mbedtls_mpi_core_mul #76: 0xff * 0x8000000000000000 = 0x7f8000000000000000 -mpi_core_mul:"ff":"8000000000000000":"7f8000000000000000" - -mbedtls_mpi_core_mul #77: 0xff * 0xffffffffffffffff = 0xfeffffffffffffff01 -mpi_core_mul:"ff":"ffffffffffffffff":"feffffffffffffff01" - -mbedtls_mpi_core_mul #78: 0xff * 0x10000000000000000 = 0xff0000000000000000 -mpi_core_mul:"ff":"10000000000000000":"ff0000000000000000" - -mbedtls_mpi_core_mul #79: 0xff * 0x10000000000000001 = 0xff00000000000000ff -mpi_core_mul:"ff":"10000000000000001":"ff00000000000000ff" - -mbedtls_mpi_core_mul #80: 0xff * 0x1234567890abcdef0 = 0x12222222181b2221110 -mpi_core_mul:"ff":"1234567890abcdef0":"12222222181b2221110" - -mbedtls_mpi_core_mul #81: 0xff * 0xfffffffffffffffffefefefefefefefe = 0xfefffffffffffffffeffffffffffffff02 -mpi_core_mul:"ff":"fffffffffffffffffefefefefefefefe":"fefffffffffffffffeffffffffffffff02" - -mbedtls_mpi_core_mul #82: 0xff * 0x100000000000000000000000000000000 = 0xff00000000000000000000000000000000 -mpi_core_mul:"ff":"100000000000000000000000000000000":"ff00000000000000000000000000000000" - -mbedtls_mpi_core_mul #83: 0xff * 0x1234567890abcdef01234567890abcdef0 = 0x12222222181b2221122222222181b2221110 -mpi_core_mul:"ff":"1234567890abcdef01234567890abcdef0":"12222222181b2221122222222181b2221110" - -mbedtls_mpi_core_mul #84: 0xff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01 -mpi_core_mul:"ff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01" - -mbedtls_mpi_core_mul #85: 0xff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x12222222181b2221122222222181b2221122222222181b2221122222222181b2221110 -mpi_core_mul:"ff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"12222222181b2221122222222181b2221122222222181b2221122222222181b2221110" - -mbedtls_mpi_core_mul #86: 0xff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d5 -mpi_core_mul:"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d5" - -mbedtls_mpi_core_mul #87: 0x100 * 0x100 = 0x10000 -mpi_core_mul:"100":"100":"10000" - -mbedtls_mpi_core_mul #88: 0x100 * 0xfffe = 0xfffe00 -mpi_core_mul:"100":"fffe":"fffe00" - -mbedtls_mpi_core_mul #89: 0x100 * 0xffff = 0xffff00 -mpi_core_mul:"100":"ffff":"ffff00" - -mbedtls_mpi_core_mul #90: 0x100 * 0x10000 = 0x1000000 -mpi_core_mul:"100":"10000":"1000000" - -mbedtls_mpi_core_mul #91: 0x100 * 0xffffffff = 0xffffffff00 -mpi_core_mul:"100":"ffffffff":"ffffffff00" - -mbedtls_mpi_core_mul #92: 0x100 * 0x100000000 = 0x10000000000 -mpi_core_mul:"100":"100000000":"10000000000" - -mbedtls_mpi_core_mul #93: 0x100 * 0x20000000000000 = 0x2000000000000000 -mpi_core_mul:"100":"20000000000000":"2000000000000000" - -mbedtls_mpi_core_mul #94: 0x100 * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7f7f7f7f7f00 -mpi_core_mul:"100":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f00" - -mbedtls_mpi_core_mul #95: 0x100 * 0x8000000000000000 = 0x800000000000000000 -mpi_core_mul:"100":"8000000000000000":"800000000000000000" - -mbedtls_mpi_core_mul #96: 0x100 * 0xffffffffffffffff = 0xffffffffffffffff00 -mpi_core_mul:"100":"ffffffffffffffff":"ffffffffffffffff00" - -mbedtls_mpi_core_mul #97: 0x100 * 0x10000000000000000 = 0x1000000000000000000 -mpi_core_mul:"100":"10000000000000000":"1000000000000000000" - -mbedtls_mpi_core_mul #98: 0x100 * 0x10000000000000001 = 0x1000000000000000100 -mpi_core_mul:"100":"10000000000000001":"1000000000000000100" - -mbedtls_mpi_core_mul #99: 0x100 * 0x1234567890abcdef0 = 0x1234567890abcdef000 -mpi_core_mul:"100":"1234567890abcdef0":"1234567890abcdef000" - -mbedtls_mpi_core_mul #100: 0x100 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe00 -mpi_core_mul:"100":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe00" - -mbedtls_mpi_core_mul #101: 0x100 * 0x100000000000000000000000000000000 = 0x10000000000000000000000000000000000 -mpi_core_mul:"100":"100000000000000000000000000000000":"10000000000000000000000000000000000" - -mbedtls_mpi_core_mul #102: 0x100 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef000 -mpi_core_mul:"100":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef000" - -mbedtls_mpi_core_mul #103: 0x100 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 -mpi_core_mul:"100":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" - -mbedtls_mpi_core_mul #104: 0x100 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000 -mpi_core_mul:"100":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000" - -mbedtls_mpi_core_mul #105: 0x100 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00 -mpi_core_mul:"100":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00" - -mbedtls_mpi_core_mul #106: 0xfffe * 0xfffe = 0xfffc0004 -mpi_core_mul:"fffe":"fffe":"fffc0004" - -mbedtls_mpi_core_mul #107: 0xfffe * 0xffff = 0xfffd0002 -mpi_core_mul:"fffe":"ffff":"fffd0002" - -mbedtls_mpi_core_mul #108: 0xfffe * 0x10000 = 0xfffe0000 -mpi_core_mul:"fffe":"10000":"fffe0000" - -mbedtls_mpi_core_mul #109: 0xfffe * 0xffffffff = 0xfffdffff0002 -mpi_core_mul:"fffe":"ffffffff":"fffdffff0002" - -mbedtls_mpi_core_mul #110: 0xfffe * 0x100000000 = 0xfffe00000000 -mpi_core_mul:"fffe":"100000000":"fffe00000000" - -mbedtls_mpi_core_mul #111: 0xfffe * 0x20000000000000 = 0x1fffc0000000000000 -mpi_core_mul:"fffe":"20000000000000":"1fffc0000000000000" - -mbedtls_mpi_core_mul #112: 0xfffe * 0x7f7f7f7f7f7f7f7f = 0x7f7e8080808080800102 -mpi_core_mul:"fffe":"7f7f7f7f7f7f7f7f":"7f7e8080808080800102" - -mbedtls_mpi_core_mul #113: 0xfffe * 0x8000000000000000 = 0x7fff0000000000000000 -mpi_core_mul:"fffe":"8000000000000000":"7fff0000000000000000" - -mbedtls_mpi_core_mul #114: 0xfffe * 0xffffffffffffffff = 0xfffdffffffffffff0002 -mpi_core_mul:"fffe":"ffffffffffffffff":"fffdffffffffffff0002" - -mbedtls_mpi_core_mul #115: 0xfffe * 0x10000000000000000 = 0xfffe0000000000000000 -mpi_core_mul:"fffe":"10000000000000000":"fffe0000000000000000" - -mbedtls_mpi_core_mul #116: 0xfffe * 0x10000000000000001 = 0xfffe000000000000fffe -mpi_core_mul:"fffe":"10000000000000001":"fffe000000000000fffe" - -mbedtls_mpi_core_mul #117: 0xfffe * 0x1234567890abcdef0 = 0x1234320fe3baac9764220 -mpi_core_mul:"fffe":"1234567890abcdef0":"1234320fe3baac9764220" - -mbedtls_mpi_core_mul #118: 0xfffe * 0xfffffffffffffffffefefefefefefefe = 0xfffdfffffffffffffeff0101010101000204 -mpi_core_mul:"fffe":"fffffffffffffffffefefefefefefefe":"fffdfffffffffffffeff0101010101000204" - -mbedtls_mpi_core_mul #119: 0xfffe * 0x100000000000000000000000000000000 = 0xfffe00000000000000000000000000000000 -mpi_core_mul:"fffe":"100000000000000000000000000000000":"fffe00000000000000000000000000000000" - -mbedtls_mpi_core_mul #120: 0xfffe * 0x1234567890abcdef01234567890abcdef0 = 0x1234320fe3baac9765454320fe3baac9764220 -mpi_core_mul:"fffe":"1234567890abcdef01234567890abcdef0":"1234320fe3baac9765454320fe3baac9764220" - -mbedtls_mpi_core_mul #121: 0xfffe * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002 -mpi_core_mul:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002" - -mbedtls_mpi_core_mul #122: 0xfffe * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234320fe3baac9765454320fe3baac9765454320fe3baac9765454320fe3baac9764220 -mpi_core_mul:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234320fe3baac9765454320fe3baac9765454320fe3baac9765454320fe3baac9764220" - -mbedtls_mpi_core_mul #123: 0xfffe * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df691195aa7b31f739b768cf55a62e90a3b17e044a4f594de8e1aaf3cb98ef042e3e891af8b1a62060252a18aa41967c1295be53fac13956966a4501ff4699867cc923927b1c18dc203fb078eb9fdb3df0388e652fa228c2821a8cf77ee9a713b90c78667fbf2c552f68e8cd25fb777cf2a9c70611d939fe7872103d9daa -mpi_core_mul:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df691195aa7b31f739b768cf55a62e90a3b17e044a4f594de8e1aaf3cb98ef042e3e891af8b1a62060252a18aa41967c1295be53fac13956966a4501ff4699867cc923927b1c18dc203fb078eb9fdb3df0388e652fa228c2821a8cf77ee9a713b90c78667fbf2c552f68e8cd25fb777cf2a9c70611d939fe7872103d9daa" - -mbedtls_mpi_core_mul #124: 0xffff * 0xffff = 0xfffe0001 -mpi_core_mul:"ffff":"ffff":"fffe0001" - -mbedtls_mpi_core_mul #125: 0xffff * 0x10000 = 0xffff0000 -mpi_core_mul:"ffff":"10000":"ffff0000" - -mbedtls_mpi_core_mul #126: 0xffff * 0xffffffff = 0xfffeffff0001 -mpi_core_mul:"ffff":"ffffffff":"fffeffff0001" - -mbedtls_mpi_core_mul #127: 0xffff * 0x100000000 = 0xffff00000000 -mpi_core_mul:"ffff":"100000000":"ffff00000000" - -mbedtls_mpi_core_mul #128: 0xffff * 0x20000000000000 = 0x1fffe0000000000000 -mpi_core_mul:"ffff":"20000000000000":"1fffe0000000000000" - -mbedtls_mpi_core_mul #129: 0xffff * 0x7f7f7f7f7f7f7f7f = 0x7f7effffffffffff8081 -mpi_core_mul:"ffff":"7f7f7f7f7f7f7f7f":"7f7effffffffffff8081" - -mbedtls_mpi_core_mul #130: 0xffff * 0x8000000000000000 = 0x7fff8000000000000000 -mpi_core_mul:"ffff":"8000000000000000":"7fff8000000000000000" - -mbedtls_mpi_core_mul #131: 0xffff * 0xffffffffffffffff = 0xfffeffffffffffff0001 -mpi_core_mul:"ffff":"ffffffffffffffff":"fffeffffffffffff0001" - -mbedtls_mpi_core_mul #132: 0xffff * 0x10000000000000000 = 0xffff0000000000000000 -mpi_core_mul:"ffff":"10000000000000000":"ffff0000000000000000" - -mbedtls_mpi_core_mul #133: 0xffff * 0x10000000000000001 = 0xffff000000000000ffff -mpi_core_mul:"ffff":"10000000000000001":"ffff000000000000ffff" - -mbedtls_mpi_core_mul #134: 0xffff * 0x1234567890abcdef0 = 0x123444443a333d4332110 -mpi_core_mul:"ffff":"1234567890abcdef0":"123444443a333d4332110" - -mbedtls_mpi_core_mul #135: 0xffff * 0xfffffffffffffffffefefefefefefefe = 0xfffefffffffffffffefeffffffffffff0102 -mpi_core_mul:"ffff":"fffffffffffffffffefefefefefefefe":"fffefffffffffffffefeffffffffffff0102" - -mbedtls_mpi_core_mul #136: 0xffff * 0x100000000000000000000000000000000 = 0xffff00000000000000000000000000000000 -mpi_core_mul:"ffff":"100000000000000000000000000000000":"ffff00000000000000000000000000000000" - -mbedtls_mpi_core_mul #137: 0xffff * 0x1234567890abcdef01234567890abcdef0 = 0x123444443a333d433334444443a333d4332110 -mpi_core_mul:"ffff":"1234567890abcdef01234567890abcdef0":"123444443a333d433334444443a333d4332110" - -mbedtls_mpi_core_mul #138: 0xffff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001 -mpi_core_mul:"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001" - -mbedtls_mpi_core_mul #139: 0xffff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x123444443a333d433334444443a333d433334444443a333d433334444443a333d4332110 -mpi_core_mul:"ffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"123444443a333d433334444443a333d433334444443a333d433334444443a333d4332110" - -mbedtls_mpi_core_mul #140: 0xffff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed5 -mpi_core_mul:"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed5" - -mbedtls_mpi_core_mul #141: 0x10000 * 0x10000 = 0x100000000 -mpi_core_mul:"10000":"10000":"100000000" - -mbedtls_mpi_core_mul #142: 0x10000 * 0xffffffff = 0xffffffff0000 -mpi_core_mul:"10000":"ffffffff":"ffffffff0000" - -mbedtls_mpi_core_mul #143: 0x10000 * 0x100000000 = 0x1000000000000 -mpi_core_mul:"10000":"100000000":"1000000000000" - -mbedtls_mpi_core_mul #144: 0x10000 * 0x20000000000000 = 0x200000000000000000 -mpi_core_mul:"10000":"20000000000000":"200000000000000000" - -mbedtls_mpi_core_mul #145: 0x10000 * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7f7f7f7f7f0000 -mpi_core_mul:"10000":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f0000" - -mbedtls_mpi_core_mul #146: 0x10000 * 0x8000000000000000 = 0x80000000000000000000 -mpi_core_mul:"10000":"8000000000000000":"80000000000000000000" - -mbedtls_mpi_core_mul #147: 0x10000 * 0xffffffffffffffff = 0xffffffffffffffff0000 -mpi_core_mul:"10000":"ffffffffffffffff":"ffffffffffffffff0000" - -mbedtls_mpi_core_mul #148: 0x10000 * 0x10000000000000000 = 0x100000000000000000000 -mpi_core_mul:"10000":"10000000000000000":"100000000000000000000" - -mbedtls_mpi_core_mul #149: 0x10000 * 0x10000000000000001 = 0x100000000000000010000 -mpi_core_mul:"10000":"10000000000000001":"100000000000000010000" - -mbedtls_mpi_core_mul #150: 0x10000 * 0x1234567890abcdef0 = 0x1234567890abcdef00000 -mpi_core_mul:"10000":"1234567890abcdef0":"1234567890abcdef00000" - -mbedtls_mpi_core_mul #151: 0x10000 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe0000 -mpi_core_mul:"10000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe0000" - -mbedtls_mpi_core_mul #152: 0x10000 * 0x100000000000000000000000000000000 = 0x1000000000000000000000000000000000000 -mpi_core_mul:"10000":"100000000000000000000000000000000":"1000000000000000000000000000000000000" - -mbedtls_mpi_core_mul #153: 0x10000 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef00000 -mpi_core_mul:"10000":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef00000" - -mbedtls_mpi_core_mul #154: 0x10000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 -mpi_core_mul:"10000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000" - -mbedtls_mpi_core_mul #155: 0x10000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000 -mpi_core_mul:"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000" - -mbedtls_mpi_core_mul #156: 0x10000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000 -mpi_core_mul:"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000" - -mbedtls_mpi_core_mul #157: 0xffffffff * 0xffffffff = 0xfffffffe00000001 -mpi_core_mul:"ffffffff":"ffffffff":"fffffffe00000001" - -mbedtls_mpi_core_mul #158: 0xffffffff * 0x100000000 = 0xffffffff00000000 -mpi_core_mul:"ffffffff":"100000000":"ffffffff00000000" - -mbedtls_mpi_core_mul #159: 0xffffffff * 0x20000000000000 = 0x1fffffffe0000000000000 -mpi_core_mul:"ffffffff":"20000000000000":"1fffffffe0000000000000" - -mbedtls_mpi_core_mul #160: 0xffffffff * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7effffffff80808081 -mpi_core_mul:"ffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f7effffffff80808081" - -mbedtls_mpi_core_mul #161: 0xffffffff * 0x8000000000000000 = 0x7fffffff8000000000000000 -mpi_core_mul:"ffffffff":"8000000000000000":"7fffffff8000000000000000" - -mbedtls_mpi_core_mul #162: 0xffffffff * 0xffffffffffffffff = 0xfffffffeffffffff00000001 -mpi_core_mul:"ffffffff":"ffffffffffffffff":"fffffffeffffffff00000001" - -mbedtls_mpi_core_mul #163: 0xffffffff * 0x10000000000000000 = 0xffffffff0000000000000000 -mpi_core_mul:"ffffffff":"10000000000000000":"ffffffff0000000000000000" - -mbedtls_mpi_core_mul #164: 0xffffffff * 0x10000000000000001 = 0xffffffff00000000ffffffff -mpi_core_mul:"ffffffff":"10000000000000001":"ffffffff00000000ffffffff" - -mbedtls_mpi_core_mul #165: 0xffffffff * 0x1234567890abcdef0 = 0x123456787e7777766f5432110 -mpi_core_mul:"ffffffff":"1234567890abcdef0":"123456787e7777766f5432110" - -mbedtls_mpi_core_mul #166: 0xffffffff * 0xfffffffffffffffffefefefefefefefe = 0xfffffffefffffffffefefefeffffffff01010102 -mpi_core_mul:"ffffffff":"fffffffffffffffffefefefefefefefe":"fffffffefffffffffefefefeffffffff01010102" - -mbedtls_mpi_core_mul #167: 0xffffffff * 0x100000000000000000000000000000000 = 0xffffffff00000000000000000000000000000000 -mpi_core_mul:"ffffffff":"100000000000000000000000000000000":"ffffffff00000000000000000000000000000000" - -mbedtls_mpi_core_mul #168: 0xffffffff * 0x1234567890abcdef01234567890abcdef0 = 0x123456787e7777767077777887e7777766f5432110 -mpi_core_mul:"ffffffff":"1234567890abcdef01234567890abcdef0":"123456787e7777767077777887e7777766f5432110" - -mbedtls_mpi_core_mul #169: 0xffffffff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001 -mpi_core_mul:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001" - -mbedtls_mpi_core_mul #170: 0xffffffff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x123456787e7777767077777887e7777767077777887e7777767077777887e7777766f5432110 -mpi_core_mul:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"123456787e7777767077777887e7777767077777887e7777767077777887e7777766f5432110" - -mbedtls_mpi_core_mul #171: 0xffffffff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed5 -mpi_core_mul:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed5" - -mbedtls_mpi_core_mul #172: 0x100000000 * 0x100000000 = 0x10000000000000000 -mpi_core_mul:"100000000":"100000000":"10000000000000000" - -mbedtls_mpi_core_mul #173: 0x100000000 * 0x20000000000000 = 0x2000000000000000000000 -mpi_core_mul:"100000000":"20000000000000":"2000000000000000000000" - -mbedtls_mpi_core_mul #174: 0x100000000 * 0x7f7f7f7f7f7f7f7f = 0x7f7f7f7f7f7f7f7f00000000 -mpi_core_mul:"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f00000000" - -mbedtls_mpi_core_mul #175: 0x100000000 * 0x8000000000000000 = 0x800000000000000000000000 -mpi_core_mul:"100000000":"8000000000000000":"800000000000000000000000" - -mbedtls_mpi_core_mul #176: 0x100000000 * 0xffffffffffffffff = 0xffffffffffffffff00000000 -mpi_core_mul:"100000000":"ffffffffffffffff":"ffffffffffffffff00000000" - -mbedtls_mpi_core_mul #177: 0x100000000 * 0x10000000000000000 = 0x1000000000000000000000000 -mpi_core_mul:"100000000":"10000000000000000":"1000000000000000000000000" - -mbedtls_mpi_core_mul #178: 0x100000000 * 0x10000000000000001 = 0x1000000000000000100000000 -mpi_core_mul:"100000000":"10000000000000001":"1000000000000000100000000" - -mbedtls_mpi_core_mul #179: 0x100000000 * 0x1234567890abcdef0 = 0x1234567890abcdef000000000 -mpi_core_mul:"100000000":"1234567890abcdef0":"1234567890abcdef000000000" - -mbedtls_mpi_core_mul #180: 0x100000000 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe00000000 -mpi_core_mul:"100000000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe00000000" - -mbedtls_mpi_core_mul #181: 0x100000000 * 0x100000000000000000000000000000000 = 0x10000000000000000000000000000000000000000 -mpi_core_mul:"100000000":"100000000000000000000000000000000":"10000000000000000000000000000000000000000" - -mbedtls_mpi_core_mul #182: 0x100000000 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef000000000 -mpi_core_mul:"100000000":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef000000000" - -mbedtls_mpi_core_mul #183: 0x100000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 -mpi_core_mul:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000" - -mbedtls_mpi_core_mul #184: 0x100000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000 -mpi_core_mul:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000" - -mbedtls_mpi_core_mul #185: 0x100000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000 -mpi_core_mul:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000" - -mbedtls_mpi_core_mul #186: 0x20000000000000 * 0x20000000000000 = 0x400000000000000000000000000 -mpi_core_mul:"20000000000000":"20000000000000":"400000000000000000000000000" - -mbedtls_mpi_core_mul #187: 0x20000000000000 * 0x7f7f7f7f7f7f7f7f = 0xfefefefefefefefe0000000000000 -mpi_core_mul:"20000000000000":"7f7f7f7f7f7f7f7f":"fefefefefefefefe0000000000000" - -mbedtls_mpi_core_mul #188: 0x20000000000000 * 0x8000000000000000 = 0x100000000000000000000000000000 -mpi_core_mul:"20000000000000":"8000000000000000":"100000000000000000000000000000" - -mbedtls_mpi_core_mul #189: 0x20000000000000 * 0xffffffffffffffff = 0x1fffffffffffffffe0000000000000 -mpi_core_mul:"20000000000000":"ffffffffffffffff":"1fffffffffffffffe0000000000000" - -mbedtls_mpi_core_mul #190: 0x20000000000000 * 0x10000000000000000 = 0x200000000000000000000000000000 -mpi_core_mul:"20000000000000":"10000000000000000":"200000000000000000000000000000" - -mbedtls_mpi_core_mul #191: 0x20000000000000 * 0x10000000000000001 = 0x200000000000000020000000000000 -mpi_core_mul:"20000000000000":"10000000000000001":"200000000000000020000000000000" - -mbedtls_mpi_core_mul #192: 0x20000000000000 * 0x1234567890abcdef0 = 0x2468acf121579bde00000000000000 -mpi_core_mul:"20000000000000":"1234567890abcdef0":"2468acf121579bde00000000000000" - -mbedtls_mpi_core_mul #193: 0x20000000000000 * 0xfffffffffffffffffefefefefefefefe = 0x1fffffffffffffffffdfdfdfdfdfdfdfc0000000000000 -mpi_core_mul:"20000000000000":"fffffffffffffffffefefefefefefefe":"1fffffffffffffffffdfdfdfdfdfdfdfc0000000000000" - -mbedtls_mpi_core_mul #194: 0x20000000000000 * 0x100000000000000000000000000000000 = 0x2000000000000000000000000000000000000000000000 -mpi_core_mul:"20000000000000":"100000000000000000000000000000000":"2000000000000000000000000000000000000000000000" - -mbedtls_mpi_core_mul #195: 0x20000000000000 * 0x1234567890abcdef01234567890abcdef0 = 0x2468acf121579bde02468acf121579bde00000000000000 -mpi_core_mul:"20000000000000":"1234567890abcdef01234567890abcdef0":"2468acf121579bde02468acf121579bde00000000000000" - -mbedtls_mpi_core_mul #196: 0x20000000000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000 -mpi_core_mul:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000" - -mbedtls_mpi_core_mul #197: 0x20000000000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x2468acf121579bde02468acf121579bde02468acf121579bde02468acf121579bde00000000000000 -mpi_core_mul:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"2468acf121579bde02468acf121579bde02468acf121579bde02468acf121579bde00000000000000" - -mbedtls_mpi_core_mul #198: 0x20000000000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x9bee5a0f696e391b596d9ff52a9f1b104a96c4ee13261175e007f56e644fe68052c876b44c7ecdc1a787f452fdee2eabdfaa771f6d970258d77ef79e2f25317b328f89916286482814581ebf5af2b14d20a1530f4c12dd3e0abf671dbe18b113d949419f53368bf7bddc98d2d6651bb9d5c8e4728b203d804a0ed62560000000000000 -mpi_core_mul:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"9bee5a0f696e391b596d9ff52a9f1b104a96c4ee13261175e007f56e644fe68052c876b44c7ecdc1a787f452fdee2eabdfaa771f6d970258d77ef79e2f25317b328f89916286482814581ebf5af2b14d20a1530f4c12dd3e0abf671dbe18b113d949419f53368bf7bddc98d2d6651bb9d5c8e4728b203d804a0ed62560000000000000" - -mbedtls_mpi_core_mul #199: 0x7f7f7f7f7f7f7f7f * 0x7f7f7f7f7f7f7f7f = 0x3f7fc0004080c100c2824201c1814101 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f":"3f7fc0004080c100c2824201c1814101" - -mbedtls_mpi_core_mul #200: 0x7f7f7f7f7f7f7f7f * 0x8000000000000000 = 0x3fbfbfbfbfbfbfbf8000000000000000 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"8000000000000000":"3fbfbfbfbfbfbfbf8000000000000000" - -mbedtls_mpi_core_mul #201: 0x7f7f7f7f7f7f7f7f * 0xffffffffffffffff = 0x7f7f7f7f7f7f7f7e8080808080808081 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"ffffffffffffffff":"7f7f7f7f7f7f7f7e8080808080808081" - -mbedtls_mpi_core_mul #202: 0x7f7f7f7f7f7f7f7f * 0x10000000000000000 = 0x7f7f7f7f7f7f7f7f0000000000000000 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"10000000000000000":"7f7f7f7f7f7f7f7f0000000000000000" - -mbedtls_mpi_core_mul #203: 0x7f7f7f7f7f7f7f7f * 0x10000000000000001 = 0x7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -mpi_core_mul:"7f7f7f7f7f7f7f7f":"10000000000000001":"7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f" - -mbedtls_mpi_core_mul #204: 0x7f7f7f7f7f7f7f7f * 0x1234567890abcdef0 = 0x91107edbd82bde76f67708abaf5ba910 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"1234567890abcdef0":"91107edbd82bde76f67708abaf5ba910" - -mbedtls_mpi_core_mul #205: 0x7f7f7f7f7f7f7f7f * 0xfffffffffffffffffefefefefefefefe = 0x7f7f7f7f7f7f7f7eff800081018202828504840383028202 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7eff800081018202828504840383028202" - -mbedtls_mpi_core_mul #206: 0x7f7f7f7f7f7f7f7f * 0x100000000000000000000000000000000 = 0x7f7f7f7f7f7f7f7f00000000000000000000000000000000 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f00000000000000000000000000000000" - -mbedtls_mpi_core_mul #207: 0x7f7f7f7f7f7f7f7f * 0x1234567890abcdef01234567890abcdef0 = 0x91107edbd82bde76ff8810996cde66f76f67708abaf5ba910 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef0":"91107edbd82bde76ff8810996cde66f76f67708abaf5ba910" - -mbedtls_mpi_core_mul #208: 0x7f7f7f7f7f7f7f7f * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x7f7f7f7f7f7f7f7effffffffffffffffffffffffffffffffffffffffffffffff8080808080808081 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7effffffffffffffffffffffffffffffffffffffffffffffff8080808080808081" - -mbedtls_mpi_core_mul #209: 0x7f7f7f7f7f7f7f7f * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x91107edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba910 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"91107edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba910" - -mbedtls_mpi_core_mul #210: 0x7f7f7f7f7f7f7f7f * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x26d473ca9d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3955 -mpi_core_mul:"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"26d473ca9d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3955" - -mbedtls_mpi_core_mul #211: 0x8000000000000000 * 0x8000000000000000 = 0x40000000000000000000000000000000 -mpi_core_mul:"8000000000000000":"8000000000000000":"40000000000000000000000000000000" - -mbedtls_mpi_core_mul #212: 0x8000000000000000 * 0xffffffffffffffff = 0x7fffffffffffffff8000000000000000 -mpi_core_mul:"8000000000000000":"ffffffffffffffff":"7fffffffffffffff8000000000000000" - -mbedtls_mpi_core_mul #213: 0x8000000000000000 * 0x10000000000000000 = 0x80000000000000000000000000000000 -mpi_core_mul:"8000000000000000":"10000000000000000":"80000000000000000000000000000000" - -mbedtls_mpi_core_mul #214: 0x8000000000000000 * 0x10000000000000001 = 0x80000000000000008000000000000000 -mpi_core_mul:"8000000000000000":"10000000000000001":"80000000000000008000000000000000" - -mbedtls_mpi_core_mul #215: 0x8000000000000000 * 0x1234567890abcdef0 = 0x91a2b3c4855e6f780000000000000000 -mpi_core_mul:"8000000000000000":"1234567890abcdef0":"91a2b3c4855e6f780000000000000000" - -mbedtls_mpi_core_mul #216: 0x8000000000000000 * 0xfffffffffffffffffefefefefefefefe = 0x7fffffffffffffffff7f7f7f7f7f7f7f0000000000000000 -mpi_core_mul:"8000000000000000":"fffffffffffffffffefefefefefefefe":"7fffffffffffffffff7f7f7f7f7f7f7f0000000000000000" - -mbedtls_mpi_core_mul #217: 0x8000000000000000 * 0x100000000000000000000000000000000 = 0x800000000000000000000000000000000000000000000000 -mpi_core_mul:"8000000000000000":"100000000000000000000000000000000":"800000000000000000000000000000000000000000000000" - -mbedtls_mpi_core_mul #218: 0x8000000000000000 * 0x1234567890abcdef01234567890abcdef0 = 0x91a2b3c4855e6f78091a2b3c4855e6f780000000000000000 -mpi_core_mul:"8000000000000000":"1234567890abcdef01234567890abcdef0":"91a2b3c4855e6f78091a2b3c4855e6f780000000000000000" - -mbedtls_mpi_core_mul #219: 0x8000000000000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000 -mpi_core_mul:"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000" - -mbedtls_mpi_core_mul #220: 0x8000000000000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x91a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000000000000 -mpi_core_mul:"8000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"91a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000000000000" - -mbedtls_mpi_core_mul #221: 0x8000000000000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x26fb9683da5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000000000000 -mpi_core_mul:"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"26fb9683da5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000000000000" - -mbedtls_mpi_core_mul #222: 0xffffffffffffffff * 0xffffffffffffffff = 0xfffffffffffffffe0000000000000001 -mpi_core_mul:"ffffffffffffffff":"ffffffffffffffff":"fffffffffffffffe0000000000000001" - -mbedtls_mpi_core_mul #223: 0xffffffffffffffff * 0x10000000000000000 = 0xffffffffffffffff0000000000000000 -mpi_core_mul:"ffffffffffffffff":"10000000000000000":"ffffffffffffffff0000000000000000" - -mbedtls_mpi_core_mul #224: 0xffffffffffffffff * 0x10000000000000001 = 0xffffffffffffffffffffffffffffffff -mpi_core_mul:"ffffffffffffffff":"10000000000000001":"ffffffffffffffffffffffffffffffff" - -mbedtls_mpi_core_mul #225: 0xffffffffffffffff * 0x1234567890abcdef0 = 0x1234567890abcdeeedcba9876f5432110 -mpi_core_mul:"ffffffffffffffff":"1234567890abcdef0":"1234567890abcdeeedcba9876f5432110" - -mbedtls_mpi_core_mul #226: 0xffffffffffffffff * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffefefefefefefefefe0101010101010102 -mpi_core_mul:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"fffffffffffffffefefefefefefefefe0101010101010102" - -mbedtls_mpi_core_mul #227: 0xffffffffffffffff * 0x100000000000000000000000000000000 = 0xffffffffffffffff00000000000000000000000000000000 -mpi_core_mul:"ffffffffffffffff":"100000000000000000000000000000000":"ffffffffffffffff00000000000000000000000000000000" - -mbedtls_mpi_core_mul #228: 0xffffffffffffffff * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdeeeeeeeeeef85eeeefeedcba9876f5432110 -mpi_core_mul:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"1234567890abcdeeeeeeeeeef85eeeefeedcba9876f5432110" - -mbedtls_mpi_core_mul #229: 0xffffffffffffffff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffff0000000000000001 -mpi_core_mul:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffff0000000000000001" - -mbedtls_mpi_core_mul #230: 0xffffffffffffffff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdeeeeeeeeeef85eeeefeeeeeeeeef85eeeefeeeeeeeeef85eeeefeedcba9876f5432110 -mpi_core_mul:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdeeeeeeeeeef85eeeefeeeeeeeeef85eeeefeeeeeeeeef85eeeefeedcba9876f5432110" - -mbedtls_mpi_core_mul #231: 0xffffffffffffffff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8d5ebfa2f2e09870fa7894927c74437b32cab898402894ea85396040a2f41773a0aa5fbecf58b7b0751c11416637d469d67bea403f60c717912d8848f999b08b5670e44a96fc36349286249a27f89015f8750f0a073902e9eae744ed40ca8eed71f249ab99c19747e10bf625cfda5d90e33a22f8d96a6fe13fdaf894ed5 -mpi_core_mul:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8d5ebfa2f2e09870fa7894927c74437b32cab898402894ea85396040a2f41773a0aa5fbecf58b7b0751c11416637d469d67bea403f60c717912d8848f999b08b5670e44a96fc36349286249a27f89015f8750f0a073902e9eae744ed40ca8eed71f249ab99c19747e10bf625cfda5d90e33a22f8d96a6fe13fdaf894ed5" - -mbedtls_mpi_core_mul #232: 0x10000000000000000 * 0x10000000000000000 = 0x100000000000000000000000000000000 -mpi_core_mul:"10000000000000000":"10000000000000000":"100000000000000000000000000000000" - -mbedtls_mpi_core_mul #233: 0x10000000000000000 * 0x10000000000000001 = 0x100000000000000010000000000000000 -mpi_core_mul:"10000000000000000":"10000000000000001":"100000000000000010000000000000000" - -mbedtls_mpi_core_mul #234: 0x10000000000000000 * 0x1234567890abcdef0 = 0x1234567890abcdef00000000000000000 -mpi_core_mul:"10000000000000000":"1234567890abcdef0":"1234567890abcdef00000000000000000" - -mbedtls_mpi_core_mul #235: 0x10000000000000000 * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffefefefefefefefe0000000000000000 -mpi_core_mul:"10000000000000000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe0000000000000000" - -mbedtls_mpi_core_mul #236: 0x10000000000000000 * 0x100000000000000000000000000000000 = 0x1000000000000000000000000000000000000000000000000 -mpi_core_mul:"10000000000000000":"100000000000000000000000000000000":"1000000000000000000000000000000000000000000000000" - -mbedtls_mpi_core_mul #237: 0x10000000000000000 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef00000000000000000 -mpi_core_mul:"10000000000000000":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef00000000000000000" - -mbedtls_mpi_core_mul #238: 0x10000000000000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 -mpi_core_mul:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000" - -mbedtls_mpi_core_mul #239: 0x10000000000000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000000000000000 -mpi_core_mul:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000000000000000" - -mbedtls_mpi_core_mul #240: 0x10000000000000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000000000000000 -mpi_core_mul:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000000000000000" - -mbedtls_mpi_core_mul #241: 0x10000000000000001 * 0x10000000000000001 = 0x100000000000000020000000000000001 -mpi_core_mul:"10000000000000001":"10000000000000001":"100000000000000020000000000000001" - -mbedtls_mpi_core_mul #242: 0x10000000000000001 * 0x1234567890abcdef0 = 0x1234567890abcdef1234567890abcdef0 -mpi_core_mul:"10000000000000001":"1234567890abcdef0":"1234567890abcdef1234567890abcdef0" - -mbedtls_mpi_core_mul #243: 0x10000000000000001 * 0xfffffffffffffffffefefefefefefefe = 0x10000000000000000fefefefefefefefdfefefefefefefefe -mpi_core_mul:"10000000000000001":"fffffffffffffffffefefefefefefefe":"10000000000000000fefefefefefefefdfefefefefefefefe" - -mbedtls_mpi_core_mul #244: 0x10000000000000001 * 0x100000000000000000000000000000000 = 0x1000000000000000100000000000000000000000000000000 -mpi_core_mul:"10000000000000001":"100000000000000000000000000000000":"1000000000000000100000000000000000000000000000000" - -mbedtls_mpi_core_mul #245: 0x10000000000000001 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef13579be019b68acdf1234567890abcdef0 -mpi_core_mul:"10000000000000001":"1234567890abcdef01234567890abcdef0":"1234567890abcdef13579be019b68acdf1234567890abcdef0" - -mbedtls_mpi_core_mul #246: 0x10000000000000001 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x10000000000000000fffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffff -mpi_core_mul:"10000000000000001":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000fffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffff" - -mbedtls_mpi_core_mul #247: 0x10000000000000001 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef13579be019b68acdf13579be019b68acdf13579be019b68acdf1234567890abcdef0 -mpi_core_mul:"10000000000000001":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef13579be019b68acdf13579be019b68acdf13579be019b68acdf1234567890abcdef0" - -mbedtls_mpi_core_mul #248: 0x10000000000000001 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dfaadfd024a06aa15d20232719ee29643154f5d2e3bbafbfb1968361158675a20fd283583a5367e36c39935b935c298825b94b75ece5e19ea05074097c8d5bcd1a373d4285ebc7cba9a7cb8e75382c74595b05d168515c728f204545e88a79e85cb92ed3914cdd3d8c9d2bea2b0c2ac9d0febdd4bf5901ec025076b12b -mpi_core_mul:"10000000000000001":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dfaadfd024a06aa15d20232719ee29643154f5d2e3bbafbfb1968361158675a20fd283583a5367e36c39935b935c298825b94b75ece5e19ea05074097c8d5bcd1a373d4285ebc7cba9a7cb8e75382c74595b05d168515c728f204545e88a79e85cb92ed3914cdd3d8c9d2bea2b0c2ac9d0febdd4bf5901ec025076b12b" - -mbedtls_mpi_core_mul #249: 0x1234567890abcdef0 * 0x1234567890abcdef0 = 0x14b66dc328828bca6475f09a2f2a52100 -mpi_core_mul:"1234567890abcdef0":"1234567890abcdef0":"14b66dc328828bca6475f09a2f2a52100" - -mbedtls_mpi_core_mul #250: 0x1234567890abcdef0 * 0xfffffffffffffffffefefefefefefefe = 0x1234567890abcdeeffedb962ea59addfdecee11575eb75220 -mpi_core_mul:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"1234567890abcdeeffedb962ea59addfdecee11575eb75220" - -mbedtls_mpi_core_mul #251: 0x1234567890abcdef0 * 0x100000000000000000000000000000000 = 0x1234567890abcdef000000000000000000000000000000000 -mpi_core_mul:"1234567890abcdef0":"100000000000000000000000000000000":"1234567890abcdef000000000000000000000000000000000" - -mbedtls_mpi_core_mul #252: 0x1234567890abcdef0 * 0x1234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca65c1577661b27acca6475f09a2f2a52100 -mpi_core_mul:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"14b66dc328828bca65c1577661b27acca6475f09a2f2a52100" - -mbedtls_mpi_core_mul #253: 0x1234567890abcdef0 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x1234567890abcdeeffffffffffffffffffffffffffffffffffffffffffffffffedcba9876f5432110 -mpi_core_mul:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdeeffffffffffffffffffffffffffffffffffffffffffffffffedcba9876f5432110" - -mbedtls_mpi_core_mul #254: 0x1234567890abcdef0 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca65c1577661b27acca65c1577661b27acca65c1577661b27acca6475f09a2f2a52100 -mpi_core_mul:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"14b66dc328828bca65c1577661b27acca65c1577661b27acca65c1577661b27acca6475f09a2f2a52100" - -mbedtls_mpi_core_mul #255: 0x1234567890abcdef0 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x58b51b57152a3ad1ef7d678598fe6678cb344d765cae634b6d4469e50f77859a273c638dc26d69a31ac5bef7f212408626817f095af6269b1f915c36ec88ccfc5d219d61e04922e4aba684c0c216cf0aa939905c0b4575d8454348917846053573774f157f74a7793b7838197f78b7ddf1f48b9aa78cbd785a60a47e2f7b31b0b267d6250 -mpi_core_mul:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"58b51b57152a3ad1ef7d678598fe6678cb344d765cae634b6d4469e50f77859a273c638dc26d69a31ac5bef7f212408626817f095af6269b1f915c36ec88ccfc5d219d61e04922e4aba684c0c216cf0aa939905c0b4575d8454348917846053573774f157f74a7793b7838197f78b7ddf1f48b9aa78cbd785a60a47e2f7b31b0b267d6250" - -mbedtls_mpi_core_mul #256: 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffffefefefefefefefe = 0xfffffffffffffffffdfdfdfdfdfdfdfc00010203040506070a09080706050404 -mpi_core_mul:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"fffffffffffffffffdfdfdfdfdfdfdfc00010203040506070a09080706050404" - -mbedtls_mpi_core_mul #257: 0xfffffffffffffffffefefefefefefefe * 0x100000000000000000000000000000000 = 0xfffffffffffffffffefefefefefefefe00000000000000000000000000000000 -mpi_core_mul:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe00000000000000000000000000000000" - -mbedtls_mpi_core_mul #258: 0xfffffffffffffffffefefefefefefefe * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef0110feca73646abececdbcaba4910ffffdecee11575eb75220 -mpi_core_mul:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"1234567890abcdef0110feca73646abececdbcaba4910ffffdecee11575eb75220" - -mbedtls_mpi_core_mul #259: 0xfffffffffffffffffefefefefefefefe * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffffffffffffffffefefefefefefefdffffffffffffffffffffffffffffffff00000000000000000101010101010102 -mpi_core_mul:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefdffffffffffffffffffffffffffffffff00000000000000000101010101010102" - -mbedtls_mpi_core_mul #260: 0xfffffffffffffffffefefefefefefefe * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef0110feca73646abecedff1021d21bbcdecedff1021d21bbcdececdbcaba4910ffffdecee11575eb75220 -mpi_core_mul:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0110feca73646abecedff1021d21bbcdecedff1021d21bbcdececdbcaba4910ffffdecee11575eb75220" - -mbedtls_mpi_core_mul #261: 0xfffffffffffffffffefefefefefefefe * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dac688a881b20a7854765871e10b72eff1aabf4f4581f694059a3ab1d167d9a77b05332649c2a67e5f5f6259c27caa121f940b59824f0017de93662d25470d50227c8671b26de06a45bfcf48422f846522fe22e1ef9623f0c8d0fa3ea9ef436d26431f74bbc8c0c3c75c50cf992297619ba8190f5c16fb6d6e5b201415ba6a82580c3672aa -mpi_core_mul:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dac688a881b20a7854765871e10b72eff1aabf4f4581f694059a3ab1d167d9a77b05332649c2a67e5f5f6259c27caa121f940b59824f0017de93662d25470d50227c8671b26de06a45bfcf48422f846522fe22e1ef9623f0c8d0fa3ea9ef436d26431f74bbc8c0c3c75c50cf992297619ba8190f5c16fb6d6e5b201415ba6a82580c3672aa" - -mbedtls_mpi_core_mul #262: 0x100000000000000000000000000000000 * 0x100000000000000000000000000000000 = 0x10000000000000000000000000000000000000000000000000000000000000000 -mpi_core_mul:"100000000000000000000000000000000":"100000000000000000000000000000000":"10000000000000000000000000000000000000000000000000000000000000000" - -mbedtls_mpi_core_mul #263: 0x100000000000000000000000000000000 * 0x1234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef000000000000000000000000000000000 -mpi_core_mul:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef000000000000000000000000000000000" - -mbedtls_mpi_core_mul #264: 0x100000000000000000000000000000000 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000 -mpi_core_mul:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000" - -mbedtls_mpi_core_mul #265: 0x100000000000000000000000000000000 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000000000000000000000000000 -mpi_core_mul:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000000000000000000000000000" - -mbedtls_mpi_core_mul #266: 0x100000000000000000000000000000000 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000000000000000000000000000 -mpi_core_mul:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000000000000000000000000000" - -mbedtls_mpi_core_mul #267: 0x1234567890abcdef01234567890abcdef0 * 0x1234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca670cbe52943aa3894ca37481090dcccdca6475f09a2f2a52100 -mpi_core_mul:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"14b66dc328828bca670cbe52943aa3894ca37481090dcccdca6475f09a2f2a52100" - -mbedtls_mpi_core_mul #268: 0x1234567890abcdef01234567890abcdef0 * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0x1234567890abcdef01234567890abcdeefffffffffffffffffffffffffffffffedcba9876f543210fedcba9876f5432110 -mpi_core_mul:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdeefffffffffffffffffffffffffffffffedcba9876f543210fedcba9876f5432110" - -mbedtls_mpi_core_mul #269: 0x1234567890abcdef01234567890abcdef0 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca670cbe52943aa3894cb82aeecc364f5994cb82aeecc364f5994ca37481090dcccdca6475f09a2f2a52100 -mpi_core_mul:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"14b66dc328828bca670cbe52943aa3894cb82aeecc364f5994cb82aeecc364f5994ca37481090dcccdca6475f09a2f2a52100" - -mbedtls_mpi_core_mul #270: 0x1234567890abcdef01234567890abcdef0 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x58b51b57152a3ad1f508b93b0a510a25ea2c23eeb63e49b2f9f7aebc75426bcede10aa2c1364e1fcbd398530ce391720582ddaf8da174aa381f9742782382f660f1ab3254f11afb471789e96e01b6138f3f3f8a81766e2c8efd6e19738fa5c92f7cb839e96f907cc92afad0ad770025585ac0f1c3f8448f6397fed37d9f3fd88380de06ce2f7b31b0b267d6250 -mpi_core_mul:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"58b51b57152a3ad1f508b93b0a510a25ea2c23eeb63e49b2f9f7aebc75426bcede10aa2c1364e1fcbd398530ce391720582ddaf8da174aa381f9742782382f660f1ab3254f11afb471789e96e01b6138f3f3f8a81766e2c8efd6e19738fa5c92f7cb839e96f907cc92afad0ad770025585ac0f1c3f8448f6397fed37d9f3fd88380de06ce2f7b31b0b267d6250" - -mbedtls_mpi_core_mul #271: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001 -mpi_core_mul:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001" - -mbedtls_mpi_core_mul #272: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcccbba9876f543210fedcba9876f543210fedcba9876f543210fedcba9876f5432110 -mpi_core_mul:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcccbba9876f543210fedcba9876f543210fedcba9876f543210fedcba9876f5432110" - -mbedtls_mpi_core_mul #273: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f33fdb6d0e5271884a53270d2a2ee9a789cdca89d918ad3878717bbb8117e56aa57d6fe3896e8b03bd33366815362e824150a07b6df7ef3ded7299a037bfc779bfcc535cdc06f85821e7d4c23d09bdb935365a93c8b19f86b0211fa7b783d0f3a776135b5f305664ba042111b39694cd7223151b8dc6ba6fe13fdaf894ed5 -mpi_core_mul:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f33fdb6d0e5271884a53270d2a2ee9a789cdca89d918ad3878717bbb8117e56aa57d6fe3896e8b03bd33366815362e824150a07b6df7ef3ded7299a037bfc779bfcc535cdc06f85821e7d4c23d09bdb935365a93c8b19f86b0211fa7b783d0f3a776135b5f305664ba042111b39694cd7223151b8dc6ba6fe13fdaf894ed5" - -mbedtls_mpi_core_mul #274: 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 = 0x14b66dc328828bca670cbe52943aa3894ccce15c8f5ed1e55f328f6d3f579f9922995b9f6fd5441c275f2ff89f86f28f47a94ca37481090dcccdca6475f09a2f2a52100 -mpi_core_mul:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"14b66dc328828bca670cbe52943aa3894ccce15c8f5ed1e55f328f6d3f579f9922995b9f6fd5441c275f2ff89f86f28f47a94ca37481090dcccdca6475f09a2f2a52100" - -mbedtls_mpi_core_mul #275: 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x58b51b57152a3ad1f508b93b0a510a25ea84d90a0d5373edcbecb775b04cbcd903fad650021b204670337cdf8aae598c270beba3062aaf857eb6adacb306687d2f72e10047ebc6ff14fa980b079d99685a03135b3cb5f478a4485a35cfda77f430bf77973f106eaf5b9f83ec6ea8fcb218a3da9fde1b41fe06129ce4e4cb6d8a8d938c7bff373764015ffd4f87d9f3fd88380de06ce2f7b31b0b267d6250 -mpi_core_mul:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"58b51b57152a3ad1f508b93b0a510a25ea84d90a0d5373edcbecb775b04cbcd903fad650021b204670337cdf8aae598c270beba3062aaf857eb6adacb306687d2f72e10047ebc6ff14fa980b079d99685a03135b3cb5f478a4485a35cfda77f430bf77973f106eaf5b9f83ec6ea8fcb218a3da9fde1b41fe06129ce4e4cb6d8a8d938c7bff373764015ffd4f87d9f3fd88380de06ce2f7b31b0b267d6250" - -mbedtls_mpi_core_mul #276: 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b = 0x17be9fbe8f80964a14e8a37adb18c0de92e256bcefc993460f7f560274fc392a3a4fd78e8293605ef9b4e20e398dd6e5481d16c7e86fa6d27cea58ebc0c86ab0610f83e5f5ae966a5b0cfc9e60736c807ce4f92cb15e2034c9422122371ffcfc2a586dcf07ad7bf500af10f16fd8d8dd0d49a2c426755bf04f1730ef2c68459ffeb353e46446bb4ac8f212b2f761b59818a5539fb0de652b0731829d63b935ab849ce67d17b9908799e663dc9258eba123149cb9129feb1669cc58800b55f65afc3069eeca6166ee53d3f1926be52d8c785a5edabe7b3480a3622a00a2a75b0555c1ac5cb765caf8158ab734ab851408357a22726eae407d39 -mpi_core_mul:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"17be9fbe8f80964a14e8a37adb18c0de92e256bcefc993460f7f560274fc392a3a4fd78e8293605ef9b4e20e398dd6e5481d16c7e86fa6d27cea58ebc0c86ab0610f83e5f5ae966a5b0cfc9e60736c807ce4f92cb15e2034c9422122371ffcfc2a586dcf07ad7bf500af10f16fd8d8dd0d49a2c426755bf04f1730ef2c68459ffeb353e46446bb4ac8f212b2f761b59818a5539fb0de652b0731829d63b935ab849ce67d17b9908799e663dc9258eba123149cb9129feb1669cc58800b55f65afc3069eeca6166ee53d3f1926be52d8c785a5edabe7b3480a3622a00a2a75b0555c1ac5cb765caf8158ab734ab851408357a22726eae407d39" - # BEGIN MERGE SLOT 1 # END MERGE SLOT 1 From 6f182c33a8b237eb6b01a5c4d267c79b9c236d85 Mon Sep 17 00:00:00 2001 From: Gabor Mezei Date: Fri, 31 Mar 2023 16:09:28 +0200 Subject: [PATCH 6/9] Fix documentation Signed-off-by: Gabor Mezei --- library/bignum_core.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/bignum_core.h b/library/bignum_core.h index 3a111600b8..5750656e92 100644 --- a/library/bignum_core.h +++ b/library/bignum_core.h @@ -401,6 +401,8 @@ mbedtls_mpi_uint mbedtls_mpi_core_mla(mbedtls_mpi_uint *X, size_t X_limbs, /** * \brief Perform a known-size multiplication * + * \p A may be aliased to \p B. + * * \param[out] X The pointer to the (little-endian) array to receive * the product of \p A_limbs and \p B_limbs. * This must be of length \p A_limbs + \p B_limbs. From f8b55d635894f17a58ce33f10e6645e8706a03c4 Mon Sep 17 00:00:00 2001 From: Gabor Mezei Date: Mon, 3 Apr 2023 14:13:46 +0200 Subject: [PATCH 7/9] Fix code style issues Signed-off-by: Gabor Mezei --- tests/suites/test_suite_bignum_core.function | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/suites/test_suite_bignum_core.function b/tests/suites/test_suite_bignum_core.function index a2dd5fdb01..2f87ea959f 100644 --- a/tests/suites/test_suite_bignum_core.function +++ b/tests/suites/test_suite_bignum_core.function @@ -1072,7 +1072,7 @@ void mpi_core_mul(char *input_A, TEST_EQUAL(mbedtls_test_read_mpi_core(&A, &A_limbs, input_A), 0); TEST_EQUAL(mbedtls_test_read_mpi_core(&B, &B_limbs, input_B), 0); - TEST_EQUAL(mbedtls_test_read_mpi_core(&R, &R_limbs, result ), 0); + TEST_EQUAL(mbedtls_test_read_mpi_core(&R, &R_limbs, result), 0); TEST_EQUAL(R_limbs, A_limbs + B_limbs); @@ -1104,7 +1104,6 @@ void mpi_core_mul(char *input_A, ASSERT_COMPARE(X, X_bytes, R, X_bytes); ASSERT_COMPARE(A, A_bytes, A_orig, A_bytes); } - /* 3. X = B * A - result should be correct, A and B unchanged */ else { memset(X, '!', X_bytes); From b0f013784fa0cc2607391072002d20d142ff141e Mon Sep 17 00:00:00 2001 From: Gabor Mezei Date: Mon, 3 Apr 2023 17:26:44 +0200 Subject: [PATCH 8/9] Multplication is simmetric so only generate unique combinations Signed-off-by: Gabor Mezei --- scripts/mbedtls_dev/bignum_core.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/mbedtls_dev/bignum_core.py b/scripts/mbedtls_dev/bignum_core.py index f7b175f089..e914ae72d2 100644 --- a/scripts/mbedtls_dev/bignum_core.py +++ b/scripts/mbedtls_dev/bignum_core.py @@ -238,6 +238,7 @@ class BignumCoreMul(BignumCoreTarget, bignum_common.OperationCommon): test_function = "mpi_core_mul" test_name = "mbedtls_mpi_core_mul" arity = 2 + unique_combinations_only = True def format_arg(self, val: str) -> str: return val From d62605126dce4b83b81b9de1933b0b1dc940a859 Mon Sep 17 00:00:00 2001 From: Gabor Mezei Date: Mon, 3 Apr 2023 17:32:55 +0200 Subject: [PATCH 9/9] Fix documentation Signed-off-by: Gabor Mezei --- library/bignum_core.h | 1 + 1 file changed, 1 insertion(+) diff --git a/library/bignum_core.h b/library/bignum_core.h index 5750656e92..7a0311ad17 100644 --- a/library/bignum_core.h +++ b/library/bignum_core.h @@ -401,6 +401,7 @@ mbedtls_mpi_uint mbedtls_mpi_core_mla(mbedtls_mpi_uint *X, size_t X_limbs, /** * \brief Perform a known-size multiplication * + * \p X may not be aliased to any of the inputs for this function. * \p A may be aliased to \p B. * * \param[out] X The pointer to the (little-endian) array to receive