作業フローを簡素化: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検索パーセンテージ減少電卓フィートとインチからセンチメートルへのコンバーターランダムカラージェネレーターパーセント増加電卓引用検索 (英語)動画を結合エンジェルナンバー電卓モジュロ電卓war電卓画像分割ツールMACアドレス検索円錐展開図テンプレートジェネレーターランダム超能力ジェネレーター番号を並べ替える動画を逆再生ランダムトーナメント表作成ツール合計電卓ランダム誕生日ジェネレーターシグマ記法電卓 総和ボウリングスコア計算機ai句読点追加YouTubeチャンネル統計英単語ランダム生成ツールHEX電卓グレイコード・バイナリ変換電卓MP3ルーパーランダム日付ジェネレーター空の行を削除する標準偏差電卓 - 高精度オンライン句読点削除ツール弧長電卓中央値電卓血糖値コンバーターFPSコンバーターCMYKからHEXへの変換ツール逆テキストセンチメートルからフィートとインチへのコンバーター平方完成電卓手数料電卓動画を回転CAGR電卓不可視文字除去ツールマン・ホイットニーのU検定計算機ビンゴカードジェネレーターランダム座標ジェネレーター🖱️ クリックカウンター比率電卓ランダム絵文字ジェネレーターコラージュメーカー楕円円周電卓ビデオ速度を調整小数時間から普通の時間へのコンバーター筆算割り算電卓csvからsrtへ私のIPアドレスは何ですか土星回帰電卓中間日計算機ASCIIコード表ランダムポーカーハンドジェネレーター斜面計算機t検定電卓kva計算機太陽位置計算機マスターナンバー電卓四分位範囲電卓売上総利益率電卓年の日電卓 - 今日は今年の何日目SRT 時間シフト 電卓サッカーxg期待ゴール電卓変化率電卓パーセント誤差電卓愛の相性電卓桁数電卓ワイヤーゲージ電卓画像回転ツール圧力電卓相対標準偏差電卓デシベル (dB) 電卓平方根電卓Twitch収益計算ツール沸点計算ツールアンテナ長計算機HEXコンバーター対数電卓配当利回り電卓行番号を追加動画から画像抽出ツールPSIからbarへの変換器ランダム名前ジェネレーター指数電卓(高精度)TikTok収益計算ツールオーディオ スプリッタービデオをループ再生ローマ数字のコンバーター加速度電卓塁打数電卓関数電卓ベーカーズパーセント電卓労働時間計算ツール正多角形電卓パーセント成長率電卓平均寿命電卓底2の対数電卓文字数による改行ポンドからキログラム変換ランニングペース電卓分数電卓水星逆行カレンダーSRTからTXTへの変換ツールヒストグラムメーカーランダムクレジットカードジェネレーターランダム算数問題ジェネレーターBUN対クレアチニン比電卓IPアドレスから16進数への変換バイナリ電卓乗算電卓筆算足し算・引き算計算機🎮 ゲーム内通貨変換器ジニ係数電卓SHA256 ハッシュジェネレーター服のサイズ変換atan2電卓カレンダー電卓アナグラム生成器取り消し線テキスト生成ツール外接円電卓熱伝達計算機psiからkPaへのコンバーター小文字生成器 ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾表面積電卓fena電卓バーコードジェネレーターパレットジェネレーター太陽・月・上昇星座電卓 🌞🌙✨平均電卓(高精度)相関係数計算機AIテキストヒューマナイザーFacebookユーザーID検索カイ二乗検定電卓動画分割ツール世界時計円錐台電卓ボルト締付トルク計算機熱膨張計算機素数ですか配管流量電卓直列抵抗計算機10進数からBCDへのコンバーターヒジュラ暦変換器半減期電卓点つなぎジェネレーター猫カロリー電卓角速度計算機迷路ジェネレーター💧 露点電卓ハーフバースデー計算機比例計算機1マイルウォークテストロックポート電卓hba1c電卓VTTからtxtへのコンバーターZalgoテキストジェネレーターエントロピー電卓サイコロローラーランダムPIN生成器ランダムトランプカードジェネレーター分散電卓 高精度動画圧縮慣性モーメント計算機散布図作成ツールmcgからmgへの変換ツールTwitter/X タイムスタンプ変換器じゃんけんジェネレーターホームランの打席電卓二項係数電卓変動係数電卓日割り家賃計算科学表記法電卓車両重量配分計算機GIFメーカーkPaからpsiへのコンバーターWHOIS検索YouTubeショート収益化計算ツールエラー関数電卓カーリース計算機フィッシャーの正確確率検定電卓ヘロンの公式計算機幾何平均電卓比率とパーセンテージ計算ツール水泳ペース計算機車両牽引能力電卓hcg倍加時間計算ツールPDF結合ノノグラムジェネレーター (ピクロス)パスワード強度テスターランダム音周波数ジェネレーター原始根電卓宝くじ番号ジェネレーター直線の方程式電卓華氏から摂氏への変換器トリビアクイズジェネレーターハングマン単語ジェネレーターピクショナリー単語ジェネレータージェスチャーゲームジェネレーターアイスブレイク質問ジェネレーターNever Have I Ever ジェネレーターどっちを選ぶジェネレーターランダム質問ジェネレーターAI夢占いAIお礼状ジェネレーターAI結婚式スピーチジェネレーターAIプレスリリースジェネレーターAI商品説明ジェネレーターAI動画スクリプトジェネレーターAI YouTubeタイトル・概要欄ジェネレーターInstagramキャプションジェネレーターAI LinkedInヘッドライン・自己紹介ジェネレーターAI職務経歴書ブレットジェネレーターAIカバーレター作成ツールAIラップ歌詞ジェネレーターPDFフラット化ツールPDFロック解除(オーナーパスワード削除)PDFテキスト抽出PDFページ抽出PDF単語カウンターPDFにパスワードを設定PDFにページ番号を追加PDFページ並べ替えPDFページ削除PDF回転JPGをPDFに変換PDFをJPGに変換PDF圧縮PDF分割PTからPXへの変換器PXからREMへの変換器トラからグラムへの変換器インドの土地単位変換器AI歌詞ジェネレーターAI詩ジェネレーターAIストーリージェネレーターAI翻訳AIテキスト要約ツールmgからmlへの変換器MPHからKMHへの変換器ノットからマイル毎時変換器立方メートルから立方フィート立方フィートから立方ヤード変換器平方フィートから平方メートル換算平方メートルから平方フィート変換器オンスからmlへの変換器mlからオンスへの変換器ガロンからリットル変換器リットルからガロン変換器キログラムからストーンへの変換器ストーンからキログラム変換器インチからミリメートルへの変換器ミリメートルからインチへの変換器マイルからキロメートル変換器キロメートルからマイル変換器摂氏から華氏への変換器バックパックサイズ電卓サーフボード容量電卓テニスグリップサイズ電卓ヘルメットサイズ電卓手袋サイズ電卓帽子サイズ変換スノーボードサイズ電卓スキーサイズ電卓自転車サイズ電卓スピードランスプリットタイマーステーブルフォード計算機ダーツチェックアウト電卓ボウリング・エコノミーレート電卓打撃ストライクレート電卓ネットランレート計算機KDレシオ計算機Eloレーティング計算機心拍数回復電卓ハイキング時間計算機ローイングペース計算機ランニング年齢グレード計算機FTP・パワーゾーン計算機Beepテスト電卓ACFTスコア電卓Wilks & DOTS 電卓ホイールオフセット電卓タイヤ負荷指数・速度レーティング検索マイルあたりコスト電卓リース買取電卓オクタン価ブレンド電卓2ストロークオイル混合電卓エンジン排気量計算ソファ搬入電卓薪コード計算機空気清浄機CADR電卓除湿機サイズ計算シーリングファンサイズ電卓カーテンサイズ計算機ラグサイズ電卓額縁の掛け高さ計算機テレビ取り付け高さ計算機テレビサイズ電卓池の容量・ライナー電卓プール塩量計算機プール容量計算給湯器サイズ電卓エポキシ樹脂計算機手すり子間隔電卓巾木とトリムの電卓サイディング計算機デッキ用ステインの計算芝生の種計算機芝生電卓アスファルト電卓立方ヤード電卓電線管充填率電卓直列並列コンデンサ電卓誘導リアクタンス計算機部屋の照明計算機ルクスからルーメン電卓ルーメンからワット変換器発電機サイズ計算機mAh Wh 変換器 電卓三相電力計算機アンペアからワット電卓ワットからアンペア電卓摩擦計算機機械的倍率計算機音速計算機波の速度計算機浮力電卓終端速度計算機ド・ブロイ波長計算機光子エネルギー計算機emc2電卓時間の遅れ計算機ケプラーの第三法則計算機脱出速度計算機万有引力計算機ベール・ランベルトの法則電卓ネルンストの式計算機浸透圧計算機沸点上昇電卓凝固点降下計算パーセント組成計算機規定度計算機質量モル濃度計算機pKa→Ka変換器ヘンダーソン・ハッセルバルヒ電卓理論収量計算機制限反応物計算機電子配置計算機インタラクティブ周期表AI授業計画ジェネレーターAIクイズ作成ツール引用ジェネレーター (APA/MLA/Chicago)出席率計算APスコア計算機ACTスコア計算機SATスコア電卓パーセンテージからCGPA変換器CGPAからパーセンテージへの変換器簡単採点ツール EZ Grader子育て費用計算機赤ちゃんのミルク量計算おむつサイズ電卓赤ちゃんの名前ジェネレーター赤ちゃんの目の色予測子供のBMIパーセンタイル計算機子供の身長予測ツール体外受精出産予定日電卓着床計算ツール中国式性別予測カレンダーISO 8601 日付フォーマッターユリウス日変換器昼寝電卓月相電卓日の出&日の入り電卓日付ローマ数字変換電卓退職カウントダウンソブリエティ計算機記念日計算機週番号計算機チップ分配計算機メールマーケティングROI電卓リード獲得単価計算機運転資本計算機youtube収益見積もりツールランダムRPGキャラクタージェネレーター