使用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(); 
     } 
    } 
} 
+0

你能告诉我你的a.properties文件吗? –

有迹象表明,你正在处理这里

  • 生成配对参数三个问题需要一定的时间,但是这仅需要为你建立一个系统做一次。您应该存储生成的配对参数供以后使用。

  • 由于您没有使用pgparams,您可以删除该代码。相反,您正在从文件中读取预先计算的参数。

  • jPBC是PBC的完整且纯粹的Java实现。它完全便携,因此速度很慢。 jPBC有一个使用PB​​CWrapper库的选项,它是libpbc的一个包装,它可以使你获得本地库的性能。我无法使它在Windows上工作,但Linux应该不是问题(确保检查JNI版本或加载自己的版本)。

+0

ArtjomB。非常感谢你。我能够使它工作。你的答案对我来说非常有用。 – user6814715