• ベストアンサー

a=b*b(mod p)の式におけるbの求め方

表題のとおり、 a=b^2(mod p) p = m * n の式において、m,n,p,aが既知の場合に、 bの計算方法を教えていただけないでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • guuman
  • ベストアンサー率30% (100/331)
回答No.1

0からp-1 を自乗してmodpして表にする 解が存在しない場合もある

kiiofkirc2
質問者

補足

確かに答えは計算できますね。 ただ、この方法だとpの値が何十桁になるような数だと、 計算することは困難になります。 http://pgp.iijlab.net/crypt/rsa.html 上記ページの「鍵の生成」の項のような別の解答方法を 誰かご存じないでしょうか? 最後に、guumanさん解答ありがとうございました。

その他の回答 (1)

  • guuman
  • ベストアンサー率30% (100/331)
回答No.2

RSA暗号の鍵を見つけることが困難な理由は 素数の積p・qが与えられたときにその桁数が大きいとpを求める計算が膨大になるから それに比べて今回の場合には表を作るのはPCで即座にできる 100000桁であろうが私が持っている家庭用のPCでも30分もかからないと思われる aを与えてbを返すCプログラミングを補足せよ

kiiofkirc2
質問者

お礼

ありがとうございました。 説明していただいた方法で計算したいと思います。