作業フローを簡素化:miniwebtoolを検索。
追加
関連ツール
バイナリ電卓中国剰余定理電卓完全順列 サブファクトリアル電卓指数電卓-高精度拡張ユークリッドアルゴリズム電卓行列べき乗電卓メルセンヌ素数チェッカーモジュラー乗法逆数電卓原始根電卓環と体の電卓
ホームページ > 数学 > 高度な数学操作 > モジュラー冪乗計算機
 

モジュラー冪乗計算機

バイナリべき乗法(高速べき乗法)アルゴリズムを使用して、モジュラー冪乗 a^b mod n を効率的に計算します。底、指数、法(モジュラス)を入力すると、平方剰余の繰り返し法、2進展開の可視化、暗号学的背景を含む詳細な計算過程と結果を即座に表示します。

モジュラー冪乗計算機
例:
計算内容
ab mod n
^
mod

Embed モジュラー冪乗計算機 Widget

モジュラー冪乗計算機

モジュラー冪乗計算機は、\(a^b \bmod n\) を計算します。これは、底 \(a\) を指数 \(b\) で累乗し、法 \(n\) で割った余りを求める操作です。この電卓は、演算回数を \(O(b)\) 回の乗算からわずか \(O(\log b)\) 回に削減する バイナリ冪乗法(高速累乗法や繰り返し二乗法とも呼ばれます)を使用しています。これは、RSA、Diffie-Hellman、ElGamal などの実際の暗号実装で使用されているのと同じアルゴリズムです。

モジュラー冪乗の用途

🔐
RSA 暗号
巨大な素数の積を用いたモジュラー冪乗によるメッセージの暗号化と復号
🤝
Diffie-Hellman
安全な共有鍵を生成するための g^a mod p を計算する鍵交換プロトコル
電子署名
DSA、ECDSA、EdDSA はすべてモジュラー冪乗に依存しています
🧪
素数判定
フェルマーやミラー・ラビン検定は a^(n-1) mod n を使用して素数かどうかを確認します
🏆
競技プログラミング
高速累乗を伴うモジュロ演算は、コンテストの問題において不可欠です
🔗
ブロックチェーン
プルーフ・オブ・ワークや暗号学的ハッシュ関数はモジュロ演算に依存しています

バイナリ冪乗法アルゴリズムの仕組み

重要な洞察は、任意の指数をバイナリ表現(2進数)を使用して2の累乗の和に分解できることです。例えば、\(b = 13 = 1101_2 = 2^3 + 2^2 + 2^0\) なので、\(a^{13} = a^{8} \times a^{4} \times a^{1}\) となります。

アルゴリズムは、指数のバイナリ数字を左から右へと処理します:

ステップ 1: 指数 \(b\) をバイナリに変換します。
ステップ 2: 結果(result)を 1 で初期化します(または最初のビットが 1 の場合は底で初期化)。
ステップ 3: それ以降の各ビットについて:結果を 二乗(mod n)します。ビットが 1 の場合は、さらに底を 掛け合わせ(mod n)ます。
ステップ 4: すべてのビットが処理された後、その結果が \(a^b \bmod n\) です。

擬似コード

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 を復号

モジュラー冪乗計算機の使い方

  1. 底 (a) を入力: 累乗したい数値を入力します。正負どちらも可能です。例えば、7^256 mod 13 を計算する場合は 7 を入力します。
  2. 指数 (b) を入力: 非負の整数である必要があります。これは累乗のパワーを表します。暗号用途では非常に大きな値になることがありますが、この電卓は 10^18 までサポートしています。
  3. 法 (n) を入力: 正の整数である必要があります。これは割り算をして余りを求めるための数値です。RSA では通常、2つの大きな素数の積になります。
  4. 計算をクリック: 電卓はバイナリ冪乗法を使用して a^b mod n を計算し、即座に結果を表示します。
  5. アニメーションを見る: 「再生」を押すと、バイナリ冪乗法アルゴリズムがステップごとに実行される様子を確認できます。指数の各ビットが順番に処理され、アルゴリズムが「二乗」のみを行うか、「二乗して乗算」を行うかが示されます。
  6. 追跡データを確認: ステップごとの表にはすべての中間計算が表示され、効率の比較では、バイナリ冪乗法が素朴な連続乗算よりもどれだけ速いかが示されます。

なぜバイナリ冪乗法は速いのか

\(2^{1000} \bmod 13\) の計算を考えてみましょう。素朴な方法では 999 回の乗算が必要です。バイナリ冪乗法では 1000 をバイナリ(1111101000)に変換しますが、これは 10 ビットです。必要なのは最大 9 回の二乗と、ビットが「1」の場所での数回の乗算だけで、合計約 15 回の演算で済みます。これは 約 98.5% の演算削減 になります。数百桁の指数を持つ暗号規模の計算では、その差は天文学的です。バイナリ法では数千回の演算で済みますが、素朴な方法では宇宙にある原子の数よりも多くの演算が必要になってしまいます。

FAQ

