ペアリングプログラム

すすまねぇ〜。
つか、検証しても全部正しく動いてるのに
結果だけ双線形性がなりたってないってなんでやねん!
そして、今のアルゴリズムがいけないのか、JavaのBigIntegerがいけないのか
わからないけど、やたらと遅い。
というか遅いってレベルじゃなくて、暗号としては明らかに使えないレベルの遅さで
ペアリング計算に10分くらいかかる。
分析したらBigInteger.xorを53662回、BigInteger.shiftLeftを20927回
BigInteger.bitLengthを15868回実行してた。
有限体の掛け算自体500回なのに明らかに多い。
原因は分かってるんだけど正しいやり方がわからん。
明日質問攻めに行こう。