本文へ移動

モジュラー累乗計算機

負の底を含む a^b mod m をBigIntの反復二乗法で厳密に計算します。

法を取る累乗

ブラウザー内で処理します。

4^13mod 497 → —

1000桁までの整数。負も可。

500桁までの非負整数。

1000桁までの正整数。

モジュラー計算結果

底、非負指数、正の法を入力します。

使い方

a、b≥0、m>0を入力します。灰色の4,13,497は選択時に消え、結果445です。

計算で確定し、編集で無効化、クリアで空になります。

方法

底を正規化し、指数のビットごとに乗算・二乗・剰余を繰り返します。

BigIntで丸めず、巨大なa^b全体は作りません。

読み方

剰余は非負、正規化底はa mod m、ステップは処理ビット数です。

小さい例は直接累乗でも検算します。

例

4^13 mod 497 = 445。

(−2)^5 mod 7 = 3。指数0は1 mod mで、m=1なら0。

制限

b≥0、m>0。底と法1000桁、指数500桁まで。

10進整数のみ。負指数の逆元計算は対象外です。

利用と安全性

算術確認用であり、暗号ライブラリや安全性証明ではありません。

コピーには式、法、ステップ、検算が含まれます。

FAQ

負の底でも結果が非負なのはなぜですか?

0からm−1の標準代表を返すためです。

指数0は使えますか?

はい、1 mod mです。

負の指数は使えますか?

いいえ、逆元が必要です。

累乗全体を作りますか?

いいえ、各乗算後に剰余を取ります。