f7ff4c9a11
Tidy up, remove MPI_CORE(), and apply the naming convention
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-11-22 14:58:15 +00:00
d9b2348d8f
Extract MPI_CORE(sub_int) from the prototype
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-11-22 14:58:15 +00:00
5933f691a2
Add merge slots to Bignum files
...
Legacy Bignum is excluded as it doesn't get regular extensions like new
ones.
Each slot uses comments of their respective filetype. Since .data files
don't have a syntax for comments, dummy test cases are used. (These test
cases will never be executed and no noise will be added to tests.)
Signed-off-by: Janos Follath <janos.follath@arm.com >
2022-11-02 17:27:25 +00:00
909e03c52f
Bignum core: fill_random: prototype
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-11-02 15:59:16 +01:00
8904a2db29
mpi_core_ct_uint_table_lookup: style and docs
...
Signed-off-by: Janos Follath <janos.follath@arm.com >
2022-10-31 16:51:56 +00:00
e50f2f1a8e
Add mbedtls_mpi_core_ct_uint_table_lookup
...
This will be needed for extracting modular exponentiation from the
prototype. The function signature is kept aligned to the prototype, but
the implementation is new. (The implementation of this function in the
prototype has further optimisations which are out of scope for now.)
The function is not reused in the bignum counterpart as it will become
redundant soon.
This function is meant to be static, but doesn't have the qualifier as
it is not used yet and would cause compiler warnings. The
MBEDTLS_STATIC_TESTABLE macro will be added in a later commit.
Signed-off-by: Janos Follath <janos.follath@arm.com >
2022-10-31 11:32:55 +00:00
9603daddaa
Merge pull request #6230 from tom-cosgrove-arm/issue-6223-core-add
...
Bignum: extract core_add from the prototype
2022-10-27 11:25:27 +02:00
82f131063a
Update documentation following review comment
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-10-25 16:29:58 +01:00
af7d44b4d2
Tidy up, remove MPI_CORE(), apply the naming convention, and use the new mbedtls_mpi_core_add()
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-10-25 16:29:58 +01:00
c98871339d
Extract MPI_CORE(add) from the prototype
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-10-25 16:29:58 +01:00
a081c51cd3
Renamed mpi_core_get_mont_R2_unsafe_neg -> mpi_core_get_mont_r2_unsafe_neg
...
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com >
2022-10-25 15:12:38 +01:00
51d638baf6
bignum_core: Style update
...
'mbedtls_mpi_core_get_mont_R2_unsafe' aligns const
keyword to match the style of the rest of the module.
Documentation is also updated to remove
`MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED`.
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com >
2022-10-25 15:12:38 +01:00
ae4fb671b4
mbedtls_mpi_core_get_mont_R2_unsafe: Removed NULL input checking
...
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com >
2022-10-25 15:12:38 +01:00
b85506e250
bignum_core.h: Comment update for mbedtls_mpi_core_get_mont_R2_unsafe
...
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com >
2022-10-25 15:12:23 +01:00
4f43f61c6a
Renamed mbedtls_mpi_get_montgomery_constant_unsafe to mpi_core_get_mont_R2_unsafe
...
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com >
2022-10-25 15:12:23 +01:00
ec440f2397
bignum_mod_raw: Ported mbedtls_mpi_get_montgomery_constant_unsafe from prototype
...
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com >
2022-10-25 15:08:08 +01:00
abc6fbb8d7
Fix brief description
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-10-21 18:36:31 +02:00
6641420951
Bignum core: Break shift_r function out of the classic shift_r
...
This commit contains the function prototype for mbedtls_mpi_core_shift_r,
and the implementation minimally modified from mbedtls_mpi_shift_r.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-10-20 11:40:15 +02:00
4281ae0bd2
Merge pull request #6373 from gilles-peskine-arm/bignum-core-conventions
...
Spell out bignum core conventions
2022-10-19 15:53:33 +02:00
dcd1717f5f
Forbid aliasing outputs
...
Aliasing between two outputs is hardly ever useful.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-10-14 17:15:21 +02:00
4086de667d
Fix documentation
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-10-14 16:29:42 +02:00
01af3ddc82
Fixed confusion between number size and limb size; define limb
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-10-04 16:23:29 +02:00
2926484de1
Describe generic conventions for the bignum core module
...
This commit codifies some conventions that result from the original design
goals and others that have emerged after starting the implementation.
* Value ranges
* Bignum parameter naming and ordering
* Sizes
* Aliasing and overlap
* Error handling
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-10-04 14:51:21 +02:00
7aab2fbe41
Add a short description of what each module does
...
There was already a short introduction to _who_ should use each module, but
not to _what_ each module does.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-10-04 14:50:17 +02:00
7f887bdc05
Move license out of Doxygen comment
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-10-04 14:50:17 +02:00
dba2677597
Update documentation
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-10-03 17:01:02 +02:00
86dfe384c2
Fix documentation tags to be lower case
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-30 14:03:04 +02:00
e5b8585f1e
Follow parameter naming convention
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-30 13:54:02 +02:00
1c628d5700
Follow parameter naming comvention
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-30 13:36:40 +02:00
3eff425b1a
Use only one limb parameter for assign
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-30 13:36:40 +02:00
2b5bf4cec7
Fix doumentation
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-30 13:36:40 +02:00
f4dd3b6a6d
Fix documentation
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-30 13:36:40 +02:00
cfc0eb8d22
Remove unused parameter
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-30 13:36:39 +02:00
9f6615f146
Remove argument checking from constant time functions
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-30 13:36:39 +02:00
e1d31c4aad
Add conditional swap and assign function for MPI core
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-30 13:33:30 +02:00
6da3a3b15f
Fix doc regarding aliasing of modulus input to mbedtls_mpi_core_montmul()
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-09-29 17:20:18 +01:00
4386ead662
Correct the aliasing requirements in doc for mbedtls_mpi_core_montmul(), and test them
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-09-29 14:40:21 +01:00
4782823ec3
Ensure we explicitly document the modulus for fixed-width arithmetic
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-09-20 13:51:50 +01:00
b0b77e1b13
Document and test aliasing of the bignums given to mbedtls_mpi_core_mla()
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-09-20 13:33:40 +01:00
ea45c1d2d4
Document and test aliasing of output for mbedtls_mpi_core_montmul()
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-09-20 13:17:51 +01:00
3bd7bc3add
Use X rather than A for accumulator-style input (and output!) params, and rename others accordingly
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-09-15 15:55:07 +01:00
5c0e8104bc
Prefer 'fixed-size' to 'known-size' in doc comments
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-09-15 15:46:10 +01:00
b7438d1f62
Update name of mbedtls_mpi_montg_init()
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-09-15 15:05:59 +01:00
818d992cc7
Note that T must not overlap other parameters of mbedtls_mpi_core_montmul()
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-09-15 14:58:10 +01:00
5eefc3db3f
Move macros to come before function declarations
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-08-31 17:16:50 +01:00
630110ab23
Fix documentation where ciL should be biL
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-08-31 17:15:04 +01:00
ed43c6caeb
In add_if(), B MAY be aliased to A. Also update another comment for consistency.
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-08-31 17:15:04 +01:00
5dd97e60d5
Update comments following code review
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-08-30 14:31:49 +01:00
b496486cdc
Reorder functions in bignum_core.[ch]
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-08-30 11:57:22 +01:00
d932de8857
Remove incorrect constant-time claim from doc for mbedtls_mpi_core_add_if()
...
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com >
2022-08-25 16:43:43 +01:00