キーストレッチング
関数を何千回、何百万回と繰り返し、パスワードの推測1回あたりのコストを引き上げる手法。
人間が考えるパスワードはエントロピーが低く、GPUがあれば1秒に数十億通りの候補を試せる。キーストレッチングは、パスワードとソルトに対して関数を何度も適用することで、攻撃者の1回の推測に、正規ユーザーが認証するときと同じだけの時間をかけさせる。PBKDF2、bcrypt、scrypt、Argon2はいずれもこの方式で、新しいものほどメモリも要求するため、GPUでの並列化が難しい。
ただし、ストレッチングは良いパスワードの代わりにはならない。推測1回のコストは上がるが、「hunter2」のようなパスワードは何ラウンド回しても救われない。