乱数表
From Wikipedia, the free encyclopedia
文字の出現頻度の偏りなどといった統計的特徴は、しばしば暗号解読の手がかり、場合によっては決め手にもなる。対抗手段として確実性の高い方法に、乱数の利用によって「スクランブル」を掛ける、という手法がある。その場合に、正規の受信者は乱数から元の数字や文字に戻すために、送信側と同一の、あるいはペアの(逆関数となっている)表が必要になる。そのような、暗号化と復号のための乱数を表にしたものを「乱数表」という。
乱数表は、擬似乱数でない何らかの方法で作られた真の乱数、それも良質な乱数であることが望まれる(コンピュータ普及以前は擬似乱数によるものでも意味があったが、現代では普通の(コンピュータで容易に得られる)擬似乱数の乱数表はあまり意味がない)。レインボーテーブルなども見た目は乱数が並んだ表であるが、乱数としてではなく、特別の目的を持っている点で異なる。
コードと乱数
「コード (暗号) 」とは、英単語のようなある程度まとまった情報を単位として符号を割振る形式の暗号であり、次節のサイファーと対置される。一例としては「敵艦隊見ゆとの警報に接し、連合艦隊は直ちに出動、これを撃沈 滅せんとす」という元の文章を「(アテヨイカヌ)ミユトノケイホウニセツシ(ノレツヲハイ)タダチニ(ヨシス)コレヲ(ワケフウメル)セントス」という暗号文とするような暗号である(平文は略)。この例では「(仮名3文字)」のコードのうち2文字目が平文を連想させるようなものになっているのは扱いの簡便さが目的だが、暗号としてはそのぶん弱いといえる。これを、乱数(字の場合は「乱字」とも言う)によってランダムに割振ることで、推測を難しくできる。