public ECFieldElement add(final ECFieldElement b) { // No check performed here for performance reasons. Instead the // elements involved are checked in ECPoint.F2m // checkFieldElements(this, b); LongArray iarrClone = (LongArray)this.x.clone(); F2m bF2m = (F2m)b; iarrClone.addShiftedByWords(bF2m.x, 0); return new F2m(m, ks, iarrClone); }
public ECFieldElement add(final ECFieldElement b) { // No check performed here for performance reasons. Instead the // elements involved are checked in ECPoint.F2m // checkFieldElements(this, b); LongArray iarrClone = (LongArray)this.x.clone(); F2m bF2m = (F2m)b; iarrClone.addShiftedByWords(bF2m.x, 0); return new F2m(m, ks, iarrClone); }
public ECFieldElement squarePlusProduct(ECFieldElement x, ECFieldElement y) { LongArray ax = this.x, xx = ((F2m)x).x, yx = ((F2m)y).x; LongArray aa = ax.square(m, ks); LongArray xy = xx.multiply(yx, m, ks); if (aa == ax) { aa = (LongArray)aa.clone(); } aa.addShiftedByWords(xy, 0); aa.reduce(m, ks); return new F2m(m, ks, aa); }
public ECFieldElement multiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y) { LongArray ax = this.x, bx = ((F2m)b).x, xx = ((F2m)x).x, yx = ((F2m)y).x; LongArray ab = ax.multiply(bx, m, ks); LongArray xy = xx.multiply(yx, m, ks); if (ab == ax || ab == bx) { ab = (LongArray)ab.clone(); } ab.addShiftedByWords(xy, 0); ab.reduce(m, ks); return new F2m(m, ks, ab); }
public ECFieldElement squarePlusProduct(ECFieldElement x, ECFieldElement y) { LongArray ax = this.x, xx = ((F2m)x).x, yx = ((F2m)y).x; LongArray aa = ax.square(m, ks); LongArray xy = xx.multiply(yx, m, ks); if (aa == ax) { aa = (LongArray)aa.clone(); } aa.addShiftedByWords(xy, 0); aa.reduce(m, ks); return new F2m(m, ks, aa); }
public ECFieldElement multiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y) { LongArray ax = this.x, bx = ((F2m)b).x, xx = ((F2m)x).x, yx = ((F2m)y).x; LongArray ab = ax.multiply(bx, m, ks); LongArray xy = xx.multiply(yx, m, ks); if (ab == ax || ab == bx) { ab = (LongArray)ab.clone(); } ab.addShiftedByWords(xy, 0); ab.reduce(m, ks); return new F2m(m, ks, ab); }
LongArray uz = (LongArray)clone();
LongArray uz = (LongArray)clone();