• 締切済み

RSA暗号?らしいですが...

友達から送られてきた内容をそのまま載せます わかるかたいたら解読お願いします... N(ε)(4)⇒2221000101100020 00213203 00210032011011030102110332030110002100321233 [The key] ps=967521(10) (p(4),s(4) p,s∈ℙ p<s) p(4)=q(10)≡r(10)(mod26)=N(A)(10) s(4)=t(10)≡u(10)(mod26)=N(E)(10) *α(4)=β(10)≡γ(10)(mod26)=δ(10)(mod26)=N(γth alphabet)=N(ε) (0≦γ≦25) If:γ(10)∈Px(10)⇒δ(10)=γ(10)+26n(10) (n∈ℕ) (Px:”x”th prime number) *#Digit[N(ε)(4)]=4 [The key]は鍵、つまり暗号の鍵という意味です ℙは素数全体、ℕは自然数全体をそれぞれ意味します *のついた行は注釈ですIf: は条件を表します Digitを和訳すると「桁」です n(4)はnが4進数であること、n(10)はnが10進数であることを表しています

みんなの回答

noname#250643
noname#250643
回答No.1

RSA暗号というのは某映画である「サマーウォーズ」の暗号です。 解読するにはコンピューターでも厳しい程です。 当然,僕も解けません。(正確には解けるけど時間がかかりすぎる) RSA暗号は一般的に"p"q"e"の3つの数字が暗号の鍵となります。 その中にも複雑な取り決めがあって...... ・ pq=n である。 ・m(p-1)(q-1)≡-1(mod e)となる様な最小の自然数を用意した場合,  d=(m(p-1(q-1)+1)/eである。 ・暗号文について,c^d≡M(mod n)を答えとする。 ・01=A 02=B 03=C..........25=Y 26=Zとする。 などです。 本来なら"p"q"e"の3つの数字でアルファベットに換算して 英文に解読する事が出来ます。ですが,RSA暗号の鍵となる数字の内, 一つの数字の情報しか与えられていないので,残った2つの数字に 何が入れば英文として成り立つのかを試行錯誤しないと解けません。 あと,そもそものRSA暗号の形を成していないので,(特殊系) 解くのは現実的に無理だと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • RSA暗号の解き方

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

  • RSAのdはどう求める?

    素数p = 3、q = 5 公開鍵N = pq = 15 公開鍵e=7 とした場合 d = 1/e mod(p-1)(q-1) となるそうですが、このdはどうやって求めるのでしょうか。

  • RSAのプログラミング

     卒論でRSAをC++でプログラミングしています。  最初に選ぶ大きな素数p、qにより法鍵Nを作るとしたとき、p、qはどれくらい大きな数でなければなりませんか?  また、公開鍵は素数である必要はありますか?指数鍵もどのくらい大きな数である必要がありますか。  (p、q、公開鍵を一桁代の数字で計算すると、秘密鍵がマイナスにあるときがあったので)  また、「こんな暗号技術もC++で作ってみたら?」というのがあれば教えてください。

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

  • 暗号

    公開鍵暗号の鍵ペアを構成したい。 二つの素数をP=13、Q=17と定めた場合の鍵ペアを構成し、暗号化と複合化が正しく出来ることを示しなさい 解き方だけでもいいんでよろしくお願いします。modを使用します。

  • RSAの公開鍵

    RSAは二つの素数p、qから乗算された合成数Nと (p-1)(q-1)と互いに素な整数eを公開鍵とするそうですが、 同じ平分Mをeだけ変えてNは同じ値を使って2種類の暗号文を作った場合、 2つの暗号文が手に入れば鍵を知らなくても複合化されてしまうそうですが、 どうしてでしょうか。

  • modについて

    modについての知識があまり豊富でないので教えていただきたいのですが、写像においての式で、  S(n+1)=P(S(n)) (mod1) たとえばこのときの(mod1)の意味するところがわかりません。「1で割った余り?」などと考えましたが、何かを1で割っても余りは、0ですよね? どうか、このmod1の意味をお教え願います。知識がまだ未熟ですので、modについても詳しくお願いできたらと思います。

  • n進数を10進数に変換するプログラムがわかりません

    整数n(2<=n<=16)とn進数の数字列digitsを与えると10進数に変換して表示するプログラム 関数void base2dec(int n, string digits, int &dec)を使用する 実行例 110101(2)=53 123(8)=83 7ACE(16)=31438 以下はとりあえずつくったみたプログラムです #include<iostream> #include<string> using namespace std; void base2dec(int n, string digits, int &dec) { int i,x=0; for(i=0; i=digits.size()-1; i++) { if(n<10) { x=digits[i]-'0'; } else { x=digits[i]-'A'+10; } dec=(x*n); if(cin >> digits[i++]) { if(n<10) { dec=dec+(digits[i++]-'0'); } else { dec=dec+(digits[i++]-'A'+10); } } } int value = dec; } int main() { int n,value; string digits; cout << "何進数ですか-->"; cin >>n; cout << "数字列を入力してください-->"; cin >>digits;; base2dec(n,digits,value); cout << digits << "(" << n << ")=" << value << endl; return 0; } void関数の中、特に計算方法が間違っていると思うのですが、なにがいけないかわかりません。ちなみにn進数から10進数に直す方法は理解しています。

  • 素数の集合をmod pで分類すると

    素数の集合P={2,3,5,7,11,13,…} に対し、素数pをひとつとります。 p以外の素数をpで割った余りは、 1, 2, …, p - 1 となりますが、それらは同じ程度存在するのでしょうか? つまり、n個の素数の集合を P(n)={2,3,5,7,11,13,…,p_n} (ただし、p_nはn番目の素数) とし、 n→∞のとき、 ♯{q∈P(n)|q≡1 (mod p)}/n → 1/(p-1) ♯{q∈P(n)|q≡2 (mod p)}/n → 1/(p-1) … ♯{q∈P(n)|q≡p-1 (mod p)}/n → 1/(p-1) は成り立つのでしょうか。

  • 素数の分類に関して

    [類題] 「8n + 3 型の素数は無限に多くある事を示せ。」の略解。 *)文中のp^は複素数pの共役な複素数です。例えば、p=1+iの場合、p^は1-iのことです。 また、a2 はaの二乗という意味です。  証明)もし 8n + 3 型の素数が有限個であったとし、その全体を p1, p2, ... , pn とする。 P = p1p2 ... pn + √2 i と置いて、これを単項イデアル整域 Z[√2 i ] で素元分解する。 N (P) = PP^ は奇数であるから(正確には、 N (P) ≡ 3 ( mod. 8 ) 、) P の有理整数の素因数は奇数である。この因子は PP^ の中では偶数冪で出てくるから、その部分は 8n + 1 型である。又、 P は有理整数に同伴でないから、a + b √2 i 型 (b ≠ 0, 有理整数の素因子と同伴でない物) の因子がある。PP^ は奇数であるから a は奇数である。更に、この a + b √2 i 型の因子の b が偶数であるとすると、 N( a + b √2 i ) = a2 + 2b2 ≡ 1 (mod. 8) であるから、 この形の b が全て偶数であるとすると PP^ ≡ 3 (mod. 8) と矛盾する。従って b が奇数の物 a + b √2 i が有るが、素元分解の一意性により、N( a + b √2 i ) = a2 + 2b2 は素数であり a2 + 2b2 ≡ 3 (mod. 8) となり有限性に矛盾。故にこの型の素数は無限個。 この証明における、この因子は PP^ の中では偶数冪で出てくるから、その部分は 8n + 1 型である。がなぜ言えるのかという点と 最後の一文である 素元分解の一意性により、N( a + b √2 i ) = a2 + 2b2 は素数であり a2 + 2b2 ≡ 3 (mod. 8) となり有限性に矛盾。 における a2 + 2b2 は素数であり a2 + 2b2 ≡ 3 (mod. 8)がなぜ分かるのかが理解できません。 よろしくお願いします。

このQ&Aのポイント
  • EP-M552Tのプリントアウトの出力ページの順番を変える方法を知りたい。
  • EP-M552Tの印刷ページの順番を変更する方法について教えてください。
  • EP-M552Tのプリントアウト時に出力ページの順番を1ページからに変える方法を教えてください。
回答を見る