summary refs log tree commit diff
path: root/crypto/src/math (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-0412-558/+487
| | | | | 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-0315-187/+634
| | | | 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-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
| | | | Use Nat*.Copy methods in fields
* 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; ↵Peter Dettman2014-02-2615-30/+205
| | | | used to delay reduction in point doubling.
* 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
| | | | Some optimizations for NAF generation
* 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 ↵Peter Dettman2014-02-251-7/+45
| | | | only used by secp224k1)
* 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 ↵Peter Dettman2014-02-091-0/+91
| | | | SumOfTwoMultiplies
* 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 ↵Peter Dettman2014-02-041-1/+83
| | | | irrespective of curve coordinates
* Implement Karatsuba multiply/square on 512-bit numbers and use as basis for ↵Peter Dettman2014-02-034-63/+577
| | | | P-521 multiply/square
* 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 ↵Peter Dettman2014-01-313-57/+55
| | | | 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
|
* 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
| | | | Reformatting
* Refactor DecompressPointPeter Dettman2014-01-261-8/+3
|
* Port of jacobian/-modified coordinates from JavaPeter Dettman2014-01-262-69/+354
| | | | Make jacobian-modified the default coordinates for Fp
* 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 ↵Peter Dettman2014-01-241-19/+41
| | | | BigInteger.Mod
* Implementation of homogeneous coordinates for FpPeter Dettman2014-01-243-966/+1324
| | | | | Various changes to point methods to deal with non-affine points Changes in client code and tests to apply point normalization
* 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
| | | | | | | | - Z coordinates for points - More point normalization code - Curve management of point precomp info - Add WNafUtilities and use in multipliers/ECAlgorithms - Make various fields/classes protected/public
* Use ImportPoint to make sure points are on same curvePeter Dettman2014-01-231-15/+49
| | | | Add MontgomeryTrick method
* 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 ↵Peter Dettman2014-01-234-495/+636
| | | | implementation for FpFieldElement
* Avoid unnecessary multiplication in final ExtEuclid iterationPeter Dettman2014-01-231-32/+16
|
* Add foundations for supporting other coordinate systemsPeter Dettman2014-01-222-85/+226
| | | | | Add curve configuration Multipliers now live on the curve instead of points
* 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