• 締切済み

RSA暗号解読

1バイト毎にe=11,n=377でRSA暗号で暗号化し、その結果を4バイトでファイルに出力した。         0034  d=23,n=377でこの暗号化された情報を複合化したいのですがどう計算していけば良いのか分かりません。 途中の計算を書いてまとめたいので解読プログラムを使うこともできません。 0x34を16進数から10進数にして23乗するところまで何とかいきました。この後の計算を教えていただけませんか?

  • I-ryu
  • お礼率30% (22/73)
  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

  • hilow1
  • ベストアンサー率53% (7/13)
回答No.1

>0x34を16進数から10進数にして23乗するところまで何とかいきました そこからnでmodをとるだけじゃないでしょうか. 公開鍵(e, n) = (11, 377) 暗号文:0034 秘密鍵(d, n) = (23, 377) 暗号文0x34を10進に直すと52となり、52のd乗の値をnでmodを取ると、 65になり、これが元の平文になります。16進表記(4バイト)だと     0041 になります。

I-ryu
質問者

お礼

かなり分かりやすいです! 本当にありがとうございました。 さっそくまとめていきたいと思います。

関連するQ&A

  • RSA 複合化

    1バイト毎にe=11,n=377でRSA暗号で暗号化し、その結果を4バイトでファイルに出力した。以下はそのファイルダンプの1、2行目である。 0000000 0034 0000 0013 0000 0013 0000 0066 0000 0000020 001d 0000 011f 0000 014f 0000 00ba 0000 d=23,n=377でこの暗号化された情報を複合化したいのですがどう計算していけば良いのか全然分かりません。 せめて解き方を教えてくださいませんか? できる事なら最初のところだけでも複合化お願いします。

  • RSA暗号の統計的手法による解読

    RSA暗号はべき乗と剰余で暗号化するのですから、同じNとEを使い続けてたり長文を暗号化したりすると統計的手法で解読されてしまうのではないでしょうか。

  • RSA暗号について

    下記のRSA暗号を解読して下さい M3H9K7T7E

  • RSA暗号

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

  • 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乗...と繰り返すのと大きな違いがあるのでしょうか? 長文ですいません。

  • RSA暗号解読の素因数分解による方法について。

    下記の通りで正しいでしょうか。: Microsoft Bing AI (= Bing Chat)生成人工知能の回答を、まとめ、且つ、補足しますと、次の通りです。 自然数 N を、√N (= Nの平方根)未満の自然数であって末位の数字が1,3,7,9のもので以て、割ってゆき、N を素因数分解する、という計算の、時間計算量は、O(Nの4乗根)です。 実際には、RSA暗号による暗号文の暗号は、巨大素数を2つ掛け合わせて作りますので、Nの平方根未満の自然数で、末位が1,3,7,9のもので、しかも、大きいもの順に取ったもので順に割っていけば、N の素因数分解は、時間計算量を、それよりも遥かに小さくして済ませらせます。 上記の様に、問題サイズ N に対する、N の4乗根のオーダーの時間を上界(この場合は、自然数の計算ですので上限)とする、普通の割り算の単純作業だけで、つまり、ごくごく短時間に、N の素因数分解が出来てしまいますので、RSA暗号も、いとも簡単に解けてしまう、ということです。

  • RSAによる暗号化について

    よくRSAでの暗号化で鍵の長さが512ビットや1024ビットなどのものがありますが、これは公開鍵eと秘密鍵dと共通鍵nのどの鍵が512ビットなのでしょうか?自分の中では512ビットの鍵であれば全て(e,d,n)は512であると思っているのですが、dを計算する時(ユークリッド互除法を用いる)、どうしてもdはeやnの鍵の長さの2倍のビット長が必要な気がします。どうしてもわかりません。鍵のビット長について教えてください。お願いします。

  • RSA暗号に関し、素数p.qが、それぞれ5、11であり、かつ、暗号化鍵

    RSA暗号に関し、素数p.qが、それぞれ5、11であり、かつ、暗号化鍵eが23のとき、復 号鍵dを求める考え方の手順を教えてください。さらにこれらを使って平文2を暗号化するにはどのようにすればいいでしょうか。

  • RSA 暗号の、最も簡単な破り方は、これですね?

    RSA 暗号の、最も簡単な破り方は、これですね?: 暗号文中の自然数をNとする。 1.ルートN 未満の全ての奇数nについて、nが素数か否か、AKS素数判定法で判定する。 https://ja.wikipedia.org/wiki/AKS%E7%B4%A0%E6%95%B0%E5%88%A4%E5%AE%9A%E6%B3%95 2.nが素数ならば、Nをnで割る。

  • RSA暗号の解き方

    素数 P=5 Q=11 であり、N=55となります。公開鍵e=3と定義します。一般解d=27となります。 さらに、自然数m=20となります。 (1)自然数mを公開鍵(e,N)を使って暗号Yを求めてください。 (2)さらに、秘密鍵(d,N)を使って暗号Yを復号化し、mと一致することを確認してください。

専門家に質問してみよう