《数论算法》教案 5章(原根与离散对数)

发布时间 : 星期一 文章《数论算法》教案 5章(原根与离散对数)更新完毕开始阅读

《数论算法》 第五章 原根与离散对数

若有解,请求其解。

dlog17,52??17?=16,(解)查表6.3.2知dlog17,510≡7,≡6,??17?,dlog17,510=(16, 7)=1,显然方程有解。 由例6.1.4知5是17的一个原根,对方程两边取以5为

底的对数

xdlog510?dlog52?mod??17??

7x≡6(mod 16)

解之得x?10?mod16?,即为原方程的解。

【例6.6.5】判断幂同余方程4x≡16(mod 17)是否有解,若有解,请求其解。

(解)查表6.3.2得dlog17,54≡12,dlog17,516≡8,(16, 12)=4,且48?dlog17,516,所以方程有解。对方程两边取以5为底的对数得一次同余方程

12x≡8(mod 16)

解之得x≡2, 6, 10, 14(mod 16),即为原方程的解。

比较例6.6.4和例6.6.5,一个为单解,一个为多解,其本质原因在于指数函数10x的底数10是17的原根,故对应真数2,使得10x≡2(mod 17)成立的模16不同余的x只能有一个,而后者中函数4x的底数4不是原根,其对模数17的阶为ord17?4?=4,故对模数4来说,其解为1;而对模数16来说,其不同余的解则为4个。

??5.7 单向函数

(一) 单向函数

(1)给定x,计算y=f(x)是容易的; (2)给定y, 计算x=f?1?y?是不可行的。

53/58

《数论算法》 第五章 原根与离散对数

例如:对给定的g,已知x,计算y≡gx mod n容易;

但已知y,计算x≡logg(y)(mod ??n?)则很难。 (二) 单向陷门函数

(1)已知陷门k和x,则计算y=f(x)容易; (2)已知y,但不知k,则计算x=fk?1?y?是不可行的;

(3)已知k和y, 则计算x=fk?1?y?容易。

例如,对于RSA算法,计算y≡xe(mod n)容易;若

已知d和y,计算x≡yd(mod n)也很容易;但若

不知d,则无法计算x≡ey(mod n)。

(三) 构造公钥密码体制的关键

寻找合适的单向陷门函数。

习题5

1. 设m=12, 13, 14, 19, 20, 21: (1)列出模m的阶数表;

(2)如果模m有原根,请找出模m的最小正剩余系中的

所有原根,即模m的最小正原根;

(3)若模m没有原根,请找出模m的最小正剩余系中所

有对模m的阶为最大的整数。

2. 求ord41(10),ord43(7),ord55(2),ord65(8),ord91(11),ord69(4),ord231(5)。

3. 设m=37, 43。求出模m的最小正剩余系中所有阶为6的整数。

4. 证明:设p为素数,ordp?a?=3,则ordp?1?a?=6。 5. 证明:若存在整数a且有ordm?a?=m-1,则m是素数。

6. 设p为素数,ordp?a??k。证明:

54/58

《数论算法》 第五章 原根与离散对数

(1)若2k,则ak2≡-1(mod (2)若4k,则ordp??a??k; (3)若2k,4

; p)

k,则ordp??a??k2

7. 设m>1为整数,?a,m?=1。证明:若ordm?a??st,

则ordm?as??t。

8. 设m是一个正整数,d是??m?的一个正因数。问是否存在整数a,满足ordm?a??d。

9. 设m>1,d?1,?a,m?=1,并设ordm?ad??e。试决定ordm?a?的值应满足的条件,以及其可能取值的个数。

10. 设a和n均为正整数且m?an?1。证明:ordm?a??n,从而进一步说明n??m?。

11. 设m>1,?ab,m?=1,并设?ordm?a?,ordm?b???d。证明:

(1)d2ordm??ab?d??ordm?a?ordm?b?;

(2)d2ordm?ab???ordm?ab?,d?ordm?a?ordm?b?。

12. 针对每个p,试求一个g,它是模p的原根,但不是模p2的原根。其中p=5, 7, 11, 17, 31。

13. 证明:10是487的原根,但不是4872的原根。 14. 针对每个p,求模p的所有原根g(1<g<p)。其中p=19, 31, 37, 53, 71。

15. 针对每个p,求模2p的所有原根g(1<g<p)。其中p=19, 31, 37, 53, 71。

16. 针对每个p,试求一个g,对所有??1,它是p?和2p?的原根。其中p=11, 13, 17, 19, 31, 37, 53, 71。

17. 若m有原根g,并设1?k???m?,证明:?k,??m??=1。是两两对模m不同余的模m的全部原根,其个数为????m??。

18. 设m?1,n?1,且?n,??m???1。证明:当x遍历模

gkm的既约剩余系时,xn也遍历模m的既约剩余系。

19. 设Fn?22?1为第n个Fermat数。证明:

n(1)ordF?2??2n?1;

(2)若素数pFn,则ordp?2??2n?1;

n55/58

《数论算法》 第五章 原根与离散对数

(3)Fn的素因数q?1?mod2n?1?;

(4)若Fn是素数,n>1,则2一定不是Fn的原根; (5)若Fn是素数,则模Fn的任一二次非剩余必是Fn的原

根;

(6)若Fn是素数,则±3, ±7都是其原根。

20. 设p, q是素数,证明以下结论,并分别针对每种情形举出两个实例以验证结论:

(1)若q≡1(mod 4),p?2q?1,则2是模p的原根; (2)若q≡-1(mod 4),p?2q?1,则-2是模p的原

根;

(3)若q≡1(mod 2)且q>3,p?2q?1,则-3,-4

都是模p的原根; (4)若q≡1(mod 2),p?4q?1,则2是模p的原根。 21. 设素数p>3,g1,g2,?,g??p?1?是模数p的??p?1?个原根,证明

??p?1?i?1?gi?1?modp?

22. 设正整数m≠3, 4, 6且其全部非负最小正原根为

g1,g2,?,gk。证明:?gi?1?modm?。

i?1k23. 已知10是61的一个原根,请利用10找出61的所有原根。

24. 设g是奇素数p的一个原根,证明: (1)当p≡1(mod 4),-g也是p的一个原根;

p?1。 225. 证明:若p?2n?1且为素数(n>1),则3是p的一

(2)当p≡3(mod 4),-g对模p的阶为

个原根。

26. 设整数m>2且有原根,整数a满足?a,m?=1。证明:

(1)同余方程x2?a?modm?有解的充分必要条件是

??m?a2?1?modm?;

(2)方程x2?a?modm?若有解,则恰有两个解;

56/58

联系合同范文客服:xxxxx#qq.com(#替换为@)