モジュラー冪乗とは何ですか?
モジュラー冪乗は (a^b) mod n を計算する操作です。底を指数で累乗し、その結果を法で割った余りを求めます。これは公開鍵暗号(RSA、Diffie-Hellman、ElGamal)の核心的な操作であり、数論、競技プログラミング、コンピュータサイエンスで広く使用されています。バイナリ冪乗法により、O(log b) 回の乗算で効率的に計算できます。
バイナリ冪乗法(繰り返し二乗法)はどのように機能しますか?
バイナリ冪乗法は、指数をそのバイナリ表現に変換し、各ビットを左から右(または右から左)へ処理します。各ビットについて、現在の結果を法 n で二乗します。ビットが 1 の場合は、さらに結果に底(mod n)を掛けます。これにより、乗算回数を b−1 回(素朴な方法)から最大 2×log₂(b) 回に減らすことができ、巨大な指数でも計算が可能になります。
なぜ暗号においてモジュラー冪乗が重要なのですか?
RSA暗号では、暗号化のために c = m^e mod n、復号のために m = c^d mod n を計算します。ここで n は2つの大きな素数の積であり、指数は数百桁に及ぶことがあります。高速なモジュラー冪乗がなければ、これらの操作は計算上不可能です。安全性は、逆操作(離散対数の計算)が計算上実行不可能であると信じられていることに基づいています。
底が負の数でも大丈夫ですか?
はい、負の底も完全にサポートされています。電卓はまず底を法 n で簡約します(正の n に対して常に非負の結果を返す Python のモジュロ演算を使用)。例えば、(−3)^2 mod 7 = 9 mod 7 = 2 です。モジュロ簡約は常に [0, n−1] の範囲の値を生成するため、負の結果が出ることはありません。
法が1の場合はどうなりますか?
任意の整数を 1 で割った余りは 0 です。これは、任意の整数を 1 で割ると、その整数自身が商となり、余りが 0 になるためです。したがって、a と b のすべての値に対して a^b mod 1 = 0 となります。電卓はこれを特殊なケースとして処理します。

このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:

