• 検索結果がありません。

15 mod 12 = 3, 3 mod 12 = 3, 9 mod 12 = N N 0 x, y x y N x y (mod N) x y N mod N mod N N, x, y N > 0 (1) x x (mod N) (2) x y (mod N) y x

N/A
N/A
Protected

Academic year: 2021

シェア "15 mod 12 = 3, 3 mod 12 = 3, 9 mod 12 = N N 0 x, y x y N x y (mod N) x y N mod N mod N N, x, y N > 0 (1) x x (mod N) (2) x y (mod N) y x"

Copied!
33
0
0

読み込み中.... (全文を見る)

全文

(1)

数学

A(

講義ノート

)

桔梗宏孝

暗号や符号では有限の代数構造が重要になっている。整数や多項式をもと に組織的に代数構造が構成される様子を味わってほしい。

1

整数

1.1

合同式

普通の時計において,

12

時から針を

3

時間進めても

15

時間進めても

3

時 を指している。また,

9

時間逆にまわしても

3

時である。一般に,

12

時から

x

時間

(x

は整数で,正でも負でもよい

)

進めると,

x

12

で割った余りの 時間を指している。ただし,余り

0

の場合は

12

である。現在よく使われて いる暗号や符号では,この「余りの世界」が使われている。 定理

1.1.1

(割り算の原理) 任意の整数

x

に対し,

x = 12q + r,

0

≤ r < 12

となる

q

r

がちょうど

1

組存在する。 さらに一般に,

N > 0

とすると

x = N q + r,

0

≤ r < N

となる

q

r

がちょうど

1

組存在する。

q

x/N

の商,

r

を余りと呼ぶ。

r

x mod N

とも書く。

(2)

たとえば,

15 mod 12 = 3, 3 mod 12 = 3,

−9 mod 12 = 3

である。 定義

1.1.2

(法

N

の合同)

N

̸= 0

を整数とする。整数

x, y

に対し,

x

− y

N

の整数倍のとき

x

≡ y (mod N)

と書き,

x

y

は法

N

で合同,ある いは

mod N

で合同という。

mod N

の合同という関係についての基本的な性質をまとめておく。 命題

1.1.3

N , x, y

は整数で,

N > 0

とする。

(1)

x

≡ x (mod N)

(2)

x

≡ y (mod N)

ならば

y

≡ x (mod N)

(3)

x

≡ y (mod N), y ≡ z (mod N)

ならば

x

≡ z (mod N)

証明.

(3)

だけ示す。

x

≡ y (mod N), y ≡ z (mod N)

と仮定する。する と,

x

−y

y

−z

は共に

N

の整数倍である。すると,

x

−z = (x−y)+(y−z)

より,

x

− z

N

の整数倍である。

命題

1.1.4

N , x, y, m

は整数で,

N > 0

とする。

(1)

x

≡ y (mod N) ⇐⇒ x mod N = y mod N

(2)

x

≡ y (mod N) ⇒ mx ≡ my (mod N)

(3)

m

̸= 0

のとき,

x

≡ y (mod N) ⇐⇒ mx ≡ my (mod mN)

(4)

x

≡ y (mod mN) ⇒ x ≡ y (mod N)

証明.

(1) x

≡ y (mod N)

と仮定する。

x = q

1

N + r

1

, y = q

2

N + r

2 とす る。

r

1

≥ r

2と仮定してよい。そうでなければ,

x

−y = (q

1

−q

2

)N +(r

1

−r

2

).

x

−y

N

の整数倍なので,

r

1

−r

2 も

N

の整数倍。しかし,

0

≤ r

1

−r

2

< N

なので,

r

1

− r

2

= 0

.よって,

x mod N = r

1

= r

2

= y mod N

(2) x

− y

N

の整数倍ならば,

mx

− my = m(x − y)

N

の整数倍。

(3)

(3) (

⇒) x ≡ y (mod N)

と仮定する。すると,

x

− y = qN (q:

整数

)

と 書ける。すると,

m(x

− y) = mqN

.よって,

mx

− my

mN

の整数倍。

(

⇐) mx ≡ my (mod mN)

と仮定する。すると,

mx

− my = qmN (q:

整数

)

と書ける。すると,

m(x

− y) = mqN

m

̸= 0

なので,

x

− y = qN

. よって,

x

− y

N

の整数倍。

(4) mN

の整数倍は

N

の整数倍になっている。

mod N

で合同という概念は整数の足し算とかけ算との相性がよい。 命題

1.1.5

x

≡ x

(mod N )

かつ

y

≡ y

(mod N )

ならば,

x + y

≡ x

+ y

(mod N ),

xy

≡ x

y

(mod N )

証明.

x

≡ x

(mod N )

かつ

y

≡ y

(mod N )

と仮定する。すると,

x

− x

y

− y

は共に

N

の整数倍である。

(x + y)

− (x

+ y

) = (x

− x

) + (y

− y

)

より,これも

N

の整数倍。よって,

x + y

≡ x

+ y

(mod N ).

また,

xy

− x

y

= xy

− x

y + x

y

− x

y

= (x

− x

)y + x

(y

− y

)

より,これも

N

の整数倍。よって,

xy

≡ x

y

(mod N ).

1.2

最大公約数とユークリッドの互除法

定義

1.2.1

(約数,公約数) 整数

m, d

に対し,

m

d

の整数倍のとき,

d

m

の約数と呼ぶ。

d

m

の約数かつ

d

n

の約数のとき,

d

m

n

の公約数と呼ぶ。

m

n

の公約数のうち最大のものを

gcd(m, n)

と書き,

m

n

の最大公約数と呼ぶ。

(4)

定理

1.2.2

(ユークリッドの互除法)

m, n > 0

が整数で,

m = qn + r

とすると

(1)

r = 0

のとき,

gcd(m, n) = n

(2)

r

̸= 0

のとき,

gcd(m, n) = gcd(n, r)

証明.

(1) n > 0

なので,

n

の約数の最大値は

n

.一方,

r = 0

より,

n

の 約数は

m

の約数でもある。したがって,

gcd(m, n) = n

(2) d

を任意の整数とする。

d

m

n

を同時に割り切ることと

d

n

r

を同時に割り切ることが同値なことがすぐにわかる。 したがって,

m

n

の公約数の集合と

n

r

の公約数の集合は一致する。 よって,その最大値も一致する。

正の整数

m

n

の最大公約数は次のようにして求まる。

(1) r := m mod n

を計算。

(0

≤ r < n

である

)

(2) r = 0

の場合は,

n

が最大公約数。

(3) r > 0

の場合は,

n

r

の最大公約数が求めるもの。 すなわち,

m := n; n := r

として,

(1)

へもどる。 例

1.2.3

2109

1653

の最大公約数を求める。 引けるだけ引いた残りが余りであることに注意。

