1

p、q、および e が指定されたときに、bash スクリプト「d」で RSA 秘密鍵を計算する方法についてのヘルプを探しています。

このクエリが以前に出てきたことは知っていますが、p、q、および e が指定された場合の RSA 秘密鍵の計算に関する理論的なアドバイスしかないようです。

私はbashスクリプトに計算をまとめようとしているので、bashで可能な計算(exprまたはbcを使用)について説明したいと思います

基本的に次のことをアドバイスしているサイトを見つけました。('t' は p*q の totient、または 'n' の totient です)

d=$(echo "((2 * $t) + 1) / $e" | bc)

しかし、それはその特定のケースでのみ機能するようで、さまざまなケースで試したときに正しい出力が得られませんでした。

この計算のための bash 式をどのように書くことができるかについての助けはありますか?

4

1 に答える 1

0

RSAの定義より

|e*d| = 1 (mod fi(p*q))

ここで、fi(n) はオイラー関数です。

したがって、この法で e の反転を計算する必要があります。GCD(e,fi(p*q))=1 かどうかを確認することを忘れないでください。そうしないと、指定されたモジュロで e の反転が見つからない場合があります。

これは、拡張ユークリッド アルゴリズムを使用して実現できます。ウェブ上にはたくさんの疑似コードがあります。もっと助けが必要ですか?

于 2013-05-28T18:46:22.307 に答える