Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ECC: Binary field perf. opt. | Peter Dettman | 2020-09-21 | 11 | -287/+518 |
| | |||||
* | Fixed loop count for BigInteger conversion | Peter Dettman | 2020-09-11 | 11 | -11/+11 |
| | | | | - remove length-specific variants of FromBigInteger | ||||
* | 'safegcd' modular inversion | Peter Dettman | 2020-09-04 | 13 | -716/+13 |
| | |||||
* | Spelling | Peter Dettman | 2020-07-17 | 18 | -36/+36 |
| | |||||
* | Fermat inversion for all custom curves | Peter Dettman | 2020-07-07 | 32 | -97/+1075 |
| | | | | - also customized random FE gen | ||||
* | EC updates from bc-java | Peter Dettman | 2020-07-04 | 12 | -26/+463 |
| | |||||
* | Port of strict hex decoding from bc-java | Peter Dettman | 2019-09-09 | 44 | -83/+83 |
| | |||||
* | Fix circular dependence of statics | Peter Dettman | 2019-08-10 | 27 | -39/+51 |
| | |||||
* | Add non-constant-time variant to ECLookupTable | Peter Dettman | 2019-08-09 | 32 | -135/+776 |
| | |||||
* | EC updates from bc-java | Peter Dettman | 2019-08-01 | 18 | -0/+315 |
| | | | | | | | - use half-trace when possible (odd m) for decompression/validation - provide field-specific half-trace methods for custom curves - clarify the logic of point-order testing for binary curves - expand test cases for invalid points | ||||
* | Rework some of the ImplSquare methods in custom binary curves | Peter Dettman | 2019-07-31 | 7 | -25/+22 |
| | |||||
* | Accept only properly-sized BigInteger (no auto-reduction) | Peter Dettman | 2019-07-31 | 9 | -27/+9 |
| | |||||
* | Fix field reduction for custom secp128r1 curve | Peter Dettman | 2019-07-29 | 1 | -0/+5 |
| | | | | - see https://github.com/bcgit/bc-java/issues/566 | ||||
* | EC-related updates from bc-java | Peter Dettman | 2018-07-10 | 22 | -22/+67 |
| | |||||
* | Cache-safety for EC lookup tables | Peter Dettman | 2018-04-15 | 40 | -60/+1947 |
| | | | | | | - creation of cache-safe lookup tables delegated to ECCurve - FixedPointCombMultiplier uses cache-safe lookup table - FixedPointCombMultiplier avoids BigInteger.TestBit | ||||
* | Use slightly improved addition chain for sm2p256v1 field sqrt | Peter Dettman | 2017-06-16 | 1 | -22/+20 |
| | |||||
* | Initial implementation of SM2 elliptic curve | Peter Dettman | 2017-06-03 | 4 | -0/+876 |
| | | | | | - includes custom curve code - add lots of OIDs from GM standard | ||||
* | Fix reductions for custom secp128r1 field | Peter Dettman | 2017-06-03 | 1 | -6/+6 |
| | |||||
* | Fix bug in SecT571KPoint.Add with order-2 points (lambda-projective). | Peter Dettman | 2017-02-17 | 1 | -1/+1 |
| | | | | - shouldn't affect crypto operations in the group | ||||
* | Clean up old comments in binary custom curve code | Peter Dettman | 2017-02-17 | 11 | -73/+6 |
| | |||||
* | Additional temp values in reduction | Peter Dettman | 2016-02-02 | 2 | -6/+8 |
| | |||||
* | Optimized Sqrt and Trace for custom binary curves | Peter Dettman | 2015-12-28 | 18 | -9/+302 |
| | |||||
* | Consolidate all F2m decompression methods into AbstractF2m | Peter Dettman | 2015-10-14 | 18 | -1636/+1 |
| | |||||
* | Use Itoh-Tsujii inversion (with extended bases for some cases) | Peter Dettman | 2015-08-13 | 18 | -18/+376 |
| | |||||
* | Latest custom EC updates from Java API | Peter Dettman | 2015-06-19 | 13 | -12/+1410 |
| | |||||
* | Add range checks to F2m field elements | Peter Dettman | 2015-06-09 | 8 | -8/+8 |
| | |||||
* | Add custom implementations of SEC binary curves | Peter Dettman | 2015-03-24 | 48 | -0/+11434 |
| | |||||
* | Custom curves for secp128r1 and secp160r1/r2/k1 | Peter Dettman | 2015-03-24 | 14 | -0/+2615 |
| | |||||
* | Math.Raw support for custom binary curves | Peter Dettman | 2015-03-23 | 33 | -3534/+44 |
| | | | | - Also migrate the 'raw' stuff into Math.Raw following Java build | ||||
* | Add automatic EC point validation for decoded points and for multiplier outputs | Peter Dettman | 2014-07-23 | 18 | -351/+27 |
| | |||||
* | Optimize Curve25519 point operations | Peter Dettman | 2014-03-21 | 2 | -111/+214 |
| | |||||
* | Port of latest Curve25519 stuff from Java build | Peter Dettman | 2014-03-17 | 4 | -3/+602 |
| | |||||
* | Optimize squaring by inlining the ShiftUpBit | Peter Dettman | 2014-03-14 | 3 | -118/+262 |
| | |||||
* | Add new CreateRawPoint method on ECCurve that includes the Z coords | Peter Dettman | 2014-03-13 | 8 | -0/+40 |
| | |||||
* | Optimize some of the addition/doubling internals | Peter Dettman | 2014-03-10 | 8 | -92/+114 |
| | |||||
* | Add MultiplyAddToExt method to fields | Peter Dettman | 2014-03-10 | 6 | -2/+71 |
| | |||||
* | Refactor temporary variables in reductions | Peter Dettman | 2014-03-10 | 3 | -28/+30 |
| | |||||
* | Inline Reduce32 calls and registerize some values to avoid extra writes | Peter Dettman | 2014-03-10 | 2 | -12/+53 |
| | |||||
* | Use more specific Nat methods | Peter Dettman | 2014-03-10 | 1 | -2/+2 |
| | |||||
* | Minor improvement to reduction release-1.8.0-beta.2 | Peter Dettman | 2014-03-06 | 3 | -9/+15 |
| | |||||
* | Improved reduction | Peter Dettman | 2014-03-05 | 4 | -63/+101 |
| | |||||
* | Reduction optimization for secp256r1 | Peter Dettman | 2014-03-05 | 1 | -5/+73 |
| | |||||
* | Use Nat methods instead of specific Nat*.*Ext methods | Peter Dettman | 2014-03-05 | 10 | -84/+44 |
| | | | | Reduction improvements in curve25519 and secp256r1 | ||||
* | Fix infinite loop issue when there is no sqrt | Peter Dettman | 2014-03-04 | 1 | -30/+55 |
| | | | | Add test case to check that Sqrt returns null for non-squares | ||||
* | Remove some length-specific methods in favour of the Nat class | Peter Dettman | 2014-03-04 | 11 | -554/+282 |
| | | | | | Add more method variations to Nat Use customized reductions in various fields | ||||
* | Just use shift methods from Nat class evverywhere | Peter Dettman | 2014-03-04 | 10 | -271/+25 |
| | |||||
* | Refactoring in the Nat* classes and some new method variations | Peter Dettman | 2014-03-03 | 14 | -134/+335 |
| | | | | Improved reduction in some fields | ||||
* | Share single temp variable across calls in Sqrt() | Peter Dettman | 2014-03-03 | 1 | -10/+9 |
| | |||||
* | Refactor reduction methods and change scope of PExt fields | Peter Dettman | 2014-03-03 | 7 | -115/+103 |
| | |||||
* | Add/rename MulAddTo variations | Peter Dettman | 2014-03-03 | 3 | -2/+167 |
| | |||||
* | Allow for (very rare) cases where the Sqrt() algorithm needs to retry | Peter Dettman | 2014-03-02 | 1 | -36/+40 |
| | |||||
* | Avoid a few negations in Sqrt() | Peter Dettman | 2014-02-28 | 1 | -7/+8 |
| | |||||
* | Optimized Sqrt() for custom secp224r1 | Peter Dettman | 2014-02-27 | 1 | -2/+86 |
| | |||||
* | Equality/hashcode should ignore "excess" words | Peter Dettman | 2014-02-27 | 11 | -23/+53 |
| | |||||
* | Optimize Sqrt() for custom secp384r1 | Peter Dettman | 2014-02-27 | 1 | -2/+56 |
| | |||||
* | Optimize final adjustments in Reduce() | Peter Dettman | 2014-02-27 | 1 | -13/+4 |
| | |||||
* | Simplify Twice() | Peter Dettman | 2014-02-27 | 1 | -7/+3 |
| | |||||
* | Add custom curve for secp384r1 (P-384) | Peter Dettman | 2014-02-27 | 5 | -0/+810 |
| | |||||
* | Optimize final adjustments in Reduce() | Peter Dettman | 2014-02-27 | 1 | -11/+8 |
| | |||||
* | Round out the Nat192 methods | Peter Dettman | 2014-02-26 | 7 | -20/+275 |
| | | | | Use Nat*.Copy methods in fields | ||||
* | Add extra arg to AddWord() and add variant of Copy() | Peter Dettman | 2014-02-26 | 1 | -2/+2 |
| | |||||
* | Optimization for custom curve reduction when only a few bits need reducing; ↵ | Peter Dettman | 2014-02-26 | 15 | -30/+205 |
| | | | | used to delay reduction in point doubling. | ||||
* | Optimize Sqrt() for custom curve secp224k1 | Peter Dettman | 2014-02-26 | 1 | -2/+87 |
| | |||||
* | Add custom curve for secp224k1 | Peter Dettman | 2014-02-26 | 4 | -0/+675 |
| | |||||
* | Add custom curve for secp224r1 (P-224) | Peter Dettman | 2014-02-25 | 5 | -0/+1980 |
| | |||||
* | Refactoring in Nat* classes | Peter Dettman | 2014-02-24 | 5 | -91/+55 |
| | |||||
* | Initial work on the Curve25519 field implementation | Peter Dettman | 2014-02-06 | 2 | -19/+288 |
| | |||||
* | Implement Karatsuba multiply/square on 512-bit numbers and use as basis for ↵ | Peter Dettman | 2014-02-03 | 3 | -31/+512 |
| | | | | P-521 multiply/square | ||||
* | Minor optimization for secp521r1 point doubling | Peter Dettman | 2014-02-02 | 2 | -5/+16 |
| | |||||
* | Add custom curve for secp521r1 (P-521) | Peter Dettman | 2014-02-01 | 4 | -0/+679 |
| | |||||
* | Reformatting | Peter Dettman | 2014-02-01 | 1 | -2/+0 |
| | |||||
* | Reformat | Peter Dettman | 2014-02-01 | 3 | -6/+0 |
| | |||||
* | Rename locals in Reduce() methods | Peter Dettman | 2014-02-01 | 2 | -33/+33 |
| | |||||
* | Optimize Reduce() method | Peter Dettman | 2014-02-01 | 1 | -8/+16 |
| | |||||
* | Optimize Reduce() method | Peter Dettman | 2014-02-01 | 1 | -6/+17 |
| | |||||
* | Fix Nat*.Gte methods | Peter Dettman | 2014-02-01 | 2 | -4/+4 |
| | |||||
* | Make Dec/Inc/IncExt methods work at the full length and change assertions ↵ | Peter Dettman | 2014-01-31 | 2 | -24/+20 |
| | | | | accordingly | ||||
* | Avoid modifying the input to the Reduce() methods | Peter Dettman | 2014-01-31 | 4 | -50/+48 |
| | |||||
* | Improve reduction speed for secp192k1 and secp256k1 custom fields | Peter Dettman | 2014-01-31 | 4 | -16/+126 |
| | |||||
* | Add custom curves for secp192k1 and secp192r1 (P-192) | Peter Dettman | 2014-01-31 | 9 | -0/+2169 |
| | |||||
* | Refactoring | Peter Dettman | 2014-01-31 | 5 | -10/+8 |
| | |||||
* | Unroll MulWordAddExt | Peter Dettman | 2014-01-31 | 1 | -8/+24 |
| | |||||
* | Fix final step of Reduce() | Peter Dettman | 2014-01-30 | 1 | -10/+9 |
| | |||||
* | Formatting | Peter Dettman | 2014-01-30 | 1 | -10/+0 |
| | |||||
* | Take advantage of special prime modulus to optimize sqrt | Peter Dettman | 2014-01-30 | 2 | -4/+107 |
| | |||||
* | Add SquareN to perform repeated modular squaring | Peter Dettman | 2014-01-30 | 2 | -0/+30 |
| | |||||
* | Port point-detaching stuff from Java | Peter Dettman | 2014-01-28 | 2 | -0/+10 |
| | |||||
* | Port from Java order/cofactor for all curves | Peter Dettman | 2014-01-28 | 2 | -4/+4 |
| | |||||
* | Make class internal | Peter Dettman | 2014-01-26 | 1 | -1/+1 |
| | |||||
* | Port custom curve for secp256r1 from Java | Peter Dettman | 2014-01-26 | 4 | -0/+710 |
| | |||||
* | Tidy up comments | Peter Dettman | 2014-01-26 | 2 | -6/+2 |
| | |||||
* | Port custom curve for secp256k1 from Java | Peter Dettman | 2014-01-26 | 5 | -0/+1434 |