2109

− 1653

=

456

1653

− 456 × 3 = 285

456

− 285

=

171

285

− 171

=

114

171

− 114

=

57

114

− 57 × 2

=

0

(5)

57

が求める最大公約数。

gcd(2109, 1653) = gcd(1653, 456) = gcd(456, 285)

=

gcd(285, 171) = gcd(171, 114) = gcd(114, 57) = 57

1.2.4

次の問に答えよ。

1.

2257 mod 1073

を計算せよ

(2257

÷ 1073

の余り

)

2.

2257

1073

の最大公約数を求めよ。 上の例

1.2.3

で,

2

番目の式の左辺の

456

1

番目の式の左辺で置き換え ると

1653

− (2109 − 1653) × 3 = 285

すなわち,

1653

× 4 − 2109 × 3 = 285

456

− 285 = 171

456

285

2109

1653

の整数倍の和で置き換えると,

171

2109

1653

の整数倍の和になることがわかる。 同様に,

114

2109

1653

の整数倍の和になり,

57

2109

1653

の 整数倍の和になる。 このことを一般に議論すれば,次の命題を得る。 命題

1.2.5

m, n

̸= 0

を整数とすると

mx + ny = gcd(m, n)

となる整数

x, y

が存在する。

(6)

この命題は次のような等式を考え,右辺に対してユークリッドの互除法を 適用することでも示せる。

x, y

1

組求まる。

(1)

2109

· 1

+1653

· 0

=

2109

当然の式

(2)

2109

· 0

+1653

· 1

=

1653

当然の式

(3)

2109

· 1

+1653

· (−1)

=

456

(1)

− (2)

(4)

2109

· (−3) +1653 · 4

=

285

(2)

− (3) × 3

(5)

2109

· 4

+1653

· (−5)

=

171

(3)

− (4)

(6)

2109

· (−7) +1653 · 9

=

114

(4)

− (5)

(7)

2109

· 11

+1653

· (−14) =

57

(5)

− (6)

gcd(m, n) = 1

となるときが重要である。 定義

1.2.6

m, n

̸= 0

とする。

gcd(m, n) = 1

のとき,

m

n

は互いに素で あるという。 命題

1.2.7

m, n > 0

を整数とすると次の条件は同値である。

(1)

m

n

は互いに素。

(2)

mx + ny = 1

となる整数

x, y

が存在する。

(3)

mx

≡ 1 (mod n)

となる整数

x

が存在する。

(4)

nx

≡ 1 (mod m)

となる整数

x

が存在する。 証明.

(1)

⇒ (2)

は命題

1.2.5

による。

(2)

⇒ (1)

d = gcd(m, n)

とする。

(2)

を仮定すると

d

m, n

を割り切 るから

mx + ny

,すなわち

1

を割り切る。

d > 0

より,

d = 1

(2)

⇒ (3)

mx + ny = 1

とする。

ny

≡ 0 (mod n)

より,

mx

≡ 1

(mod n)

(3)

⇒ (2)

mx

≡ 1 (mod n)

とする。すると,

mx

− 1 = qn

となる整数

q

がある。すなわち,

mx + n(

−q) = 1

(2)

(4)

の同値性も同様である。

(7)

定義

1.2.8

N > 0

を整数とする。整数

m

に対し,

mx

≡ 1 (mod N)

と なる整数

x

mod N

m

の逆元

(

あるいは逆数

)

と呼ぶ。正確には, 乗法の逆元と呼ぶ。このとき,とくに

x mod N (x

N

で割った余り,

0

≤ (x mod N) < N)

m

−1

mod N

と書く。 上の命題から

m

mod N

の逆元をもつことの必要十分条件は

m

N

が互いに素であることである。

mod N

の逆元も

(

あれば

)

ユークリッドの互 除法で求められる。 例

1.2.9

mod 97

23

の逆元を求める。

23x

≡ 1 (mod 97)

を解くのだが,常に正しい式

97x

≡ 0 (mod 97)

も利 用する。

2

つの式からユークリッドの互除法で

x

の係数を小さくしていく。最初の

2

つの係数が互いに素なら最後は

x

≡ a (mod N)

の形の式になる。

(1)

97x

0

(mod 97)

あたりまえの式

(2)

23x

1

(mod 97)

解く式

(3)

5x

−4 (mod 97) (1) − (2) × 4

(4)

3x

17

(mod 97)

(2)

− (3) × 4

(5)

2x

≡ −21 (mod 97) (3) − (4)

(6)

x

38

(mod 97)

(4)

− (5)

23

× 38 = 874 = 97 × 9 + 1 ≡ 1 (mod 97)

さらに,

(23

× 38 − 1)/97 = 9

より,

23

× 38 + 97 × (−9) = 1

がわかる。 上の例のように,

N x

≡ 0 (mod N)

mx

≡ 1 (mod N)

に対して,

x

の係数にユークリッドの互除法を施して,

x

≡ a (mod N)

の形が出たら,

a

は必ず

mod N

での

m

の逆元になる。これは,すでに存在がわかっている からである。

(8)

この方法で,

m

n

が互いに素のとき,

mx + ny = 1

となる整数

x, y

も 計算できる。 問

1.2.10

mod 97

22

の逆元を求めよ。

97x + 22y = 1

となる整数

x, y

を一組求めよ。

1

から

96

までの数を適当に選んで,

mod 97

での逆元を求 めよ。 問

1.2.11

容積

3

リットルのバケツと

5

リットルのバケツがある。これを 利用して

1

リットルの水を作る方法を述べよ。 容積

1600cc

の容器と

1300cc

の容器がある。これを利用して

100cc

の水 を作る方法を述べよ。

1.3

中国剰余定理

次のようなパズルがある。

1

から

100

までの数を思い浮かべてください。その数を

3, 5, 7

で 割って,余りを教えてください。その数を当ててみせます。 思い浮かべた数を

x

とすると,

x

≡ a (mod 3), x ≡ b (mod 5), x ≡ c (mod 7)

という連立方程式を解くことになる。結論からいうと,

x = (70a + 21b + 15c) mod 105

となる。

これは次の定理からわかる。

(9)

となる整数

u, v

がある。このとき,

