暗号化-PBKDF 2、scrypt、bcrypt、アルゴン2
前回の記事[認証と承認(bcrypt,JWT)]では、bcryptライブラリを使用したユーザーパスワード暗号化について説明します.
この記事では、暗号化ツールの違いについて説明します.
Key Derivation Functions
一方向ハッシュ関数の概念や問題は既に議論されているので,他の内容のみが補足されている.
PBKDF 2の基本パラメータには以下の5つのパラメータがあります.
DIGEST = PBKDF2(PRF, Password, Salt, c, DLen)
オフラインの暴力攻撃はもっと強いが、メモリとCPUを大量に使用している.
ハードウェア実装の規模とコストはずっと高価であるため、特定のリソースで攻撃者が使用できる並列処理量は限られている.
OpenSSL 1.1以降のシステムでのみ実行されます.
複数言語のライブラリとして提供されます.
scryptのパラメータには以下の6つのパラメータがあります.
DIGEST = scrypt(Password, Salt, N, r, p, DLen)
Blowfish暗号に基づいて設計された暗号化関数は,現在最も強力なハッシュメカニズムの一つである.
安全志向で有名なOpenBSDで使用されています.(コンピュータセキュリティ専用のオープンソースオペレーティングシステム)
SaltingとKey Stretchingを使用するとRainbow Table攻撃と暴力攻撃に対応できます.
C、Javaなど多くのプラットフォーム、言語で使用できます.
ただし、bcryptは、PBKDF 2やcryptとは異なり、72バイトの文字を入力値として使用する制限がある.
最近の暗号解読技術はGPUやASICなどの技術を採用し,高い計算能力で並列にアクセスしている.
使用目的に応じてパラメータ変更が可能で、3種類あります.
復号に要する時間またはメモリ量を設定します.
Argon 2 d:より高速でデータ依存メモリアクセス
Argon 2 i:速度は遅いが、データとは独立したメモリアクセスを使用
Argon 2 id:password hashingとpasswordベースの鍵ブート
コメントリスト
安全なパスワード記憶-NAVERD 2
Argon 2-次世代ユーザパスワードハッシュアルゴリズム-Python
暗号化はこれさえ分かればいい
Reference
この問題について(暗号化-PBKDF 2、scrypt、bcrypt、アルゴン2), 我々は、より多くの情報をここで見つけました https://velog.io/@palza4dev/패스워드-암호화-PBKDF2-scrypt-bcrypt-argon2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol