4b20c0ee53
Fix potential stack buffer overflow in ecjpake
...
Two causes:
- the buffer is too short (missing 4 bytes for encoding id_len)
- the test was wrong
Would only happen when MBEDTLS_ECP_MAX_BITS == the bitsize of the curve
actually used (does not happen in the default config).
Could not be triggered remotely.
2015-10-20 16:20:56 +02:00
b7da194939
ecjpake: fix uninitialize member
2015-10-19 13:35:22 +02:00
7cdad7708e
Add point format handling
2015-10-02 13:31:41 +01:00
b813accf84
Add mbedtls_ecjpake_check(), tells if set up
...
This will be used in SSL to avoid the computation-heavy processing of EC
J-PAKE hello extensions in case we don't have an EC J-PAKE password
2015-09-16 16:10:48 +02:00
d9802af1d0
Add tests for round 2
...
Also move one check earlier as it makes more sense
2015-09-07 12:43:11 +02:00
3059095e86
Complete tests for reading round one
...
Also change the code to forbid public keys being 0
2015-09-07 12:43:11 +02:00
d0d8a935b2
Blind operations on the secret
...
I'm not sure this is necessary, because it is only multiplied by xm2 which is
already random and secret, but OTOH, xm2 is related to a public value, so
let's add blinding with a random value that's only use for blinding, just to
be extra sure.
2015-09-07 12:43:11 +02:00
c907081a20
Polish the source
2015-09-07 12:43:11 +02:00
f7368c983a
Polish API and documentation
2015-09-07 12:43:11 +02:00
e1927101fb
Unify round two
2015-09-07 12:43:11 +02:00
d8204a7bea
Provide symmetric API for the first round
2015-09-07 12:43:11 +02:00
e2d3a4e1b4
Unify loading of test vectors in tests
2015-09-07 12:43:11 +02:00
ce4567614b
Rename variable to prepare for cli/srv unification
2015-09-07 12:43:10 +02:00
6b798b9dae
Tune up some comments
2015-09-07 12:43:10 +02:00
e0ad57b0b3
Replace explicit IDs with table look-ups
...
That's a first step towards merging symmetric version of different functions
2015-09-07 12:43:10 +02:00
5f18829609
Add derive_pms, completing first working version
2015-09-07 12:43:10 +02:00
6449391852
Store our role in the context
2015-09-07 12:43:10 +02:00
614bd5e919
Add write_client_params
2015-09-07 12:43:10 +02:00
ec0eece2ba
Add read_client_params
2015-09-07 12:43:10 +02:00
bed9e41761
Add writing of server params
2015-09-07 12:43:10 +02:00
8d31e80da4
Improve testing strategy
...
- reference handshake tests that we get the right values (not much now, but
much more later when we get to deriving the PMS)
- random handshake in addition tests our generate/write functions against our
read functions, that are tested by the reference handshake, and will be
further tested in the test suite later against invalid inputs
2015-09-07 12:43:10 +02:00
cb7cd03412
Add first draft or read_server_params
2015-09-07 12:43:10 +02:00
23dcbe3f16
Add support for passphrase in the context
2015-09-07 12:43:10 +02:00
4e8bc78ad9
Add context-using functions for Hello extensions
...
Also re-order functions in the header so that they appear in the order they're
use, ie free() last.
2015-09-07 12:43:10 +02:00
7af8bc1007
Start introducing mbedtls_ecjpake_context
2015-09-07 12:43:10 +02:00
3aed1851b3
Re-order functions.
...
Use the same order for all read-write pair of functions
2015-09-07 12:43:09 +02:00
9028c5af9a
Improve const correctness of read() functions
2015-09-07 12:43:09 +02:00
082767ff0c
Add ecjpake_kkpp_read/write
2015-09-07 12:43:09 +02:00
4f2cd95e1d
Fix potential memory leaks
2015-09-07 12:43:09 +02:00
b1b250b68c
Add ecjpake_kkp_read/write()
2015-09-07 12:43:09 +02:00
967cd7192d
Add test vector for ZKP verification
2015-09-07 12:43:09 +02:00
6029a85572
Add ecjpake_zpk_read()
...
Not really tested yet
2015-09-07 12:43:09 +02:00
c618195bc4
Fix base point in ecjpake_write_zkp()
2015-09-07 12:43:09 +02:00
8489f17277
First draft of ecjpake_write_zkp()
2015-09-07 12:43:09 +02:00
3dbf2fbb89
Implement hashing function for ZKP
2015-09-07 12:43:09 +02:00
4d8685b4ff
Add skeleton for EC J-PAKE module
2015-09-07 12:43:09 +02:00