Ken MacKay
1e6e86fa43
Add note about verifying public keys
2020-10-07 17:26:47 -07:00
Ken MacKay
979d722c99
Cleanup emk files
2020-10-07 12:26:35 -07:00
Ken MacKay
d037ec8954
Add note that uECC_VLI_NATIVE_LITTLE_ENDIAN affects key compatiblity
2017-05-21 11:05:04 -07:00
Ken MacKay
d671b1cc22
Add faster ARM multiplication code using UMAAL ( #69 )
...
On ARM platforms that support UMAAL, this new code should speed up curve
operations by 15-20%. There is automatic detection of UMAAL support
using compiler macros, but if it doesn't work for a given platform,
#define uECC_ARM_USE_UMAAL to 1 or 0 as desired.
2016-04-20 21:22:40 -07:00
Ken MacKay
b6c0cdbe7d
Add functions to get the private/public key size for a curve ( #73 )
2016-03-08 21:29:40 -08:00
cacu
eff564675d
Fix code formatting and document the fact that input arrays must be word
...
aligned
2016-03-08 09:47:02 +01:00
cacu
289a8e0340
Several fixes singled out in the pull request discussion thread.
2016-03-07 18:08:08 +01:00
cacu
778effd967
Add a new uECC_VLI_NATIVE_LITTLE_ENDIAN compile-time macro that enables
...
fully native little endian platforms interfacing with little endian byte
streams to avoid using additional stack space and pre and post byte
reversals
2016-03-07 13:09:22 +01:00
mdxs
9dbd82890f
Fixed small typos in comments
2016-03-01 00:40:47 +01:00
Sean Wilson
35423ba878
Provide API access to the built-in RNG code.
2016-01-15 14:50:31 -05:00
Andrew Ruder
451d53a62e
uECC_HashContext => const uECC_HashContext
...
This is an important piece of "documentation" as it indicates to the
caller that a uECC_HashContext can be initialized and subsequently
used multiple times (for multiple signatures).
2015-12-23 15:42:14 -06:00
Andrew Ruder
0d853de6d1
uECC_verify: fix prototype to indicate public_key
...
The prototype incorrectly used 'private_key' as the name
of the first argument (rather than 'public_key'). Docs and
function definition were already correctly using 'public_key'
2015-12-23 10:24:58 -06:00
Andrew Ruder
6b0566beb6
uECC.h uECC.c: whitespace cleanups
...
Just removing trailing whitespace.
2015-12-23 10:24:53 -06:00
Ken MacKay
12d16b6b67
Clean up some header files.
2015-10-12 21:51:39 -07:00
Ken MacKay
0283b542ef
Convert hash to int in sign/verify ( #53 )
...
Previously, callers would need to manually convert the hash value
appropriately if it was not the same length as curve_n. Now, callers
just pass in the full hash value and the length; uECC will convert
the hash as appropriate.
2015-10-12 21:29:57 -07:00
Ken MacKay
4ae15e365b
Updated so that private keys are always the correct length.
...
Specifically, the private key for secp160r1 is now required to be
21 bytes. Added some comments about buffer sizes.
2015-10-12 21:29:57 -07:00
Ken MacKay
41207c563a
Make the default optimization level be 2
2015-10-12 21:29:56 -07:00
Ken MacKay
74f6d2d9d7
Directly expose vli functions if uECC_ENABLE_VLI_API != 0
...
Added a header file for those functions as well.
2015-10-12 21:29:56 -07:00
Evgeni Margolis
ca9e456f42
Added new define (uECC_SUPPORT_COMPRESSED_POINT) and new API functions.
2015-10-12 21:29:56 -07:00
Ken MacKay
2cc5e9211a
Add an intermediate optimization level where only add/sub are "fast".
...
Also made uECC_SQUARE_FUNC separately controllable for now.
2015-10-12 21:29:56 -07:00
Ken MacKay
5f01beb717
Add fast ARM asm; cleaned up code. Added optimization setting. ( #50 )
2015-10-12 21:29:56 -07:00
Ken MacKay
08ae3fd516
Add small ARM asm. ( #50 )
2015-10-12 21:28:44 -07:00
Ken MacKay
25941ccc4d
Initial, unreasonably slow implementation of multiple curve support. ( #50 )
2015-10-12 21:28:44 -07:00
Josh Datko
9a657b6046
Wrong variable name in verify definition.
2015-09-01 15:21:16 -06:00
Evgeni Margolis
ac89ddca67
Added support for new secp224r1 curve. Added test to verify uECC_compress() and uECC_decompress() functions.
2015-06-28 15:02:45 -07:00
Ken MacKay
fed2afb663
Modified uECC_sign_deterministic() to not depend on #defined constants.
2015-06-15 22:02:35 -07:00
Ken MacKay
67d0733f51
Added test for deterministic ECDSA ( #37 )
2015-06-15 21:41:39 -07:00
Ken MacKay
c13e915870
Initial untested implementation of deterministic message signing ( #37 ).
2015-06-14 15:13:28 -07:00
Ken MacKay
cfdb24bab6
Refactor uECC_sign() so that internally, k gan be generated in a different way. ( #37 )
2015-06-13 08:38:38 -07:00
Ken MacKay
400b453176
Update coding style.
2015-06-12 22:53:38 -07:00
Ken MacKay
5429ad8b1b
Fix header #defines ( #35 )
2015-05-26 08:04:09 -07:00
Richard Moore
ae3e858136
Added error checking to uECC_compute_public_key.
2015-05-20 12:02:51 -04:00
Richard Moore
08b675503d
Removed some stray whitespace.
2015-05-20 11:50:08 -04:00
Richard Moore
a46621eb57
Added uECC_compute_public_key.
2015-05-19 13:26:24 -04:00
Ken MacKay
5422cf9661
Minor code cleanup.
2015-04-25 15:42:34 -07:00
Ken MacKay
c5749e621b
Add uECC_valid_public_key() function to check if a given public key is valid. ( #29 )
2015-04-25 15:18:06 -07:00
aaron levin
7c95244ef6
Add methods to return values def'd at compile time
...
This will support higher-level languages interfacing
with `micro-ecc`.
2015-02-06 10:27:59 -05:00
Ken MacKay
834c1c0b66
Actually leave secp160r1 as the default for the convenience of Pinoccio.
2014-05-01 23:05:02 -07:00
Ken MacKay
110c8826d6
Make secp256r1 the default.
2014-05-01 22:38:05 -07:00
Ken MacKay
28e95b4de8
Add support for secp256k1.
2014-05-01 21:51:37 -07:00
Ken MacKay
3d0c858e64
Make compress/decompress use const properly.
2014-05-01 21:50:05 -07:00
Ken MacKay
d6ad5b32c6
Add license statement to source files.
2014-04-22 22:07:42 -07:00
Ken MacKay
6044e911ae
Use 'uECC_' prefix for everything to avoid conflicts with other libraries. (Fix for #1 ).
2014-04-14 22:09:57 -07:00