■暗号技術【ROUND2】■

このエントリーをはてなブックマークに追加
アルゴリズム説明しますね。
プログラムは
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1088921677
に添付しています
私は何を公開したらいいでしょうか?

この暗号は数車(かずぐるま)といいます。
歯車が回っているのをイメージした時に思いついたので
このような名前になりました。
わかりづらかったら質問してください。

暗号化
素数^n(nは自然数)となるような数をいくつか用意します。
個人的にこの数を勝手に豆数(まめかず)と読んでいます。
豆数は素数^nとなる数です。
L=abcd(Lはabcdの最小公倍数)とする
(このときのLが秘密鍵です。)
ここでは仮に豆数をa,b,c,dとします。
(a,b,c,dは互いに素でなければなりません)
平文Mをa,b,c,dでそれぞれ割っていきます。
このときの余りをそれぞれa',b',c',d'とすると、
M=ax+a'=by+b'=cz+c'=dw+d'
(豆数a,b,c,dの余りで表現できる数は0からL-1です)
(x,y,z,wは0以上の整数、Mの範囲は0<=M<Lとする)
という関係が成り立ちます。
a,a',b,b',c,c',d,d'を用いて
C'=(((a')b+b')c+c')d+d'
(Mの範囲が0<=M<abcdのとき0<=C'<L)
となるようなC'を計算します。