summary refs log tree commit diff
path: root/crypto/src/math (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add fast coprime testPeter Dettman2023-12-061-38/+185
|
* Refactoring in Math.Raw.NatPeter Dettman2023-12-061-37/+11
|
* Refactoring around Math.Raw.ModPeter Dettman2023-12-062-43/+76
|
* Refactor primality checksPeter Dettman2023-12-051-22/+21
|
* Refactor ECCurve primality checksPeter Dettman2023-12-0514-40/+46
|
* Misc. cleanupPeter Dettman2023-11-141-2/+2
|
* Create indirection layer for intrinsics supportPeter Dettman2023-11-0614-51/+74
|
* 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-223-6/+38
|
* Comment an alternative unoptimized impl for ScalarMultBasePeter Dettman2023-08-222-0/+24
|
* Refactoring in Math.ECPeter Dettman2023-08-185-14/+14
|
* Refactoring in BigInteger Monty codePeter Dettman2023-08-021-59/+89
|
* Add BigInteger.ValueOf(int) and refactoringPeter Dettman2023-08-022-29/+46
|
* Minor opt in Nat.ToBigIntegerPeter Dettman2023-06-081-0/+4
|
* Refactoring in Math.EC.Rfc8032Peter Dettman2023-05-102-22/+2
|
* Refactoring in Math.RawPeter Dettman2023-05-102-15/+79
|
* BigInteger construction from little-endianPeter Dettman2023-04-202-23/+177
|
* Refactoring in BigIntegerPeter Dettman2023-04-201-79/+33
|
* Add ShiftDownBits64Peter Dettman2023-03-021-0/+13
|
* Add Integers.PopCountPeter Dettman2023-03-011-16/+1
|
* 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 classes staticPeter Dettman2023-01-0912-12/+12
|
* Make field readonlyPeter Dettman2023-01-031-1/+1
|
* Binary curve perf. opts.Peter Dettman2022-12-0322-165/+2084
|
* Missing file from commitPeter Dettman2022-12-011-4/+18
|
* 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-012-49/+195
|
* 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-277-123/+140
|
* 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-2610-42/+883
|
* Code cleanupPeter Dettman2022-11-253-3/+0
|
* Ed448: cofactored verificationPeter Dettman2022-11-256-1143/+1387
| | | | | | - Perf. opts.: Pornin's basis reduction - factor out Scalar448 class - factor out ScalarUtilities class
* Ed25519: cofactored verificationPeter Dettman2022-11-245-505/+1009
| | | | | - Perf. opts.: Pornin's basis reduction - factor out Scalar25519 class
* 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
|
* Intrinsics for shufflesPeter Dettman2022-11-201-0/+44
|
* 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
|
* BigInteger implements IComparablePeter Dettman2022-11-171-1/+12
|
* EdDSA improvementsPeter Dettman2022-11-174-85/+849
| | | | | | - better guards on context values - add Verify method to public keys - reduced allocation during verification
* BigInteger changed to use uint[] internallyPeter Dettman2022-11-131-616/+420
|
* BigInteger direct conversion to Span<uint>Peter Dettman2022-11-134-37/+203
|
* 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-122-14/+28
|
* BIKE perf. opts.Peter Dettman2022-11-111-0/+63
|
* Mod minor perf. opts.Peter Dettman2022-11-101-46/+33
|
* Primes improvementsPeter Dettman2022-11-081-186/+101
|
* BigInteger improvementsPeter Dettman2022-11-081-92/+68
|
* Make LongArray a struct, refactorPeter Dettman2022-11-042-104/+59
|
* Xor methods in Nat classesPeter Dettman2022-10-253-20/+354
|
* Use MemoryMarshal.AsBytesPeter Dettman2022-10-242-12/+12
|
* Xor methodsPeter Dettman2022-10-232-10/+98
|
* Various cleanupPeter Dettman2022-10-2312-12/+0
|
* Complete SecureRandom refactoringPeter Dettman2022-10-235-21/+13
|
* Change BigInteger arbitrary random sourcePeter Dettman2022-10-231-2/+2
|
* Add Xor methods to Nat classesPeter Dettman2022-10-212-1/+171
|
* Unroll ShiftUp methodsPeter Dettman2022-10-211-29/+346
|
* Add Inverse64 methodPeter Dettman2022-10-201-1/+16
|
* Account for zOff correctlyPeter Dettman2022-10-201-1/+1
|
* Change method names in IXofPeter Dettman2022-10-111-9/+9
| | | | - distinct from IDigest methods and consistent with span-based methods
* Round out Bits methodsPeter Dettman2022-10-091-4/+61
| | | | | - AggressiveInlining - Debug guards
* More span variants in randomness classesPeter Dettman2022-10-071-3/+29
|
* Span usage in Math.RawPeter Dettman2022-10-075-109/+1055
|
* Fix extraneous usingPeter Dettman2022-10-061-1/+0
|
* Refactor stackalloc usagePeter Dettman2022-10-062-2/+8
|
* Refactor stackalloc usagePeter Dettman2022-10-061-17/+10
|
* Delete experimental codePeter Dettman2022-10-051-360/+0
|
* Span-based variants for XDH/EdDSAPeter Dettman2022-10-056-39/+304
|
* Span-bases variants for Mod methodsPeter Dettman2022-10-052-5/+342
|
* BigInteger in-place conversionsPeter Dettman2022-10-051-5/+111
|
* Save heap allocationsPeter Dettman2022-10-041-1/+7
|
* Span-based variants for XDH/EdDSAPeter Dettman2022-10-047-2/+677
|
* 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 constructor for BigIntegerPeter Dettman2022-10-021-16/+77
|
* 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
|
* FormattingPeter Dettman2022-07-241-1/+1
|
* Small GCM squaring perf. opts.Peter Dettman2022-07-191-6/+5
|
* More precise preprocessor directivesPeter Dettman2022-07-193-12/+12
|
* Use intrinsics in several placesPeter Dettman2022-07-193-21/+89
|
* Factor out Unshuffle methodsPeter Dettman2022-07-1810-84/+39
|
* LongArray cleanup and refactoringPeter Dettman2022-07-183-1097/+197
|
* 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
| | | | | | - improved performance - reduced allocation - comments and references
* Custom serializationPeter Dettman2022-07-011-2/+13
|
* 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-283-42/+34
|
* 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-223-8/+8
|
* ObsoleteAttribute cleanupPeter Dettman2022-06-222-136/+25
|
* Cleanup old build systemsPeter Dettman2022-06-211-1/+1
|
* Remove per-ECPoint compressionPeter Dettman2022-06-2166-1329/+570
|
* ObsoleteAttribute cleanupPeter Dettman2022-06-2112-386/+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
|
* Faster const-time inversionPeter Dettman2021-12-041-21/+21
|
* Rewrite ScalarMult methodsPeter Dettman2021-12-012-53/+52
|
* Cleanup after bc-fips-csharp updatesPeter Dettman2021-08-072-6/+6
|
* Add Nat448 KaratsubaPeter Dettman2021-02-111-0/+38
|
* EdDSA: Faster pub key validationPeter Dettman2021-02-112-71/+65
|
* EdDSA public key validationPeter Dettman2021-02-104-6/+217
| | | | - per NIST SP 800-186
* Refactor result normalizationPeter Dettman2020-12-081-33/+31
|
* Rework D/E range restrictionPeter Dettman2020-11-111-68/+65
|
* CleanupPeter Dettman2020-10-301-18/+0
|
* safegcd: more conservative final reductionPeter Dettman2020-10-301-44/+139
|
* Add Bits and Longs classes from bc-javaPeter Dettman2020-10-182-59/+71
|
* Latest XDH, EdDSA updates from bc-javaPeter Dettman2020-10-185-515/+938
|
* ECC: Binary field perf. opt.Peter Dettman2020-09-2113-287/+543
|
* No need for Obsolete in internal classPeter Dettman2020-09-111-28/+0
|
* Fixed loop count for BigInteger conversionPeter Dettman2020-09-1120-182/+27
| | | | - remove length-specific variants of FromBigInteger
* Further Divsteps30 improvementPeter Dettman2020-09-111-12/+10
|
* 'safegcd' modular inversionPeter Dettman2020-09-0420-822/+696
|
* Remove unnecessary lockingPeter Dettman2020-09-041-7/+6
| | | | - see https://github.com/bcgit/bc-java/issues/778
* For safe primes, use Legendre symbolPeter Dettman2020-07-301-0/+28
| | | | | - DH public key validation when 'Q' available - In particular, greatly speeds up TLS FFDHE groups
* Misc. updates from bc-javaPeter Dettman2020-07-301-13/+1
|
* SpellingPeter Dettman2020-07-1720-39/+39
|
* Fermat inversion for all custom curvesPeter Dettman2020-07-0732-97/+1075
| | | | - also customized random FE gen
* EC updates from bc-javaPeter Dettman2020-07-0413-26/+487
|
* Blind the inversion when normalizingPeter Dettman2020-07-041-6/+24
| | | | | - see the paper "Yet another GCD based inversion side-channel affecting ECC implementations" by Nir Drucker and Shay Gueron.
* 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
|
* Add IntValueExact and LongValueExact to BigIntegerPeter Dettman2019-08-091-0/+22
|
* EdDSA refactoringPeter Dettman2019-08-044-34/+46
| | | | | | - tighten scalar bounds for wNAF - provide CMov in field classes - fix spelling of Straus
* Implement promotion for ECPoint precomputationsPeter Dettman2019-08-043-7/+128
| | | | | - a point is promoted after repeated use (e.g. in ECDSA verification) - promoted points are eligible for extra precomp => faster algorithms
* Improve caching behaviour for algorithms using endomorphismsPeter Dettman2019-08-035-19/+179
|
* EC wNAF-related updates from bc-javaPeter Dettman2019-08-024-59/+172
| | | | | | | - better control of window size limits - callers take advantage of available larger precomps - provide ConfigureBasepoint to mark points for larger precomp - mark built-in curve basepoints for larger default wNAF width
* Add experimental support for GLV Type A endomorphismsPeter Dettman2019-08-029-39/+270
|
* Provide a constant-time zero testPeter Dettman2019-08-022-4/+18
|
* Updates to raw math classes from bc-javaPeter Dettman2019-08-026-42/+148
|
* EC updates from bc-javaPeter Dettman2019-08-0122-27/+400
| | | | | | | - 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-3110-27/+25
|
* Add several copy64 methodsPeter Dettman2019-07-291-0/+17
|
* Fix field reduction for custom secp128r1 curvePeter Dettman2019-07-291-0/+5
| | | | - see https://github.com/bcgit/bc-java/issues/566
* fixed ECGOST co-factors for 2012 setsDavid Hook2019-02-051-0/+2
|
* 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
| | | | - Clamp X25519, X448 private keys during generation
* 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
| | | | - Thanks to https://github.com/TimoRoth
* 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
|
* Add asymmetric multiplicationPeter Dettman2018-09-141-4/+14
|
* EC-related updates from bc-javaPeter Dettman2018-07-1034-328/+630
|
* Add Ed25519 and Ed448 from RFC 8032Peter Dettman2018-07-088-33/+2409
|
* Improved performance for BigInteger.ToString(int)Peter Dettman2018-05-311-23/+31
| | | | | - use a better algorithm for base 10 - see https://github.com/bcgit/bc-csharp/issues/119
* Remove debugging codePeter Dettman2018-04-171-12/+0
|
* Add X25519 and X448 from RFC 7748Peter Dettman2018-04-174-0/+1928
| | | | - includes optimized ladders for base points
* Cache-safety for EC lookup tablesPeter Dettman2018-04-1557-75/+2284
| | | | | | - creation of cache-safe lookup tables delegated to ECCurve - FixedPointCombMultiplier uses cache-safe lookup table - FixedPointCombMultiplier avoids BigInteger.TestBit
* 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
| | | | | - 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
|
* Fix carry propagation bug in Nat???.Square methodsPeter Dettman2016-11-305-60/+60
|
* 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-2819-9/+314
|
* Save an inversion in ECDSA verification for common casesPeter Dettman2015-11-191-0/+11
|
* Further refinement to random prime constructorPeter Dettman2015-11-131-3/+2
|
* Add BerBitString and improve "unused bit" handlingPeter Dettman2015-11-101-1/+1
|
* Improve random prime constructorPeter Dettman2015-11-091-11/+7
|
* Use optimized MR rounds only in random-search contextsPeter Dettman2015-10-291-22/+33
|
* Increase number of small factors tested forPeter Dettman2015-10-291-29/+74
|
* Optimize the number of Rabin-Miller rounds used for probable primality testingPeter Dettman2015-10-291-4/+19
|
* No SerializableAttribute in PCLPeter Dettman2015-10-181-1/+1
|
* http://www.bouncycastle.org/jira/browse/BMA-82Peter Dettman2015-10-184-7/+13
| | | | - use SecureRandom to generate "arbitrary" values
* Consolidate all F2m decompression methods into AbstractF2mPeter Dettman2015-10-1419-1735/+96
|
* Fix class declarationPeter Dettman2015-09-061-1/+1
|
* Add Miller-Rabin methodsPeter Dettman2015-08-141-45/+319
|
* Use Itoh-Tsujii inversion (with extended bases for some cases)Peter Dettman2015-08-1318-18/+376
|
* Switch from lookup table to bit twiddlingPeter Dettman2015-08-131-42/+67
|
* Latest custom EC updates from Java APIPeter Dettman2015-06-1913-12/+1410
|
* Performance optimizationPeter Dettman2015-06-121-14/+42
|
* Add new class PrimesPeter Dettman2015-06-111-0/+282
| | | | - Initial implementation of Shawe-Taylor (FIPS 186-4 C.6)
* 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-2342-11/+2365
| | | | - Also migrate the 'raw' stuff into Math.Raw following Java build
* 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
| | | | encodings
* 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 ↵ release-1.8.0-beta.3Peter Dettman2014-04-103-9/+24
| | | | greater_ width as requested
* 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
|