[#28509] Rational — Tadayoshi Funaba <tadf@...>

ふなばです。

49 messages 2006/04/05
[#28510] Re: Rational — keiju@... (石塚圭樹) 2006/04/05

けいじゅ@いしつかです.

[#28512] Re: Rational — Tadayoshi Funaba <tadf@...> 2006/04/05

ふなばです。

[#28513] Re: Rational — Shin-ichiro HARA <sinara@...> 2006/04/05

原です。

[#28514] Re: Rational — keiju@... (石塚圭樹) 2006/04/05

けいじゅ@いしつかです.

[#28517] Re: Rational — Yukihiro Matsumoto <matz@...> 2006/04/06

まつもと ゆきひろです

[#28520] Re: Rational — keiju@... (石塚圭樹) 2006/04/06

けいじゅ@いしつかです.

[#28521] Re: Rational — Yukihiro Matsumoto <matz@...> 2006/04/06

まつもと ゆきひろです

[#28525] Re: Rational — keiju@... (石塚圭樹) 2006/04/06

けいじゅ@いしつかです.

[#28527] Re: Rational — Shin-ichiro HARA <sinara@...> 2006/04/06

原です。

[#28536] Re: Rational — Shin-ichiro HARA <sinara@...> 2006/04/10

原です。

[#28537] Re: Rational — keiju@... (石塚圭樹) 2006/04/10

けいじゅ@いしつかです.

[#28589] Float#div and Float#divmod [AGAIN] — Shin-ichiro HARA <sinara@...>

原です。

16 messages 2006/04/23

[ruby-dev:28610] openssl aes-*-cbc is broken

From: "NARUSE, Yui" <naruse@...>
Date: 2006-04-30 21:23:51 UTC
List: ruby-dev #28610
成瀬です。

openssl モジュールの AES (CBC mode) が使えないようです。

require'openssl'
c1 = OpenSSL::Cipher::Cipher.new("AES-256-CBC")
c2 = OpenSSL::Cipher::Cipher.new("AES-256-CBC")
pass = "open sesame!"
data = "Hello world!"
c1.pkcs5_keyivgen(pass)
s1 = c1.encrypt.update(data) + c1.final
c2.pkcs5_keyivgen(pass)
s2 = c2.decrypt.update(s1) + c2.final
p(data == s2) #=> true

を実行しようとすると、c2.final で以下のエラーが発生します。
OpenSSL::CipherError: bad decrypt
        from (irb):359:in `OpenSSL::Cipher::Cipher#final'
        from (irb):359:in `Kernel#binding'
        from :0

aes-128-cfb aes-128-ecb aes-128-ofb といった
CBC 以外のモードでは動作しますし、
AES以外の方式の CBC は動作します。
また、openssl コマンドからだと動作するので、
Ruby/OpenSSL の問題だと思うのですが、それ以上は調べ切れませんでした。


ところで、OpenSSL::Cipher::AESですが、
openssl では -aes が無いため、
  OpenSSL::Cipher::AES.new(256, 'cbc')
などとしないと初期化できません。

OpenSSL::Cipher::AES128, OpenSSL::Cipher::AES192,
OpenSSL::Cipher::AES256 ならば、
それぞれ -aes128, -aes192, -aes256 と対応するため、
引数なしでインスタンスを作れるのでいいと思うのですが。


-- 
NARUSE, Yui  <naruse@airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA

In This Thread

Prev Next