→topに戻る →代数topに戻る
モジュラ算術 Modular arithmetic
■除法の一意性
整数aと自然数bの組を決めると、
a=qb+r, 0≦r<b
を満たす整数q, rがただ一通り定まります。
このq, rをそれぞれaをbで割った商、余り(剰余)といいます。
rの範囲を0≦r<bに決めているからただ一通り定まるのです。
この範囲を外すと、
53÷3=17余り2のところが
53÷3=16余り5とか
53÷3=18余り -1とか
勝手になんでも出てきてしまいます。
■「余りが同じ」すなわち「差が割り切れる」
aをmで割った余りをr
bをmで割った余りもrとします。
このとき、a-bはmで割り切れます。
証明
a=km+r (kは整数)
b=lm+r (lは整数)
より、
a-b=(km+r)-(lm+r)
=(k-l)m ※k-lは整数
故にa-bはmで割り切れる。 (証明終わり)
a-bがmで割り切れる = a, bをmで割った余りが同じ |
■余りの感覚
xをmで割った余りをx'で表すことにすると、
1. (a+b)'は、 a'+b'をmで割った余りに等しい
(a+b)' = (a'+b')'
2. (ab)'は、a'b'をmで割った余りに等しい
(ab)' = (a'b')'
証明
a=km+r1 (kは整数、r1は自然数)
b=lm+r2 (lは整数、r2は自然数)
とすると、a'=r1, b'=r2。
1.
左辺:(a+b)' = (km+r1+lm+r2)'
= [(k+l)m+r1+r2]'
= (r1+r2)'
= (a'+b')' (証明終わり)
2.
左辺:(ab)' = [(km+r1)(lm+r2)]'
=
(klm2+kr2m+r1lm+r1r2)'
=
[(klm+kr2+r1l)m+r1r2]'
=
(r1r2)'
=
(a'b')' (証明終わり)
※以上は大学への数学 1対1対応の演習 数学Ⅰ(東京出版)を参考にしています。
合同式の概念と合同式
合同式(モジュラ算術)
2つの整数
a, bは、
a-bが
mの倍数となるとき、
mを法として合同であるといい、
a≡b (mod m)と表す。
a-bがmで割り切れる = a, bをmで割った余りが同じ |
↓
↓
この式を合同式と呼びます。(mod m)は「mを法として」あるいは「モードmで」と読みます。
要するに、a≡b (mod m)は、「xをmで割ったときの余りをx'で表すやりかた」でいうと、
a'=b'
ということです。
aの代表する類
aと合同な整数全体を「
aの代表する類」といい、a (mod m)のようなの記号で表します。
これは、mで割った余りが、aをmで割った余りと等しい整数の集合です。
また、a (mod m)={a+km|k∈
Z}です。
←Zは整数の集合を表す記号
→(a+kmをmで割った余りと、aをmで割った余りは同じです)
もちろん、a≡b (mod m)ならば、a (mod m) = b (mod m)で、aの代表する類とbの代表する類は等しくなります。
mを法とする類の代表系
mで整数を割った余りは、0, 1, 2,…,m-2, m-1のm個で、どれもmを法として合同でないので、結局、mを法としてのすべての類は
0 (mod m), 1 (mod m), 2 (mod m), …, (m-2) (mod m), (m-1) (mod m)
のm個の類で尽くされます。
一般に、a
1, a
2, a
3, …, a
m-2, a
m-1の代表する類がすべてを尽くすとき、この系を
mを法とする類の代表系といいます。
0, 1, 2,…,m-2, m-1は類の代表系の一つです。
これらm個の類の集合を、
Z/mという記号で表します。
合同式の定理
a≡b (mod m), c≡d (mod m)
は、a-b=km, c-d=lmとなる整数k, lが存在するということですから、これから、
(a±c)-(b±d)=(a-b)±(c-d)=(k±l)m
ac-bd=ac-ad+ad-bd=a(c-d)+d(a-b)=(al+dk)m
となります。したがって、定義から、
<定理> |
a≡b (mod m), c≡d (mod m)ならば、
a±c≡b±d (mod m)----------------------------(1)
ac≡bd (mod m)--------------------------------(2) |
この定理の意味は、2数a, cの加減乗演算を、それぞれに対して合同な数b, dで置き換えて計算しても、結果はmを法として一定の類に入るということです。
つまり、類の代表をどのように選んでも、加減乗の結果として決まる類は一意的に決まるというわけです。
したがって、mを法とするm個の類の集合
Z/mに、加減乗の2項演算を次のように定義することができます。
合同式の定義
<定義> |
a (mod m)±b (mod m)=(a±b) (mod m)
a (mod m)×b (mod m)=(a×b) (mod m)
aの代表する類とbの代表する類の間で加減乗を行った結果は、2数a, bの加減乗の結果の代表する類と等しい。 |
【例】m=7としたとき、3
100を7で割った余りrはいくつか?
3
100の計算はとてもできませんので、合同式の定義を利用して考えることになります。
すなわち、3
100を小さな数字を乗じたものと考えます。
100=10×10ですから、3
100=(3
10)
10としてみます。
3
10=59049ですから、これを7で割った余りは4です。
合同式を使うと、310 (mod 7)=4 (mod 7)-------------------------------------------(3)
3
100 (mod 7)=3
10 (mod 7)×3
10 (mod 7)×…×3
10 (mod 7)
(3)を代入して、
3
100 (mod 7)=4 (mod 7)×4 (mod 7)×…×4 (mod 7)
4
10=1048576ですから、これを7で割った余りは4です。
合同式を使うと、4
10 (mod 7)=4 (mod 7)-------------------------------------------(4)
(3)を代入して、
3
100 (mod 7)=4 (mod 7)
∴3
100≡4 (mod 7)
よって、余りr=4
※別解
3
2 (mod 7)=2 (mod 7)
3
3 (mod 7)=3
2 (mod 7)×3 (mod 7)=2 (mod 7)×3 (mod 7)=6 (mod 7)
34 (mod 7)=33 (mod 7)×3 (mod 7)=6 (mod 7)×3 (mod 7)=18 (mod 7)=4 (mod 7)
3
5 (mod 7)=3
4 (mod 7)×3 (mod 7)=4 (mod 7)×3 (mod 7)=12 (mod 7)=5 (mod 7)
36 (mod 7)=35 (mod 7)×3 (mod 7)=5 (mod 7)×3 (mod 7)=15 (mod 7)=1 (mod 7)
以上から、
3
100 (mod 7)={(3
6)
16×3
4 } (mod 7)=1 (mod 7)×4 (mod 7)=4 (mod 7)
∴3
100≡4 (mod 7)
よって、余りr=4
RSAの数学解説
RSA暗号のところで出てきたモジュラ算術は、上の【例】同様に計算できます。
なんで
11
23(mod 187)=[11(mod 187)×11
2(mod 187)×11
4(mod 187)×11
8(mod 187)×11
8(mod 187)](mod 187)
といえるのでしょうか。
xをkで割ったときの余りをx'で表すやりかたで書きかえると、
(11
23)'={(11)'(11
2)'(11
4)'(11
8)'(11
8)'}'
ということです。
つまり、すでに証明した前項の
(ab)'=(a'b')' の文字が増えて(abcd…)'=(a'b'c'd'…)'になっただけです。
(11
23)'={(11)'(11
2)'(11
4)'(11
8)'(11
8)'}'
=(11'×121'×14,641'×214,358,881'×214,358,881')'
=(11×121×55×33×33)'
=(79,720,245)'
=88
ためしに 11
23 = (11
6)
3×11
5と考えても結果は同じです。、
(11
23)' = {(11
6)'(11
6)'(11
6)'(11
5)'}'
=(1,771,561'×1,771,561'×1,771,561'×161,051')'
=(110
3×44)'
=(58,564,000)'
=88
となります。
1次の合同方程式
整数a, bに対して
ax≡b (mod m)-----------(1)
のような方程式を、1次の合同方程式といいます。
※「aを何倍すればmで割ってb余るか」という意味です。
(1)
を書き換えると、
ax-b=my
となる整数x, yを見つけることと同じです。これはまた、
ax-my=b------------------(2)
の整数解を求めることですから、ユークリッドの互除法を使えます。
ユークリッドの互除法では、a, mの最大公約数をdとしていましたが、ここでは、bがdの倍数とします。
よって、a=a'd, m=m'd, b=b'dですから、(2)をdで割って、
a'x-m'y=b'
■
中国の余剰定理