こんにちは。R86plusAブログの時空です。今回は僕が考案した暗号についてです。
暗号について僕は長らく研究している。Nクイーン問題やRSA暗号の解読、耐量子暗号などなど。Nクイーン問題はデカルトが『方法序説』で指摘したように「困難は分割せよ」の言葉通り4x4マスのNクイーンを解くところから始めたら良いと思います。
4x4マスのNクイーンは解が2つ。8x8マスのNクイーンは92個の解が存在します。僕は暗号というものを解くことにパズルを解くような楽しみを感じていましたが、暗号の弱点も同時に研究していたので、どのような暗号が難解かはよく分かっているつもりです。
例えば、RSA暗号は素数x素数の素因数分解ではありますが、素数x2+素数=素数という暗号も悪くないと思います。もちろん、この原型の足し算だけなら簡単に解を見つけられます。
(31)x2+(47)=(109)のような暗号を考えたいです。109は公開鍵暗号なのであらかじめ公開されています。問題は31と47を求めるのですが(31と47はいわゆる秘密鍵つまりパスワード)、(3)x2+(103)=(109)でも109は求めることができます。
そこでmodを使います。modとは余りの計算に用いるもので、54=3mod17なら54を17で割った余りが3となります。たとえば、(3mod14)x2+(13mod17)=109といった感じです。
3mod14で素数になるものがあっても同時に13mod17が素数になり2つ足しあわせて109になる必要があります。ちなみに、31=3mod14, 47=13mod17です。
問題は素因数分解の一意性、つまり解を1個にできるかどうかです。さらに、素数(mod)+素数(mod)+素数(mod)=素数とすれば、より解くのが難しい暗号になります。
コメント