summary refs log tree commit diff
path: root/crypto/src/math/ec/custom (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Refactor ECCurve primality checksPeter Dettman2023-12-0513-13/+13
|
* Create indirection layer for intrinsics supportPeter Dettman2023-11-069-18/+24
|
* Mark custom curves internalPeter Dettman2023-01-2413-13/+13
|
* Binary curve perf. opts.Peter Dettman2022-12-0317-165/+2008
|
* SecT233Field perf. opts.Peter Dettman2022-12-011-33/+219
|
* Binary curve perf. opts.Peter Dettman2022-12-0124-204/+454
|
* sect233k1 perf. opts.Peter Dettman2022-12-011-47/+62
|
* sect233r1 perf. opts.Peter Dettman2022-11-292-37/+113
|
* Refactoring in Math.EC.Rfc8032Peter Dettman2022-11-263-3/+3
|
* Refactoring in Pqc.Crypto.CmcePeter Dettman2022-11-121-1/+1
|
* Xor methods in Nat classesPeter Dettman2022-10-251-16/+4
|
* Various cleanupPeter Dettman2022-10-2312-12/+0
|
* Complete SecureRandom refactoringPeter Dettman2022-10-231-1/+2
|
* Perf. opts. in custom binary curvesPeter Dettman2022-08-047-98/+252
|
* Use intrinsics in custom binary curvesPeter Dettman2022-08-029-0/+154
|
* More precise preprocessor directivesPeter Dettman2022-07-191-2/+2
|
* Use intrinsics in several placesPeter Dettman2022-07-191-0/+16
|
* Factor out Unshuffle methodsPeter Dettman2022-07-189-84/+24
|
* Remove bridging version of Curve25519Peter Dettman2022-06-244-983/+0
|
* Code cleanupPeter Dettman2022-06-221-1/+1
|
* Remove per-ECPoint compressionPeter Dettman2022-06-2164-1185/+479
|
* Small performance optimization for important curvesPeter Dettman2022-02-0512-163/+281
|
* ECC: Binary field perf. opt.Peter Dettman2020-09-2111-287/+518
|
* Fixed loop count for BigInteger conversionPeter Dettman2020-09-1111-11/+11
| | | | - remove length-specific variants of FromBigInteger
* 'safegcd' modular inversionPeter Dettman2020-09-0413-716/+13
|
* SpellingPeter Dettman2020-07-1718-36/+36
|
* Fermat inversion for all custom curvesPeter Dettman2020-07-0732-97/+1075
| | | | - also customized random FE gen
* EC updates from bc-javaPeter Dettman2020-07-0412-26/+463
|
* Port of strict hex decoding from bc-javaPeter Dettman2019-09-0944-83/+83
|
* Fix circular dependence of staticsPeter Dettman2019-08-1027-39/+51
|
* Add non-constant-time variant to ECLookupTablePeter Dettman2019-08-0932-135/+776
|
* EC updates from bc-javaPeter Dettman2019-08-0118-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 curvesPeter Dettman2019-07-317-25/+22
|
* Accept only properly-sized BigInteger (no auto-reduction)Peter Dettman2019-07-319-27/+9
|
* Fix field reduction for custom secp128r1 curvePeter Dettman2019-07-291-0/+5
| | | | - see https://github.com/bcgit/bc-java/issues/566
* EC-related updates from bc-javaPeter Dettman2018-07-1022-22/+67
|
* Cache-safety for EC lookup tablesPeter Dettman2018-04-1540-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 sqrtPeter Dettman2017-06-161-22/+20
|
* Initial implementation of SM2 elliptic curvePeter Dettman2017-06-034-0/+876
| | | | | - includes custom curve code - add lots of OIDs from GM standard
* Fix reductions for custom secp128r1 fieldPeter Dettman2017-06-031-6/+6
|
* Fix bug in SecT571KPoint.Add with order-2 points (lambda-projective).Peter Dettman2017-02-171-1/+1
| | | | - shouldn't affect crypto operations in the group
* Clean up old comments in binary custom curve codePeter Dettman2017-02-1711-73/+6
|
* Additional temp values in reductionPeter Dettman2016-02-022-6/+8
|
* Optimized Sqrt and Trace for custom binary curvesPeter Dettman2015-12-2818-9/+302
|
* Consolidate all F2m decompression methods into AbstractF2mPeter Dettman2015-10-1418-1636/+1
|
* Use Itoh-Tsujii inversion (with extended bases for some cases)Peter Dettman2015-08-1318-18/+376
|
* Latest custom EC updates from Java APIPeter Dettman2015-06-1913-12/+1410
|
* Add range checks to F2m field elementsPeter Dettman2015-06-098-8/+8
|
* Add custom implementations of SEC binary curvesPeter Dettman2015-03-2448-0/+11434
|
* Custom curves for secp128r1 and secp160r1/r2/k1Peter Dettman2015-03-2414-0/+2615
|
* Math.Raw support for custom binary curvesPeter Dettman2015-03-2333-3534/+44
| | | | - Also migrate the 'raw' stuff into Math.Raw following Java build
* Add automatic EC point validation for decoded points and for multiplier outputsPeter Dettman2014-07-2318-351/+27
|
* Optimize Curve25519 point operationsPeter Dettman2014-03-212-111/+214
|
* Port of latest Curve25519 stuff from Java buildPeter Dettman2014-03-174-3/+602
|
* Optimize squaring by inlining the ShiftUpBitPeter Dettman2014-03-143-118/+262
|
* Add new CreateRawPoint method on ECCurve that includes the Z coordsPeter Dettman2014-03-138-0/+40
|
* Optimize some of the addition/doubling internalsPeter Dettman2014-03-108-92/+114
|
* Add MultiplyAddToExt method to fieldsPeter Dettman2014-03-106-2/+71
|
* Refactor temporary variables in reductionsPeter Dettman2014-03-103-28/+30
|
* Inline Reduce32 calls and registerize some values to avoid extra writesPeter Dettman2014-03-102-12/+53
|
* Use more specific Nat methodsPeter Dettman2014-03-101-2/+2
|
* Minor improvement to reduction release-1.8.0-beta.2Peter Dettman2014-03-063-9/+15
|
* Improved reductionPeter Dettman2014-03-054-63/+101
|
* Reduction optimization for secp256r1Peter Dettman2014-03-051-5/+73
|
* Use Nat methods instead of specific Nat*.*Ext methodsPeter Dettman2014-03-0510-84/+44
| | | | Reduction improvements in curve25519 and secp256r1
* Fix infinite loop issue when there is no sqrtPeter Dettman2014-03-041-30/+55
| | | | Add test case to check that Sqrt returns null for non-squares
* Remove some length-specific methods in favour of the Nat classPeter Dettman2014-03-0411-554/+282
| | | | | Add more method variations to Nat Use customized reductions in various fields
* Just use shift methods from Nat class evverywherePeter Dettman2014-03-0410-271/+25
|
* Refactoring in the Nat* classes and some new method variationsPeter Dettman2014-03-0314-134/+335
| | | | Improved reduction in some fields
* Share single temp variable across calls in Sqrt()Peter Dettman2014-03-031-10/+9
|
* Refactor reduction methods and change scope of PExt fieldsPeter Dettman2014-03-037-115/+103
|
* Add/rename MulAddTo variationsPeter Dettman2014-03-033-2/+167
|
* Allow for (very rare) cases where the Sqrt() algorithm needs to retryPeter Dettman2014-03-021-36/+40
|
* Avoid a few negations in Sqrt()Peter Dettman2014-02-281-7/+8
|
* Optimized Sqrt() for custom secp224r1Peter Dettman2014-02-271-2/+86
|
* Equality/hashcode should ignore "excess" wordsPeter Dettman2014-02-2711-23/+53
|
* Optimize Sqrt() for custom secp384r1Peter Dettman2014-02-271-2/+56
|
* Optimize final adjustments in Reduce()Peter Dettman2014-02-271-13/+4
|
* Simplify Twice()Peter Dettman2014-02-271-7/+3
|
* Add custom curve for secp384r1 (P-384)Peter Dettman2014-02-275-0/+810
|
* Optimize final adjustments in Reduce()Peter Dettman2014-02-271-11/+8
|
* Round out the Nat192 methodsPeter Dettman2014-02-267-20/+275
| | | | Use Nat*.Copy methods in fields
* Add extra arg to AddWord() and add variant of Copy()Peter Dettman2014-02-261-2/+2
|
* Optimization for custom curve reduction when only a few bits need reducing; ↵Peter Dettman2014-02-2615-30/+205
| | | | used to delay reduction in point doubling.
* Optimize Sqrt() for custom curve secp224k1Peter Dettman2014-02-261-2/+87
|
* Add custom curve for secp224k1Peter Dettman2014-02-264-0/+675
|
* Add custom curve for secp224r1 (P-224)Peter Dettman2014-02-255-0/+1980
|
* Refactoring in Nat* classesPeter Dettman2014-02-245-91/+55
|
* Initial work on the Curve25519 field implementationPeter Dettman2014-02-062-19/+288
|
* Implement Karatsuba multiply/square on 512-bit numbers and use as basis for ↵Peter Dettman2014-02-033-31/+512
| | | | P-521 multiply/square
* Minor optimization for secp521r1 point doublingPeter Dettman2014-02-022-5/+16
|
* Add custom curve for secp521r1 (P-521)Peter Dettman2014-02-014-0/+679
|
* ReformattingPeter Dettman2014-02-011-2/+0
|
* ReformatPeter Dettman2014-02-013-6/+0
|
* Rename locals in Reduce() methodsPeter Dettman2014-02-012-33/+33
|
* Optimize Reduce() methodPeter Dettman2014-02-011-8/+16
|
* Optimize Reduce() methodPeter Dettman2014-02-011-6/+17
|
* Fix Nat*.Gte methodsPeter Dettman2014-02-012-4/+4
|
* Make Dec/Inc/IncExt methods work at the full length and change assertions ↵Peter Dettman2014-01-312-24/+20
| | | | accordingly
* Avoid modifying the input to the Reduce() methodsPeter Dettman2014-01-314-50/+48
|
* Improve reduction speed for secp192k1 and secp256k1 custom fieldsPeter Dettman2014-01-314-16/+126
|
* Add custom curves for secp192k1 and secp192r1 (P-192)Peter Dettman2014-01-319-0/+2169
|
* RefactoringPeter Dettman2014-01-315-10/+8
|
* Unroll MulWordAddExtPeter Dettman2014-01-311-8/+24
|
* Fix final step of Reduce()Peter Dettman2014-01-301-10/+9
|
* FormattingPeter Dettman2014-01-301-10/+0
|
* Take advantage of special prime modulus to optimize sqrtPeter Dettman2014-01-302-4/+107
|
* Add SquareN to perform repeated modular squaringPeter Dettman2014-01-302-0/+30
|
* Port point-detaching stuff from JavaPeter Dettman2014-01-282-0/+10
|
* Port from Java order/cofactor for all curvesPeter Dettman2014-01-282-4/+4
|
* Make class internalPeter Dettman2014-01-261-1/+1
|
* Port custom curve for secp256r1 from JavaPeter Dettman2014-01-264-0/+710
|
* Tidy up commentsPeter Dettman2014-01-262-6/+2
|
* Port custom curve for secp256k1 from JavaPeter Dettman2014-01-265-0/+1434