8

次のような 3 つの値の累乗と mod の値を知る必要があります。

print 1_299_709 ** 1_300_751 % 104_729

ルビーの宝石やルビーを使用してこれを計算するより高速な方法はありましたか?

4

2 に答える 2

13

これは剰余累乗と呼ばれ、暗号化で頻繁に使用されます。剰余累乗アルゴリズムを作成するのはかなり簡単です。デモンストレーションは、上記のウィキペディアの記事にあります。

標準ライブラリ openssl を使用して、目標を達成できます。

require 'openssl'
1_299_709.to_bn.mod_exp(1_300_751, 104_729) # => 90827
于 2013-02-09T07:48:34.190 に答える