この章で出てくる文字は、断らない限り全部整数。
$a \equiv b \Rightarrow a+c \equiv b+c$ $a \equiv b \wedge c \equiv d \Rightarrow ac \equiv bd$ $a \equiv b \Rightarrow a^m \equiv b^m$
aとbの最大公約数を$\gcd(a,b)$とか単に$(a,b)$とか書く。
ユークリッドの互除法を用いると、$\gcd(a,b)$は$O(\log ab)$で求まる。
さらに、拡張されたユークリッドの互除法によって、(x,y)に対して$ax+by=\gcd(x,y)$なる(a,b)を求められる。
求めるには、上の拡張されたユークリッドの互除法において、$x=x, y=n, a=a$とすればよい。
カーマイケルの定理: カーマイケル関数λに対して、
上の定理を弱くして、次の定理が示される。
オイラーの定理: オイラーのトーシェント関数φに対して、
更に弱くして、次の定理が示される。
フェルマーの小定理:
中国剰余定理:
特に、$(m,n)=1$のとき、
一意的とは、そのようなxのmnを法とした剰余はすべて等しいということ。
それはそう。
ルジャンドル記号: aが奇素数pを法として平方剰余なとき、$\left( \frac {a} {p} \right)=1$、平方非剰余なとき$\left( \frac {a} {p} \right)=-1$とかく。
定理:
オイラーの規準: pは奇素数。
平方剰余の相互法則: p,qは奇素数。
拡張みたいなので、ヤコビ記号とかいうのもある。 さらに拡張で、クロネッカー記号とかいうのもある。
集合$G$に対して位数とは、$|G|$のこと。群$(G,+)$で、$g \in G$の位数とは、$g^n = 1$となる最小の自然数nのこと。 ある二項演算があってそのもとで$G = {g^n | n \in \mathbb N }$のとき、$g$を$G$の生成元といい、$G=$と書く。
-
$p,q \in \mathbb P (p \neq q)$ を用意 -
$n=pq$ を計算 -
$0 \le B \lt n$ を用意
後々を考えると、B=0ならp,qはどんな素数でも良いけれど、Bが0でないならp,qは奇素数でなければならなそう。
-
$x_p = \pm \sqrt {c + \frac {B^2}{4}} - \frac {B}{2} \ mod \ p$ ,$x_q = \pm \sqrt {c + \frac {B^2}{4}} - \frac {B}{2} \ mod \ q$ を計算 -
$x \equiv x_p \ (mod \ p) \wedge x \equiv x_q \ (mod \ q)$ を中国剰余定理で計算 - 求まる4つのxのうちいずれかが解
平方根の計算には、たとえばCipolla's algorithmを使う。
p,qに4k+3型の素数を使うと、平方根の計算に公式が使えて簡単になる。
-
$p,q \in \mathbb P (p \neq q)$ を準備 -
$n=pq, \phi(n)=(p-1)(q-1)$ を計算 - p,qは破棄
-
$e \in \mathbb N \wedge (e, \phi(n))=1 \wedge e \lt \phi(n)$ なる$e$を準備 -
$\phi(n)$ を法として$d=e^{-1}$を計算
- ユークリッドの互除法
- フェルマーの小定理、オイラーの定理(どちらから証明しても良い)
- 平方剰余ならばルジャンドル記号が1になる
- ルジャンドル記号が1ならば平方剰余
-
$Z_p$ の生成元の存在
Written with StackEdit.