ユーザパスワードから256bitのメッセージダイジェストを作りたい。圧縮アルゴリズムをGPU攻撃に使用するのは安全ですか?
私はアルゴン2がセキュリティのために推奨されていることを知っていますが、これまでのところAndroidデバイスではサポートされていません。
私は以下の別の方法を考え出しました。 GPUは、ユーザーパスワードによって、いくつかのアルゴリズム(例えばAES)で、SRAMにデータを残さないことができるように大きいです
を暗号化し、大きなランダムデータ、。
暗号化されたデータをZipアルゴリズムでエンコードします。
私はそれだけで1ビットごとに処理し、支店であれば、多くを持っているので、ジップエンコーディングがGPU、 のための最悪のアルゴリズムの一つだと思いSHA256
のZIPデータのメッセージダイジェストを取得します。 並列化できません。
Zipは可逆圧縮なので、ステップ2で生成されたデータはユーザーパスワードと一意です。
GPUアーキテクチャを考えると、Ifブランチ実行時に多くのクロックサイクルを要します。 GPUでZipをエンコードするのがCPUよりも遅いと思います。
これはいかがですか? 安全?
私はセキュリティの初心者です。
この方法を評価してください。
代わりにcrypto.stackexchange.comで質問してください... – Narf
'libsodium'にはArgon2があります。[Android用に3つの' libsodium'実装があります](https://download.libsodium.org/doc/ bindings_for_other_languages /)。 – CommonsWare
独自の暗号方式を作成しないでください。 [「シュナイダーの法則」](https://www.schneier.com/blog/archives/2011/04/schneiers_law.html):最も無慈悲なアマチュアから最高の暗号技術者まで、誰でも自分自身でできるアルゴリズムを作成できます壊れない – zaph