2011年5月27日

[PHP-users 35581] Re:mcrypt_decrypt() が正しく複合化できない

おく@Workgroupです。

mcrypt のman によると、

http://mcrypt.hellug.gr/lib/mcrypt.3.html

「RIJNDAEL-128 (the AES winner) , RIJNDAEL-192 , RIJNDAEL-256 The
numerals 128, 192 and 256 stand for the length of the block size. 」

とありますので、RIJNDAEL-128で復号できて間違いないようです。


2011年5月27日12:01 youo hoko <yoko00068@xxxxx>:
> 星野です
>
> 分かったかもです
>
> http://www.ipa.go.jp/security/rfc/RFC3602JA.html#2.4
>> AES は、16 オクテット(128 ビット)のブロックサイズを使用する。
>
> # php -r "echo mcrypt_get_block_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);"
> 32
>
> ブロックサイズが256ビットになっちゃってますね
>
> さて、報告ですがわたしこの手の報告をしたことが無く、英語もさっぱり。
> 翻訳機でがんばってみようかな、、、
>
> どなたか報告していただけるとありがたいです
>
>
> --- php-users@xxxxx wrote:
>> おく@Workgroupです。
>>
>>
>> > $key = '12345678901234567890123456789012' ;
>> > にしても mcrypt_decrypt() は変なバイナリを返すのです
>>
>> なぜか、rijndael-128 で復号できますね・・
>>
>> $mcrypt_data = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key,
>> $data_enc, MCRYPT_MODE_ECB), "\x00\x05\x08");
>>
>> mcrypt_encrypt で、rijndael-256 したものは、
>> rijndael-256 で mcrypt_decrypt できるようです。
>>
>> encrypt の結果が、openssl と、mcrypt で長さから違うので、
>> どちらかがおかしいようですね。
>>
>>
>>
>> 2011年5月26日19:15 <hoshino@xxxxx>:
>> > 星野です
>> >
>> > おく@Workgroup様 ご指摘ありがとうございます。
>> >
>> > しまった、鍵長が256bitが使えるからAES256なのでした。
>> > サンプルコードを作っているときに短くしてしまいました。
>> > 恥ずかしい、、、
>> >
>> > $key = '12345678901234567890123456789012' ;
>> > にしても mcrypt_decrypt() は変なバイナリを返すのです
>> >
>> > バイナリをbin2hexで表示してみました。
>> > ---
>> > <?php
>> > $key = '12345678901234567890123456789012' ;
>> > $data = 'abcd1234' ;
>> > $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ;
>> >
>> > $openssl_data = openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE) ;
>> > $mcrypt_data = mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ;
>> >
>> > echo $openssl_data ,"\n" ;
>> > echo bin2hex($openssl_data) ,"\n" ;
>> > echo bin2hex($mcrypt_data) ,"\n" ;
>> > ?>
>> > ---
>> > 結果
>> >>
>> >> abcd1234
>> >> 6162636431323334
>> >> 242a2e7c099eb918aa51b768442db1ffb90639e68c71eb82261dff762f7a1235
>> >
>>
> _______________________________________________
> PHP-users mailing list PHP-users@xxxxx
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2011年5月27日 12:24
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/104081
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。