13

Android アプリケーションに RSA アルゴリズムを実装しようとしています。私はjava.math.BigInteger.modPow()自分のコンピューター (Windows と Xubuntu) と Raspberry Pi (Debian) で正常に動作する暗号化/復号化の関数を使用しています。私の電話(Android 4.4.4)で同じコードが実行されると、への2回目の呼び出しで次の例外がスローされますmodPow()

java.jang.ArithmeticException: error:0306B06B:bignum routines:BN_div:not initialized
    at java.math.NativeBN.BN_mod_exp(NativeMethod)
    at java.math.BigInt.modExp(BigInt.java:327)
    at java.math.BigInteger.modPow(BigInteger.java:997)
    at "where I call java.math.BigInteger.modPow()"

指数とモジュラスを確認しました。どちらも正であるため、ドキュメントはあまり役に立ちません。キーのサイズ (指数とモジュラス) を小さくしても、何も変わりませんでした。残念ながら、ネイティブ関数のソースを見つけることができず、何が起こっているのかわかりません。

なぜこの例外がスローされるのか、またはエラーコードが何を意味するのか分かりますか?

4

1 に答える 1