AESアルゴリズムを使用してAndroid用の暗号化アプリを開発しようとしていますが、キーをどこに保存すればよいですか。アイデアは、ユーザーがパスワードを提供し、キーが生成されるということです。このプロセスをより安全に行うにはどうすればよいですか。事前に感謝します
質問する
360 次
2 に答える
3
AESアルゴリズムを使用してAndroid用の暗号化アプリを開発しようとしていますが、キーをどこに保存すればよいですか。アイデアは、ユーザーがパスワードを提供し、キーが生成されるということです
次に、キーを保存しません。ユーザーが最初の暗号化またはその後の復号化のためにパスワードを入力すると、パスワードから鍵が生成されます。
于 2012-10-21T12:24:01.687 に答える
1
@CommonWare が示すように、パスワードからキーを生成する必要があります。これを行う正しい方法は、ソルト (*) と共に PBKDF2 アルゴリズムを使用することです。bcrypt や scrypt などの優れたアルゴリズムは他にもありますが、PBKDF2 が最も確立された標準です。Android の実装については、Android の PBKDF2 関数を参照してください。
(*)ソルトは、PBKDF2 アルゴリズムの一部として必要な乱数です。この塩は秘密ではありません。好きなように保管できます。ただし、後で復号化するために追跡する必要があります。通常、CBC で使用されるランダムな IV と共に、salt を暗号文の前に追加して保存します。
于 2012-10-23T01:56:03.910 に答える