2016-09-23 63 views
0

這是我寫的使用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文件嗎? –

回答

0

有跡象表明,你正在處理這裏

  • 生成配對參數三個問題需要一定的時間,但是這僅需要爲你建立一個系統做一次。您應該存儲生成的配對參數供以後使用。

  • 由於您沒有使用pgparams,您可以刪除該代碼。相反,您正在從文件中讀取預先計算的參數。

  • jPBC是PBC的完整且純粹的Java實現。它完全便攜,因此速度很慢。 jPBC有一個使用PB​​CWrapper庫的選項,它是libpbc的一個包裝,它可以使你獲得本地庫的性能。我無法使它在Windows上工作,但Linux應該不是問題(確保檢查JNI版本或加載自己的版本)。

+0

ArtjomB。非常感謝你。我能夠使它工作。你的答案對我來說非常有用。 – user6814715