モジュラー冪乗計算機
バイナリべき乗法(高速べき乗法)アルゴリズムを使用して、モジュラー冪乗 a^b mod n を効率的に計算します。底、指数、法(モジュラス)を入力すると、平方剰余の繰り返し法、2進展開の可視化、暗号学的背景を含む詳細な計算過程と結果を即座に表示します。
広告ブロッカーにより広告が表示できません
MiniWebtool は広告収益で無料提供しています。このツールが役に立ったら、Premium(広告なし+高速)をご利用いただくか、MiniWebtool.com を許可リストに追加して再読み込みしてください。
- または Premium(広告なし)にアップグレード
- MiniWebtool.com の広告を許可してから再読み込みしてください
モジュラー冪乗計算機
モジュラー冪乗計算機は、\(a^b \bmod n\) を計算します。これは、底 \(a\) を指数 \(b\) で累乗し、法 \(n\) で割った余りを求める操作です。この電卓は、演算回数を \(O(b)\) 回の乗算からわずか \(O(\log b)\) 回に削減する バイナリ冪乗法(高速累乗法や繰り返し二乗法とも呼ばれます)を使用しています。これは、RSA、Diffie-Hellman、ElGamal などの実際の暗号実装で使用されているのと同じアルゴリズムです。
モジュラー冪乗の用途
バイナリ冪乗法アルゴリズムの仕組み
重要な洞察は、任意の指数をバイナリ表現(2進数)を使用して2の累乗の和に分解できることです。例えば、\(b = 13 = 1101_2 = 2^3 + 2^2 + 2^0\) なので、\(a^{13} = a^{8} \times a^{4} \times a^{1}\) となります。
アルゴリズムは、指数のバイナリ数字を左から右へと処理します:
擬似コード
function modpow(base, exp, mod):
result = 1
base = base mod mod
while exp > 0:
if exp is odd: // ビットが 1 の場合
result = (result × base) mod mod
exp = exp >> 1 // 右シフト(2で割る)
base = (base × base) mod mod
return result
主な公式
| 性質 | 公式 | 説明 |
|---|---|---|
| モジュラー冪乗 | \(a^b \bmod n\) | a^b を n で割った余り |
| フェルマーの小定理 | \(a^{p-1} \equiv 1 \pmod{p}\) | 素数 p かつ gcd(a,p)=1 の場合 |
| オイラーの定理 | \(a^{\phi(n)} \equiv 1 \pmod{n}\) | gcd(a,n)=1 の場合(φはオイラーのトーシェント関数) |
| バイナリ法の計算量 | \(O(\log b)\) 回の乗算 | 最大でも 2·log₂(b) 回のモジュロ乗算 |
| RSA 暗号化 | \(c = m^e \bmod n\) | 公開鍵 (e, n) でメッセージ m を暗号化 |
| RSA 復号 | \(m = c^d \bmod n\) | 秘密鍵 d で暗号文 c を復号 |
モジュラー冪乗計算機の使い方
- 底 (a) を入力: 累乗したい数値を入力します。正負どちらも可能です。例えば、7^256 mod 13 を計算する場合は 7 を入力します。
- 指数 (b) を入力: 非負の整数である必要があります。これは累乗のパワーを表します。暗号用途では非常に大きな値になることがありますが、この電卓は 10^18 までサポートしています。
- 法 (n) を入力: 正の整数である必要があります。これは割り算をして余りを求めるための数値です。RSA では通常、2つの大きな素数の積になります。
- 計算をクリック: 電卓はバイナリ冪乗法を使用して a^b mod n を計算し、即座に結果を表示します。
- アニメーションを見る: 「再生」を押すと、バイナリ冪乗法アルゴリズムがステップごとに実行される様子を確認できます。指数の各ビットが順番に処理され、アルゴリズムが「二乗」のみを行うか、「二乗して乗算」を行うかが示されます。
- 追跡データを確認: ステップごとの表にはすべての中間計算が表示され、効率の比較では、バイナリ冪乗法が素朴な連続乗算よりもどれだけ速いかが示されます。
なぜバイナリ冪乗法は速いのか
\(2^{1000} \bmod 13\) の計算を考えてみましょう。素朴な方法では 999 回の乗算が必要です。バイナリ冪乗法では 1000 をバイナリ(1111101000)に変換しますが、これは 10 ビットです。必要なのは最大 9 回の二乗と、ビットが「1」の場所での数回の乗算だけで、合計約 15 回の演算で済みます。これは 約 98.5% の演算削減 になります。数百桁の指数を持つ暗号規模の計算では、その差は天文学的です。バイナリ法では数千回の演算で済みますが、素朴な方法では宇宙にある原子の数よりも多くの演算が必要になってしまいます。
FAQ
このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:
"モジュラー冪乗計算機"(https://MiniWebtool.com/ja/モジュラー冪乗計算機/) MiniWebtool からの引用、https://MiniWebtool.com/
by MiniWebtool チーム. 更新日: 2026-04-16
また、AI 数学ソルバー GPT を使って、自然言語による質問と回答で数学の問題を解決することもできます。
その他の関連ツール:
高度な数学操作:
- antilog電卓
- ベータ関数電卓
- 二項係数電卓
- 二項確率分布電卓
- ビットに基づいての電卓
- 中心極限定理電卓
- 組み合わせ電卓
- 相補誤差関数電卓
- 複素数電卓
- エントロピー電卓
- エラー関数電卓
- 指数減衰電卓-高精度
- 指数成長電卓 高精度
- 指数積分電卓
- 指数電卓-高精度 おすすめ
- 階乗電卓 おすすめ
- ガンマ関数電卓
- 黄金比電卓
- 半減期電卓
- パーセント成長率電卓
- 順列電卓
- ポアソン分布電卓
- 多項式の根電卓と詳細なステップ
- 確率電卓
- 確率分布電卓
- 比率電卓
- 二次式電卓
- 関数電卓
- 科学表記法電卓
- 有効数字電卓 新しい
- 立方和電卓
- 正の整数の電卓
- 平方和の計算
- 真理値表ジェネレーター
- 集合論電卓
- ベン図ジェネレーター3集合
- 中国剰余定理電卓
- オイラーのトーシェント関数電卓
- 拡張ユークリッドアルゴリズム電卓
- モジュラー乗法逆数電卓
- 連分数電卓
- ダイクストラ最短経路電卓
- 最小全域木電卓
- グラフ次数列バリデーター
- 完全順列 サブファクトリアル電卓
- スターリング数電卓
- 鳩の巣原理電卓
- マルコフ連鎖定常分布電卓
- 四捨五入電卓 新しい
- 負の二項分布電卓 新しい
- 重複順列電卓 新しい
- モジュラー冪乗計算機 新しい
- 原始根電卓
- ブール代数簡略化ツール 新しい
- カルノー図 (K-Map) ソルバー 新しい
- グラフ彩色電卓 新しい
- トポロジカルソート電卓 新しい
- 隣接行列電卓 新しい
- 包除原理電卓 新しい
- 線形計画法ソルバー 新しい
- 巡回セールスマン問題ソルバー TSP 新しい
- ハミルトン路チェッカー 新しい
- 平面グラフ判定 新しい
- ネットワークフロー電卓最大フロー 新しい
- 安定結婚問題ソルバー 新しい
- 群論の位数電卓 新しい
- 環と体の電卓 新しい