AESなどの非対称アルゴリズムの暗号化/復号化キーの長さはどれくらいですか? AES 128ビットを使用する場合、キーには何文字入力する必要がありますか? AES 256ビットについてはどうですか?
編集:これが私が尋ねる理由です:Node.js、PHPおよびコマンドラインを使用して一部のデータを暗号化するためにOpenSSLを使用しようとしています。キーを渡す必要があります。 AES128の32文字のキーでは、キーの長さのエラーが返されました。AES256で32を試したところ、一般的なキーのエラーが返されました。暗号化キーを入力する方法がわかりません...
AES 128ビットキーは、32文字の16進数文字列として表現できます。 base64では24文字が必要です。
AES 256ビットキーは、64文字の16進数文字列として表現できます。 base64では44文字が必要です。
AESの暗号化キーは、文字または文字で表されません。暗号化キーは一連の128(または256)ビットです。
テキストベースのパスワードを入力するために何らかのインターフェースを使用している場合、内部的には入力したパスワードをビットに変換しています。 PBKDF2のような複雑なルーチン、またはSHA-1の単一の反復を使用している可能性があります。
その場合、最低限の文字数を考えるのではなく、誰かがパスワードを推測することの予測できないことを理解する必要があります。多くのトピックについて書かれています。このトピックの優れた入門書として、「正しい馬のバッテリーの定番」をググるようお勧めします。
128ビットキーの場合:
生の文字あたり8ビット(base-256、つまり、文字が任意のバイト値を取ることができる場合)
base-64エンコードされた文字あたり6ビット