summary refs log tree commit diff
path: root/crypto/src/math/ec (follow)
Commit message (Expand)AuthorAgeFilesLines
* Patch #1 for 2.3 release-2.3.1 release/v2.3Peter Dettman2024-05-074-69/+217
* Use System.HashCode in a few placesPeter Dettman2024-01-202-47/+23
* Add some convenience methods to BigIntegerPeter Dettman2024-01-041-3/+1
* Refactor primality checksPeter Dettman2023-12-051-22/+21
* Refactor ECCurve primality checksPeter Dettman2023-12-0514-40/+46
* Create indirection layer for intrinsics supportPeter Dettman2023-11-0611-25/+38
* Refactoring in Ed448Peter Dettman2023-10-251-9/+9
* EdDSA: extra guards against faultsPeter Dettman2023-10-252-11/+17
* EdDSA: Minor verification optimizationPeter Dettman2023-09-062-0/+12
* Improve EdDSA scalar reductionPeter Dettman2023-08-224-72/+704
* Ed25519 refactoringPeter Dettman2023-08-222-6/+8
* Comment an alternative unoptimized impl for ScalarMultBasePeter Dettman2023-08-222-0/+24
* Refactoring in Math.ECPeter Dettman2023-08-185-14/+14
* Add BigInteger.ValueOf(int) and refactoringPeter Dettman2023-08-021-2/+2
* Refactoring in Math.EC.Rfc8032Peter Dettman2023-05-102-22/+2
* Use string.Create when availablePeter Dettman2023-02-271-5/+4
* Refactor WnafPeter Dettman2023-02-111-7/+6
* Misc. refactoring after bc-fips-csharp updatesPeter Dettman2023-02-041-3/+2
* Misc. cleanup after bc-fips-csharp updatesPeter Dettman2023-01-301-0/+1
* Misc. cleanup after bc-fips-csharp updatesPeter Dettman2023-01-272-7/+3
* Mark custom curves internalPeter Dettman2023-01-2414-85/+87
* Make field readonlyPeter Dettman2023-01-031-1/+1
* 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
* Tnaf perf. opts.Peter Dettman2022-12-011-47/+148
* sect233r1 perf. opts.Peter Dettman2022-11-292-37/+113
* Koblitz curve perf. opts.Peter Dettman2022-11-292-4/+16
* Tnaf perf. opts.Peter Dettman2022-11-283-146/+129
* EdDSA: match API to bc-javaPeter Dettman2022-11-272-126/+94
* Refactoring in Math.EC.Rfc8032Peter Dettman2022-11-276-122/+139
* Refactoring in Math.EC.Rfc8032Peter Dettman2022-11-262-91/+124
* EdDSA: Hold decoded pubilc point in public keysPeter Dettman2022-11-264-116/+845
* Refactoring in Math.EC.Rfc8032Peter Dettman2022-11-266-31/+35
* Code cleanupPeter Dettman2022-11-253-3/+0
* Ed448: cofactored verificationPeter Dettman2022-11-256-1143/+1387
* Ed25519: cofactored verificationPeter Dettman2022-11-245-505/+1009
* Ed448: Reject small order public keysPeter Dettman2022-11-201-17/+48
* Ed25519: Reject small order public keysPeter Dettman2022-11-201-13/+50
* Refactoring in Math.EC.Rfc8032Peter Dettman2022-11-202-15/+48
* Factor Codec out of EdDSAPeter Dettman2022-11-203-403/+290
* Factor Wnaf out of EdDSAPeter Dettman2022-11-203-210/+118
* EdDsa: add basepoint multiples to support scalar splittingPeter Dettman2022-11-192-33/+101
* Refactoring in Math.ECPeter Dettman2022-11-192-19/+11
* EdDSA improvementsPeter Dettman2022-11-174-85/+849
* BigInteger direct conversion to Span<uint>Peter Dettman2022-11-132-11/+21
* X448 perf. opts.Peter Dettman2022-11-131-0/+181
* X25519 perf. opts.Peter Dettman2022-11-131-8/+190
* Refactoring in Pqc.Crypto.CmcePeter Dettman2022-11-121-1/+1
* Make LongArray a struct, refactorPeter Dettman2022-11-042-104/+59
* Xor methods in Nat classesPeter Dettman2022-10-251-16/+4
* Various cleanupPeter Dettman2022-10-2312-12/+0
* Complete SecureRandom refactoringPeter Dettman2022-10-233-9/+5
* Change method names in IXofPeter Dettman2022-10-111-9/+9
* Span usage in Math.RawPeter Dettman2022-10-072-6/+13
* Fix extraneous usingPeter Dettman2022-10-061-1/+0
* Refactor stackalloc usagePeter Dettman2022-10-062-2/+8
* Delete experimental codePeter Dettman2022-10-051-360/+0
* Span-based variants for XDH/EdDSAPeter Dettman2022-10-056-39/+304
* Save heap allocationsPeter Dettman2022-10-041-1/+7
* Span-based variants for XDH/EdDSAPeter Dettman2022-10-046-2/+647
* Fix parameter namePeter Dettman2022-10-041-11/+11
* Span-based variant of ECCurve.DecodePointPeter Dettman2022-10-021-43/+120
* Support encoding without allocationPeter Dettman2022-10-022-1/+89
* Span-based variant of IRawAgreement.CalculateAgreementPeter Dettman2022-10-014-1/+717
* 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
* LongArray cleanup and refactoringPeter Dettman2022-07-182-1056/+186
* Use static classes and 'using' aliasesPeter Dettman2022-07-056-18/+12
* Ed448 updates from bc-javaPeter Dettman2022-07-051-35/+37
* Ed448 cleanupPeter Dettman2022-07-042-99/+105
* Ed25519 overhaulPeter Dettman2022-07-041-237/+277
* Rework EdDSA precomputationsPeter Dettman2022-07-012-280/+375
* Use struct for point typesPeter Dettman2022-06-302-221/+255
* Refactoring around PlatformPeter Dettman2022-06-291-1/+1
* Generics migration in Crmf, Crypto, MathPeter Dettman2022-06-282-35/+27
* Remove bridging version of Curve25519Peter Dettman2022-06-244-983/+0
* Some modern syntax updatesPeter Dettman2022-06-242-3/+3
* Simplify attributesPeter Dettman2022-06-242-3/+3
* Code cleanupPeter Dettman2022-06-222-3/+3
* ObsoleteAttribute cleanupPeter Dettman2022-06-222-136/+25
* Remove per-ECPoint compressionPeter Dettman2022-06-2166-1329/+570
* ObsoleteAttribute cleanupPeter Dettman2022-06-2111-355/+0
* minor corrections, updated ECPointTestDavid Hook2022-03-231-3/+6
* added RSA/EC checksDavid Hook2022-03-231-1/+81
* Small performance optimization for important curvesPeter Dettman2022-02-0512-163/+281
* Rewrite ScalarMult methodsPeter Dettman2021-12-012-53/+52
* Cleanup after bc-fips-csharp updatesPeter Dettman2021-08-072-6/+6
* EdDSA: Faster pub key validationPeter Dettman2021-02-112-71/+65
* EdDSA public key validationPeter Dettman2021-02-104-6/+217
* Latest XDH, EdDSA updates from bc-javaPeter Dettman2020-10-185-515/+938
* ECC: Binary field perf. opt.Peter Dettman2020-09-2111-287/+518
* Fixed loop count for BigInteger conversionPeter Dettman2020-09-1111-11/+11
* 'safegcd' modular inversionPeter Dettman2020-09-0418-739/+159
* Remove unnecessary lockingPeter Dettman2020-09-041-7/+6
* SpellingPeter Dettman2020-07-1719-38/+38
* Fermat inversion for all custom curvesPeter Dettman2020-07-0732-97/+1075
* EC updates from bc-javaPeter Dettman2020-07-0412-26/+463
* Blind the inversion when normalizingPeter Dettman2020-07-041-6/+24
* Methods for generating random FEsPeter Dettman2020-07-041-6/+85
* Mark methods as "Var" for clarityPeter Dettman2020-02-202-6/+6
* Mark several EC multipliers as obsoletePeter Dettman2020-02-209-7/+30
* Port of X25519/X448 field updates from bc-javaPeter Dettman2020-01-302-25/+39
* Port of strict hex decoding from bc-javaPeter Dettman2019-09-0944-83/+83
* Add sanity checks on scalar mult. outputsPeter Dettman2019-08-293-10/+116
* Fix circular dependence of staticsPeter Dettman2019-08-1027-39/+51
* Add non-constant-time variant to ECLookupTablePeter Dettman2019-08-0937-149/+852
* EdDSA refactoringPeter Dettman2019-08-044-34/+46
* Implement promotion for ECPoint precomputationsPeter Dettman2019-08-043-7/+128
* Improve caching behaviour for algorithms using endomorphismsPeter Dettman2019-08-035-19/+179
* EC wNAF-related updates from bc-javaPeter Dettman2019-08-024-59/+172
* Add experimental support for GLV Type A endomorphismsPeter Dettman2019-08-029-39/+270
* Provide a constant-time zero testPeter Dettman2019-08-022-4/+18
* EC updates from bc-javaPeter Dettman2019-08-0121-26/+399
* 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
* Fixes and tidying up for releasePeter Dettman2019-01-312-2/+2
* Use Edwards internals for X25519/X448 public key calculationsPeter Dettman2018-10-224-249/+49
* Add GeneratePublicKey method for completenessPeter Dettman2018-10-222-0/+10
* Move XDH/EdDSA key generation into low-levelPeter Dettman2018-10-144-0/+31
* Replace MethodImpl with lockPeter Dettman2018-10-094-205/+213
* RFC 7748: Exclude all-zeroes agreement valuePeter Dettman2018-10-062-0/+16
* RFC 8032: Avoid unnecessary doublings in precomputationPeter Dettman2018-09-252-4/+10
* Fix ed25519 ignoring the public key offsetPeter Dettman2018-09-211-1/+1
* Higher-level API support for Ed25519/Ed448/X25519/X448Peter Dettman2018-09-212-0/+13
* RefactoringPeter Dettman2018-09-201-6/+6
* Reduce single-bit extractions from scalarsPeter Dettman2018-09-142-5/+8
* RFC 8032: Implement Ed25519ctx, Ed25519ph, Ed448ph variantsPeter Dettman2018-09-142-150/+337
* RFC 7748: Export size constants for scalars, pointsPeter Dettman2018-09-142-0/+6
* EC-related updates from bc-javaPeter Dettman2018-07-1034-328/+630
* Add Ed25519 and Ed448 from RFC 8032Peter Dettman2018-07-086-33/+2253
* Remove debugging codePeter Dettman2018-04-171-12/+0
* Add X25519 and X448 from RFC 7748Peter Dettman2018-04-174-0/+1928
* Cache-safety for EC lookup tablesPeter Dettman2018-04-1548-75/+2175
* Avoid infinity appearing in lookup table for FixedPointCombMultiplierPeter Dettman2017-09-173-5/+17
* 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
* 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
* Clean up old comments in binary custom curve codePeter Dettman2017-02-1711-73/+6
* Fix possible NPE when cofactor != 1 (from bc-java)Peter Dettman2016-11-101-1/+1
* Additional temp values in reductionPeter Dettman2016-02-022-6/+8
* Optimized Sqrt and Trace for custom binary curvesPeter Dettman2015-12-2818-9/+302
* Save an inversion in ECDSA verification for common casesPeter Dettman2015-11-191-0/+11
* http://www.bouncycastle.org/jira/browse/BMA-82Peter Dettman2015-10-182-4/+2
* Consolidate all F2m decompression methods into AbstractF2mPeter Dettman2015-10-1419-1735/+96
* 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-099-8/+11
* F2mCurve cleanupPeter Dettman2015-03-261-5/+13
* 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
* F2m changes in preparation for custom binary curvesPeter Dettman2015-03-235-376/+354
* Math.Raw support for custom binary curvesPeter Dettman2015-03-2336-4731/+45
* Reduce memory usage of INTERLEAVE2_TABLEPeter Dettman2015-03-231-1/+1
* Add SquarePow method to ECFieldElementPeter Dettman2015-03-231-8/+16
* Port of WNaf precomp optimization from JavaPeter Dettman2015-02-083-36/+140
* Check point against cofactor after decompressionPeter Dettman2014-07-252-5/+10
* Add automatic EC point validation for decoded points and for multiplier outputsPeter Dettman2014-07-2323-463/+373
* Use AddTo/SubFrom and add a generic modular-addition methodPeter Dettman2014-07-211-7/+17
* Fix inverted sense of "negs" in ImplSumOfMultiplies (porting error)Peter Dettman2014-06-301-1/+1
* Check the low-bit of y is consistent with the header byte in hybrid EC point ...Peter Dettman2014-05-191-6/+20
* Check for low-weight numbers in DH parameter generation and RSA key generationPeter Dettman2014-04-111-0/+11
* Fixed-point-comb uses existing precomputation info if it's for the same _or g... release-1.8.0-beta.3Peter Dettman2014-04-103-9/+24
* Optimize Curve25519 point operationsPeter Dettman2014-03-212-111/+214
* Port of latest Curve25519 stuff from Java buildPeter Dettman2014-03-175-5/+604
* Take advantage of GLV (when available) in sum-of-multiplies methodsPeter Dettman2014-03-141-7/+89
* Optimize squaring by inlining the ShiftUpBitPeter Dettman2014-03-143-118/+262
* GlvMultiplier.cs missed in last commitPeter Dettman2014-03-141-0/+40
* Port GLV implementation from JavaPeter Dettman2014-03-1310-9/+296
* Add ScaleX, ScaleY methods to ECPointPeter Dettman2014-03-131-0/+74
* Add new CreateRawPoint method on ECCurve that includes the Z coordsPeter Dettman2014-03-139-0/+52
* All subclasses to control the choice of width to usePeter Dettman2014-03-121-2/+6
* 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
* Fix infinite loop issue when there is no sqrtPeter Dettman2014-03-041-30/+55
* Remove some length-specific methods in favour of the Nat classPeter Dettman2014-03-0412-558/+487
* 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-0315-187/+634
* 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-272-2/+112
* 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
* Add extra arg to AddWord() and add variant of Copy()Peter Dettman2014-02-262-6/+12
* Optimization for custom curve reduction when only a few bits need reducing; u...Peter Dettman2014-02-2615-30/+205
* Optimize Sqrt() for custom curve secp224k1Peter Dettman2014-02-261-2/+87
* Refactoring in Sqrt()Peter Dettman2014-02-261-14/+6
* Add custom curve for secp224k1Peter Dettman2014-02-264-0/+675
* Special handling for zero-valued scalarsPeter Dettman2014-02-261-20/+38
* Refactoring in Sqrt()Peter Dettman2014-02-251-13/+12
* Add custom curve for secp224r1 (P-224)Peter Dettman2014-02-255-0/+1980
* Implement the 8m + 5 case from Pocklington's sqrt algorithm (seems to be only...Peter Dettman2014-02-251-7/+45
* Refactoring in Nat* classesPeter Dettman2014-02-246-101/+99
* Use ToBigInteger() for A/B comparison in curve equalityPeter Dettman2014-02-191-4/+4
* Delete old commented-out codePeter Dettman2014-02-091-476/+0
* Provide SumOfMultiplies as an arbitrary-length generalization of SumOfTwoMult...Peter Dettman2014-02-091-0/+91
* Fix casts to satisfy .NET 1.1Peter Dettman2014-02-071-2/+2
* Use parallel wNAF for sumOfTwoMultipliesPeter Dettman2014-02-071-4/+69
* Small optimization for width 4Peter Dettman2014-02-071-17/+19
* Index precomputation info by namePeter Dettman2014-02-075-14/+36
* Fix incomplete portPeter Dettman2014-02-061-1/+1
* A few improvements to the fixed-point combPeter Dettman2014-02-062-10/+28
* Initial work on the Curve25519 field implementationPeter Dettman2014-02-063-19/+299
* Initial work on a fixed-point comb multiplierPeter Dettman2014-02-043-0/+126
* For repeated doublings, use jacobian-modified coordinates internally irrespec...Peter Dettman2014-02-041-1/+83
* Implement Karatsuba multiply/square on 512-bit numbers and use as basis for P...Peter Dettman2014-02-034-63/+577
* Minor optimization for secp521r1 point doublingPeter Dettman2014-02-023-5/+48
* Add custom curve for secp521r1 (P-521)Peter Dettman2014-02-017-109/+734
* Add support for delayed modular reductionPeter Dettman2014-02-013-35/+314
* ReformattingPeter Dettman2014-02-011-2/+0
* ReformatPeter Dettman2014-02-013-6/+0
* Fix IncExtPeter Dettman2014-02-011-1/+1
* 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-013-6/+6
* Make Dec/Inc/IncExt methods work at the full length and change assertions acc...Peter Dettman2014-01-313-57/+55
* 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
* Fix GetBit range-checkPeter Dettman2014-01-301-1/+1
* 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
* Cleanup various warnings, and reformattingPeter Dettman2014-01-292-2/+3
* Remove unnecessary using statementPeter Dettman2014-01-281-2/+0