【数の構成】「合同式」は割り算と余りの式

前回述べた、「余りのある割り算」の性質を分析する専用ツールである合同式は、次のような、ちょっと他にはない不思議な格好をしています。

この節を最初から読む
この節の目次にもどる

合同式の定義


まず、この合同式の意味ですが 「aとbは割る数をnとした時に余りが等しい」 ことを意味しています。このとき a、b、n はいずれも整数とします。また、このことは 「aとbの差分がnの倍数になる」 ことと同じです(こちらが正式な定義とされています)。余りが同値に固定されているので、両者の差はちょうどnで割り切れる数になるからです。「余りつき割り算」の基本の計算式でみてみましょう。
合同式の定義

aとbを上のように定めて両者の差を取ると、同じ余りが相殺されることで、nで割り切れる数が残ります。

次にこの式の読み方ですが、「mod」とあるのは、「modulo (モジュロー/モデュロー)」という語の略です。「modulo」は前回出てきたラテン語「modulus」の活用形(奪格といいます)で、「割る数(法)において」「割る数(法)として」というような意味になります。また、この「modulus」は英語でいうと「module/modular」(モジュール/モジュラー:それぞれ「ユニット部品」「ユニット部品の」の意)」にあたりますので、合同式を使った演算を別名「モジュラー演算(modular arithmetic)」ということがあります(「モジュロ演算」「合同算術」「剰余演算」などのバリエーションもあります)。「aとbはnを法として合同」という言い方もよく用いられます。この「modular」に「法」という日本語をあてている理由は、よくわかりませんでしたが、「内法−うちのり」のような「差し渡し」の意味で使っているのかもしれません。

次に目をひかれるのは、剰余の関係を表すのに、三本線の合同記号「≡」が使われていることです。三角形の合同との関係が気になるところですが、資料をみると、もともとこちらの剰余の合同関係の方がむしろオリジナルで、幾何での使用の方が流用のようです(しかも日本だけ)。ただ、言葉の呼び名は、英語・日本語どちらとも「合同(congruent)」です。等号「=」との比較では、図形の合同の時には、「大きさだけでなく形もぴったり同じだよ」という、等号よりも強い意味でしたが、ここでは、「ぜんぜん同じ数なんかじゃないけれども、割る数を同じにとった時に余りが等しいという一点ではどうにか仲間だよ」という、等号よりも弱い関係性を示す記号として使われています。

また、この合同式で面白いところは、「余り」が重要で、それが等しいといいながら、その肝心の余り自体は式の中にはどこにも出てこないところです。たとえて言うなら、秘密条約を結んで表に見えない理由で協同歩調をとっている同盟国のようなもので、合意条件としての余りは見えない黒幕として式全体を裏からコントロールしているのです。ここから、合同式において整数が合同関係にあるということは、上のふたつの意味の他に、次の3番目の意味も持つものといえます。

  • 「割る数」と「余り」がともに等しい数の組である
  • 同じ余りを差し引くと n の倍数になる数の組である
  • 「n の倍数」を同じ幅だけずらした数の組である

後先になりましたが、実際の数を入れた式でこのことをみてみましょう。「モッドが3」の例です。

合同式の例

これらの例から、数そのものとしては大小てんでんバラバラの値が、「法」と余りを固定することで合同関係にあることが確認できます。また、両辺のどちらかの値が法の3より小さいときにはその値は余りそのものを示していること、それが0の場合にはもう一方の値が法でちょうど「割り切れる」こともみてとれます。さらに、2番目の式と3番目の式では、それぞれお互いをもう一方に対して両辺の値を1づつプラスマイナスにずらしたものであることも理解できます。この場合、(裏に隠れている)余りの値もいっしょにスライドし、変化しますが、同じ法に対する合同関係はそのまま維持されています。


モジュラー演算の技術への応用〜「暗号」

ところで、数の構造を考えるうえで理論的にも重要な意味を持つ、この合同式とモジュラー演算ですが、われわれの身の回りの実用技術でも、大きな役割を果たしている分野があります。それは「暗号」です。

「暗号」というと、特殊な使途のもので一般には関係なさそうに聞こえますが、それを「認証」と言い直せばとたんにグッと身近になります。「暗号」と「認証」は同じ技術を言葉だけ言い換えたもので、忍者の昔から「合言葉(暗号鍵)」を知っている者を「なりすまし」の偽者ではない本人と判定するのが原理です。われわれがインターネットを使うとき、特にネットショッピングやインターネットバンキングでお金をやり取りをするときには、認証の技術は欠かすことができませんが、そこで広く使われているRSA暗号の技術は、このモジュラー演算の考え方が中核的な素材のひとつになっています。暗号技術にとってモジュラー演算が有用なのは、上にみるように、通常の計算では関係の薄い数同士がペアを作れること、また、そのプロセスの中に、結果を導くことは容易だが元を辿りなおすのがきわめて難しい(スーパーコンピューターを使っても難しい)ものが存在するという性質(「一方通行性」といいます)があり、それが解読されにくい強い暗号鍵を作るうえでうってつけだからです。RSA暗号の技術解説ではこの剰余演算の話は必ず取り上げられていますので、詳しく知りたい方は挑戦してみてください。




posted by oto-suu 11/08/14 | TrackBack(0) | 数の構成 | このブログの読者になる | 更新情報をチェックする
<< 前のページ | TOP | 次のページ >>

この記事へのトラックバック