12345678910111213141516171819202122232425262728293031 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier
- {
- public class DoubleAddMultiplier
- : AbstractECMultiplier
- {
- /**
- * Joye's double-add algorithm.
- */
- protected override ECPoint MultiplyPositive(ECPoint p, BigInteger k)
- {
- ECPoint[] R = new ECPoint[]{ p.Curve.Infinity, p };
- int n = k.BitLength;
- for (int i = 0; i < n; ++i)
- {
- int b = k.TestBit(i) ? 1 : 0;
- int bp = 1 - b;
- R[bp] = R[bp].TwicePlus(R[b]);
- }
- return R[0];
- }
- }
- }
- #pragma warning restore
- #endif
|