問題タブ [pbkdf2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - make_password django を使用してパスワード ユーザー登録を作成する
ユーザーがユーザー名とパスワードの組み合わせで入力する登録フォームを作成しようとしています。
MyPBKDF2
パスワードハッシュに使用 するパスワードが必要です。
私はhashers.pyを持っています
設定.py
ビュー.py
フォーム.py c
パスワードを送信していますが、プレーンテキストで送信されています。これは良くありません。
ここで何が間違っていますか?
performance - Haskell PBKDF2 アルゴリズムの高速化
Haskell で PBKDF2 アルゴリズムの新しいバージョンを作成しました。RFC 6070にリストされている HMAC-SHA-1 テスト ベクトルのほぼすべてに合格しますが、あまり効率的ではありません。コードを改善するにはどうすればよいですか?
テスト ベクトルで実行すると、3 番目のケース (以下を参照) が終了しません (2010 Macbook Pro で 0.5 時間以上実行したままにしました)。
これfoldl'
は私の問題だと思います。パフォーマンスが向上しますfoldr
か、それとも変更可能な配列を使用する必要がありますか?
3 番目のテスト ベクトル
php - md5 から PBKDF2 への移行方法
md5 ベースの単純な認証モジュールをPBKDF2にアップグレードする必要があります。可能なスキーマと追加の手順、操作の流れ、および次の場合に必要な変更を探しています。
を。新しいユーザー アカウントの作成 古いものは最も単純なものです: password=md5(password)
b. パスワードのリセット
現在:
c. 認証
スキーマ:
PBKDF2に関連する実装方法、データベーススキーマの問題、データベース内のパスワード/ソルトの長さなどに関するチュートリアル/記事はありません。見落としがあるかもしれませんが、参考にしてください。
誰かがphp/mysqlを使用してPBKDF2を実装する方法について、これらの暗いコーナーに光を当てることができますか.
私は php 5.3 を使用しているため、組み込みの PBKDF2関数を使用できません (つまり、少なくとも php 5.5 が必要でした)。
scala - SHA3 ステータスと PBKDF2-HMAC-SHA3 テスト ベクトル
SHA-3は既知の関数 (NIST ハッシュ関数コンペティションのファイナリストとしての Keccak) であるように思われるため、このトピックに関連するいくつかの質問があります。
- NIST のサイトによると、NIST は政府の資金提供の失効により閉鎖されています。SHA-3 が最終的に受け入れられる可能性はありますか?
- BouncyCastleライブラリには SHA-3 の実装があり、ダイジェスト結果はウィキペディアの記事に投稿された例と同じです(私はこれをテストしました)。最終的な規格が承認されていないので、これは信頼できますか? ウィキペディアは、これは変更される可能性が高いと述べていますが、最終的なアルゴリズムは変更の対象ではないように思われるため、どのように変更できますか (または、別のアルゴリズムになる可能性があります)。
- ここで誰かが、キーの強化とパスワードのハッシュのために SHA-3 で PBKDF2 を使用することは避けるべきであると指摘しました。しかし、私はなぜ理解できないのですか?(アルゴリズムが高速でない場合、攻撃者にどのように有利になるでしょうか?)
- BouncyCastle Java api に基づく scala での PBKDF2 -HMAC-SHA3の実装をテストするためのテスト ベクトルがどこにも見つかりませんでした。テスト仕様をいくつかの結果とともに投稿できます。しかし、最初に誰でも/仕様のテスト ベクトルを投稿できますか?
これがscalaでの私の実装です:
私にとって疑わしいことの1つはnew SHA3Digest(256)
、コンストラクターの256ビット長です。提供されたキーの長さと同じにする必要がありますか、それとも私が行ったように固定されたものにする必要がありますか? 一部の固定値しか使用できず、オブジェクト API ユーザーがキー長パラメーターとして任意の値を指定できるため、固定長を使用することにしましたが、一般的でないもののほとんどはSHA3Digest
コンストラクター内から例外がスローされます。また、デフォルト値は 288 (キーの長さが指定されていない場合) のようで、奇妙に見えます。
前もって感謝します!
java - PBKDF2WithHmacSHA512 対。PBKDF2WithHmacSHA1
私は、データベース内のパスワードのストレージを- 生成されたPBKDF2
ハッシュとして指定する Java 認証サブシステムに取り組んでおり、現在、使用するSHA1
かSHA512
PRF として使用するかを決定しようとしています。私は両方の仕様を調べましたが、それらは私が従うには数学的に非常に集中的です. PBKDF2WithHmacSHA512
暗号をよく理解している人は、 との違いを説明できますかPBKDF2WithHmacSHA1
?
これが私がやろうとしていることです:
ruby - OpenSSL::PKCS5.pbkdf2_hmac_sha1 が異なる長さの鍵を生成するのはなぜですか?
Rails 3.2 を使用しており、AES-CBC 256 を使用して何かを暗号化するために、 pbkdf2_hmac_sha1関数からキーと IV を生成しようとしています。
それを生成するために使用するコードは次のとおりです。
SecureRandom.urlsafe_base64 を使用してランダム ソルトを生成すると、いくつかのソルトを使用すると、IV の長さ (16 バイトである必要があります) が 16 バイトではなく 15 バイトになる場合があることに気付きました。
たとえば、salt = "lzbH78AwVK7U1eo-ephK6A" がある場合、IV = "604ff394b52e79255fa35b081684b0" (15 バイト長) が生成されます。
誰かが私が間違っていることの手がかりを得ることができますか?
security - PKBDF2、AES、IV、およびソルトを使用したより良い実践
そのため、ドキュメントのリストを AES アルゴリズムで暗号化しています。PBKDF2 を使用して、ユーザー パスワードからキーを決定します。ストア データと IV/salt についていくつか質問があります。
書類の保管方法:
- すべてのドキュメントを 1 つの AES キー、IV、ソルトで暗号化
- 各ドキュメントを 1 つの AES キーで暗号化しますが、IV とソルトは分離します
IV と塩の保管/取り出し方法:
- PBKDF2 (AES キーなど) から IV を取得し、どこかに保存する必要はありません
- すべてのドキュメント暗号化の前に IV を生成し、プレーン テキストとして保存します
- 塩の場合、オプションはないと思います-とにかくプレーンテキストとして保存する必要があります
私がその記事(http://adamcaudill.com/2013/04/16/1password-pbkdf2-and-implementation-flaws/)および他のいくつかから理解しているように:
- IV とソルトをプレーン テキストとして保存しても問題ありません。
- 異なる IV は最初の暗号ブロック (CBC モードの場合) のみを「歪める」ことができますが、すべてではないため、AES メソッドにマッシュ セキュリティはもたらされません。
php - 2013 年のパスワードハッシュ
これらの今日の「最良の」ソリューションは何ですか?
これは良いオプションのようです: https://defuse.ca/php-pbkdf2.htm
それでは、PHP5.5 にアップグレードしてこれを使用するのはどうでしょうか。 http://php.net/manual/en/function.hash-pbkdf2.php
なぜPHPサイトが次のように述べているのか不思議です:
注意 PBKDF2 メソッドは、ストレージ用のパスワードのハッシュに使用できます (その使用は NIST で承認されています)。ただし、パスワードの保存には CRYPT_BLOWFISH の方が適しているため、代わりに crypt() を使用する必要があることに注意してください。
5.5 未満の PHP バージョンの場合、defuse.ca ソリューションを使用し、PHP5.5 にアップグレードした後にそれを切り替えるのは公平でしょうか?
これは defuse.ca の現在の解決策です。この関数の名前を hash_pbkdf2() に変更するのは公平でしょうか。PHP5.5 へのアップグレード後はスムーズに移行できますか?
java - Javaで「PBKDF2WithHmacSHA1」でキーを入力する方法
プレーンテキスト ファイルに保存されたユーザー パスワードの機密性を確保する必要がある Java プロジェクトに取り組んでいます。
そのために、パスワードのハッシュのみをファイルに書き込みます。より具体的には、レインボー テーブルとルックアップ テーブルの使用を避けるために、パスワードのハッシュとランダム ソルト、およびランダム ソルト自体を作成することを意図しています。また、PBKDF2 でキーストレッチングを使用して、ハッシュの計算を計算コストの高いものにしたいと考えています。最後に、保護の最終層として鍵付きハッシュ アルゴリズム HMAC を使用したいと思います。
私は自分の考えを Java コードに実装しようとしていますが、上に示した操作の例をいくつか見つけました。
私が本当に理解できないのは、関数への入力ではないように見えるため、HMAC アルゴリズムで使用されるキーとして秘密キーを入力する方法です。Java のドキュメントに目を通しましたが、質問に対する解決策が見つかりません。