• ベストアンサー

modの計算について

例えば、 11239*d = 1 (mod40872)においてdを求めるにはどうしたらいいのでしょうか? 計算サイトなどの紹介でもかまいません。 これって普通の電卓と手計算だけでも計算できるものなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

ユークリッドの互除法を利用すれば手計算でできます。 40872=11239*3+7155 11239=7155+4084 7155=4084+3071 4084=3071+1013 3071=1013*3+32 1013=32*31+21 32=21+11 21=11+10 11=10+1 これを逆算していけば、 21=11+(11-1)=11*2-1 32*2=21*2+(21+1)=21*3+1 1013*3=32*93+(32*2-1)=32*95-1 3071*95=1013*285+(1013*3+1)=1013*288+1 4084*288=3071*288+(3071*95-1)=3071*383-1 7155*383=4084*383+(4084*288+1)=4084*671+1 11239*671=7155*671+(7155*383-1)=7155*1054-1 40872*1054=11239*3*1054+(11239*671+1)=11239*3833+1 よって、 11239*(-3833) ≡ 11239*(40872-3833) ≡ 11239*37039 ≡ 1 (mod40872)

その他の回答 (2)

  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.3

#2です。 A#1に計算間違いがありましたので以下のように訂正します。 >11239*d=40872n+1 d=(40872n+1)/11239=3n+(7155n+1)/11239=3n+m 7155n+1=11239m n=(11239m-1)/7155=m+(4084m-1)/7155=m+k 4084m-1=7155k m=(7155k+1)/4084=k+(3071k+1)/4084=k+p 3071k+1=4084p k=(4084p-1)/3071=p+(1013p-1)/3071=p+q 1013p-1=3071q p=(3071q+1)/1013=3q+(32q+1)/1013=3*q+r 32q+1=1013r q=(1013r-1)/32=31r+(21r-1)/32=31r+s 21r-1=32s r=(32s+1)/21=s+(11s+1)/21=s+t 11s+1=21t s=(21t-1)/11=t+(10t-1)/11=t+u 10t-1=11u t=(11u+1)/10=u+(u+1)/10=u+v u+1=10v u=10v-1 以上から ∴d=40872v-3833 具体的に計算すると v=1,2,3,4,… に対して d=37039,77911,118783,159655,… [検算] 11239*37039=10185*40872+1=1(mod 40872) 11239*77911=21424*40872+1=1(mod 40872) 11239*118783=32663*40872+1=1(mod 40872) 11239*159655=43902*40872+1=1(mod 40872) …

  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.2

11239*d=40872n+1 d=(40872n+1)/11239=3n+(7155n+1)/11239 7155n+1=11239m n=(11239m-1)/7155=m+(4084m-1)/7155 4084m-1=7155k m=(7155k+1)/4084=k+(3071k+1)/4084 3071k+1=4084p k=(4084p-1)/3071=p+(1013p+1)/3071 1013p+1=3071q p=(3071q-1)/1013=3q+(32q-1)/1013 32q-1=1013r q=(1013r+1)/32=31r+(21r+1)/32=31r+s 21r+1=32s r=(32s-1)/21=s+(11s-1)/21=s+t 11s-1=21t s=(21t+1)/11=t+(10t+1)/11=t+u 10t+1=11u t=(11u-1)/10=u+(u-1)/10=u+v u-1=10v u=10v+1 以上から ∴d=32640v+3061 v=1,2,3,4,… に対して d=35701,68341,100981,133621,…

