使用jpbc的程序需要很长时间
问题描述:
这是我写的使用jpbc库的一个非常简单的程序。 它编译没有任何错误,但需要非常长的时间来显示输出,或者实际上它根本不显示输出。 (在这个时代谁会耐心等待近半个小时的这样一个小程序?)我正在使用一个带有i7处理器的系统,但情况仍然如此。使用jpbc的程序需要很长时间
任何人都可以告诉什么可能是错误的代码?
import it.unisa.dia.gas.jpbc.*;
import it.unisa.dia.gas.plaf.jpbc.pairing.PairingFactory;
import it.unisa.dia.gas.plaf.jpbc.pairing.parameters.*;
import it.unisa.dia.gas.jpbc.PairingParametersGenerator;
import it.unisa.dia.gas.jpbc.PairingParameters;
import it.unisa.dia.gas.plaf.jpbc.pairing.a1.TypeA1CurveGenerator;
public class PairingDemo {
public static void main(String [] args){
try{
int rBits = 160;
int qBits = 512;
PairingParametersGenerator pg = new TypeA1CurveGenerator(rBits, qBits);
PairingParameters params = pg.generate();
Pairing pair = PairingFactory.getPairing("D:\\JPBCLib\\params\\curves\\a1.Properties");
Field Zr = pair.getZr();
int degree = pair.getDegree();
System.out.println("Degree of the pairing : " + degree);
}catch(Exception e){
e.printStackTrace();
}
}
}
答
有迹象表明,你正在处理这里
生成配对参数三个问题需要一定的时间,但是这仅需要为你建立一个系统做一次。您应该存储生成的配对参数供以后使用。
由于您没有使用
pg
或params
,您可以删除该代码。相反,您正在从文件中读取预先计算的参数。jPBC是PBC的完整且纯粹的Java实现。它完全便携,因此速度很慢。 jPBC有一个使用PBCWrapper库的选项,它是libpbc的一个包装,它可以使你获得本地库的性能。我无法使它在Windows上工作,但Linux应该不是问题(确保检查JNI版本或加载自己的版本)。
+0
ArtjomB。非常感谢你。我能够使它工作。你的答案对我来说非常有用。 – user6814715
你能告诉我你的a.properties文件吗? –