タグ

暗号と乱数に関するtsupoのブックマーク (2)

  • ハードウェア乱数生成器は信頼できるか

    How secure is Linux's random number generator? | Hacker News Hacker Newsで話題になっていたので。 主に暗号用途には、予測不可能な乱数が必要となる。予測不可能というのは、実装と内部状態が知られていても、なお将来の乱数が予測できないということだ。 たとえば、擬似乱数としてよく使われる線形合同法(Linear congruential generator)は、以下のように書ける。 namespace lcg { thread_local unsigned int seed ; void srand( unsigned int seed ) { lcg::seed = seed ; } int rand( void ) { // glibcの使っている値を拝借 seed = (1103515245 * seed + 12345

    tsupo
    tsupo 2013/07/15
    Intelがその気になれば、rdrandの実装は、インクリメントされるカウンターをAESで暗号化したものにできる(暗号鍵はもちろんIntelやNSAが保持しているのだ) → それで信頼できるかどうかという話が出てくるんだ
  • ワンタイムパッド - Wikipedia

    ワンタイムパッド (one time pad, OTP) とは、乱数列を高々1回だけ使う暗号の運用法である。1回限り暗号、めくり暗号などとも呼ばれる。発案は戦前であるが、戦後、クロード・シャノンにより情報理論的安全性としてその強度の概念が確立された[1]。 概要[編集] 通信量と同じ長さの乱数列を使用し、日めくりのように1回使った乱数表は捨てる。例えば1から26の範囲をとる乱数の場合、1つの乱数でアルファベット(A-Z)の1文字を暗号化できる。乱数の秘匿だけで暗号強度を保てるので暗号化/復号がシンプルで、手作業でも処理できる。換字表やコードブックは公知のものでもよいという利点がある。 理論的には、正しく運用された場合に解読不可能となる。たとえ総当たりで解読しようとしても、総当たりで生成される多数の文章(文字列)の中には、送信者が暗号化した文章以外にも、人間が意味を読み取れる文章(文字列)が

    tsupo
    tsupo 2008/04/14
    解読不可能であることを数学的に証明 / 乱数鍵を1回だけ使う暗号の運用法
  • 1