ユーザー入力
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/29 03:20 UTC 版)
多くのbcrypt実装はパスワードを最初の72バイトだけ切り出して利用する実装になっている。 算術アルゴリズムが18個の32ビットサブキー(72オクテット/バイトと同じ)に初期化することを要求しているからである。bcryptのオリジナル仕様 はユーザーランドのテキストベースのパスワードをこのアルゴルズムの数値とどのようにマッピングするべきかを強制するものはなかった。テキストで書かれた短いコメントで文字列のASCIIエンコードされた文字をシンプルに利用する可能性があると書かれているが、強制するものではない: 「最後に、key引数は秘密暗号鍵であり、ユーザーが選んだ56バイトまでのパスワードである可能性がある(文字列がASCII文字列の場合はゼロのバイトの終端も含む)」 アルゴリズムは初期値として72バイトの入力を扱うが、上記に引用文が「56バイトまで」のパスワードに言及している点は注目に値する。ProvosもMazièresも制約を短くした理由については表明していないが、Bruce SchneierによるBlowfishのオリジナルの仕様を見て決定した可能性がある: 「鍵サイズの448ビット制限によりすべてのサブキーのすべてのビットは、鍵のすべてのビットに依存していることが保証される」 パスワードを初期の数値の値に変換する方法は実装によって異なる可能性があるため、非ASCII文字を含んだパスワードの強度が低下する可能性がある。
※この「ユーザー入力」の解説は、「bcrypt」の解説の一部です。
「ユーザー入力」を含む「bcrypt」の記事については、「bcrypt」の概要を参照ください。
- ユーザー入力のページへのリンク