[#50422] [ANN] Rroonga - 6.0.9 - 高速全文検索ライブラリー — Masafumi Yokoyama <yokoyama@...>
横山です。
4 messages
2016/10/11
[#50424] [質問] Blowfishの鍵について — 松永 肇一 <ma2@...>
松永と申します。
5 messages
2016/10/12
[#50431] bundle exec での日本語を含む引数の文字化け workaround (Windows環境) — Toshihiko Ichida <dogatana@...>
市田です。
4 messages
2016/10/16
[ruby-list:50428] Re: [質問] Blowfishの鍵について
From:
松永 肇一 <ma2@...>
Date:
2016-10-13 03:51:58 UTC
List:
ruby-list #50428
Kazuki Yamaguchiさん、こんにちは。
> どのライブラリでしょうか。OpenSSL(libcrypto)だとすると、BF_set_key()
> も同様に直接暗号鍵を設定するものです。ですから、
>
> BF_KEY key;
> BF_set_key(&key, 8, "\0\1\2\3\4\5\6\7");
>
> に相当するものは、OpenSSL::Cipher で書き直すと、
>
> cipher = OpenSSL::Cipher.new("bf-<なにか>").encrypt
> cipher.key_len = 8
> cipher.key = "\0\1\2\3\4\5\6\7"
>
> となります。
ライブラリはopensslでした。
なるほど、同じ文字列を渡せるのですね。
> パスワードから暗号鍵を導出する方法はいくつかありますが、Ruby の標準ライ
> ブラリの中では PBKDF2(+HMAC) が使えます。
>
> salt = OpenSSL::Random.random_bytes(16)
> key_iv = OpenSSL::PKCS5.pbkdf2_hmac(pass, salt, 100_000, cipher.key_len + cipher.iv_len, "sha256")
> cipher.key = key_iv[0, cipher.key_len]
> cipher.iv = key_iv[cipher.key_len, cipher.iv_len]
たいへん参考になります。
ありがとうございました。
--
株式会社ライフメディア システム開発部
松永肇一