web-dev-qa-db-ja.com

Androidアプリケーションに最適な暗号化アルゴリズムはどれですか

可能性のある複製:
どのタイプの暗号化アルゴリズムAndroidがサポートしており、どちらが良いでしょうか?

DESの使用について混乱しています。トリプルDES、RSA、AESのアルゴリズムでは、これらについて詳しく知ることができなかったので、どちらのアルゴリズムの方が優れているかを考えることができません。

私のタスク:

私は暗号化された文字列をPHPサーバーに送信し、PHPサーバーがそれを復号化し、自分に応答を送信する応用。

AndroidとPHP両方)でどちらのアルゴがより良いのか、そしてその理由を説明してください。

4
Pankaj Kumar

それはあなたが心配している攻撃に依存します。

一般に、受け入れられているアルゴリズムを使用している場合でも、独自のスキームを作成しないことをお勧めします。あなたのケースは、標準のSSLで、おそらくクライアント側の証明書とサーバー側で簡単に処理できるように聞こえます。

広く受け入れられているスキームがなければ、暗号化アルゴリズムを直接使用すると、すべてを自分では考えられない可能性のあるあらゆる範囲の攻撃にさらされることになります。

たとえば、文字列を暗号化してHTTP経由で送信するとします。盗聴者はそれを解読することはできませんが、保存して後で再送信することができます。また、タイムスタンプやノンスなどの鮮度プロパティを導入しないスキームは、特に既知の言語のテキストが含まれている場合、それらの文字列に対する統計的攻撃を受けやすくなります。

おそらくアプリケーションでの認証と組み合わされた通常のSSLが機能する理由がない場合は、それに固執する。

5
chris