web-dev-qa-db-ja.com

AESの暗号化キーの長さ(文字数)は?

AESなどの非対称アルゴリズムの暗号化/復号化キーの長さはどれくらいですか? AES 128ビットを使用する場合、キーには何文字入力する必要がありますか? AES 256ビットについてはどうですか?

編集:これが私が尋ねる理由です:Node.js、PHPおよびコマンドラインを使用して一部のデータを暗号化するためにOpenSSLを使用しようとしています。キーを渡す必要があります。 AES128の32文字のキーでは、キーの長さのエラーが返されました。AES256で32を試したところ、一般的なキーのエラーが返されました。暗号化キーを入力する方法がわかりません...

17
Xeos

AES 128ビットキーは、32文字の16進数文字列として表現できます。 base64では24文字が必要です。

AES 256ビットキーは、64文字の16進数文字列として表現できます。 base64では44文字が必要です。

29
John Wu

AESの暗号化キーは、文字または文字で表されません。暗号化キーは一連の128(または256)ビットです。

テキストベースのパスワードを入力するために何らかのインターフェースを使用している場合、内部的には入力したパスワードをビットに変換しています。 PBKDF2のような複雑なルーチン、またはSHA-1の単一の反復を使用している可能性があります。

その場合、最低限の文字数を考えるのではなく、誰かがパスワードを推測することの予測できないことを理解する必要があります。多くのトピックについて書かれています。このトピックの優れた入門書として、「正しい馬のバッテリーの定番」をググるようお勧めします。

4
John Deters

128ビットキーの場合:

生の文字あたり8ビット(base-256、つまり、文字が任意のバイト値を取ることができる場合)
base-64エンコードされた文字あたり6ビット

2
tylerl