{

x

≡ a (mod m)

x

≡ b (mod n)

の必要十分条件は

x

≡ nva + mub (mod mn).

とくに,上の連立方程式の解は

1

から

mn (0

から

mn

− 1)

の間にちょうど

1

つ存在する。

証明.

x

≡ a (mod m)

かつ

x

≡ b (mod n)

と仮定する。すると,

nx

na (mod mn)

かつ

mx

≡ mb (mod mn)

である。さらに,

nvx

≡ nva

(mod mn)

かつ

mux

≡ mub (mod mn)

となり,両辺をそれぞれ加える と,

(nv + mu)x

≡ nva + mub (mod mn)

.ここで,

nv + mu = 1

なので,

x

≡ nva + mub (mod mn)

逆に,

x

≡ nva + mub (mod mn)

と仮定する。

m

mn

の約数なので,

x

≡ nva + mub (mod m)

である。

mu

≡ 0

(mod m)

mu+nv = 1

より,

nv

≡ 1 (mod m)

である。これと,

mub

≡ 0

(mod m)

より,

nva + mub

≡ a (mod m)

である。

同様に,

nva + mub

≡ b (mod n)

である。

1.3.2

次の連立合同式を考える。

x

≡ a (mod 3), x ≡ b (mod 5)

3

× 2 − 5 = 1

なので,これは

x

≡ 6b − 5a (mod 15)

と同値。一方,

x

≡ c (mod 7), x ≡ d (mod 15)

(10)

を考えると,

7

× (−2) + 15 = 1

より,これは

x

≡ 15c − 14d (mod 105)

と同値。

d = 6b

− 5a

を代入すると

x

≡ 15c − 14(6b − 5a) (mod 105)

すなわち,

x

≡ 70a − 84b + 15c (mod 105)

−84 ≡ 21 (mod 105)

なので,

x

≡ 70a + 21b + 15c (mod 105)

これが,

x

≡ a (mod 3), x ≡ b (mod 5), x ≡ c (mod 7)

(11)

1.4

オイラーの定理とフェルマーの小定理

定義

1.4.1

N > 0

を整数とする。

Z

N

=

{a ∈ Z : 0 ≤ a < N, a

N

は互 いに素

}

と定義する。

Z

N の要素の個数を

φ(N )

と書く。

φ(N )

をオイラー 関数と呼ぶ。 例

1.4.2

Z

12

=

{1, 5, 7, 11}, φ(12) = 4.

Z

10

=

{1, 3, 7, 9}, φ(10) = 4.

Z

7

=

{1, 2, 3, 4, 5, 6}, φ(7) = 6.

補題

1.4.3

N > 0

を整数とする。

(1)

a

N

が互いに素ならば

a mod N

∈ Z

N

.

(2)

a

∈ Z

N ならば

a

−1

mod N

∈ Z

N

.

(3)

a, b

∈ Z

N ならば

ab mod N

∈ Z

N

.

証明.

(1) a

N

が互いに素とすると,命題

1.2.7

より,

ab

≡ 1 (mod N)

となる整数

b

がある。

a

= a mod N

とすると

0

≤ a

< N

かつ

a

≡ a

(mod N )

.すると,

a

b

≡ ab ≡ 1 (mod N)

.命題

1.2.7

より,

a

N

は互 いに素。よって,

a mod N = a

∈ Z

N

(2) a

∈ Z

N とすると,

a

N

が互いに素なので

b = a

−1

mod N

が存在す る。定義より,

ab

≡ 1 (mod N)

かつ

0

≤ b < N

である。よって,

b

∈ Z

N である。

(3) a, b

∈ Z

N とする。すると,

aa

≡ 1 (mod N)

bb

≡ 1 (mod N)

と なる整数

a

, b

が存在する。

c = ab mod N

とすると,

0

≤ c < N

で,

c

≡ ab

(mod N )

.よって,

c(a

b

)

≡ ab(a

b

) = (aa

)(bb

)

≡ 1 (mod N)

.すなわ

ち,

c

∈ Z

N

(12)

の整数

a

に対し

a

φ(N )

≡ 1 (mod N)

証明.

a

∈ Z

N の場合に先ず議論する。

Z

N

=

{a

1

, . . . , a

m

}

m = φ(N )

と書ける。補題

1.4.3

より,

i = 1, . . .,

m

について,

a

i

= aa

i

mod N

とすると

a

i

∈ Z

N である。 主張.

{a

1

, a

2

, . . . , a

′m

} = {a

1

, a

2

, . . . , a

m

}

i

̸= j

ならば

a

i

̸= a

j を示せばよい。この対偶を示そう。

a

i

= a

j と 仮 定 す る 。す な わ ち ,

aa

i

mod N = aa

j

mod N

.す る と ,

aa

i

≡ aa

j

(mod N )

.両辺に

b = a

−1

mod N

をかけると,

baa

i

≡ baa

j

(mod N )

ba

≡ 1 (mod N)

なので,

1

· a

i

≡ 1 · a

j

(mod N )

.すなわち,

a

i

≡ a

j

(mod N )

0

≤ a

i

, a

j

< N

なので,

a

i

= a

j.これで,主張が示せた。

主張より,左右それぞれの要素をすべて掛け合わせても等しいので,

a

1

a

2

· · · a

m

= a

1

a

2

· · · a

m

a

i

≡ aa

i

(mod N )

より,

a

m

a

1

a

2

· · · a

m

= (aa

1

)(aa

2

)

· · · (aa

m

)

≡ a

1

a

2

· · · a

m

(mod N )

すなわち,

a

m

a

1

a

2

· · · a

m

≡ a

1

a

2

· · · a

m

(mod N )

b

i

= a

−1i

mod N

とする。この両辺に

b

m

· · · b

2

b

1 をかけると,

a

m

(a

1

a

2

· · · a

m

)(b

m

· · · b

2

b

1

)

≡ (a

1

a

2

· · · a

m

)(b

m

· · · b

2

b

1

)

(mod N )

a

i

b

i

≡ 1 (mod N)

なので,

(a

1

a

2

· · · a

m

)(b

m

· · · b

2

b

1

)

≡ 1 (mod N)

.よ って,

a

m

≡ 1 (mod N)

(13)

a

N

と 互 い に 素 な 任 意 の 整 数 と す る 。

a

= a mod N

と す る と ,

a

′φ(N)

≡ 1 (mod N)

であるが,

a

≡ a

(mod N )

より,

a

φ(N )

≡ a

′φ(N)

≡ 1

(mod N )

Z

10

=

{1, 3, 7, 9}

で上の議論を考えてみる。

3

· 1 ≡ 3 (mod 10)

(1)

3

· 3 ≡ 9 (mod 10)

(2)

3

· 7 ≡ 1 (mod 10)

(3)

3

· 9 ≡ 7 (mod 10)

(4)

よって,

(3

· 1)(3 · 3)(3 · 7)(3 · 9) ≡ 3 · 9 · 1 · 7 (mod 10)

したがって,

3

4

(1

· 3 · 7 · 9) ≡ 1 · 3 · 7 · 9 (mod 10)

両辺に

9

· 3 · 7

をかけると,

3

4

(3

· 7 · 9)(9 · 3 · 7) ≡ (3 · 7 · 9)(9 · 3 · 7) (mod 10)

(3

· 7 · 9)(9 · 3 · 7) ≡ 1 (mod 10)

より,

3

4

≡ 1 (mod 10)

p

が素数ならば,

Z

p

=

{1, 2, . . . , p − 1}

である。したがって次の定理を 得る。 定理

1.4.5

(フェルマーの小定理)

p

(

正の

)

素数とする。整数

a

p

で 割り切れないならば

a

p−1

≡ 1 (mod p)

さらに,任意の整数

a

に対し

a

p

≡ a (mod p)

(14)

素数

p

に対してはもっと強いことが成り立つ。 定理

1.4.6

p

が素数のとき,

Z

p

1

つの要素のべき

(mod p)

で生成され る。すなわち,ある

a

∈ Z

p に対し,

Z

∗p

=

{a

i

mod p : i = 1, 2, . . . , p

− 1}

a

を生成元あるいは原始元と呼ぶ。 証明は少し長くなるので省略する。 例

1.4.7

Z

7

3

で生成される。

5

も生成元である。 命題

1.4.8

Z

p の生成元はちょうど

φ(p

− 1)

個ある。 証明.

a

Z

p の生成元とする。

l > 0

l

p

− 1

が互いに素のとき,

a

l も生成元になることを示せばよい。

l

p

− 1

が互いに素なので,

lj

≡ 1 (mod p − 1)

となる整数

j > 0

があ る。

lj = 1 + m(p

− 1) (m ≥ 0)

と書ける。 すると,

(a

l

)

j

= a

lj

= a

1+m(p−1)

= a(a

p−1

)

m

≡ a · 1

m

= a (mod p).

よって,

a

l の累乗で,

Z

p の要素がすべて表せる。

この命題を少し一般化して,ちょっとした個数の計算をすると

Z

p の生成 元の存在が示せる。

1.5

RSA

暗号

コンピュータ上のデータ

(

テキスト,ファイル

)

0

1

の有限列

(2

進 列,ビット列

)

で表現されている

(

と考えられる

)

。この節では,内容がわか らないようにしてファイルを送信するための暗号の技術の一つを解説する。 ファイルは

2

進列であるが,

2

進列は

2

進数と解釈すると整数を表してい ると考えられる。

(15)

1.5.1

2

進数)

