素数の列を3で割った余りのよるビット列のよるワンタイムパッド暗号は安全か
Q&A
素数を3で割った余りに関する法則って、見つかっていますか?
素数を順に並べたとき、$i$ 番目に来る素数を$p(i)$とします。
例えば
$$p(0) = 2\\
p(1) = 3\\
p(2) = 5$$
です。
また、$x$に対して3で割った余りを計算し、それをさらに2で割った余りを求める関数$b(x)$を考えます。
$x$を無作為に選んだ自然数として
$$b(p(x)), b(p(x+1)), b(p(x+2)), …, b(p(x+n-1))$$ により長さ$n$のビット列$B(x,n)$を作ったとします。
$B(x,n)$と、$n$ビットの情報$I$の排他的論理和をとった$B(x,n) \oplus I$をワンタイムパッド暗号であるかのようにみることは可能でしょうか。不可能の場合、解読手法にはどんなものがありますでしょうか。
またワンタイムパッド安号において、同じ鍵を繰り返し使うことは危険ですが、
「$B(x, n)$を鍵として使ったら、次は$B(x+n, n)$を鍵とする」ことを繰り返すことは危険でしょうか
0