这是我编写的一个非常简单的程序,它使用jpbc库。 它编译没有任何错误,但需要非常长的时间来显示输出,或者实际上它根本不显示输出。 (在这个时代,谁会有耐心等待将近半个小时才能完成这么小的程序?)我正在使用带有i7处理器的系统,但情况仍然如此。
有人能说出这段代码可能有什么问题吗?
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();
}
}
}
答案 0 :(得分:0)
您在这里处理三个问题
生成配对参数需要一些时间,但这只需要为您正在构建的系统执行一次。您应该存储生成的配对参数以供以后使用。
由于您未使用<--""
Level INFO
Handler Stream <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
Level INFO
Formatter <colorlog.colorlog.ColoredFormatter object at 0x1103a1668>
|
o<--"django"
| Level INFO
| Handler Stream <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
| Level INFO
| Filter <django.utils.log.RequireDebugTrue object at 0x11047d518>
| Handler <AdminEmailHandler (ERROR)>
| Level ERROR
| Filter <django.utils.log.RequireDebugFalse object at 0x11053a7f0>
| |
| o<--"django.db"
| | Level NOTSET so inherits level INFO
| | |
| | o<--"django.db.backends"
| | Level NOTSET so inherits level INFO
| | |
| | o<--"django.db.backends.schema"
| | Level NOTSET so inherits level INFO
| |
| o<--"django.request"
| | Level NOTSET so inherits level INFO
| |
| o "django.server"
| | Level INFO
| | Propagate OFF
| | Handler Stream <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
| | Level INFO
| | Formatter <django.utils.log.ServerFormatter object at 0x11053a630>
| |
| o<--"django.template"
| Level NOTSET so inherits level INFO
|
o<--"gunicorn"
Level NOTSET so inherits level INFO
|
o "gunicorn.access"
| Level INFO
| Propagate OFF
| Handler Stream <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
| Level INFO
| Formatter <colorlog.colorlog.ColoredFormatter object at 0x1103a1668>
|
o "gunicorn.error"
| Level INFO
| Propagate OFF
| Handler Stream <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
| Level INFO
| Formatter <colorlog.colorlog.ColoredFormatter object at 0x1103a1668>
|
o<--"gunicorn.http"
Level NOTSET so inherits level INFO
|
o<--"gunicorn.http.wsgi"
Level NOTSET so inherits level INFO
或pg
,因此您可以删除该代码。相反,您正在从文件中读取预先计算的参数。
jPBC是PBC的完整且纯粹的Java实现。它完全便携,因此非常慢。 jPBC可以选择使用PBCWrapper库,它是libpbc的包装器,可以让你获得本机库的性能。我无法在Windows上运行,但Linux应该不是问题(确保检查JNI版本或加载自己的版本)。