関連するQ&A

  • 関数電卓 mod計算

    casio fx-915esの関数電卓を使用しているのですがmodの計算の仕方がわかりません.どのようにすれば関数電卓でmodを計算できるのか教えていただけると助かります.

  • 電卓でmodの計算

    電卓でmodの計算ってできるんですか? 素数をリュカの判定法により判定する問題がテストに出るんですが、mod計算に時間がかかってしまって。。 わかるかたいらっしゃいましたら、教えてください。

  • 18783^3323 (mod20227)の計算

     暗号化の計算を必要としています。 18783^3323 (mod20227) のような大きい桁数を計算できる サイト、またはフリーのアプリケーションを教えてください。 よろしくお願いします。 

  • mod255の計算

    こんにちは。 今日はmod255の計算について困ったことがあり、質問しました。 私は今、mod255の計算をする回路を作っています。 mod255とはある値を255で割ったときの余りを求めることですよね。 しかし、回路ではあまり除算(回路の性質上、逆数を取って乗算する)を使いません。 理由は、計算に時間がかかることと、回路規模がが大きくなるため。 ある値が255以上か判定してから順次255を引くことも考えましたが、動作が不規則なため使っていません。 そこで、私はmod255を除算を使わず、減算で実現しようと次のような計算法を考えました。 例、239+157をmod255する場合。 239+157=396を2進数に変換すると 11101111 +10011101 ------------ 110001100 ここで、計算結果の右から9番目の1を一番右に移動して加算すると 10001101になります。 これを10進に変換すると141になります。 よって、396-255=141となり396をmod255ができていますよね。 これで、問題解決だと思ったのですが、 ある値が511でこの計算をすると結果が10000000となり 256になってしまいます。 このことから考えて、この計算法は万能ではないみたいです。 この計算法のどこを改善するとmod255を計算できるようになるのでしょうか? また、皆さんなら、どんな方法でmod255を実現しますか? よろしく、お願いします。

  • modの計算方法について

    下記ホームページで紹介されているmodの計算方法について教えてください。 http://c4t.jp/introduction/cryptography/cryptography04.html (1)「素数」を法とする世界では、Xn mod 素数=X という、元の数字と答え(X)が共に同じとなる「n」の値を「素数」から計算することができます。というのがありますが、例をあげて説明していただけないでしょうか? (2)RSA暗号の概要で暗号分456はどのように計算するのでしょうか? よろしくお願いします。

  • modの計算について

    modの計算式ax≡b (mod c)の時xを求めよのような問題は 解く上で何か良い方法というか手順みたいなものはあるのですか?いつも運で解いています。検算の仕方も知っているのですが、解くときはいつも試行錯誤状態で困ってしまっています。 何か計算する上でこれを頭の片隅においておいたらすらすら解けるみたいな物があればご教授してください。 お願いします。 例えば80x≡339 (mod 583)はx≡201となり何とか とけました。問題を見た瞬間に解ける方法とかないんですかねぇ。

  • modの計算

    x=(123^97)mod187を計算せよ。 という問題なのですが、答えがx=106になるらしいのですが、どうしたらこの答えを導き出せるのでしょうか? 187=11×17 φ(187)=(11-1)(17-1)=160 オイラーの定理より 123^160≡1(mod 187) という風に考えたのですが…指数が最初の97より大きくなってしまったので、これではダメな気がして…。 教えていただけると助かります。 よろしくお願いします。

  • MOD25(25を法とする剰余)の計算

    エクセルでMOD25(25を法とする剰余)の計算をします。 (記号)3∧nで3のn乗をあらわすものとする。 (したいこと)mod(3、25),3∧2=9、3∧3=27、―――、3∧20、―――、3∧24に対して、 mod(3、25)~mod(3∧24、25)までの値を求めたいのですが、~mod(3∧20、25)以降の値がおおきすぎてエラーとなります。どうすればいいのでしょうか。

  • 交点の計算

    関数電卓を使って、交点の計算を早くしたいです。 XY平面上の既知点AとBを通る直線と、CとDを通る直線の交点です。一応、1.統計計算で式を作り、2.方程式計算で解を求めるという方法は知っていますが、これでもかなり大変です。 行列計算をうまく使ったら、一度に解ける方法があるのではないかと思うのですが、知りませんか? よいサイトなどございましたら、ご紹介ください。 なお関数電卓でプログラムは使用不可です。

  • mod

    文系国公立志望です。数学のmodを勉強しようか迷っています。modを使うと計算が少なくなったりするらしいのですが、modを使わないと解けない問題はあるのでしょうか?