• ベストアンサー

逆ハッシュ関数(逆一方向関数)?

betagammaの回答

  • betagamma
  • ベストアンサー率34% (195/558)
回答No.1

構成できなくはありませんが、ちょっと考えたところ、使い道が見当たりません。 一応、一つ考えてみました。 離散対数問題というのがあります。これは、自然数nで割ったあまりしか考えない世界で、n,aがわかっているとき、a^kからkを求めることがとても難しくなるという問題です。 例えば、n=7,a=5,k=3としましょうか。 5^3 mod 7=125 mod 7 = 55 mod 7 =13 mod 7 = 6 mod 7 (mod 7は、7で割ったあまり。9 mod 7 = 2) で、a=5 mod 7 = 5ですから、この問題は、n=7,a=6がわかっているとき、5を与えられて、k=3を求める問題です。 この問題は、困難で、実際に、Diffie-Helman鍵交換という、共通鍵をやりとりする方法に用いられています。最初に、nとaをばれてもいい方法でやりとりしておいて、kに共通鍵を入れておけば、a^kを計算してやりとりすれば、たとえa^kが盗聴されても大丈夫、というものです。 なので・・・ a^kからkを求めることを一般化して、y=log(a,x) mod nとおけば、yを求めることはとても困難になるはずです。

ryn5iep
質問者

補足

回答ありがとうございます。しかし、のっけから理解力不足で申し訳ありません。 xを元の値、yを変換値として、変換式(困難)と復元式(容易)を教えて頂けませんでしょうか? また、その他のどの要素(n,a,kなど?)が既知・未知であるので困難・容易という簡単な根拠もあれば嬉しいです。 y = x^k mod n (nは既知だがkが未知なので困難) x = log(x,y) mod n (難易不明…) mod演算子が絡んだ時の移項について知らない(知識は高校数学レベルです…)ので、復元が理解できませんでした。

