ページ 1 / 1
mod計算?
Posted: 2015年10月04日(日) 15:03
by 愛川
M = w-1C mod P w-1は wのまいなす一乗と言う意味です
この式でMを求めるプログラミングをCで作りたいのですが上手く想像ができないのですが何をつかえばいいかヒントをもらえないでしょうか?
ヒントをもらってから一度作ってみてまた投稿したいのでお願いしますm(__)m
Re: mod計算?
Posted: 2015年10月04日(日) 18:15
by box
愛川 さんが書きました:M = w-1C mod P w-1は wのまいなす一乗と言う意味です
W-1C
の
C
とは何でしょうか?
Re: mod計算?
Posted: 2015年10月04日(日) 18:39
by みけCAT
ライセンス的に問題がなければ、
The GNU MP Bignum Libraryを使うのが簡単でしょう。
Re: mod計算?
Posted: 2015年10月06日(火) 12:00
by YuO
剰余類環,というか
剰余体上の話ですか?
オフトピック
じゃないとw-1とmod演算が同時に定義されない気がするのだけど。
Re: mod計算?
Posted: 2015年10月06日(火) 20:29
by 愛川
Re: mod計算?
Posted: 2015年10月06日(火) 21:58
by YuO
やっぱり,整数の剰余類環上での話ですね。
オフトピック
Wikipediaの該当ページにおける変数の使用方法におけるq,rについて,互いに素が条件なのでqは素数である必要は無く,剰余体上の話とは限らない
であれば,w
-1の説明は混乱を避けるために,wの-1乗ではなくwの(乗法の)逆元と書いてください。
で,互いに素な整数の乗法の逆元を求めるには,
拡張ユークリッド互除法というものを使います。
まぁ,実際はwとqの組を求めるときに
ユークリッド互除法を使って調べて,その途中結果からw
-1も求めておけばよいと思います。
そして,wは暗号にも復号にも使わないので,秘密鍵としてwのかわりにw
-1を保持すれば十分だと思います。
Re: mod計算?
Posted: 2015年10月07日(水) 13:05
by 高島
なるほど...ユーグリッド互助法を使うプログラミング作ればいいのですね!ご指摘ありがとうございますm(_ _)m
何の関数を使うかとは教えていただけないでしょうか?