nksosu’s blog

素人数楽者SAKUの、喜怒哀楽blogです。

三つ子の魂、百までも作戦で、RSA暗号を突き破る。

素数は、三つ子の魂、百までも。これが大原則。

小さな桁で起こることしか、大きな桁でも起こらない。
大きな桁でしか起こらないことはない。

だから、小さい桁で何かを発見し、もうすこし大きい桁で確認する。最近のテーマはそれ。

今は、RSA暗号を考えている。
桁数は、馬鹿でかいが、クセは凄い。きっと攻略法はある。

まず、RSA暗号は、分解したふたつの数が、ともに素数であること。そして、そのふたつ以外の解がないということ。
これは、かなりのヒント。
さらに桁数が、大体同じであること。

この条件を持った小さな桁で、検証すれば良い。

たとえば、26797。127×211。
条件に、当てはまる。
素数には、除外数グループがある。
07×07=49から始まる。
07×11=77、07×13=91、と無限に続く。
49+4×07=77、77+2×07=91とも書ける、これを07の除外数グループと呼ぶ。
だから、127グループは、127の二乗で生まれた。16129である。
16129+4×127=16637。つまり、127×131=16637。
127×次の素数(131)のことだ。
これを繰り返し127×211の時に26797に当たった。
131.133.137.139.143.149.151.157.161.163.167.169.173.179.181.187.191.193.197.199.203.207.211。これだ。
※これは、42424626の法則による。

また、除外数は、P二乗+GPでも、表せる。Gとは、偶数。127二乗+84×127。
42424626424246264242462だったわけで、これらを足すと84になる。
おそらく初見の方には、意味不明でしょうね。※今回は説明はしません。


さあ、ここからが問題。
これを、どのように計算するか?
P二乗+GPに当てはまるPをもとめても答えは出ます。しかし、150桁で、それは無理です。

RSAの世界に戻します。
X×Y=Zで、Zが、150桁のとある数字。Xは、ルート150桁のとあるよりも、小さい素数。Yは、おおきな素数
X二乗×Xの次の素数を繰り返したどこかに、Yは、いる。

もう一度、26797に戻ります。

今回の答えは、127と211しかありません。どのように割り出すか?

XY=Z、とは、X×(X+G)=Z。つまり、Y=X+G。211=127+84。Gは、偶数。

X×(X+G)=26797で、、X=127。G=84をコンピューターが算出してくれるなら、ビンゴ❗
Y=211。

X×(X+G)=150桁の数字、も、ビンゴ❗?

行けるかも🎵
可能性はあると思いませんか?
プログラムのやり方によりますが、かなり可能性は高い。
プログラマーさんの、腕の見せ場です。

追記。
P二乗+PGでも、おなじことかも知れません。笑。