0

計算したいciphertext=m(pow)e mod(n)

私はphpseclibでこの例を見ました:

<?php
include('Math/BigInteger.php');

$a = new Math_BigInteger(5);
$b = new Math_BigInteger(3);
$c = new Math_BigInteger(4);

echo $a->powMod($b, $c); // outputs 1 (eg. 125 % (4 * 31))
?>

誰でも説明できますecho $a->powMod($b, $c);か?

4

1 に答える 1

1

ソースコードから、 をpowMod呼び出しますmodPow。これは、一番上にある、

* Performs modular exponentiation.

ウィキペディアによると、累乗剰余は次のとおりです。

モジュラスに対して実行される累乗の一種。これは、コンピュータ サイエンス、特に暗号化の分野で特に役立ちます。「剰余累乗」は、正の整数b(基数) をe- 乗 (指数) で割ったときの剰余を計算します。正の整数 (モジュラスと呼ばれます)beで割った値です。mシンボルでは、これは base b、 exponent e、および modulesが与えられmた場合、剰余べき乗cは次のとおりです。c = be(mod m)

たとえば、b = 5e = 3、およびが与えられた場合m = 13、解cは 5 3を 13 で割った余り、つまり 125 / 13 の余り、または 8 になります。

言い換えれば、それはあなたがしていることに使用する正しい機能です。

ちなみに、これは正気ではありません。 自分の暗号を転がして はいけません。決して

于 2012-12-08T06:16:39.950 に答える