Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Primes improvements | Peter Dettman | 2022-11-08 | 1 | -186/+101 |
| | |||||
* | BigInteger improvements | Peter Dettman | 2022-11-08 | 1 | -92/+68 |
| | |||||
* | Make LongArray a struct, refactor | Peter Dettman | 2022-11-04 | 2 | -104/+59 |
| | |||||
* | Xor methods in Nat classes | Peter Dettman | 2022-10-25 | 3 | -20/+354 |
| | |||||
* | Use MemoryMarshal.AsBytes | Peter Dettman | 2022-10-24 | 2 | -12/+12 |
| | |||||
* | Xor methods | Peter Dettman | 2022-10-23 | 2 | -10/+98 |
| | |||||
* | Various cleanup | Peter Dettman | 2022-10-23 | 12 | -12/+0 |
| | |||||
* | Complete SecureRandom refactoring | Peter Dettman | 2022-10-23 | 5 | -21/+13 |
| | |||||
* | Change BigInteger arbitrary random source | Peter Dettman | 2022-10-23 | 1 | -2/+2 |
| | |||||
* | Add Xor methods to Nat classes | Peter Dettman | 2022-10-21 | 2 | -1/+171 |
| | |||||
* | Unroll ShiftUp methods | Peter Dettman | 2022-10-21 | 1 | -29/+346 |
| | |||||
* | Add Inverse64 method | Peter Dettman | 2022-10-20 | 1 | -1/+16 |
| | |||||
* | Account for zOff correctly | Peter Dettman | 2022-10-20 | 1 | -1/+1 |
| | |||||
* | Change method names in IXof | Peter Dettman | 2022-10-11 | 1 | -9/+9 |
| | | | | - distinct from IDigest methods and consistent with span-based methods | ||||
* | Round out Bits methods | Peter Dettman | 2022-10-09 | 1 | -4/+61 |
| | | | | | - AggressiveInlining - Debug guards | ||||
* | More span variants in randomness classes | Peter Dettman | 2022-10-07 | 1 | -3/+29 |
| | |||||
* | Span usage in Math.Raw | Peter Dettman | 2022-10-07 | 5 | -109/+1055 |
| | |||||
* | Fix extraneous using | Peter Dettman | 2022-10-06 | 1 | -1/+0 |
| | |||||
* | Refactor stackalloc usage | Peter Dettman | 2022-10-06 | 2 | -2/+8 |
| | |||||
* | Refactor stackalloc usage | Peter Dettman | 2022-10-06 | 1 | -17/+10 |
| | |||||
* | Delete experimental code | Peter Dettman | 2022-10-05 | 1 | -360/+0 |
| | |||||
* | Span-based variants for XDH/EdDSA | Peter Dettman | 2022-10-05 | 6 | -39/+304 |
| | |||||
* | Span-bases variants for Mod methods | Peter Dettman | 2022-10-05 | 2 | -5/+342 |
| | |||||
* | BigInteger in-place conversions | Peter Dettman | 2022-10-05 | 1 | -5/+111 |
| | |||||
* | Save heap allocations | Peter Dettman | 2022-10-04 | 1 | -1/+7 |
| | |||||
* | Span-based variants for XDH/EdDSA | Peter Dettman | 2022-10-04 | 7 | -2/+677 |
| | |||||
* | Fix parameter name | Peter Dettman | 2022-10-04 | 1 | -11/+11 |
| | |||||
* | Span-based variant of ECCurve.DecodePoint | Peter Dettman | 2022-10-02 | 1 | -43/+120 |
| | |||||
* | Support encoding without allocation | Peter Dettman | 2022-10-02 | 2 | -1/+89 |
| | |||||
* | Span-based constructor for BigInteger | Peter Dettman | 2022-10-02 | 1 | -16/+77 |
| | |||||
* | Span-based variant of IRawAgreement.CalculateAgreement | Peter Dettman | 2022-10-01 | 4 | -1/+717 |
| | |||||
* | Perf. opts. in custom binary curves | Peter Dettman | 2022-08-04 | 7 | -98/+252 |
| | |||||
* | Use intrinsics in custom binary curves | Peter Dettman | 2022-08-02 | 9 | -0/+154 |
| | |||||
* | Formatting | Peter Dettman | 2022-07-24 | 1 | -1/+1 |
| | |||||
* | Small GCM squaring perf. opts. | Peter Dettman | 2022-07-19 | 1 | -6/+5 |
| | |||||
* | More precise preprocessor directives | Peter Dettman | 2022-07-19 | 3 | -12/+12 |
| | |||||
* | Use intrinsics in several places | Peter Dettman | 2022-07-19 | 3 | -21/+89 |
| | |||||
* | Factor out Unshuffle methods | Peter Dettman | 2022-07-18 | 10 | -84/+39 |
| | |||||
* | LongArray cleanup and refactoring | Peter Dettman | 2022-07-18 | 3 | -1097/+197 |
| | |||||
* | Use static classes and 'using' aliases | Peter Dettman | 2022-07-05 | 6 | -18/+12 |
| | |||||
* | Ed448 updates from bc-java | Peter Dettman | 2022-07-05 | 1 | -35/+37 |
| | |||||
* | Ed448 cleanup | Peter Dettman | 2022-07-04 | 2 | -99/+105 |
| | |||||
* | Ed25519 overhaul | Peter Dettman | 2022-07-04 | 1 | -237/+277 |
| | | | | | | - improved performance - reduced allocation - comments and references | ||||
* | Custom serialization | Peter Dettman | 2022-07-01 | 1 | -2/+13 |
| | |||||
* | Rework EdDSA precomputations | Peter Dettman | 2022-07-01 | 2 | -280/+375 |
| | |||||
* | Use struct for point types | Peter Dettman | 2022-06-30 | 2 | -221/+255 |
| | |||||
* | Refactoring around Platform | Peter Dettman | 2022-06-29 | 1 | -1/+1 |
| | |||||
* | Generics migration in Crmf, Crypto, Math | Peter Dettman | 2022-06-28 | 3 | -42/+34 |
| | |||||
* | Remove bridging version of Curve25519 | Peter Dettman | 2022-06-24 | 4 | -983/+0 |
| | |||||
* | Some modern syntax updates | Peter Dettman | 2022-06-24 | 2 | -3/+3 |
| | |||||
* | Simplify attributes | Peter Dettman | 2022-06-24 | 2 | -3/+3 |
| | |||||
* | Code cleanup | Peter Dettman | 2022-06-22 | 3 | -8/+8 |
| | |||||
* | ObsoleteAttribute cleanup | Peter Dettman | 2022-06-22 | 2 | -136/+25 |
| | |||||
* | Cleanup old build systems | Peter Dettman | 2022-06-21 | 1 | -1/+1 |
| | |||||
* | Remove per-ECPoint compression | Peter Dettman | 2022-06-21 | 66 | -1329/+570 |
| | |||||
* | ObsoleteAttribute cleanup | Peter Dettman | 2022-06-21 | 12 | -386/+0 |
| | |||||
* | minor corrections, updated ECPointTest | David Hook | 2022-03-23 | 1 | -3/+6 |
| | |||||
* | added RSA/EC checks | David Hook | 2022-03-23 | 1 | -1/+81 |
| | |||||
* | Small performance optimization for important curves | Peter Dettman | 2022-02-05 | 12 | -163/+281 |
| | |||||
* | Faster const-time inversion | Peter Dettman | 2021-12-04 | 1 | -21/+21 |
| | |||||
* | Rewrite ScalarMult methods | Peter Dettman | 2021-12-01 | 2 | -53/+52 |
| | |||||
* | Cleanup after bc-fips-csharp updates | Peter Dettman | 2021-08-07 | 2 | -6/+6 |
| | |||||
* | Add Nat448 Karatsuba | Peter Dettman | 2021-02-11 | 1 | -0/+38 |
| | |||||
* | EdDSA: Faster pub key validation | Peter Dettman | 2021-02-11 | 2 | -71/+65 |
| | |||||
* | EdDSA public key validation | Peter Dettman | 2021-02-10 | 4 | -6/+217 |
| | | | | - per NIST SP 800-186 | ||||
* | Refactor result normalization | Peter Dettman | 2020-12-08 | 1 | -33/+31 |
| | |||||
* | Rework D/E range restriction | Peter Dettman | 2020-11-11 | 1 | -68/+65 |
| | |||||
* | Cleanup | Peter Dettman | 2020-10-30 | 1 | -18/+0 |
| | |||||
* | safegcd: more conservative final reduction | Peter Dettman | 2020-10-30 | 1 | -44/+139 |
| | |||||
* | Add Bits and Longs classes from bc-java | Peter Dettman | 2020-10-18 | 2 | -59/+71 |
| | |||||
* | Latest XDH, EdDSA updates from bc-java | Peter Dettman | 2020-10-18 | 5 | -515/+938 |
| | |||||
* | ECC: Binary field perf. opt. | Peter Dettman | 2020-09-21 | 13 | -287/+543 |
| | |||||
* | No need for Obsolete in internal class | Peter Dettman | 2020-09-11 | 1 | -28/+0 |
| | |||||
* | Fixed loop count for BigInteger conversion | Peter Dettman | 2020-09-11 | 20 | -182/+27 |
| | | | | - remove length-specific variants of FromBigInteger | ||||
* | Further Divsteps30 improvement | Peter Dettman | 2020-09-11 | 1 | -12/+10 |
| | |||||
* | 'safegcd' modular inversion | Peter Dettman | 2020-09-04 | 20 | -822/+696 |
| | |||||
* | Remove unnecessary locking | Peter Dettman | 2020-09-04 | 1 | -7/+6 |
| | | | | - see https://github.com/bcgit/bc-java/issues/778 | ||||
* | For safe primes, use Legendre symbol | Peter Dettman | 2020-07-30 | 1 | -0/+28 |
| | | | | | - DH public key validation when 'Q' available - In particular, greatly speeds up TLS FFDHE groups | ||||
* | Misc. updates from bc-java | Peter Dettman | 2020-07-30 | 1 | -13/+1 |
| | |||||
* | Spelling | Peter Dettman | 2020-07-17 | 20 | -39/+39 |
| | |||||
* | Fermat inversion for all custom curves | Peter Dettman | 2020-07-07 | 32 | -97/+1075 |
| | | | | - also customized random FE gen | ||||
* | EC updates from bc-java | Peter Dettman | 2020-07-04 | 13 | -26/+487 |
| | |||||
* | Blind the inversion when normalizing | Peter Dettman | 2020-07-04 | 1 | -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 FEs | Peter Dettman | 2020-07-04 | 1 | -6/+85 |
| | |||||
* | Mark methods as "Var" for clarity | Peter Dettman | 2020-02-20 | 2 | -6/+6 |
| | |||||
* | Mark several EC multipliers as obsolete | Peter Dettman | 2020-02-20 | 9 | -7/+30 |
| | |||||
* | Port of X25519/X448 field updates from bc-java | Peter Dettman | 2020-01-30 | 2 | -25/+39 |
| | |||||
* | Port of strict hex decoding from bc-java | Peter Dettman | 2019-09-09 | 44 | -83/+83 |
| | |||||
* | Add sanity checks on scalar mult. outputs | Peter Dettman | 2019-08-29 | 3 | -10/+116 |
| | |||||
* | Fix circular dependence of statics | Peter Dettman | 2019-08-10 | 27 | -39/+51 |
| | |||||
* | Add non-constant-time variant to ECLookupTable | Peter Dettman | 2019-08-09 | 37 | -149/+852 |
| | |||||
* | Add IntValueExact and LongValueExact to BigInteger | Peter Dettman | 2019-08-09 | 1 | -0/+22 |
| | |||||
* | EdDSA refactoring | Peter Dettman | 2019-08-04 | 4 | -34/+46 |
| | | | | | | - tighten scalar bounds for wNAF - provide CMov in field classes - fix spelling of Straus | ||||
* | Implement promotion for ECPoint precomputations | Peter Dettman | 2019-08-04 | 3 | -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 endomorphisms | Peter Dettman | 2019-08-03 | 5 | -19/+179 |
| | |||||
* | EC wNAF-related updates from bc-java | Peter Dettman | 2019-08-02 | 4 | -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 endomorphisms | Peter Dettman | 2019-08-02 | 9 | -39/+270 |
| | |||||
* | Provide a constant-time zero test | Peter Dettman | 2019-08-02 | 2 | -4/+18 |
| | |||||
* | Updates to raw math classes from bc-java | Peter Dettman | 2019-08-02 | 6 | -42/+148 |
| | |||||
* | EC updates from bc-java | Peter Dettman | 2019-08-01 | 22 | -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 curves | Peter Dettman | 2019-07-31 | 7 | -25/+22 |
| | |||||
* | Accept only properly-sized BigInteger (no auto-reduction) | Peter Dettman | 2019-07-31 | 10 | -27/+25 |
| | |||||
* | Add several copy64 methods | Peter Dettman | 2019-07-29 | 1 | -0/+17 |
| | |||||
* | Fix field reduction for custom secp128r1 curve | Peter Dettman | 2019-07-29 | 1 | -0/+5 |
| | | | | - see https://github.com/bcgit/bc-java/issues/566 | ||||
* | fixed ECGOST co-factors for 2012 sets | David Hook | 2019-02-05 | 1 | -0/+2 |
| | |||||
* | Fixes and tidying up for release | Peter Dettman | 2019-01-31 | 2 | -2/+2 |
| | |||||
* | Use Edwards internals for X25519/X448 public key calculations | Peter Dettman | 2018-10-22 | 4 | -249/+49 |
| | |||||
* | Add GeneratePublicKey method for completeness | Peter Dettman | 2018-10-22 | 2 | -0/+10 |
| | |||||
* | Move XDH/EdDSA key generation into low-level | Peter Dettman | 2018-10-14 | 4 | -0/+31 |
| | | | | - Clamp X25519, X448 private keys during generation | ||||
* | Replace MethodImpl with lock | Peter Dettman | 2018-10-09 | 4 | -205/+213 |
| | |||||
* | RFC 7748: Exclude all-zeroes agreement value | Peter Dettman | 2018-10-06 | 2 | -0/+16 |
| | |||||
* | RFC 8032: Avoid unnecessary doublings in precomputation | Peter Dettman | 2018-09-25 | 2 | -4/+10 |
| | |||||
* | Fix ed25519 ignoring the public key offset | Peter Dettman | 2018-09-21 | 1 | -1/+1 |
| | | | | - Thanks to https://github.com/TimoRoth | ||||
* | Higher-level API support for Ed25519/Ed448/X25519/X448 | Peter Dettman | 2018-09-21 | 2 | -0/+13 |
| | |||||
* | Refactoring | Peter Dettman | 2018-09-20 | 1 | -6/+6 |
| | |||||
* | Reduce single-bit extractions from scalars | Peter Dettman | 2018-09-14 | 2 | -5/+8 |
| | |||||
* | RFC 8032: Implement Ed25519ctx, Ed25519ph, Ed448ph variants | Peter Dettman | 2018-09-14 | 2 | -150/+337 |
| | |||||
* | RFC 7748: Export size constants for scalars, points | Peter Dettman | 2018-09-14 | 2 | -0/+6 |
| | |||||
* | Add asymmetric multiplication | Peter Dettman | 2018-09-14 | 1 | -4/+14 |
| | |||||
* | EC-related updates from bc-java | Peter Dettman | 2018-07-10 | 34 | -328/+630 |
| | |||||
* | Add Ed25519 and Ed448 from RFC 8032 | Peter Dettman | 2018-07-08 | 8 | -33/+2409 |
| | |||||
* | Improved performance for BigInteger.ToString(int) | Peter Dettman | 2018-05-31 | 1 | -23/+31 |
| | | | | | - use a better algorithm for base 10 - see https://github.com/bcgit/bc-csharp/issues/119 | ||||
* | Remove debugging code | Peter Dettman | 2018-04-17 | 1 | -12/+0 |
| | |||||
* | Add X25519 and X448 from RFC 7748 | Peter Dettman | 2018-04-17 | 4 | -0/+1928 |
| | | | | - includes optimized ladders for base points | ||||
* | Cache-safety for EC lookup tables | Peter Dettman | 2018-04-15 | 57 | -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 FixedPointCombMultiplier | Peter Dettman | 2017-09-17 | 3 | -5/+17 |
| | |||||
* | Use slightly improved addition chain for sm2p256v1 field sqrt | Peter Dettman | 2017-06-16 | 1 | -22/+20 |
| | |||||
* | Initial implementation of SM2 elliptic curve | Peter Dettman | 2017-06-03 | 4 | -0/+876 |
| | | | | | - includes custom curve code - add lots of OIDs from GM standard | ||||
* | Fix reductions for custom secp128r1 field | Peter Dettman | 2017-06-03 | 1 | -6/+6 |
| | |||||
* | Fix bug in SecT571KPoint.Add with order-2 points (lambda-projective). | Peter Dettman | 2017-02-17 | 1 | -1/+1 |
| | | | | - shouldn't affect crypto operations in the group | ||||
* | Clean up old comments in binary custom curve code | Peter Dettman | 2017-02-17 | 11 | -73/+6 |
| | |||||
* | Fix carry propagation bug in Nat???.Square methods | Peter Dettman | 2016-11-30 | 5 | -60/+60 |
| | |||||
* | Fix possible NPE when cofactor != 1 (from bc-java) | Peter Dettman | 2016-11-10 | 1 | -1/+1 |
| | |||||
* | Additional temp values in reduction | Peter Dettman | 2016-02-02 | 2 | -6/+8 |
| | |||||
* | Optimized Sqrt and Trace for custom binary curves | Peter Dettman | 2015-12-28 | 19 | -9/+314 |
| | |||||
* | Save an inversion in ECDSA verification for common cases | Peter Dettman | 2015-11-19 | 1 | -0/+11 |
| | |||||
* | Further refinement to random prime constructor | Peter Dettman | 2015-11-13 | 1 | -3/+2 |
| | |||||
* | Add BerBitString and improve "unused bit" handling | Peter Dettman | 2015-11-10 | 1 | -1/+1 |
| | |||||
* | Improve random prime constructor | Peter Dettman | 2015-11-09 | 1 | -11/+7 |
| | |||||
* | Use optimized MR rounds only in random-search contexts | Peter Dettman | 2015-10-29 | 1 | -22/+33 |
| | |||||
* | Increase number of small factors tested for | Peter Dettman | 2015-10-29 | 1 | -29/+74 |
| | |||||
* | Optimize the number of Rabin-Miller rounds used for probable primality testing | Peter Dettman | 2015-10-29 | 1 | -4/+19 |
| | |||||
* | No SerializableAttribute in PCL | Peter Dettman | 2015-10-18 | 1 | -1/+1 |
| | |||||
* | http://www.bouncycastle.org/jira/browse/BMA-82 | Peter Dettman | 2015-10-18 | 4 | -7/+13 |
| | | | | - use SecureRandom to generate "arbitrary" values | ||||
* | Consolidate all F2m decompression methods into AbstractF2m | Peter Dettman | 2015-10-14 | 19 | -1735/+96 |
| | |||||
* | Fix class declaration | Peter Dettman | 2015-09-06 | 1 | -1/+1 |
| | |||||
* | Add Miller-Rabin methods | Peter Dettman | 2015-08-14 | 1 | -45/+319 |
| | |||||
* | Use Itoh-Tsujii inversion (with extended bases for some cases) | Peter Dettman | 2015-08-13 | 18 | -18/+376 |
| | |||||
* | Switch from lookup table to bit twiddling | Peter Dettman | 2015-08-13 | 1 | -42/+67 |
| | |||||
* | Latest custom EC updates from Java API | Peter Dettman | 2015-06-19 | 13 | -12/+1410 |
| | |||||
* | Performance optimization | Peter Dettman | 2015-06-12 | 1 | -14/+42 |
| | |||||
* | Add new class Primes | Peter Dettman | 2015-06-11 | 1 | -0/+282 |
| | | | | - Initial implementation of Shawe-Taylor (FIPS 186-4 C.6) | ||||
* | Add range checks to F2m field elements | Peter Dettman | 2015-06-09 | 9 | -8/+11 |
| | |||||
* | F2mCurve cleanup | Peter Dettman | 2015-03-26 | 1 | -5/+13 |
| | |||||
* | Add custom implementations of SEC binary curves | Peter Dettman | 2015-03-24 | 48 | -0/+11434 |
| | |||||
* | Custom curves for secp128r1 and secp160r1/r2/k1 | Peter Dettman | 2015-03-24 | 14 | -0/+2615 |
| | |||||
* | F2m changes in preparation for custom binary curves | Peter Dettman | 2015-03-23 | 5 | -376/+354 |
| | |||||
* | Math.Raw support for custom binary curves | Peter Dettman | 2015-03-23 | 42 | -11/+2365 |
| | | | | - Also migrate the 'raw' stuff into Math.Raw following Java build | ||||
* | Reduce memory usage of INTERLEAVE2_TABLE | Peter Dettman | 2015-03-23 | 1 | -1/+1 |
| | |||||
* | Add SquarePow method to ECFieldElement | Peter Dettman | 2015-03-23 | 1 | -8/+16 |
| | |||||
* | Port of WNaf precomp optimization from Java | Peter Dettman | 2015-02-08 | 3 | -36/+140 |
| | |||||
* | Check point against cofactor after decompression | Peter Dettman | 2014-07-25 | 2 | -5/+10 |
| | |||||
* | Add automatic EC point validation for decoded points and for multiplier outputs | Peter Dettman | 2014-07-23 | 23 | -463/+373 |
| | |||||
* | Use AddTo/SubFrom and add a generic modular-addition method | Peter Dettman | 2014-07-21 | 1 | -7/+17 |
| | |||||
* | Fix inverted sense of "negs" in ImplSumOfMultiplies (porting error) | Peter Dettman | 2014-06-30 | 1 | -1/+1 |
| | |||||
* | Check the low-bit of y is consistent with the header byte in hybrid EC point ↵ | Peter Dettman | 2014-05-19 | 1 | -6/+20 |
| | | | | encodings | ||||
* | Check for low-weight numbers in DH parameter generation and RSA key generation | Peter Dettman | 2014-04-11 | 1 | -0/+11 |
| | |||||
* | Fixed-point-comb uses existing precomputation info if it's for the same _or ↵ release-1.8.0-beta.3 | Peter Dettman | 2014-04-10 | 3 | -9/+24 |
| | | | | greater_ width as requested | ||||
* | Optimize Curve25519 point operations | Peter Dettman | 2014-03-21 | 2 | -111/+214 |
| | |||||
* | Port of latest Curve25519 stuff from Java build | Peter Dettman | 2014-03-17 | 5 | -5/+604 |
| | |||||
* | Take advantage of GLV (when available) in sum-of-multiplies methods | Peter Dettman | 2014-03-14 | 1 | -7/+89 |
| | |||||
* | Optimize squaring by inlining the ShiftUpBit | Peter Dettman | 2014-03-14 | 3 | -118/+262 |
| | |||||
* | GlvMultiplier.cs missed in last commit | Peter Dettman | 2014-03-14 | 1 | -0/+40 |
| | |||||
* | Port GLV implementation from Java | Peter Dettman | 2014-03-13 | 10 | -9/+296 |
| | |||||
* | Add ScaleX, ScaleY methods to ECPoint | Peter Dettman | 2014-03-13 | 1 | -0/+74 |
| | |||||
* | Add new CreateRawPoint method on ECCurve that includes the Z coords | Peter Dettman | 2014-03-13 | 9 | -0/+52 |
| | |||||
* | All subclasses to control the choice of width to use | Peter Dettman | 2014-03-12 | 1 | -2/+6 |
| | |||||
* | Optimize some of the addition/doubling internals | Peter Dettman | 2014-03-10 | 8 | -92/+114 |
| | |||||
* | Add MultiplyAddToExt method to fields | Peter Dettman | 2014-03-10 | 6 | -2/+71 |
| | |||||
* | Refactor temporary variables in reductions | Peter Dettman | 2014-03-10 | 3 | -28/+30 |
| | |||||
* | Inline Reduce32 calls and registerize some values to avoid extra writes | Peter Dettman | 2014-03-10 | 2 | -12/+53 |
| | |||||
* | Use more specific Nat methods | Peter Dettman | 2014-03-10 | 1 | -2/+2 |
| | |||||
* | Minor improvement to reduction release-1.8.0-beta.2 | Peter Dettman | 2014-03-06 | 3 | -9/+15 |
| | |||||
* | Improved reduction | Peter Dettman | 2014-03-05 | 4 | -63/+101 |
| | |||||
* | Reduction optimization for secp256r1 | Peter Dettman | 2014-03-05 | 1 | -5/+73 |
| | |||||
* | Use Nat methods instead of specific Nat*.*Ext methods | Peter Dettman | 2014-03-05 | 10 | -84/+44 |
| | | | | Reduction improvements in curve25519 and secp256r1 | ||||
* | Fix infinite loop issue when there is no sqrt | Peter Dettman | 2014-03-04 | 1 | -30/+55 |
| | | | | Add test case to check that Sqrt returns null for non-squares | ||||
* | Remove some length-specific methods in favour of the Nat class | Peter Dettman | 2014-03-04 | 12 | -558/+487 |
| | | | | | Add more method variations to Nat Use customized reductions in various fields | ||||
* | Just use shift methods from Nat class evverywhere | Peter Dettman | 2014-03-04 | 10 | -271/+25 |
| | |||||
* | Refactoring in the Nat* classes and some new method variations | Peter Dettman | 2014-03-03 | 15 | -187/+634 |
| | | | | Improved reduction in some fields | ||||
* | Share single temp variable across calls in Sqrt() | Peter Dettman | 2014-03-03 | 1 | -10/+9 |
| | |||||
* | Refactor reduction methods and change scope of PExt fields | Peter Dettman | 2014-03-03 | 7 | -115/+103 |
| | |||||
* | Add/rename MulAddTo variations | Peter Dettman | 2014-03-03 | 3 | -2/+167 |
| | |||||
* | Allow for (very rare) cases where the Sqrt() algorithm needs to retry | Peter Dettman | 2014-03-02 | 1 | -36/+40 |
| | |||||
* | Avoid a few negations in Sqrt() | Peter Dettman | 2014-02-28 | 1 | -7/+8 |
| | |||||
* | Optimized Sqrt() for custom secp224r1 | Peter Dettman | 2014-02-27 | 2 | -2/+112 |
| | |||||
* | Equality/hashcode should ignore "excess" words | Peter Dettman | 2014-02-27 | 11 | -23/+53 |
| | |||||
* | Optimize Sqrt() for custom secp384r1 | Peter Dettman | 2014-02-27 | 1 | -2/+56 |
| | |||||
* | Optimize final adjustments in Reduce() | Peter Dettman | 2014-02-27 | 1 | -13/+4 |
| | |||||
* | Simplify Twice() | Peter Dettman | 2014-02-27 | 1 | -7/+3 |
| | |||||
* | Add custom curve for secp384r1 (P-384) | Peter Dettman | 2014-02-27 | 5 | -0/+810 |
| | |||||
* | Optimize final adjustments in Reduce() | Peter Dettman | 2014-02-27 | 1 | -11/+8 |
| | |||||
* | Round out the Nat192 methods | Peter Dettman | 2014-02-26 | 7 | -20/+275 |
| | | | | Use Nat*.Copy methods in fields | ||||
* | Add extra arg to AddWord() and add variant of Copy() | Peter Dettman | 2014-02-26 | 2 | -6/+12 |
| | |||||
* | Optimization for custom curve reduction when only a few bits need reducing; ↵ | Peter Dettman | 2014-02-26 | 15 | -30/+205 |
| | | | | used to delay reduction in point doubling. | ||||
* | Optimize Sqrt() for custom curve secp224k1 | Peter Dettman | 2014-02-26 | 1 | -2/+87 |
| | |||||
* | Refactoring in Sqrt() | Peter Dettman | 2014-02-26 | 1 | -14/+6 |
| | |||||
* | Add custom curve for secp224k1 | Peter Dettman | 2014-02-26 | 4 | -0/+675 |
| | |||||
* | Special handling for zero-valued scalars | Peter Dettman | 2014-02-26 | 1 | -20/+38 |
| | | | | Some optimizations for NAF generation | ||||
* | Refactoring in Sqrt() | Peter Dettman | 2014-02-25 | 1 | -13/+12 |
| | |||||
* | Add custom curve for secp224r1 (P-224) | Peter Dettman | 2014-02-25 | 5 | -0/+1980 |
| | |||||
* | Implement the 8m + 5 case from Pocklington's sqrt algorithm (seems to be ↵ | Peter Dettman | 2014-02-25 | 1 | -7/+45 |
| | | | | only used by secp224k1) | ||||
* | Refactoring in Nat* classes | Peter Dettman | 2014-02-24 | 6 | -101/+99 |
| | |||||
* | Use ToBigInteger() for A/B comparison in curve equality | Peter Dettman | 2014-02-19 | 1 | -4/+4 |
| | |||||
* | Delete old commented-out code | Peter Dettman | 2014-02-09 | 1 | -476/+0 |
| | |||||
* | Provide SumOfMultiplies as an arbitrary-length generalization of ↵ | Peter Dettman | 2014-02-09 | 1 | -0/+91 |
| | | | | SumOfTwoMultiplies | ||||
* | Fix casts to satisfy .NET 1.1 | Peter Dettman | 2014-02-07 | 1 | -2/+2 |
| | |||||
* | Use parallel wNAF for sumOfTwoMultiplies | Peter Dettman | 2014-02-07 | 1 | -4/+69 |
| | |||||
* | Small optimization for width 4 | Peter Dettman | 2014-02-07 | 1 | -17/+19 |
| | |||||
* | Index precomputation info by name | Peter Dettman | 2014-02-07 | 5 | -14/+36 |
| | |||||
* | Fix incomplete port | Peter Dettman | 2014-02-06 | 1 | -1/+1 |
| | |||||
* | A few improvements to the fixed-point comb | Peter Dettman | 2014-02-06 | 2 | -10/+28 |
| | |||||
* | Initial work on the Curve25519 field implementation | Peter Dettman | 2014-02-06 | 3 | -19/+299 |
| | |||||
* | Initial work on a fixed-point comb multiplier | Peter Dettman | 2014-02-04 | 3 | -0/+126 |
| | |||||
* | For repeated doublings, use jacobian-modified coordinates internally ↵ | Peter Dettman | 2014-02-04 | 1 | -1/+83 |
| | | | | irrespective of curve coordinates | ||||
* | Implement Karatsuba multiply/square on 512-bit numbers and use as basis for ↵ | Peter Dettman | 2014-02-03 | 4 | -63/+577 |
| | | | | P-521 multiply/square | ||||
* | Minor optimization for secp521r1 point doubling | Peter Dettman | 2014-02-02 | 3 | -5/+48 |
| | |||||
* | Add custom curve for secp521r1 (P-521) | Peter Dettman | 2014-02-01 | 7 | -109/+734 |
| | |||||
* | Add support for delayed modular reduction | Peter Dettman | 2014-02-01 | 3 | -35/+314 |
| | |||||
* | Reformatting | Peter Dettman | 2014-02-01 | 1 | -2/+0 |
| | |||||
* | Reformat | Peter Dettman | 2014-02-01 | 3 | -6/+0 |
| | |||||
* | Fix IncExt | Peter Dettman | 2014-02-01 | 1 | -1/+1 |
| | |||||
* | Rename locals in Reduce() methods | Peter Dettman | 2014-02-01 | 2 | -33/+33 |
| | |||||
* | Optimize Reduce() method | Peter Dettman | 2014-02-01 | 1 | -8/+16 |
| | |||||
* | Optimize Reduce() method | Peter Dettman | 2014-02-01 | 1 | -6/+17 |
| | |||||
* | Fix Nat*.Gte methods | Peter Dettman | 2014-02-01 | 3 | -6/+6 |
| | |||||
* | Make Dec/Inc/IncExt methods work at the full length and change assertions ↵ | Peter Dettman | 2014-01-31 | 3 | -57/+55 |
| | | | | accordingly | ||||
* | Avoid modifying the input to the Reduce() methods | Peter Dettman | 2014-01-31 | 4 | -50/+48 |
| | |||||
* | Improve reduction speed for secp192k1 and secp256k1 custom fields | Peter Dettman | 2014-01-31 | 4 | -16/+126 |
| | |||||
* | Add custom curves for secp192k1 and secp192r1 (P-192) | Peter Dettman | 2014-01-31 | 9 | -0/+2169 |
| | |||||
* | Refactoring | Peter Dettman | 2014-01-31 | 5 | -10/+8 |
| | |||||
* | Unroll MulWordAddExt | Peter Dettman | 2014-01-31 | 1 | -8/+24 |
| | |||||
* | Fix final step of Reduce() | Peter Dettman | 2014-01-30 | 1 | -10/+9 |
| | |||||
* | Fix GetBit range-check | Peter Dettman | 2014-01-30 | 1 | -1/+1 |
| | |||||
* | Formatting | Peter Dettman | 2014-01-30 | 1 | -10/+0 |
| | |||||
* | Take advantage of special prime modulus to optimize sqrt | Peter Dettman | 2014-01-30 | 2 | -4/+107 |
| | |||||
* | Add SquareN to perform repeated modular squaring | Peter Dettman | 2014-01-30 | 2 | -0/+30 |
| | |||||
* | Cleanup various warnings, and reformatting | Peter Dettman | 2014-01-29 | 2 | -2/+3 |
| | |||||
* | Remove unnecessary using statement | Peter Dettman | 2014-01-28 | 1 | -2/+0 |
| | |||||
* | Several optimizations and make notes of possible delayed reductions | Peter Dettman | 2014-01-28 | 1 | -17/+28 |
| |