乱数表

From Wikipedia, the free encyclopedia

乱数表(らんすうひょう、英語: random number table)とは、乱数列数表のことだが、この記事ではもっぱら暗号に関係するものについて主に暗号理論の観点から述べる。なお、日本において広く知られているものに野球における乱数表があり、暗号の一種ではあるが限定された話となるので、独立記事の「野球における乱数表」の方を参照のこと。また英語版記事としては、対応している random number table の他、en:Random number book も参照。

文字の出現頻度の偏りなどといった統計的特徴は、しばしば暗号解読の手がかり、場合によっては決め手にもなる。対抗手段として確実性の高い方法に、乱数の利用によって「スクランブル」を掛ける、という手法がある。その場合に、正規の受信者は乱数から元の数字や文字に戻すために、送信側と同一の、あるいはペアの(逆関数となっている)表が必要になる。そのような、暗号化と復号のための乱数を表にしたものを「乱数表」という。

乱数表は、擬似乱数でない何らかの方法で作られた真の乱数、それも良質な乱数であることが望まれる(コンピュータ普及以前は擬似乱数によるものでも意味があったが、現代では普通の(コンピュータで容易に得られる)擬似乱数の乱数表はあまり意味がない)。レインボーテーブルなども見た目は乱数が並んだ表であるが、乱数としてではなく、特別の目的を持っている点で異なる。

コードと乱数

コード (暗号) 」とは、英単語のようなある程度まとまった情報を単位として符号を割振る形式の暗号であり、次節のサイファーと対置される。一例としては「敵艦隊見ゆとの警報に接し、連合艦隊は直ちに出動、これを撃沈 滅せんとす」という元の文章を「(アテヨイカヌ)ミユトノケイホウニセツシ(ノレツヲハイ)タダチニ(ヨシス)コレヲ(ワケフウメル)セントス」という暗号文とするような暗号である(平文は略)。この例では「(仮名3文字)」のコードのうち2文字目が平文を連想させるようなものになっているのは扱いの簡便さが目的だが、暗号としてはそのぶん弱いといえる。これを、乱数(字の場合は「乱字」とも言う)によってランダムに割振ることで、推測を難しくできる。

サイファーと乱数

ワンタイムパッドと乱数

脚注

Related Articles

Wikiwand AI