11010110

2

進数として考えると

1

· 2

7

+ 1

· 2

6

+ 0

· 2

5

+ 1

· 2

4

+ 0

· 2

3

+ 1

· 2

2

+ 1

· 2

1

+ 0

· 2

0 になる。

2

進数の足し算では

10

進数のときと同様に一般に繰り上がりが生 じる。掛け算も

10

進数のときと同様にできる。

RSA

暗号は公開鍵暗号と呼ばれる暗号である。一般に暗号化と暗号の復 号という操作が必要であるが,暗号化と復号に同じ鍵を使う場合を共通鍵暗 号と呼び,暗号化の鍵と復号の鍵が異なり,暗号化のための鍵を公開しても 問題ないものを公開鍵暗号と呼ぶ。 共通鍵暗号は,情報を共有したいグループごとに固有の鍵が必要である。 したがって,鍵がたくさん必要になる。公開鍵暗号の場合は,同じ人に暗号 を送るときは,

1

つの公開鍵ですむ。 定義

1.5.2

RSA

暗号)

p, q

2

つの異なる大きな素数とする。

L

p

− 1

q

− 1

(

最小

)

公倍数とする。

e

L

と互いに素な数とする。たとえば,

e = 41, 257, 65537

で試し,それでもだめなら

2

ずつ増やしていって見つけ る。

N = pq

とする。 公開鍵

: e

N

暗号化法

:

平文

x < N

に対し,

y = x

e

mod N

を暗号とする。 復号法

: d = e

−1

mod L

とすると,

x = y

d

mod N

で復号できる。 定理

1.5.3

RSA

の暗号は上記の復号法で復号できる。 証明.

y = x

e

mod N

とする。

ed

≡ 1 (mod L)

より,

ed = 1 + mL

と書 ける。

y

d

≡ x

ed

(mod N ).

N = pq

より,

y

d

≡ x

ed

(mod p),

y

d

≡ x

ed

(mod q)

(16)

L

p

− 1

の倍数なので,

x

ed

= x

1+mL

= x(x

p−1

)

m′ と書ける。

x

p

の倍数でなければ,

x

ed

= x(x

p−1

)

m′

≡ x · 1

m′

≡ x (mod p)

x

p

の倍数ならば両辺とも

0

と合同なので,いつでも

x

ed

≡ x (mod p)

よって,

y

d

≡ x (mod p)

同様に

y

d

≡ x (mod q)

中国剰余定理より

(

あるいは

y

d

− x

p

q

で割り切れるから

)

y

d

≡ x (mod pq)

0 < x < N = pq

なので,

y

d

mod N = x.

原理的には公開鍵

e, N

から秘密鍵

d

を求めることは可能である。

N = pq

と因数分解すればあとは簡単であるが,実は

p

q

の桁が大きいと

(

例えば

1000

ビット程度

)

,実際に

N

の因数を早く見つける方法は今のところ知られ ていない。もちろん,しらみつぶしに

p

を生成して

N

を割ってみればよい のであるが,

2

1000 個近く調べる必要があり,現在のコンピュータをもって してもこの方法では相当時間がかかる。他に

d

を求める方法は知られていな い。ただし,早く計算する方法がないことが証明できているわけでもない。 ロシアの当局がうまい方法を見つけて公表していないだけかも知れない。 ところで,

d

の桁も

1000

桁程度あるかも知れないが,その場合は

y

d

mod

N

を計算するのに

2

1000 回程度の掛け算をする必要があるのだろうか。そう

(17)

だとしたら暗号の復号は事実上できなくなる。しかし,うまくやるとべきの 桁数程度の演算回数で累乗計算ができる。 命題

1.5.4

d

2

進数表現を

α

とする。すると

x

d

mod N

の計算は

α

の 長さ程度の回数の

mod N

の掛け算でできる。 証明.

2

進数

α

に対し,

0

を最後につけた

α0

α

× 2

を表し,

1

を最後に つけた

α1

α

× 2 + 1

を表す。したがって,

x

α

mod N = a

とすると,

x

α0

mod N = a

2

mod N,

x

α1

mod N = a

2

x mod N

これを利用すると,

d

2

進数表現の桁数程度の演算で

x

d

mod N

が計算で きる。 例えば,

3

37

mod 100

を計算してみよう。

37 = 100101

2 である。べきを

2

進数で書く。

3

1

= 3,

3

10

= 3

2

= 9,

3

100

= (3

10

)

2

= 81,

3

1001

= (3

100

)

2

· 3 = 81

2

· 3 ≡ 83 (mod 100)

3

10010

= (3

1001

)

2

≡ 83

2

≡ 89 (mod 100)

3

100101

= (3

10010

)

2

· 3 ≡ 89

2

· 3 ≡ 63 (mod 100)

