roid123's diary

技術系のメモ中心です

中国の剰余定理についての覚え書き

課題で中国の剰余定理を用いたRSA暗号の復号化アルゴリズムを組んでいたが,どうしても復号化がうまく行かなくて悩んでいた.
よくよく見直してみると,n=n_1n_2と書けるとき,m_1=n_2, \hspace{5} m_2=n_1として,m_1^{-1} \hspace{5} \rm{mod} \hspace{5} n_1, \hspace{5} m_2^{-1} \hspace{5} \rm{mod} \hspace{5} n_2を計算し,
連立剰余方程式x \equiv a_i (\rm{mod} \hspace{5} n_i) \hspace{5} (i=1,\hspace{5} 2)の解を求めるわけだが,その際に使用するm_in_iを法としているわけではないことに注意しなければならなかった.
気付いてプログラムを書き直してみたところ,無事に復号化されることが確認できた.

参考文献

浅野孝夫: "情報数学―組合せと整数およびアルゴリズム解析の数学―", コロナ社, pp. 106-107 (2009-4)