作業フローを簡素化: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 を使って、自然言語による質問と回答で数学の問題を解決することもできます。

おすすめ:

標準偏差電卓 - 高精度パーセンテージ減少電卓パーセント増加電卓ランダムカラージェネレーター売上総利益率電卓中央値電卓ランダム誕生日ジェネレーター合計電卓相対標準偏差電卓番号を並べ替える弧長電卓ai句読点追加英単語ランダム生成ツールパーセント誤差電卓MACアドレス検索マスターナンバー電卓コラッツ予想電卓フィートとインチからセンチメートルへのコンバーター手数料電卓HEX電卓war電卓画像分割ツール円錐展開図テンプレートジェネレーターCAGR電卓ASCIIコード表分散電卓 高精度MP3ルーパー対数電卓小数時間から普通の時間へのコンバーターランダム名前ジェネレーターセンチメートルからフィートとインチへのコンバーター動画を逆再生筆算割り算電卓血糖値コンバーターランダム国ジェネレーターランダム絵文字ジェネレーター動画を結合クロスワードパズルメーカーマン・ホイットニーのU検定計算機楕円円周電卓逆テキスト労働時間計算ツールt検定電卓💧 露点電卓RC時定数電卓アナグラム生成器分数電卓YouTubeチャンネル統計動画を回転歩数距離変換電卓空の行を削除するランダムトーナメント表作成ツール土星回帰電卓ビデオ速度を調整BUN対クレアチニン比電卓階段電卓表面積電卓csvからsrtへ桁数電卓並列抵抗電卓モジュロ電卓配当利回り電卓CMYKからHEXへの変換ツール相関係数計算機fena電卓デシベル (dB) 電卓ワードサーチパズルジェネレーターCRC32チェックサム電卓ポンドからキログラム変換ビンゴカードジェネレーターピタゴラスの定理電卓変動係数電卓変化率電卓FPSコンバーターバイナリ電卓筆算かけ算計算機血液型計算機ベーカーズパーセント電卓斜辺電卓SRTからTXTへの変換ツールXMLバリデーターInstagramユーザーID検索log-base-2電卓平均電卓-高精度SRT 時間シフト 電卓圧力電卓指数電卓-高精度文字数による改行上下反転テキストジェネレーターCPM 電卓FacebookユーザーID検索Zalgoテキストジェネレーター多項式展開電卓年の日電卓 - 今日は今年の何日目ランダム時刻ジェネレーターボウリングスコア計算機10進数からBCDへのコンバーターHTMLからテキストコンバータ画像回転ツール加速度電卓完全数チェッカーモジュラー冪乗計算機重複順列電卓効果量電卓相対リスク電卓オッズ比電卓分割表電卓フィッシャーの正確確率検定電卓スピアマン順位相関係数計算機ベータ分布電卓ワイブル分布電卓指数分布電卓幾何分布電卓負の二項分布電卓超幾何分布電卓F検定・F分布電卓ベイズの定理電卓固有多項式計算機行列べき乗電卓コレスキー分解電卓QR分解電卓行列対角化電卓クラメルの公式電卓列空間電卓零空間電卓ベクトル間の角度電卓単位ベクトル電卓ベクトルの大きさ電卓外積電卓内積電卓行列の掛け算電卓逆行列電卓RREF計算機行簡約階段形ニュートン法電卓ヤコビ行列電卓面積分電卓線積分計算機回転カール電卓発散計算機勾配計算機多変数最適化電卓微積分関連変化率ソルバー瞬間変化率電卓平均変化率計算機無限級数和電卓級数収束判定電卓べき級数電卓マクローリン級数電卓ロピタルの定理計算機広義積分電卓シンプソン則電卓台形公式電卓リーマン和電卓パラメトリック曲線グラフ作成ツール回転体の表面積計算機回転体の体積電卓座標幾何距離計算機ヘロンの公式計算機円の接線電卓角の二等分線電卓内接円インサークル電卓外接円電卓大圏距離計算機3d距離電卓トーラス電卓円錐台電卓不規則多角形面積電卓正多角形電卓円錐曲線識別ツール双曲線電卓放物線電卓二項定理展開電卓パスカルの三角形ジェネレーター積の記号電卓 (Π パイ記法)シグマ記法電卓 総和有理根定理 電卓デカルトの符号法則電卓平行線と垂直線の電卓直線の方程式電卓標準形から傾き切片形への変換点傾き形式電卓非線形連立方程式ソルバー有理方程式ソルバー文字式方程式ソルバー三角方程式ソルバー指数方程式ソルバー対数方程式ソルバー四次方程式計算機三次方程式ソルバー概算電卓数値から分数への変換器スキップカウントジェネレーター単価電卓天井関数と床関数 電卓絶対値電卓数列パターン検出ツール位取り表ジェネレーター演算の順序電卓PEMDAS筆算足し算・引き算計算機九九表ジェネレーター🎮 ゲーム内通貨変換器🎲 ドロップ確率電卓🎰 ガチャ天井計算機⚔️ DPS電卓🎮 ゲーム感度変換器❄️ 雪の日計算機🚚 引っ越し費用見積もり🔍 盗作チェッカー📷 OCR / 画像からテキスト抽出📈 折れ線グラフ作成ツール🥧 円グラフ作成ツール📊 棒グラフ作成ツール🔊 トーンジェネレーター🖱️ クリックカウンターオンラインメモ帳⬛ アスペクト比電卓🌍 カーボンフットプリント電卓👙 ブラサイズ電卓タイヤサイズ電卓燃料費電卓🌡️ 暑さ指数電卓🌬️ 体感温度電卓⏰ オンラインアラーム時計⏰ タイムカード電卓📅 日付差分電卓🕐 ミリタリータイム変換器⏱️ 時間計算機⏱️ オンラインストップウォッチ⏱️ カウントダウンタイマー🌐 タイムゾーン変換器カーペット計算機擁壁電卓HVAC容量計算電卓断熱材電卓ペーバー電卓鉄筋電卓木材計算機平方フィート計算機交差掛け算電卓五数要約電卓パーセンタイル電卓正規分布電卓p値電卓比率電卓平方完成電卓四捨五入電卓関数電卓ポモドーロ学習タイマー有効数字電卓テストスコア計算機加重成績計算ツール期末成績電卓成績計算機共振周波数電卓インピーダンス電卓電力用電卓変圧器電卓ワイヤーゲージ電卓555タイマー電卓コンデンサ電卓分圧器計算電卓LED抵抗器電卓モル/グラム/粒子変換器滴定計算器沸点計算ツール実験式計算器収率計算機化学量論計算機化学反応式バランサー希釈計算器馬力電卓トルク電卓自由落下電卓理想気体の状態方程式電卓密度電卓仕事と仕事率電卓位置エネルギー計算機運動エネルギー電卓放物運動電卓運動量計算機速度電卓力の電卓インフルエンサーROI電卓ROAS電卓CTR計算ツールソーシャルメディアユーザー名チェッカーソーシャルメディア投稿時間最適化ツールソーシャルメディアROI電卓Facebook広告費用電卓YouTubeショート収益化計算ツールTwitch収益計算ツールYouTube視聴時間電卓Twitter/X タイムスタンプ変換器TikTok収益計算ツールソーシャルメディア画像サイズガイドInstagramフォントジェネレーターTwitter/X 文字数カウンターYouTubeコメントピッカーYouTubeタグ抽出ツールyoutubeサムネイルダウンローダーyoutube収益見積もりツールtiktokエンゲージメント率計算機Instagram エンゲージメント率電卓AIトークンカウンターAI記事アウトライン生成ツールAIスローガンジェネレーターAIハッシュタグジェネレーターAIメール作成ツールAIブログタイトルジェネレーターAIテキストヒューマナイザーAIコンテンツ検出ツールリンク切れチェッカーHreflang タグジェネレーターリダイレクトチェッカードメイン信頼度チェッカーページ速度チェッカー見出しアナライザーDNSルックアップWHOIS検索ドメイン年齢チェッカーOpen GraphチェッカーXMLサイトマップ生成ツールrobots.txt生成ツールスキーママークアップ生成ツールWebhookテスターAPIテスターIPサブネット電卓CSSボックスシャドウジェネレーター画像Base64変換器HTMLからMarkdown変換器MarkdownエディタCSVからJSON変換器YAMLフォーマッター/バリデーターHTMLビューティファイアCSS整形ツールjavascript圧縮/整形ツール差分チェッカー正規表現テスターJSONフォーマッター/バリデーター犬の平均寿命電卓ペット保険電卓生食計算機犬妊娠計算機犬のチョコレート毒性電卓子犬の体重予測ツール複数分数電卓犬のフード電卓生ハーブから乾燥ハーブへの変換器バターから油への変換器オーブンからエアフライヤー変換器低温調理電卓サワードウ計算機ピザ生地計算機七面鳥の調理時間電卓燻製時間計算ツールカップからグラム変換器レシピ栄養計算ツール料理単位変換器レシピ分量計算ツール妊娠カロリー計算機妊娠週数計算ツール授乳カロリー計算器赤ちゃん成長パーセンタイル計算機妊娠体重増加計算機ペースゾーン電卓垂直跳び電卓ゴルフハンディキャップ電卓トライアスロンペース電卓マラソンペース電卓筋力基準電卓軍隊体脂肪率計算機水泳ペース計算機サイクリング速度計算機心臓病リスク電卓正味炭水化物電卓炭水化物計算機除脂肪体重計算機体型タイプ電卓生物学的年齢電卓平均寿命電卓身長パーセンタイル電卓血圧インタープリタークレアチニンクリアランス計算機GFR計算機糸球体濾過量体重減少計算ツール断続的断食電卓ケトジェニック電卓タンパク質摂取量計算機血中アルコール濃度計算機理想体重計算機住宅資産価値電卓不動産転売利益計算ツール不動産手数料計算機クロージングコスト電卓賃貸物件投資計算機賃貸vs購入電卓税相当利回り計算電卓配偶者扶養費電卓養育費電卓遺産税電卓固定資産税電卓W-4 源泉徴収電卓1099 税金電卓自営業税電卓キャピタルゲイン税電卓還付金見積もり電卓税率区分電卓所得税電卓ビットコイン投資電卓暗号資産損益電卓従業員コスト電卓企業価値評価電卓損益分岐点電卓HELOC電卓FHAローン電卓頭金電卓住宅ローン完済電卓緊急資金電卓貯蓄目標電卓予算計算機純資産電卓債務一本化電卓債務返済電卓個人ローン電卓ビジネスローン電卓ドルコスト平均法電卓配当再投資電卓株式損益電卓投資信託電卓SIP計算電卓RMD計算電卓年金計算電卓社会保障給付金計算電卓退職計算電卓Roth IRA電卓401k電卓通貨換算ツールチップ電卓点つなぎジェネレーターワードラダー生成電卓ワードスクランブルジェネレータークリプトグラムジェネレータースリザーリンクパズルジェネレーターハシパズルジェネレーターフトシキジェネレーターキラー数独ジェネレーター原始根電卓RSA暗号化ステップバイステップシミュレーターオイラー標数電卓多角形の対角線電卓関数の偶奇判定ツールフーリエ級数係数電卓ルンゲクッタRK4法電卓ロンスキアン電卓行列トレース電卓行列ランク電卓ランダム音周波数ジェネレーターランダムコードジェネレーターランダムロードアウトジェネレーターランダムポーカーハンドジェネレーターランダムチェスオープニングジェネレーターランダムRPGキャラクタージェネレーター