"モジュラー冪乗計算機"(https://MiniWebtool.com/ja/モジュラー冪乗計算機/) MiniWebtool からの引用、https://MiniWebtool.com/

by MiniWebtool チーム. 更新日: 2026-04-16

また、AI 数学ソルバー GPT を使って、自然言語による質問と回答で数学の問題を解決することもできます。

高度な数学操作:

おすすめ:

InstagramユーザーID検索弧長電卓パーセント増加電卓パーセンテージ減少電卓不可視文字除去ツールMACアドレス検索ランダムカラージェネレーター円錐展開図テンプレートジェネレーター画像分割ツール英単語ランダム生成ツールシグマ記法電卓 総和水星逆行カレンダー合計電卓エンジェルナンバー電卓フィートとインチからセンチメートルへのコンバーターパーセント誤差電卓ランダム誕生日ジェネレーター動画を結合平方完成電卓標準偏差電卓 - 高精度YouTubeチャンネル統計クロスワードパズルメーカー動画を逆再生売上総利益率電卓HEX電卓ランダム超能力ジェネレーターASCIIコード表ai句読点追加筆算割り算電卓土星回帰電卓相対標準偏差電卓番号を並べ替えるCAGR電卓コラッツ予想電卓war電卓私のIPアドレスは何ですかMP3ルーパー楕円円周電卓空の行を削除する関数電卓手数料電卓FPSコンバーター💧 露点電卓動画を回転ビンゴカードジェネレーターランダム絵文字ジェネレーターじゃんけんジェネレーターマン・ホイットニーのU検定計算機対数電卓相関係数計算機kva計算機デシベル (dB) 電卓HEXコンバーターモジュロ電卓中央値電卓熱膨張計算機ボウリングスコア計算機逆テキストBUN対クレアチニン比電卓オンライン句読点削除ツールビデオ速度を調整圧力電卓t検定電卓血糖値コンバーターマスターナンバー電卓ボルト締付トルク計算機労働時間計算ツール角速度計算機ランダムトーナメント表作成ツールランダム名前ジェネレーターfena電卓比率電卓指数電卓-高精度加速度電卓GIFメーカー分数電卓センチメートルからフィートとインチへのコンバーターSRT 時間シフト 電卓コラージュメーカー平方根電卓オーディオ スプリッター求人検索log-base-2電卓XMLバリデーターボクシングパンチ力計算機ジニ係数電卓文字数による改行最小公倍数電卓迷路ジェネレーターSRTからTXTへの変換ツール小数時間から普通の時間へのコンバーター年の日電卓 - 今日は今年の何日目分散電卓 高精度FIP電卓変動係数電卓TikTok収益計算ツールTwitch収益計算ツール変化率電卓確率分布電卓沸点計算ツールAIテキストヒューマナイザーパレットジェネレーター魔方陣ジェネレーター画像回転ツールランダム時刻ジェネレーター積分電卓赤ちゃんのミルク量計算ピタゴラスの定理電卓サッカーxg期待ゴール電卓角度変換ツールCRC32チェックサム電卓ランダムポーカーハンドジェネレーター三角関数グラフ作成ツール四次方程式計算機ランダム日付ジェネレーター中間日計算機平均寿命電卓FacebookユーザーID検索ノノグラムジェネレーター (ピクロス)ジョルダン標準形電卓ベーカーズパーセント電卓タンジェント電卓並列抵抗電卓水泳ペース計算機ニュートン法電卓外れ値電卓桁数電卓正多角形電卓ワイヤーゲージ電卓平均電卓-高精度VTTからtxtへのコンバーター🖱️ クリックカウンター🔊 トーンジェネレーター円錐台電卓動画から画像抽出ツール筆算足し算・引き算計算機⚔️ DPS電卓Zalgoテキストジェネレーター配当利回り電卓配管流量電卓IPアドレスから16進数への変換ヒジュラ暦変換器ビデオをループ再生ピザ生地計算機太陽位置計算機BCDからバイナリへのコンバーターSHA256 ハッシュジェネレーターアンテナ長計算機バーコードジェネレーター取り消し線テキスト生成ツール密度電卓水分補給計算機パーセント成長率電卓斜辺電卓車両重量配分計算機ANC電卓階段電卓10進数からBCDへのコンバーターグレイコード・バイナリ変換電卓ホームランの打席電卓ランダムトランプカードジェネレーターランダムPIN生成器ランダムアニマルジェネレーター二乗平均平方根電卓日割り家賃計算馬力電卓スリザーリンクパズルジェネレータートルク電卓バイナリ電卓発音IPA変換ツール行番号を追加長方形の電卓CPM 電卓HTMLからテキストコンバータPSIからbarへの変換器ランダムクレジットカードジェネレーター油圧シリンダー推力計算機csvからsrtへ音速計算機YouTubeショート収益化計算ツールエラー関数電卓カラー反転ツールビデオ反転周波数波長変換ツール比較分数電卓滑車システム計算機番号ランダマイザー素数ですか表面積電卓アナグラム生成器🎮 ゲーム感度変換器点つなぎジェネレーター熱伝達計算機DMSから10進数へのコンバーター中間点電卓停止距離計算機愛の相性電卓歩数距離変換電卓重複行削除ツールランダム算数問題ジェネレーターリース買取電卓オクタン価ブレンド電卓2ストロークオイル混合電卓エンジン排気量計算ソファ搬入電卓薪コード計算機空気清浄機CADR電卓除湿機サイズ計算シーリングファンサイズ電卓カーテンサイズ計算機ラグサイズ電卓額縁の掛け高さ計算機テレビ取り付け高さ計算機テレビサイズ電卓池の容量・ライナー電卓プール塩量計算機プール容量計算給湯器サイズ電卓エポキシ樹脂計算機手すり子間隔電卓巾木とトリムの電卓サイディング計算機デッキ用ステインの計算芝生の種計算機芝生電卓アスファルト電卓立方ヤード電卓電線管充填率電卓直列並列コンデンサ電卓誘導リアクタンス計算機部屋の照明計算機ルクスからルーメン電卓ルーメンからワット変換器発電機サイズ計算機mAh Wh 変換器 電卓三相電力計算機アンペアからワット電卓ワットからアンペア電卓直列抵抗計算機摩擦計算機斜面計算機機械的倍率計算機波の速度計算機浮力電卓終端速度計算機ド・ブロイ波長計算機光子エネルギー計算機emc2電卓時間の遅れ計算機ケプラーの第三法則計算機脱出速度計算機万有引力計算機ベール・ランベルトの法則電卓ネルンストの式計算機浸透圧計算機沸点上昇電卓凝固点降下計算パーセント組成計算機規定度計算機質量モル濃度計算機pKa→Ka変換器ヘンダーソン・ハッセルバルヒ電卓理論収量計算機制限反応物計算機電子配置計算機インタラクティブ周期表AI授業計画ジェネレーターAIクイズ作成ツール引用ジェネレーター (APA/MLA/Chicago)出席率計算APスコア計算機ACTスコア計算機SATスコア電卓パーセンテージからCGPA変換器CGPAからパーセンテージへの変換器簡単採点ツール EZ Grader子育て費用計算機おむつサイズ電卓赤ちゃんの名前ジェネレーター赤ちゃんの目の色予測子供のBMIパーセンタイル計算機子供の身長予測ツールhcg倍加時間計算ツール体外受精出産予定日電卓着床計算ツール中国式性別予測カレンダーISO 8601 日付フォーマッターユリウス日変換器昼寝電卓月相電卓日の出&日の入り電卓世界時計日付ローマ数字変換電卓退職カウントダウンソブリエティ計算機ハーフバースデー計算機記念日計算機週番号計算機チップ分配計算機メールマーケティングROI電卓リード獲得単価計算機運転資本計算機youtube収益見積もりツールランダムRPGキャラクタージェネレーター