*セキュリティ用語集*


*線形合同法*

用語の別名Linear-Congruential-Method
ジャンル[暗号]
内容擬似乱数発生器の一種で、一般に知られている発生器の中で最も多く使用されている方法です。計算方法は単純で、元の数を定数で乗算し、さらに別の定数で加算し、その値をさらに別の定数で除算した余りを次の乱数値とする、というものです。つまり、それぞれの計算で使用する任意の3つの定数を適切に決めておけば、一定の周期を持った擬似乱数を簡単な演算で得られます。
この方法は処理が単純な上に実用的な乱数列が得られるということで、プログラム言語に標準で実装されているRandom関数で採用されていることが多く、無意識のうちに利用されています。ただし、処理が単純なために数列の中の一部が分かってしまうと逆算により規則性を推測され、さらに乱数列全体を推測されてしまいます。通常の用途ではあまり問題ありませんが、例えばセキュリティに関わるアルゴリズムで乱数を初期値として鍵を生成するような処理では、発生器の脆弱性に影響してしまう可能性があります。このような影響を避けるために、セキュリティに関わる実装では線形合同法などの簡単な仕組みを用いた擬似乱数生成器を使用しないように注意する必要があります。


ネットワークセキュリティ関係者の部屋 > gLOSSARY > 線形合同法