パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

OpenBSD、予測不可能なrand関数を実装(ただしPOSIX違反)」記事へのコメント

  • by Anonymous Coward on 2014年12月11日 15時02分 (#2726427)

    質のよい乱数関数にするのはいいことだけど、シード設定を無視するのは意味があるのかな?
    どうせ暗号学的な乱数関数じゃないんだから、セキュリティ目的では使えない。
    ゲームやシミュレーションの目的なんだから、現在時刻だって、シードとしては十分だと思うけど。

    「rand()を使うのが正しいケースで、現在時刻をシードとして使うと、一見問題はない(開発時点では発覚しない)が、実は不具合になる」という場合ってどれだけあるかな。

    • by Anonymous Coward on 2014年12月11日 15時21分 (#2726437)

      変更のログを読むとrandは内部的にはarc4randomを呼ぶと書いてあります。つまり暗号学的に安全な乱数を返そうとしているのですね。

      おいおいRC4はもはや危殆化してるだろうとお考えになると思うのですが,ところがどっこいarc4randomという名前の割に既に中身の関数が差し替えられていまして
      http://www.openbsd.org/cgi-bin/man.cgi?query=arc4random&apropos=0&... [openbsd.org]
      > In OpenBSD 5.5 it was replaced with the ChaCha20 cipher, and it may be replaced again in the future as cryptographic techniques advance.
      暗号学的に安全と思って良いと思います。

      親コメント
      • by Anonymous Coward

        なるほど。そもそもrand()を使ってはいけないケースでrand()を使うようなプログラムが対象ということですか。
        しかし、そんなプログラム相手に、乱数だけ暗号学的にしてどれほど意味があるのやら…。

人生unstable -- あるハッカー

処理中...