summary refs log tree commit diff
path: root/crypto/src/math (follow)
Commit message (Expand)AuthorAgeFilesLines
* Merge branch 'master' into master-vs12Oren Novotny2015-04-25111-401/+16798
|\
| * 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
| * Reduce memory usage of INTERLEAVE2_TABLEPeter Dettman2015-03-231-1/+1
| * Add SquarePow method to ECFieldElementPeter Dettman2015-03-231-8/+16
* | Merge remote-tracking branch 'upstream/master' into master-vs12Oren Novotny2015-02-193-36/+140
|\|
| * Port of WNaf precomp optimization from JavaPeter Dettman2015-02-083-36/+140
* | Add VS 2013 slnOren Novotny2014-08-272-0/+4
* | Merge in bc-git to this repoOren Novotny2014-08-2687-6399/+24673
|\|
| * 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
| * Several optimizations and make notes of possible delayed reductionsPeter Dettman2014-01-281-17/+28
| * RefactoringPeter Dettman2014-01-281-2/+1
| * Avoid division when decompressing a lambda-projective pointPeter Dettman2014-01-281-9/+5
| * Implement multi-squaring in-place and use for F2m sqrt()Peter Dettman2014-01-282-40/+39
| * Fix and re-enable twicePlus for lambda-projective coordinatesPeter Dettman2014-01-281-59/+73
| * Port point-detaching stuff from JavaPeter Dettman2014-01-283-0/+27
| * Port from Java order/cofactor for all curvesPeter Dettman2014-01-283-33/+50
| * Port of latest EC multipliers from JavaPeter Dettman2014-01-2713-43/+255
| * 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
| * Add diagnosticsPeter Dettman2014-01-261-37/+42
| * Fix coord access in Negate()Peter Dettman2014-01-261-36/+8
| * Refactor DecompressPointPeter Dettman2014-01-261-8/+3
| * Port of jacobian/-modified coordinates from JavaPeter Dettman2014-01-262-69/+354
| * Make Barrett reduction available for more prime moduliPeter Dettman2014-01-261-12/+6
| * Adjust first-digit optimization to not be so conservativePeter Dettman2014-01-261-12/+7
| * Port latest Java fixes for lambda-projective and make it the default for F2mPeter Dettman2014-01-252-68/+92
| * Implement Sqrt in F2mPeter Dettman2014-01-251-1/+9
| * Add 0 guard in ModInversePeter Dettman2014-01-251-0/+4
| * Implement homogeneous and lambda-projective coordinate systems in F2m curvesPeter Dettman2014-01-252-67/+428
| * Port of AddOne method(s) from JavaPeter Dettman2014-01-251-0/+16
| * Default to COORD_HOMOGENEOUS for FpPeter Dettman2014-01-241-1/+1
| * Implement very basic Barrett reduction as alternative to very slow BigInteger...Peter Dettman2014-01-241-19/+41
| * Implementation of homogeneous coordinates for FpPeter Dettman2014-01-243-966/+1324
| * Optimization in ModReducePeter Dettman2014-01-241-3/+6
| * Track carries for a, b to avoid unnecessary add/sub of prime modulusPeter Dettman2014-01-241-17/+42
| * Fix return type in SubFromExtPeter Dettman2014-01-241-4/+4
| * Track uvLen to reduce shifting for small operandsPeter Dettman2014-01-241-9/+18
| * Move methodPeter Dettman2014-01-241-16/+16
| * Port of several interrelated things from Java build:Peter Dettman2014-01-2311-578/+1056
| * Use ImportPoint to make sure points are on same curvePeter Dettman2014-01-231-15/+49
| * Use residue-based reduction for more curves, in particular P-256Peter Dettman2014-01-231-2/+8
| * Add Nat/Mod classes and use instead of (slow) BigInteger.ModInverse implement...Peter Dettman2014-01-234-495/+636
| * Avoid unnecessary multiplication in final ExtEuclid iterationPeter Dettman2014-01-231-32/+16
| * Add foundations for supporting other coordinate systemsPeter Dettman2014-01-222-85/+226
| * Make publicPeter Dettman2014-01-222-2/+2
| * Override methods to optimize for LongArrayPeter Dettman2014-01-221-0/+20
| * Use new Math.Field classes in EC curves, and avoid casting in client codePeter Dettman2014-01-222-162/+161
| * Implement TwicePlus optimization in Fp curvesPeter Dettman2014-01-223-312/+439
| * Port LongArray from Java and use in F2mFieldElementPeter Dettman2014-01-222-155/+2079
| * Fix Equals methodsPeter Dettman2014-01-212-27/+28
| * Add new classes in Math.Field and some other EC-related stuff from JavaPeter Dettman2014-01-218-0/+255
| * Make typed Equals methods public (and virtual)Peter Dettman2014-01-211-3/+3
| * Bring Fp field element code mostly up-to-date with Java versionPeter Dettman2014-01-212-778/+800
| * Registerize top accumulator word in Montgomery multiplication/squaringPeter Dettman2014-01-031-6/+12
| * Fix tabsPeter Dettman2014-01-031-2128/+2128
| * Use Negate() to simplifyPeter Dettman2013-12-051-1/+1
| * Add ECFieldElement.GetEncoded() methodPeter Dettman2013-12-051-2/+7
| * Always apply sign guardPeter Dettman2013-12-031-4/+4
| * Initial import of old CVS repositoryPeter Dettman2013-06-2817-0/+8286
* rename Crypto dir to crypto to match bc-gitOren Novotny2014-08-262-277/+0
* Add BouncyCastle PCL filesOren Novotny2014-02-2617-0/+7857