1.6

ElGamal

暗号

RSA

暗号は大きな素数の積の素因数分解が難しいことを利用した暗号 であるが,ここで紹介する

ElGamal

暗号は次の離散対数問題の難しさを 利用した暗号である。

RSA

は整数の性質にかなり依存した暗号であるが,

ElGamal

暗号は演算が

1

つ定義されている状況

(

いわゆる群

)

でも同様の暗

(18)

号が考えられるという意味でより汎用的である。

IC

カードの情報は楕円曲 線と呼ばれる代数曲線上の点同士で定義されるある演算を使った

ElGamal

暗号で暗号化されている。 離散対数問題について述べよう。

Z

n や有限体の乗法群において,

b

をそ の要素とするとき,

b

xの計算は

x

が整数のとき高速にできるが,与えられた 要素

b

に対し,

b

x

= b

となる整数

x

を求めるのはかなり困難である。この ような

x

b

b

から求める問題を離散対数問題と呼ぶ。離散対数問題は 任意の群において考えることができる。また,次の仮定を

Diffie-Hellman

の仮定と呼ぶ。

p

を大きな素数とする。

Z

p の要素

g

に対し,

g

a

mod p

g

b

mod p

の値から

g

ab

mod p

の値を計算するのは困難である。

ElGamal

暗号 大きな素数

q

を固定する。

Z

q は位数

(

大きさ

)q

− 1

の巡回群である。

q :=

適度に大きな素数

(

擬素数

); (q

は公開する

)

1 < g < q

− 1

なる

g

1

つ選ぶ.

(g

も公開する

)

g

Z

p の生成元が望ましい。

1 < a < q

− 1

をランダムに選ぶ.

(a

は秘密鍵

)

h = g

a

mod q; (h

は公開する

)

x

の暗号化

(0 < x < q):

(g

k

mod q, xh

k

mod q)

復号

:

暗号

(y, z)

に対し,

x = zy

−a

mod q

この復号の方法でもとに戻ることを示しておく。

y = g

k

mod q

より,

y

a

≡ g

ka

(mod q)

y

= (y

a

)

−1

mod q

とすると,

y

g

ka

≡ 1 (mod q)

.すると

z = xh

k

≡ xg

ak

(mod q)

.したがって

, zy

(19)

2

多項式

(

整式

)

コンピュータ上ではデータは

2

進列で表されており,

RSA

暗号などでは

2

進列を

2

進数と考えて,整数の演算を利用してデータの加工を行なってい る。

2

進列は

2

進数と考える必要があるわけではない。誤り訂正符号などで はある種の多項式と考えた場合の演算を利用している。この節ではこの考え 方を説明する。

10

進数

(

整数

) 1425

10

3

+ 4

· 10

2

+ 2

· 10 + 5

を表わしていて,これから

10

進数同士の足し算と掛け算の筆算方法が導か れる。

1

4

2

5

+

3

1

7

1

6

1

8

0

1

1

4

2

5

×

3

7

6

8

5

5

0

9

9

7

5

4

2

7

5

5

3

5

8

0

0

次に

1

変数整数係数多項式を考えよう。たとえば,

x

3

+ 4x

2

+ 2x + 5

3x

2

+ 7x + 6

などがこの例である。これらの和や積は,整数の筆算と似た方 法で計算できる。

x

を省略して,係数だけ並べるだけで計算ができる。多項 式の演算は繰り上がりがないのが特徴である。

1

4

2

5

+

3

7

6

1

7

9

11

1

4

2

5

×

3

7

6

6

24

12

30

7

28

14

35

3

12

6

15

3

19

40

53

47

30

(20)

結果の列

1 7 9 11

x

3

+ 7x

2

+ 9x + 11

3 19 40 53 47 30

3x

5

+ 19x

4

+

40x

3

+ 53x

2

+ 47x + 30

のことである。

x

を変数とする

1

変数整数係数多項 式の全体を

Z[x]

と書く。 さらに,多項式の係数を

mod 10

で計算することにすると次のように なる。

1

4

2

5

+

3

7

6

1

7

9

1

1

4

2

5

×

3

7

6

6

4

2

0

7

8

4

5

3

2

6

5

3

9

0

3

7

0

これは

10

進数の筆算に非常に近く,実は繰り上がりをすべて無視した演算 になる。

Z

10

=

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

とおく。係数を

Z

10 の要素に限定 した変数

x

の多項式全体を

Z

10

[x]

と書く。上の演算を

Z

10

[x]

の足し算と掛 け算と呼ぶ。 同じことを

2

進列に対して考える。

2

進列が与えられたとき,それら

(0

1)

を係数とする

1

変数整数係数多項式と考えて足し算や掛け算を行い,最 後に係数を

2

で割った余りで置き換える。

Z

2

=

F

2

=

{0, 1}

とし,

F

2 に係 数をもつ変数

x

の多項式全体を

F

2

[x]

と書き,この足し算と掛け算を

F

2

[x]

の足し算と掛け算と呼ぶ。 たとえば

1011

x

3

+ x + 1

のことと考える。

x

を表わす

2

進列は

10

で ある。

x

2

= 10

2

= 100

x

3

= 10

3

= 1000

. . .

となっている。

F

2

[x]

の要素 として,

1011 + 111

1011

× 111

は次のようになる。

1

0

1

1

+

1

1

1

1

1

0

0

1

0

1

1

×

1

1

1

1

0

1

1

1

0

1

1

1

0

1

1

1

1

0

0

0

1

足し算はビットごとの排他的論理和になっている。

(21)

2.1

F

2

[x]

の割り算の原理

定義

2.1.1

F

2

[x]

の要素

(

多項式

)

に対して,係数が

0

でない項の最大次数 をその多項式の次数と呼ぶ。たとえば,

1011 = x

3

+ x + 1

の次数は

3

次で ある。一般に,

1

から始まる

n

ビットの列は

F

2

[x]

n

− 1

次多項式を表す。

f

∈ F

2

[x]

に対し,

f

の次数を

deg f

と書く。この定義だと

0

の次数は決ま らない。

0

の次数を

−∞

とする流儀もあるが,定数項しかないという考え で,

0

の次数も

0

にしておく。 また,

f

∈ F

2

[x]

に対し,

x

a

を代入して

F

2

=

Z

2 で計算

(

すなわち,

mod 2

で計算

)

した結果を

f (a)

と書く。

f = 1011 = x

3

+ x + 1

のとき,

f (0) = (0

3

+ 0 + 1) mod 2 = 1

f (1) = (1

3

+ 1 + 1) mod 2 = 3 mod 2 = 1

である。 定理

2.1.2

(割り算の原理)

f

∈ F

2

[x]

f

̸= 0

とする。任意の

g

∈ F

2

[x]

に対し,

g = qf + r,

0

≤ deg r < deg f

