私は高校生でRSAに関する論文を書いています。私はいくつかの非常に小さな素数を使っています。私はシステムがどのように動作するのか理解していますが、私の人生では、拡張ユークリッドアルゴリズムを使って秘密鍵を計算することはできません。ここで RSA:拡張ユークリッドアルゴリズムを使った秘密鍵計算
は、私がこれまで行っているものです:- 私は素数pを選択している= 37とq = 89と計算をN = 3293
- 私が計算した(P-1)(qは-1)= 3168
- eと3168が互いに素であるようにeを選択しました。私はこれを標準的なユークリッドアルゴリズムでチェックしています。これはうまくいきます。私のE = 25今
私はちょうどそのようなことをDを見つけるために、拡張ユークリッドアルゴリズムを使用して、ED = 1(MOD 3168)
を満足させなければならない秘密鍵dを計算する必要が+ tNの= 1デ私は-887・25 + 7・3168 = 1を得ます。私は7番を投げてd = -887にする。しかし、メッセージを解読しようとすると、これは機能しません。
私は自分の本からdが2281でなければならないことを知っていますが、それはうまくいきますが、その数字にどのように到達するのか分かりません。
誰でも手助けできますか?私は過去4時間この問題を解決しようとしましたが、どこでも答えを探しました。私は手で拡張ユークリッドアルゴリズムをやっていますが、結果は正しく計算されているはずです。事前に
おかげで、
マッズ
Ninefingersが指摘したように、正の余りを使用してください。同様に、何かを負のパワー 'x'に上げるには、まずその逆数を計算し、それを(' -x')パワー( '-x'が負であるので' -x'は正である)に上げます。 –
「de + tN = 1」-887・25 + 7・3168 = 1を得る方法が混乱しています。私はe = 25だがd、t、Nは意味をなさない。 d、t、Nは何を表しますか?なぜ7を捨てることが許されているのですか?ケーシー –