Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Support decoding of ECC groups with seed parameter | Jack Lloyd | 2018-03-04 | 1 | -0/+2 |
| | | | | Closes GH #874 | ||||
* | Use Barrett instead of repeated divisions by p here | Jack Lloyd | 2018-03-04 | 1 | -3/+6 |
| | | | | Doesn't matter much since its a one time setup cost but can't hurt. | ||||
* | Reduce temp usage in PointGFp addition and doubling | Jack Lloyd | 2018-03-04 | 4 | -104/+95 |
| | | | | No noticable change in performance | ||||
* | Avoid confusing error if invalid EC_Group is used | Jack Lloyd | 2018-03-02 | 1 | -3/+9 |
| | | | | | If an unknown group name was passed it would give a PEM error, instead of saying unknown group. | ||||
* | Remove BigInt using functions from mp layer | Jack Lloyd | 2018-03-01 | 1 | -6/+19 |
| | |||||
* | Fix overflow in monty_redc | Jack Lloyd | 2018-02-27 | 1 | -4/+4 |
| | | | | | | | | | OSS-Fuzz caught a bug introduced in 5fcc1c70d7a. bigint_monty_redc assumes z is 2*p_words+2 words long. Previously the implicit rounding up in grow_to ensured a resize would result in a sufficiently large value. OSS-Fuzz 6581 6588 6593 | ||||
* | Avoid unnecessary calls to BigInt::grow_to | Jack Lloyd | 2018-02-26 | 1 | -4/+9 |
| | |||||
* | Avoid using monty workspace for reduce_below | Jack Lloyd | 2018-02-26 | 1 | -6/+6 |
| | | | | | | | | | If the workspace is swapped, then it is too small for the Montgomery operation and will be reallocate on the next sqr/multiply operation. Also use ws[9] consistently for the Montgomery workspace, otherwise if add needs to pass off the mult2, the workspaces are not the expected size and again a reallocation occurs. | ||||
* | Avoid some needless allocations | Jack Lloyd | 2018-02-26 | 1 | -2/+4 |
| | |||||
* | Add functions to EC_Group for getting base point coordinates | Jack Lloyd | 2018-02-25 | 4 | -16/+68 |
| | |||||
* | Merge GH #1461 Add Montgomery_Int type | Jack Lloyd | 2018-02-25 | 1 | -1/+4 |
|\ | |||||
| * | Add Montgomery_Int type | Jack Lloyd | 2018-02-25 | 1 | -1/+4 |
| | | |||||
* | | Merge ec_gfp and ec_group modules | Jack Lloyd | 2018-02-25 | 6 | -2/+1525 |
|/ | | | | | They were already somewhat entangled and future work will increase that (eg by having PointGFp hold a pointer to EC_Group) | ||||
* | Add DL_Group::estimated_strength | Jack Lloyd | 2018-02-23 | 3 | -4/+20 |
| | |||||
* | Add EC_Group::verify_public_element | Jack Lloyd | 2018-02-23 | 3 | -28/+33 |
| | |||||
* | Add DL_Group functions to verify elements | Jack Lloyd | 2018-02-23 | 3 | -31/+48 |
| | |||||
* | Merge GH #1457 Use faster algorithm for ECC multiplication | Jack Lloyd | 2018-02-22 | 10 | -49/+112 |
|\ | |||||
| * | Small cleanup | Jack Lloyd | 2018-02-21 | 1 | -3/+8 |
| | | |||||
| * | Minimize header dependencies | Jack Lloyd | 2018-02-21 | 1 | -1/+2 |
| | | |||||
| * | Expose EC_Group::a_is_minus_3 | Jack Lloyd | 2018-02-21 | 2 | -1/+15 |
| | | |||||
| * | New API for blinded ECC point multiplication | Jack Lloyd | 2018-02-21 | 10 | -44/+87 |
| | | | | | | | | No shared state | ||||
* | | Fix incorrect check in DL key check | Jack Lloyd | 2018-02-22 | 1 | -6/+3 |
| | | | | | | | | get_q returns zero instead of throwing if q is not set | ||||
* | | Remove unused include [ci skip] | Jack Lloyd | 2018-02-22 | 1 | -1/+0 |
|/ | |||||
* | Add some additional error checking to DL_Group | Jack Lloyd | 2018-02-20 | 1 | -0/+6 |
| | |||||
* | Fix validation of SRP groups | Jack Lloyd | 2018-02-19 | 2 | -12/+24 |
| | | | | | For whatever reason in the SRP groups g generates the group mod p rather than the subgroup of size q. | ||||
* | Remove PK_Ops::Decryption_with_EME::max_raw_input_bits | Jack Lloyd | 2018-02-19 | 3 | -5/+0 |
| | | | | | Unused and not exposed to higher levels. RSA and ElGamal both check their inputs vs the system parameters (n, p) after decoding. | ||||
* | Merge GH #1454 Used shared_ptr repr for DL_Group | Jack Lloyd | 2018-02-19 | 10 | -788/+617 |
|\ | |||||
| * | Small fixes | Jack Lloyd | 2018-02-19 | 5 | -21/+29 |
| | | |||||
| * | Use new DL_Group functions | Jack Lloyd | 2018-02-19 | 5 | -78/+85 |
| | | |||||
| * | Add shared_ptr for DL_Group state | Jack Lloyd | 2018-02-19 | 3 | -691/+510 |
| | | | | | | | | Add precomputations for mod-p math and g^x%p calcualations. | ||||
| * | Move allocator initializer RAII class to mem_ops.h | Jack Lloyd | 2018-02-19 | 1 | -5/+0 |
| | | | | | | | | May be needed elsewhere | ||||
* | | Merge GH #1448 Support custom curves in TLS handshake | Jack Lloyd | 2018-02-19 | 1 | -3/+0 |
|\ \ | |/ |/| | |||||
| * | Remove house curve support | Jack Lloyd | 2018-02-13 | 1 | -3/+0 |
| | | |||||
* | | Further simplifications in SM2 code | Jack Lloyd | 2018-02-18 | 2 | -14/+14 |
| | | |||||
* | | Add point_multiply operation to EC_Group | Jack Lloyd | 2018-02-18 | 7 | -6/+19 |
| | | | | | | | | Allows precomputations in the future. | ||||
* | | Add functions to reduce integers mod the order to EC_Group | Jack Lloyd | 2018-02-18 | 7 | -162/+196 |
| | | | | | | | | | | | | This allows calculating the Barett reduction params just once, when the group is initialized, then sharing them across all operations which use that group. | ||||
* | | Tighten up RSA key validity tests | Jack Lloyd | 2018-02-13 | 1 | -3/+7 |
| | | | | | | | | They allowed even e, another leftover from Rabin-Williams | ||||
* | | Remove handling of even e in RSA keygen | Jack Lloyd | 2018-02-13 | 1 | -5/+2 |
|/ | | | | | This is a holdover from Rabin-Williams support and just confusing in RSA-specific code. | ||||
* | Alternate method of forcing allocator initialization | Jack Lloyd | 2018-02-04 | 1 | -1/+6 |
| | | | | That doesn't require a malloc/free every time we call ec_group_data() | ||||
* | Add hack to deal with initialization fiasco | Jack Lloyd | 2018-02-04 | 1 | -0/+6 |
| | |||||
* | Create a persistent registry for ECC group data | Jack Lloyd | 2018-02-04 | 3 | -380/+480 |
| | | | | Now a single copy is maintained of each EC group info | ||||
* | Fix deprecation warnings | Jack Lloyd | 2018-02-01 | 2 | -11/+20 |
| | |||||
* | Avoid CurveGFp in EC_Group interface | Jack Lloyd | 2018-01-31 | 3 | -21/+105 |
| | |||||
* | Use shared representation of EC_Group | Jack Lloyd | 2018-01-31 | 8 | -113/+294 |
| | | | | Hide CurveGFp with an eye for eventual removal | ||||
* | Merge GH #1420 Changes to (eventually) allow making BER_Object members private | Jack Lloyd | 2018-01-18 | 1 | -3/+3 |
|\ | |||||
| * | Prepare for making BER_Object members private | Jack Lloyd | 2018-01-18 | 1 | -3/+3 |
| | | | | | | | | | | Now there are usable accessors that allow the library to avoid using BER_Object members directly. | ||||
* | | Make PBES2 optional | Jack Lloyd | 2018-01-18 | 2 | -9/+35 |
|/ | | | | See #1416 for reasoning | ||||
* | Fix return value of PK_Encryptor::maximum_input_size | Jack Lloyd | 2018-01-13 | 1 | -1/+1 |
| | | | | Fixes GH #1410 | ||||
* | Expose SM2_compute_za | Jack Lloyd | 2018-01-12 | 1 | -6/+7 |
| | | | | | Was already supposed to be public, which is why it's declared in a public header - just missed the export annotation. | ||||
* | Add contortion to appease Sonar | Jack Lloyd | 2018-01-09 | 1 | -1/+1 |
| |