となる

q, r

∈ F

2

[x]

がちょうど

1

組存在する。

q

g/f

の商,

r

を余りと呼ぶ。

r

g mod f

とも書く。

F

2

=

Z

2 で,

−1 ≡ 1 (mod 2)

に注意すると,割り算も整数の割り算の筆 算と同様にできる。繰り上がりがないので,引き算で「借りる」必要がない。

1

1

1

1

1 ) 1

0

1

1

1

1

1

1

0

1

1

1

1

1

0

1

1

1

×

1

1

1

1

1

1

1

1

1

0

0

1

+

1

0

1

0

1

1

(22)

この例は,

1011 = x

3

+ x + 1

111 = x

2

+ x + 1

で割る計算で,右側は検 算である。

F

2

[x]

0

でない多項式は最高次の係数が

1

である。するとこの ような筆算が必ずできることがわかる。したがって,割り算の原理が成り立 つ。この割り算の原理を使うと

F

2

[x]

が整数と同じような性質をたくさんも つことがわかる。 多項式が整数と異なる点は,根の概念である。多項式

f = f (x)

∈ F

2

[x]

に対し,

x

F

2 の要素

a

を代入して

F

2 で計算した値を

f (a)

と書く。

F

2

=

{0, 1}

なので,

f (0)

f (1)

しか考えない。

f (a) = 0

となるとき,

a

f

の根と呼ぶ。 定義

2.1.3

f , g

∈ F

2

[x]

とする。

f = gh

となる

h

∈ F

2

[x]

があるとき,

g

f

の因子

(

因数

)

と呼ぶ。

g

f

の因子であることと

f mod g = 0

が同値 である。 定理

2.1.4

(因数定理)

a

∈ F

2 とする。

x

− a (

係数の

2

進表記は

1a)

f

∈ F

2

[x]

の因子であることと,

f (a) = 0 (a

f

の根

)

が同値である。 証明. 割り算の原理から,

f (x) = (x

− a)q + r

で,

r

の次数が

0

次の形で 書ける。

0

次多項式は

F

2 の要素である。すると,

f (a) = r

.よって,余り

r

0

ということと,

f (a) = 0

が同値になる。

定義

2.1.5

(法

F

の合同)

F

̸= 0

F

2

[x]

の要素とする。多項式

f , g

F

2

[x]

に対し,

f

− g

F

で割り切れるとき

(

余りが

0)

f

≡ g (mod F )

と 書き,

f

g

は法

F

で合同,あるいは

mod F

で合同という。

mod F

の合同という関係についての基本的な性質をまとめておく。 命題

2.1.6

F , f , g, h

∈ F

2

[x]

で,

F

̸= 0

とする。

(1)

f

≡ f (mod F )

(2)

f

≡ g (mod F )

ならば

g

≡ f (mod F )

(23)

(3)

f

≡ g (mod F ), g ≡ h (mod F )

ならば

f

≡ h (mod F )

命題

2.1.7

F , f , g, h

F

2

[x]

の要素とする。

(1)

f

≡ g (mod F ) ⇐⇒ f mod F = g mod F

(2)

f

≡ g (mod F ) ⇒ hf ≡ hg (mod F )

(3)

h

̸= 0

とする。

f

≡ g (mod F ) ⇐⇒ hf ≡ hg (mod hF )

(4)

f

≡ g (mod hF ) ⇒ f ≡ g (mod F )

命題

2.1.8

f

≡ f

(mod F )

かつ

g

≡ g

(mod F )

ならば,

f + g

≡ f

+ g

(mod F ),

f g

≡ f

g

(mod F )

2.2

最大公約数とユークリッドの互除法

定義

2.2.1

(約数,公約数)

F

2 係数

1

変数多項式

f , g, h

に対し,

f = gh

と書けるとき,

g(h

)

f

の因子

(

因数

)

と呼ぶ。

h

f

の因子かつ

h

g

の因子のとき,

h

f

g

の公因子と呼ぶ。

f

g

の公因子のうち次数が最 大のものを

gcd(f, g)

と書き,

f

g

の最大公因子と呼ぶ。 定理

2.2.2

(ユークリッドの互除法)

f, g

F

2 係数

1

変数多項式で,

g

̸= 0

のとき,

f = qg + r

とすると

(1)

r = 0

のとき,

gcd(f, g) = g

(2)

r

̸= 0

のとき,

gcd(f, g) = gcd(g, r)

F

2 係数多項式

f

g

̸= 0

の最大公因子は次のようにして求まる。

(1) r := f mod g

を計算。

(deg g > 0

ならば

0

≤ deg r < deg g

である

)

(2) r = 0

の場合は,

g

が最大公因子。

(24)

(3) r

̸= 0

の場合は,

g

r

の最大公因子が求めるもの。 すなわち,

f := g; g := r

として,

(1)

へもどる。

(1)

の計算のあと

deg r = 0

となると,

r = 1

あるいは

0

なので,遅くと も次の回で終了する。 例

2.2.3

1111 (= x

3

+ x

2

+ x + 1)

1010 (= x

3

+ x)

の最大公因子を求 める。

1111

− 1010

=

101

1010

− 101 × 10 =

0

101 (= x

2

+ 1)

が最大公因子。 命題

2.2.4

f, g

̸= 0, f, g ∈ F

2

[x]

とすると

f u + gv = gcd(f, g)

となる

u, v

∈ F

2

[x]

が存在する。

gcd(m, n) = 1

となるときが重要である。 定義

2.2.5

f, g

̸= 0, f, g ∈ F

2

[x]

とする。

gcd(f, g) = 1

のとき,

f

g

は 互いに素であるという。 命題

2.2.6

f, g

̸= 0, f, g ∈ F

2

[x]

とすると次の条件は同値である。

(1)

f

g

は互いに素。

(2)

f u + gv = 1

となる

u, v

∈ F

2

[x]

が存在する。

(3)

f u

≡ 1 (mod g)

となる

u

∈ F

2

[x]

が存在する。

(4)

gv

≡ 1 (mod f)

となる

v

∈ F

2

[x]

が存在する。 整数における素数に対応する概念が既約多項式である。

(25)

g

∈ F

2

[x]

に対し,

g

̸= 0

ならば

g

f

が互いに素になるとき,

f

を既約と 呼ぶ。

f

が既約であることと,

f

F

2

[x]

において

1

次以上

deg f

未満の因 子をもたないことが同値である。 整数において,

p

が素数のとき,

Z

p

=

{1, . . . , p − 1}

とすると,これは

mod p

の掛け算で閉じていて,

Z

p のどの要素も乗法の逆元を

Z

p にもって いた。さらに,

Z

p

1

つの要素の

(mod p

での

)

累乗で生成されていた。 これと同じような状況が既約多項式で割った余りの集合で起きる。

2.3

F

2

