0

twofish 暗号化を検索していたところ、mcrypt を見つけたところ、暗号を使用する必要があると言われました: MCRYPT_TWOFISH256 (256 ビットのキー サイズが必要なため) しかし、それは機能せず、自分のバージョンと MCRYPT_TWOFISH256 を使用するバージョンを確認しました。

これは私を混乱させました:mcryptのドキュメンタリーでは、古いバージョンもMCRYPT_TWOFISHxxxを使用する必要があり、新しいバージョンはMCRYPT_TWOFISHxxxのみを使用し、その後にキーサイズを示す番号がないと言われているので、私の質問:

暗号の鍵のサイズ: MCRYPT_TWOFISH。キーサイズを示す数字が最後にないためです。例: MCRYPT_SERPENT_256

4

1 に答える 1

0

MCRYPT_TWOFISH の場合、キーサイズは 256 ビットです。

http://php.net/manual/en/mcrypt.ciphers.php#101462から:

mcrypt バージョン 2.4.x 以降で定義されている MCRYPT_TWOFISH 定数は、Twofish の 256 ビット バージョンです。1 ~ 32 バイトのキー、16 バイトの IV を使用し、CBC モードで 16 バイトのブロックを出力します。

PHP と mcrypt のソース コードをざっと見てみると、この主張が裏付けられているようです。具体的にはhttp://mcrypt.cvs.sourceforge.net/viewvc/mcrypt/libmcrypt-nm/lib/mcrypt_extra.c?view=markup#l60で、MCRYPT_ENTRY(MCRYPT_TWOFISH, 16, 32, 1)32 はバイト単位のキーサイズです。

于 2014-12-31T13:37:19.040 に答える