@@ -0,0 +1,629 @@
+package org.bouncycastle.math.ec;%0A%0Aimport java.math.BigInteger;%0A%0Aclass ZSignedDigitL2RMultiplier implements ECMultiplier%0A%7B%0A    /**%0A     * 'Zeroless' Signed Digit Left-to-Right.%0A     */%0A    public ECPoint multiply(ECPoint p, BigInteger k, PreCompInfo preCompInfo)%0A    %7B%0A        ECPoint R0 = p, negP = p.negate();%0A%0A        int n = k.bitLength();%0A        int s = k.getLowestSetBit();%0A%0A        int i = n;%0A        while (--i %3E s)%0A        %7B%0A            ECPoint r = k.testBit(i) ? p : negP;%0A            R0 = R0.twicePlus(r);%0A        %7D%0A        while (--i %3E= 0)%0A        %7B%0A            R0 = R0.twice();%0A        %7D%0A        return R0;%0A    %7D%0A%7D%0A

Add Zeroless Signed Digit left-to-right multiplier