有限体の原始元と位数

DH鍵共有で、p は大きな素数、g は Zp の原始元、とあるけど、Zp の原始元というのは、Zp* の生成元のこと?

DH鍵共有の話は置いておくとして、Zp の原始元というのは、Zp* の生成元か?という質問の答えはyesです。つまり、mod p の世界で、g, g2, g3, …, gp-1 が全部違っていて、集合として{1,2,3,…,p-1}と同じになるような g のこと。
別の言い方をすると、g, g2 mod p, g3 mod p,…を順番に計算したときに、最初に1になるのが gp-1 mod p であるような g 。

「位数」がp-1であるもの、だよね。

そうそう、その通り。じゃあ、例えば、p=11 のときは、2は原始元?

えーっと、2 は1じゃない、22=4 も1じゃない、23=8 も1じゃない、24=16 mod 11 =5 も1じゃない、25=32 mod 11 =10 も1じゃない。。。
あー、もうめんどくさい!

ちょっとズルを教えてあげようか?

え?ズル?

実は、1乗と2乗と5乗だけチェックすればいい。位数は必ず p-1 の約数である、という法則があるから。

そうなんだ? 今は p-1=10 だから、位数は 1, 2, 5, 10 のどれかだね。あ、じゃあ、2の位数は10だよ。ということは、2は原始元だね。

そういうことになるね。