状況JavaでのRSA暗号化:クロスプラットフォームの問題?
私はJavaでRSA暗号化を行っています。私は、CyanogenmodのAndroid 2.2を搭載したHTC Saphire(32B)開発者用携帯電話でデータを暗号化し、次にMandriva Linux 2010を実行する64ビットサーバー上でそのデータを暗号化しようとしています。私は同じ公開鍵と秘密鍵のペアを両方のマシンAndroidの電話機でデータを正しく暗号化/復号化でき、Linuxサーバー上のデータを正しく暗号化/復号化できますが、データを暗号化してサーバー上で復号化することはできません。私は詰め物の例外が悪いです。データが電話で正しく送信され、サーバーによって正しく解析されていることを確認しました。このように、私は解読が失敗する理由を理解できません。誰もこれで私を助けることができますか?おそらく、JavaのRSAアルゴリズムには、単語サイズについての根本的な仮定がありますか?
詳しい情報:
- 私の暗号化/復号化ライブラリがガイドに基づいていますがhere.
- を見つけた私の暗号化キーの長さは2048ビットですが、私は別のキーサイズで同様の現象を参照してください。
- RSA暗号化/復号化コードをjarファイルにパッケージングしました。これは、Eclipseを使用してサーバーのマシン上でコンパイルされました。
- Android携帯の暗号化ライブラリを使用しているプログラムは、上記のライブラリを使用しています。それもEclipseを使用して構築されました。
- サーバープログラムは、Netbeansを使用して構築されました(そのようにする方が簡単でした)。
その他の質問
- は、Javaのための利用可能その他無料公開鍵暗号化アルゴリズム/ライブラリはありますか?彼らはクロスプラットフォームで動作しますか?彼らはどのようなパフォーマンスを期待していますか?私はこれを見てきましたが、それほど多くは見つかりませんでした。おそらく私は間違ったキーワードを探しています。
Phew!私はそうだと思います。事前にあなたの助けをありがとう!
任意のアルゴリズムは、クロスプラットフォームで動作する必要があり、問題はあなたのコード(または設定)である可能性が高い – bestsss
Configを、えっ? RSAについて何が設定可能ですか? Javaでこれをどうやってやるのだろうか?チュートリアルへのリンクを提供できますか?私はあなたの時間を取ることを望んでいませんが、自分自身が正しい方向に向いているような専門家(経験者)を持つことは、本当に私の人生を楽にします。 –
(SRYが夕食のために逃げた)私は、公開鍵/秘密鍵として設定を意味し、悪いパディングはほとんどひどく鍵ペアを交換によって引き起こされます。あなたが何らかの理由でアンドロイドが太陽のインプラントと同じパディングをサポートしていないと確信しているなら。 http://www.bouncycastle.org/btwを試してみてください。同じデバイス/マシン上でデータを暗号化/復号化するにはどうすればよいですか? – bestsss