本文整理汇总了Java中org.bouncycastle.math.raw.Nat224.isZero方法的典型用法代码示例。如果您正苦于以下问题:Java Nat224.isZero方法的具体用法?Java Nat224.isZero怎么用?Java Nat224.isZero使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bouncycastle.math.raw.Nat224
的用法示例。
在下文中一共展示了Nat224.isZero方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: negate
import org.bouncycastle.math.raw.Nat224; //导入方法依赖的package包/类
public static void negate(int[] x, int[] z)
{
if (Nat224.isZero(x))
{
Nat224.zero(z);
}
else
{
Nat224.sub(P, x, z);
}
}
示例2: sqrt
import org.bouncycastle.math.raw.Nat224; //导入方法依赖的package包/类
/**
* return a sqrt root - the routine verifies that the calculation returns the right value - if
* none exists it returns null.
*/
public ECFieldElement sqrt()
{
int[] c = this.x;
if (Nat224.isZero(c) || Nat224.isOne(c))
{
return this;
}
int[] nc = Nat224.create();
SecP224R1Field.negate(c, nc);
int[] r = Mod.random(SecP224R1Field.P);
int[] t = Nat224.create();
if (!isSquare(c))
{
return null;
}
while (!trySqrt(nc, r, t))
{
SecP224R1Field.addOne(r, r);
}
SecP224R1Field.square(t, r);
return Nat224.eq(c, r) ? new SecP224R1FieldElement(t) : null;
}
示例3: trySqrt
import org.bouncycastle.math.raw.Nat224; //导入方法依赖的package包/类
private static boolean trySqrt(int[] nc, int[] r, int[] t)
{
int[] d1 = Nat224.create();
Nat224.copy(r, d1);
int[] e1 = Nat224.create();
e1[0] = 1;
int[] f1 = Nat224.create();
RP(nc, d1, e1, f1, t);
int[] d0 = Nat224.create();
int[] e0 = Nat224.create();
for (int k = 1; k < 96; ++k)
{
Nat224.copy(d1, d0);
Nat224.copy(e1, e0);
RS(d1, e1, f1, t);
if (Nat224.isZero(d1))
{
Mod.invert(SecP224R1Field.P, e0, t);
SecP224R1Field.multiply(t, d0, t);
return true;
}
}
return false;
}
示例4: isZero
import org.bouncycastle.math.raw.Nat224; //导入方法依赖的package包/类
public boolean isZero()
{
return Nat224.isZero(x);
}