Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在DSA算法java中生成P_Java_Dsa - Fatal编程技术网

在DSA算法java中生成P

在DSA算法java中生成P,java,dsa,Java,Dsa,你能告诉我我是对的吗?我想在DSA算法中生成p。我不明白:| | pTemp.bitLength()!=l在do while语句中,因为这意味着我只查找1数字素数,即2,5,7?这是胡说八道 private BigInteger generateP(BigInteger q, int l) { if (l % 64 != 0) { throw new IllegalArgumentException("L value is wrong"); } Bi

你能告诉我我是对的吗?我想在
DSA
算法中生成
p
。我不明白:
| | pTemp.bitLength()!=l
do while
语句中,因为这意味着我只查找
1
数字素数,即2,5,7?这是胡说八道

private BigInteger generateP(BigInteger q, int l) { 
    if (l % 64 != 0) { 
        throw new IllegalArgumentException("L value is wrong");
    } 
    BigInteger pTemp;
    BigInteger pTemp2;
    int i = 0;
    do {
        //pTemp = new BigInteger(l, primeCenterie, rand);  <--- this is useless also?
        pTemp = new BigInteger(l,  rand);
        pTemp2 = pTemp.subtract(BigInteger.ONE);
        pTemp = pTemp.subtract(pTemp2.remainder(q));
        System.out.println("1 " + i++); 
    } while (!pTemp.isProbablePrime(primeCenterie) || pTemp.bitLength() != l);

    return pTemp;
}
private biginger generateP(biginger q,int l){
如果(l%64!=0){
抛出新的IllegalArgumentException(“L值错误”);
} 
大整数pTemp;
大整数pTemp2;
int i=0;
做{

//pTemp=new BigInteger(l,primecentrie,rand);不是1(1),而是l(l)一切都好。我两个月前做过,现在不明白。

不是1(1),而是l(l)一切都很好。我两个月前还在做,现在还不明白。

请将此添加为注释,如果您能够理解,请放置问题的答案。如果您能够理解,请将此添加为注释并放置问题的答案。