跳到主要内容

千葉大学 融合理工学府 数学情報科学専攻 数学・情報数理学コース 2022年8月実施 専門 B10

Author

祭音Myyura (co-authored with GPT 6 Astra)

Description

素数 pp に対し p1=i=1kpieip-1=\prod_{i=1}^kp_i^{e_i} を素因数分解とする。

  1. g(Z/pZ)×g\in(\mathbb Z/p\mathbb Z)^\times が生成元であるための必要十分条件は、すべての ii に対して g(p1)/pi≢1(modp)g^{(p-1)/p_i}\not\equiv1\pmod p であることを示せ。
  2. p,gp,gp1p-1 の素因数分解が与えられれば、gg が生成元かどうかを pp の二進表記長の多項式時間で判定できることを示せ。

题目描述

pp 为素数,已知 p1p-1 的素因数分解。(1) 证明本原根判据:对每个素因子 pip_i,都有 g(p1)/pi≢1(modp)g^{(p-1)/p_i}\not\equiv1\pmod p;(2) 说明该判据能在输入位数的多项式时间内检验。

Kai

(1) d=ord(g)d=\operatorname{ord}(g) とすると dp1d\mid p-1d=p1d=p-1 なら、より小さい正の指数 (p1)/pi(p-1)/p_i11 にはならない。逆に d<p1d<p-1 なら、整数 (p1)/d>1(p-1)/d>1 の素因子 pip_i をとれる。このとき d(p1)/pid\mid(p-1)/p_i なので g(p1)/pi=1g^{(p-1)/p_i}=1。従って必要十分条件が従う。

(2) L=log2pL=\lceil\log_2p\rceil とする。異なる素因子数は高々 LL。各指数は pp 未満なので、繰り返し二乗法による一回の冪剰余計算には O(L)O(L) 回の乗算・剰余演算で足りる。通常の筆算で LL ビット整数の乗算・剰余は O(L2)O(L^2) ビット演算だから、全検査は O(L4)O(L^4) ビット演算以内で終了する。素因数分解は入力として与えられているため、その計算時間は不要である。p=2p=2 では空の条件を満たす唯一の元 11 が生成元である。