[x]

の既約多項式

F

2

[x]

における既約多項式をいくつか調べてみよう。例によって,係数を 並べたビット列で表記する。左が高次の係数である。一般に,

F

2

[x]

の要素 が

1

次の因子をもたないためには定数項

(

一番右

)

1

で,

1

の個数が奇数 である必要がある。たとえば,

f = 101

とすると,

f (1) = 1

2

+ 1 = 0

なの で

101

は既約でない。また,

m

次式と

n

次式を掛けるとちょうど

(m + n)

次式になる。よって,因子をもてば,半分以下の次数の

(

既約

)

因子をもつ。 たとえば,

7

次式が

4

次の因子をもつとすると,

4

×3

次の形の因数分解 ができる。すなわち,

3

次の因子をもつ。さらに分解できれば,もっと低い 次数の既約因子をもつ。

1

次式

10, 11 (1

次式はすべて既約

)

2

次式

111

1

次の因子をもたない条件,最高次

(

一番左

)

1

で,定数項が

1

で,

1

の個数が奇数個を満たすのはこれしかない。

2

次式は因子をもてば

1

次の因子をもつので,

111

は既約。

3

次式

1011, 1101

1

次の因子をもたないのはこの

2

つ。

3

次式が因数分解できたら

1

次 の因子をもつはずなので,これらは既約である。

(26)

4

次式

10011, 11001, 11111

1

次の因子をもたないのはこれらと

10101

4

次式が因数分解できる とすると,

1

次式または

2

次式の既約因子をもつ。したがって,

111

で割り切れないことだけ調べればよい。上の

3

つは

111

で割ると余 りが

0

でない。一方,

10101 = 111

2 である。 問

2.3.1

F

2

[x]

8

次多項式

110000111

F

2

[x]

で既約であることを示せ。

(

ヒント.

8

次式が既約でなければ,

4

次以下の既約因子をもつ。

)

実は次が成り立つ。 定理

2.3.2

自然数

n

≥ 1

に対し,

F

2

[x]

には

n

次の既約多項式がある。 実数係数の

1

変数既約多項式は高々

2

次で,複素数係数の

1

変数既約多項 式は

1

次のものしかない。有理数係数の場合も,

n

≥ 1

ならば

n

次の既約多 項式がある。

2.4

2

n

元体

F

2

[x]

2

次以下の要素は,

{0, 1, 10, 11}

である。この集合は

F

2

[x](

多項 式

)

の和で閉じている。

f , g

をこの

2

次以下の多項式とするとき,

f

g

の 積を

f g mod 111 (

多項式として掛けて,

111

で割った余りを演算結果とす る

)

で定義する。このように和と積を考えたとき,

F

4

=

{0, 1, 10, 11}

と定義する。

F

4 はこの和と積について,

F

2

[x]

や整数とほぼ同様の性質を 満たし,さらに,

0

でない要素は積について逆元をもつ。実際,

10

× 11 =

110

≡ 1 (mod 111)

.すなわち,

a

̸= 0

ならば

ax = 1

となる

x

がとれる。 このような性質をもつものを体と呼ぶ。

0

でないものについて

(

余りのない

)

割り算ができるので,有理数や実数などと同じである。

F

4 は

4

つの要素か

(27)

らなる体なので,

4

元体と呼ばれる。一般に,

q

個の要素からなる体を

q

元 体と呼ぶ。 定理

2.4.1

2

n 元体の存在)

F

F

2

[x]

n

次の既約多項式とする。

q =

2

n に対し,

F

q

=

F

2

[x]

n

− 1

次以下の多項式全体 とし,和を

F

2

[x]

における和,

f , g

∈ F

q に対し,積

f g

f

g

の多項式 としての積を

F

で割った余りと定義する。すると,

F

q は体になる。

F

q の要素の個数はちょうど

q

である。

n

− 1

次以下の多項式の係数は

n

− 1

次,

n

− 2

次,

. . .

1

次,

0

次の

n

個の係数を並べて表現でき,それぞ れ値は

0

または

1

2

通りずつある。したがって,

2

n 通りある。 証明. 体の正確な定義をしていないが,ほとんどの性質は

F

2

[x]

の演算か ら受け継がれる。

0

でないものが積について逆元をもつことを示せばよい。

f

∈ F

q とすると,

F

が既約なので,

F

2

[x]

の要素として

F

f

の最大公因 子は

1

である。命題

2.2.6

より,

f u + F v = 1

となる

u, v

∈ F

2

[x]

がある。

g = u mod F

とすると

g

n

− 1

次以下で,

f g

≡ 1 (mod F )

である。す なわち,

F

q の演算で,

f g = 1

である。

3

次以上の既約多項式は複数あるので,

F

q という表現は不適切に見える。 しかし,

q

個の元からなる体は本質的に一つしかないことが知られているの で単に

F

q と書くのである。しかし,この「本質的に一つ」という意味は少 し難しい概念なので省略する。積の定義に使う既約多項式が異なれば,同じ 表現の要素でも,積の値が異なることがある。以下,使う既約多項式はその つど固定されているものとする。 さて,

F

q

=

F

q

− {0}

の要素は積について逆元をもっていたが,もっと強 く,ある

1

つの要素のべきで生成できることが知られている。

(28)

定理

2.4.2

(原始元の存在)

q

元体

F

q に対し,ある

α

∈ F

∗q をうまくとると

F

∗q

=

i

: i = 1, 2,

· · · , q − 1}

と書ける。特に,

α

q−1

= 1

である。

α

F

q の原始元と呼ぶ。 オイラーの定理の証明と同様に,

x

∈ F

q ならば

x

q−1

= 1

がわかる。上の 定理は,

F

q

[y](

F

q 係数多項式

)

の理論を使って証明されるが,少し長くなる ので省略する。 具体的なものについては,実際に確認できる。 例

2.4.3

F

2

[x]

において

mod 1011

で積を計算する

F

8 を考える

(8 = 2

3

)

。 すると,

10

が原始元である。実際,

α = 10

とすると,

α = 10,

α

2

= 100,

α

3

= 1000

≡ 11 (mod 1011),

α

4

= 110,

α

5

= 1100

≡ 111 (mod 1011),

α

6

= 1110

≡ 101 (mod 1011),

α

7

= 1010

≡ 1 (mod 1011).

既約多項式

f

に対し,

mod f

で考えた体の原始元として

10 = x

が選べる とき,

f

を原始既約多項式と呼ぶ。 問

2.4.4

F

2

[x]

の要素

10011, 11001

は原始既約多項式であることを示せ。

11111

は原始既約多項式ではない。

mod 11111

の原始元を

1

つ求めよ

(11

がそう

)

(29)

2.5

体係数多項式

F

2n

Z/pZ (p

は素数

)

のような集合をその足し算とかけ算の演算をこめ て体と呼ぶ。要素の個数が

