• ベストアンサー

復号化して下さい

 暗号化鍵(51,7)を持ち、暗号文y=24、復号化鍵d=23の平文を 求めていただけませんか?  詳解を添えていただけるとありがたいです。

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

  • ベストアンサー
  • pureh
  • ベストアンサー率69% (36/52)
回答No.1

暗号方式が、公開鍵暗号RSA法ならば、 暗号化鍵の2つの数字をそれぞれ、n=51,e=7として、 復号化には、nとdを使って、  y^d mod n = 24^23 mod 51            = 12 つまり、求める平文は、12ということです。 暗号化は、平文をxとして、nとeを使って、  x^e mod n = 12^7 mod 51            = 24 です。 下記のHPのRSAの項が参考になると思います。

参考URL:
http://member.nifty.ne.jp/GOtsubo/contents/encrypt/encrypt01.htm#暗号化の方式その2:公開鍵暗号
instepkick
質問者

お礼

ありがとうございました

関連するQ&A

  • 復号?復号化?

    「復号化」という言葉についての質問です。 昔コンピュータにおける暗号化技術についての話を聞いた際に、 ・平文から暗号文にすること:暗号化 ・暗号文から平文にすること:復号 と聞いて以来、「復号」という言葉が正しく、「復号化」というのは誤り(「頭痛が痛い」的な意味の冗長になる)、と思いこんできました。 しかし改めてWeb等見回してみると「復号化」と表記されていることが非常に多く、用語集などでもまちまちで、辞書を引いても載っていなかったりします。 一体どちらが正しいのか、あるいは両方とも正しいと言っていいのか、納得できるような情報等ありましたら教えてください。

  • RSA暗号についての素朴な疑問

    RSA暗号について勉強中のものですが、これまでのところ (1)送信側はは公開鍵(e,n)で平文aを b = a^e mod n で暗号文bを作成する。 (2)受信側は秘密鍵dを知っており、上記暗号文bからb^d mod n で元の平文aが求まる。 (3)暗号としてのキモは、(e,n)からでは復号できない。dを求めることも困難(nの素因数分解が困難) というのが私の理解したところです。数式等もある程度理解しました。 ただ、ここで素朴な疑問があります。dをしらなくてもbのべき乗を繰り返していけば復号できるのでは?ということです。自分が送信側で平文aを暗号化してbを作る。bから bxb→b' b'xb→b'' b''xb→b'''  と計算していけば平文aにたどり着くのでは? (その結果dもわかったことになる) 平文が現れたかのチェック時間は余分にかかると思いますが、dを知っていてbのd乗を計算するのと上記のように2乗、3乗...と繰り返すのと大きな違いがあるのでしょうか? 長文ですいません。

  • 文字列の暗号化と復号化

    .NETで文字列を固定長に暗号化したい。(ユニコード対応できる) また、暗号化したものを復号化します。 .NETに付いている暗号化のモジュールはいくつがありますが、その以外のやり方がありましょうか? 例:何桁の平文を暗号化しでも8桁の十六進数又はBASE64の秘文になる。

  • AES暗号方式について

    AES暗号化方式では,秘密鍵(共通鍵)を用いてランダムに生成したセッション鍵で暗号化し,さらにそのセッション鍵を暗号化する. 復号化する場合は,逆の手順で平文に戻す と認識しています. これを踏まえて以下の質問に回答いただけると幸いです. 1.上の認識は間違っていないでしょうか? 2.暗号文を復号するには,暗号化時に生成したセッション鍵の値と秘密鍵が必要であると言えますか? 3.秘密鍵が漏れなければセッション鍵が漏れても問題ありませんか? 以上,3点についてご教授いただけると幸いです. よろしくお願いします.

  • CTR(カウンター)モードを使った暗号文の復号

    CTR(カウンター)モードを使って同じノンスで暗号化したという条件のもとで 暗号文C1,暗号文C2、それと暗号文C1のもととなる平文P1がある場合、 暗号文C2の元となる平文P2をもとめることはできるのでしょうか? できるとしたらどのようにすればよいのでしょうか? 例をあげて説明して頂けたらありがたいです。 よろしくお願いします。

  • RSA暗号

    どのトピックかがいまいちわからないのでこのトピックに質問を載せさせて頂きます。 いま、大学の課題でRSA暗号をパソコンで実装する という課題に取り組んでいます。 2桁以上の素数を選んで、その素数から暗号化鍵と復号化鍵を選んでアスキーコードを暗号化するという初歩的なものなので、実用性は全くありませんが… プログラムはできたのですが 暗号化鍵と復号化鍵を生成して 暗号化を行って複合化を行うと 元の平文に戻らない鍵のペアがあるらしいのです。 そういうときってあるのでしょうか?

  • 排他的論理和

    排他的論理和を2回演算すると、元に戻ることを下記の例で確認しなさい。 回答は下記の<2進数>と<16進数>の部分を書き換えなさい。 (1)平文と鍵から暗号文を作りなさい 【平文】  ABC  <16進数> <2進数> 【鍵】   XYZ  <16進数> <2進数>  ---------------------------- 【暗号文】    <16進数> <2進数> (2)暗号文と鍵から平文が復元できることを示しなさい 【暗号文】    <2進数>  <16進数> 【鍵】   XYZ  <2進数>  <16進数> ---------------------------- 【平文】  ABC  <2進数>  <16進数> ヒント:(1)は、平文と鍵を16進数と2進数に書き直し、2進数で排他的論理和を計算し、それを16進数に直せば暗号文を定義できる。平文、鍵、暗号文はどれも16進数6桁になる。 (2)も同様に暗号文と鍵から平文を生成する。 最後に(1)の平文と(2)の平分を比較してみなさい。違っていればもう一度見直しなさい。 どなたか教えてください。 さっぱりわからないです。

  • 公開鍵暗号方式の復号に関して質問します。

    暗号方式は、発信者Aさんが正当な受信者Bさんに暗号化した電文を送付し、途中で不正に傍受したCさんには電文の復号ができず、正当な受信者Bさんには復号ができるという考えかたです。 正当なる受信者Bさんには復号が可能で、不正なる傍受者Cさんには復号が不可能であるためには、BさんとCさんの間に情報格差を維持しないと駄目だと思うのですが、公開鍵方式の場合に正当なる受信者Bさんと不正な傍受者Cさんの間にどのような情報格差が存在するのでしょうか。 === RSA暗号の例題を考えます === A:暗号の発信者 B:正当なる暗号の受信者 C:不正なる暗号傍受者 Aさんは 素数P=3 素数Q=11 を選んで、 33を法とする世界(Mod33)を利用します。 Aさんは原文を3乗し、Mod33を取った暗号文をBさんに送付しますが、ここで、公開鍵情報として、「33を法とする」および「3乗した」という二つの情報を開示して暗号を送付します。 暗号を不正に傍受したCさんは、33の素因数分解ができないために、P=3、Q=11という二つの素数を特定できず、3xD={nx(p-1}X(Q-1)+1}において、N=1の場合でもP,Qが分からないので、復号することがきません。 ところが正当なる受信者Bさんは、3xD=1x(3-1)x(11-1)+1=21より、D=7を求め、受診した暗号を7乗することで受信電文の復号が可能となります。  ==== 以上例題おわり ==== 不正なる傍受者Cさんは素因数分解が困難であることから二つの素数P、Qの特定ができずに復号ができないことは良く理解できます。 しかし、正当なる受信者Bさんは、なぜP,Qを特定し、D=7を求めることが出来るのでしょうか。 質問1:なぜBさんだけが復号可能なのでしょうか? 質問2:Bさんは素因数分解をせずとも、P=3、Q=11という二つの素数を知ることができるのでしょうか? 質問3:素数P、Qの値を特定できなくてもD=7を知ることができるのでしょうか? 公開鍵暗号方式の根本原理が分かっていないと思われるので、公開鍵暗号方式、あるいはRSA暗号方式の考え方をご存じの方ご教示いただけると助かります。

  • ソフトの復号の方法を教えてください

    あるフリーソフトをダウンロードしたところ、インストールの方法説明のページに『「・・・・(ファイル名)・・・・・zip」 を復号してください。』と書いてありました。復号をするとはいったいどうすればよいということなのでしょうか? 自分で調べてみたところ、「復号」というのが「暗号化されたものの暗号を解く」ということまではわかったのですが、具体的な復号の方法が全くわからず困っています。 どなたか復号の方法についてわかりやすく教えてください。お願いします!(><)

  • RSA(公開鍵)

    a=2, b=3として以下の方法(RSA)で公開鍵、秘密鍵を作成し、平文4を暗号化したいのですが、暗号化しても4のままになってしまいます。これって暗号化されているのでしょうか?どなたかわかる方がいましたらよろしくお願いします。 1-二つの素数を決める。これをa,bとする。 2-a*b=c (cを合成数) 3-d=(a-1)(b-1)という自然数dを求める 4-f*e/dで余りが1となるようなfを求める。(秘密鍵) 暗号文 =M(平文)^e / c の余り。