関連するQ&A

  • ハッシュ関数について

    原文をハッシュ関数で暗号化した場合,そのハッシュ値から逆に複合化することは不可能というふうによく書かれていますが,それは何故でしょうか?「不可能」とは「非常に時間がかかる」ということなのでしょうか?

  • 逆関数の導関数

    dy/dx=1/dx/dy ↑より、y=f(x)の逆関数x=g(y)の微分可能性については、逆関数を具体的に求めなくても判定できる。 すなわち  x0⇔f(x0) (→がf,←がg) (適した記号が見つからなかったので、同値記号で勘弁してください。) 「f'(x0)≠0ならばfの逆関数gはf(x0)で微分可能で g'(f(x0))=1/f'(x0) であることを示してる。」 と書いてあったのですが、よくわかりません。 なぜ、そのようなことがいえるのでしょうか? 全体的にわかりません、解説よろしくお願いします。

  • 逆関数について

    題名の通りなんですが逆関数というものが教科書を読んでも理解できません。例えばy=3x-4の逆関数はこの式をx=○○の式に書き換えてから、xとy入れ替えるというのは分かります。ですが、 y=tanxの逆関数をy=g(x)とするとき、g'(1)の値を求めよ。 という問題で解答に y=tanxの逆関数y=g(x)ではx=tanyであるから... という説明があり何をやっているのかさっぱり分かりません。y=tanxをx=○○の式に変換するのは不可能ですよね?逆関数の意味を間違って捉えてるからかもしれませんが、先へ進めません。アドバイスお願いします。

  • この逆関数の求め方は間違っていますか?

    「y=sinhx={e^x-e^(-x)}/2の逆関数を求めよ」 という問題が分かりません. 与式を変形して2y=e^x-e^(-x) e^2x-2ye^x-1=0 e^x>0を考慮して,解の公式よりe^x=y+√(1+y^2) 両辺の対数をとって(表現が間違っているかもしれません) x=log{y+√(1+y^2)} yを変数xについての関数とするために入れ替えて y=log|x+√(1+x^2)| (与式の値域より右辺の真数>0となるよう,絶対値記号を用いています.) とすれば解答と一致します. ですが,次の方法で解こうとすると答えが変わってしまいます. y=f(x)=sinhx={e^x-e^(-x)}/2 f'(x)={e^x+e^(-x)}/2>0より,f(x)は増加関数 逆関数をy=f^{-1}(x)とおきます. 逆関数の導関数[f^{-1}(x)]'=2/{e^x+e^(-x)}=2e^x/(e^2x+1)=2(e^x)'/(e^2x+1) この導関数を積分してf^{-1}(x)=2tan^{-1}(e^x)+C 関数y=f(x)は(0,0)を通るから,逆関数も(0,0)を通る.このことからC=-π/2を得る. よってf^{-1}(x)=2tan^{-1}(e^x)-π/2 ですが,これは先ほどの解答とは異なる気がします. 後半の解法はどこが間違えているのですか?

  • 逆関数について

    逆関数は関数y=f(x)が一対一対応(全単射)のときに存在する、と習いました(高3数学)。 なら、y=x^2の場合、逆関数がy=±√xと考えるのは間違いでしょうか?定義域x>=0のとき、またはx<=0と定めたときでしかy=x^2の逆関数は存在しないのですか? それと同じように、三角関数でも定義域を定めなければその逆関数は存在しないことになりますよね。しかし物理小事典では、逆関数が多価関数でもOKみたいなことを書いてありました。 必ず一対一対応にしなくてはいけないのか、疑問に思ったので、質問致します。回答お願いします。

  • 逆関数についてなど・・・

    y=f(x)はy=g(x)はお互いに逆関数であるとします。そうするとf(g(a))=aと書いてありましたどうしてでしょうか。logと指数で実際に確かめてみたところ成り立ちはしましたが、理由がいまいちわかりません。 またすべての関数でg(f(c))=cも成り立ちますよね。 証明とかではなく日本語的な説明とかで教えてください。逆関数とはxとyを入れ替えたものなのでわかった起臥したりもしますが、明確にはわかりません。 よろしくお願いします。

  • 数学:逆関数について。

    (1)y=x/2-1/x(x>0)の逆関数を求めよ。 x^2-2yx-2=0 (x>0) ここからなんで、x=y+√y^2+2になったのかわかりません。 解説お願いします。 (2)関数f(x)=bx+1/x+aが、その逆関数f(x)^-1と一致するための条件を求めよ。 どうやって解けばいいのでしょうか?

  • 逆関数の問題について

    関数y=(x-1)/(2x+k)の逆関数が、またy=(x-1)/(2x+k)となるように定数kの値を求めよ。 どう頑張っても答えが0にしかなりません。 ちなみに答えは-1です。 おおよその解き方でいいので、解き方がわかった方は教えてください。

  • 逆関数の微分 (数III)

    (x^3)'=3x^2 dy/dx=1 dx/dyを用いてy=x^3の逆関数y=f(x)の導関数を求めよ。 dx/dyを使わなくていいなら・・・ x=y^(1/3)として x'=1/3x^(2/3) という風にすぐもとまるのですが・・・。 模範解答は y=f(x)についてはx=y^3であり、・・・(1) y=x^(1/3) df(x)/dx =1/(dx/dy)・・・(2) =1/3y^2 = 1/3x^(2/3)・・・ (3) 疑問点があるところに○で番号を振りました。 (1)について、 逆関数とはy=~ という関数x=~という風に書き換えてからx,yを入れ替えるものですよね? (2)f(x)はy=x^3の逆関数なんですよね?  ってことはf(x)の逆関数は1/f(x)でありf(x)ってのはyの逆数であるから1/yがf(x)? なんか混乱してしまいました・・・(すみません汗 (3)y=x^(1/3) を代入したのでしょうか・・・?これってy=x^3の逆関数ですよね・・・? 模範解答の作業中にいつのまに逆関数y=x^(1/3)を求めたのでしょうか・・・? 回答よろしくおねがいします!

  • 逆関数の微分可能性

    逆関数の微分可能性についての質問なのですが 1変数において y=f(x)が何回でも微分可能であれば 逆関数x=g(y)は何回でも微分可能である理由を述べよ という問題なのですが この『何回でも』という言葉がよくわからないのですが これは、y=f(x)が何回でも微分可能だから逆関数でも何回でも成り立つという考えなのでしょうか。