q

の体を

q

元体と呼び,

F

q と書く。要素の個数 が

q

の体は本質的に

1

つしかないことが知られているので,

F

q という

1

通 りの記法で書かれる。

GF (q)

と書くこともある。

p

が素数のとき,

F

p

=

Z/pZ = {0, 1, . . . , p − 1}

で,

+

は整数として加え てから

p

で割った余りをとる演算,

·

は整数としてかけてから

p

で割った余 りをとる演算である。

n

≥ 2

に対し,

F

p

[x]

n

次既約多項式

f

が存在する。

F

p

[x]/(f )

は集合と しては

F

p 係数

n

− 1

次以下の

1

変数多項式で,

+

は多項式としての足し算

(

係数ごとの足し算

)

·

F

p係数多項式としてかけ算をしてから

f

で割った 余りをとる演算である。

F

p

[x]/(f )

は体になる

(0

でない要素はかけ算につい ての逆元をもつ

)

F

p

[x]/(f )

の要素は

n

個の係数が

F

p

=

{0, 1, . . . , p − 1}

のどれかということで決まるので,要素の個数は

p

n 個である。有限体はこの パターンで構成されるものしかないことが知られている。

F

pn

=

F

p

[x]/(f )

(f

n

次の

1

変数既約多項式

)

である。 有限体

F

q に対し,その要素を係数とする

1

変数多項式が再び考えられる。 それを

F

q

[y]

とする。係数を最高次から順に左から右に並べた表記も使う。 たとえば,

a

0

y

3

+ a

1

y

2

+ a

2

y + a

3

= (a

0

, a

1

, a

2

, a

3

)

である。この係数の並 び,すなわち

F

q の要素の列を係数ベクトルと呼ぶのが一般的である。 定義

2.5.1

F

q の要素を

m

個並べた

(a

0

, a

1

, a

2

, . . . , a

m−1

) (a

i

∈ F

q

)

の形 の並び

(

ベクトル

)

の全体を

F

mq と書く。

F

mq の要素は

(m

− 1)

次以下の

1

変数多項式

(

の係数ベクトル

)

と考えられる。 次の表記も標準的ではないが,ある意味ですっきりした記法と考えられる。

(30)

定義

2.5.2

f = (a

0

, a

1

, . . . , a

m−2

, a

m−1

)

∈ F

mq

F

q の要素

y

,あるいは 変数

y

に対し,

f (y) = a

0

y

m−1

+ a

1

y

m−2

+

· · · + a

m−2

y + a

m−1 と定義する。

f = (1, 2, 3)

∈ R

3 とすると,

f (y) = y

2

+ 2y + 3

で,

f (1) = 6

である。

f = (1, 0, 0, 0)

とすると

f (y) = y

3 である。

F

q

[y]

に対しても

F

2

[x]

のときと似た割り算の原理が成り立つ。実際,こ の割り算の原理は係数が体ということだけで成り立つ。 定理

2.5.3

(割り算の原理)

K

を体とする。

f

∈ K[y]

deg f > 0

とす る。任意の

g

∈ K[y]

に対し,

g = qf + r,

0

≤ deg r < deg f

となる

q, r

∈ K[y]

がちょうど

1

組存在する。

q

g/f

の商,

r

を余りあるいは剰余と呼ぶ。

r

g mod f

とも書く。 例で説明しよう。

K =

F

4

=

F

2

[x]/(111) (111

x

2

+ x + 1

のこと

)

を考える。多項式は係数をカンマで区切って並べて表記することにする。

F

4

=

{0, 1, 10, 11}

で,

10

2

= 11, 11

2

= 10, 10

× 11 = 1

である。

f = (11, 1, 10) = 11y

2

+ y + 10, g = (1, 11, 10, 1, 0, 1) = y

5

+ 11y

4

+

10y

3

+ y

2

+ 1

とする。

(31)

10

10

1

1

11

1

10 ) 1

11

10

1

0

1

1

10

11

1

1

1

1

10

11

11

10

0

11

1

10

11

10

1

11

1

10

11

11

割る多項式の最高次の係数

11

に逆元

11

−1

= 10

があることが本質的であ る。体に係数をもつ多項式ならばこれはいつも成り立つ。 定義

2.5.4

(合同) 整数や

F

2

[x]

の場合と同様に,

f, g, F

∈ K[y]

に対し,

f

− g mod F = 0

のとき,

f

≡ g (mod F )

と書く。 定義

2.5.5

(因子,公因子)

K

を体とする。

K

係数

1

変数多項式

f , g, h

に対し,

f = gh

と書けるとき,

g

h

f

の因子

(

因数

, factor, divisor)

と呼ぶ。

g

f

の因子であるための必要十分条件は

f

≡ 0 (mod g)

である。

h

f

の因子かつ

h

g

の因子のとき,

h

f

g

の公因子と呼ぶ。

f

g

の公因子のうち次数が最大で,最大次の係数が

1

のものを

gcd(f, g)

と書 き,

f

g

の最大公因子と呼ぶ。 定理

2.5.6

(因数定理)

K

を体,

a

∈ K

とする。

y

− a

f

∈ K[y]

の因子 であることと,

f (a) = 0

が同値である。

f (a) = 0

となる

a

f

の根

(

こん

)

あるいは零点と呼ぶ。 証明. 割り算の原理から,

f (y) = (y

− a)q + r

で,

r

の次数が

0

次の形で 書ける。

0

次多項式は

K

の要素である。すると,

f (a) = r

.よって,余り

r

0

ということと,

f (a) = 0

が同値になる。

参照

関連したドキュメント

Massoudi and Phuoc 44 proposed that for granular materials the slip velocity is proportional to the stress vector at the wall, that is, u s gT s n x , T s n y , where T s is the

We are also able to compute the essential spectrum of the linear wave operator for the rotationally invariant periodic case.. Critical point theory, variational methods, saddle

This paper is a sequel to [1] where the existence of homoclinic solutions was proved for a family of singular Hamiltonian systems which were subjected to almost periodic forcing...

We provide an accurate upper bound of the maximum number of limit cycles that this class of systems can have bifurcating from the periodic orbits of the linear center ˙ x = y, y ˙ =

In the second section, we study the continuity of the functions f p (for the definition of this function see the abstract) when (X, f ) is a dynamical system in which X is a

We study a Neumann boundary-value problem on the half line for a second order equation, in which the nonlinearity depends on the (unknown) Dirichlet boundary data of the solution..

(The Elliott-Halberstam conjecture does allow one to take B = 2 in (1.39), and therefore leads to small improve- ments in Huxley’s results, which for r ≥ 2 are weaker than the result

Lang, The generalized Hardy operators with kernel and variable integral limits in Banach function spaces, J.. Sinnamon, Mapping properties of integral averaging operators,