密码学第4章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5 5 6 7 0 1 2 3 4
6 6 7 0 1 2 3 4 5 7 7 0 1 2 3 4 5 6
5
6 7
0
0 0
5
6 7
2
4 6
7
2 5
4
0 4
1
6 3
6
4 2
3
2 1
模运算
若x+y=0 mod n, y为x的加法逆元。每一 元素都有加法逆元 若对x,有xy=1 mod n,称y为x的乘法 逆元。在上例中,并非所有x都有乘法逆 元 定义Zn={0,1,..,n-1}为模n的同余类集合。
× 0 0 1 2 3 4 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 6 0 3 0 3 6 1 4 4 0 4 0 4 0 5 0 5 2 7 4 6 0 6 4 2 0 7 0 7 6 5 4
+ 0 1 2 3 4 5 6 7 0 0 1 2 3 4 5 6 7 1 1 2 3 4 5 6 7 0 2 2 3 4 5 6 7 0 1 3 3 4 5 6 7 0 1 2 4 4 5 6 7 0 1 2 3
模运算
单位元 (0+w) mod n=w mod n (1×w) mod n=w mod n 加法逆元:对w∈Zn,有z∈Zn,满足 w+z=0 mod n, z为w的加法逆元,记为 z=-w。 加法的可约律 (a+b)≡(a+c) mod n, 则b≡c mod n 对乘法不一定成立,因为乘法逆元不一定存 在。
费尔玛定理和欧拉定理
欧拉函数
设n为一正整数,小于n且与n互素的正整数 的个数称为n的欧拉函数,记为j(n)
定理:若n是两个素数p和q的乘积,则 j(n)= j(p) j(q)=(p-1)(q-1) 欧拉定理
若a和n互素,则aj(n)=1 mod n
素性检验
引理:如果p为大于2的素数,则方程x2≡1 mod p的解只有和x≡1和x≡-1 证明:
模运算
定理:设a∈Zn,gcd(a,n)=1,则a在Zn有逆 元 证明思路:
1.
2.
用反证法证明a和Zn中任何两个不同的数相 乘结果都不相同 从1得出a×Zn=Zn,因此存在x∈Zn,使 a×x=1 mod n
设p为素数,Zp中每一个非零元素都与p 互素,因此有乘法逆元,有乘法可约律 (a×b)=(a×c) mod n, b=c mod n
离散对数
指标的性质
1. 2.
3.
4.
inda,p(1)=0 inda,p(a)=1 inda,p(xy)=[inda,p(x)+ inda,p(y)] mod j(p) inda,p(yr)=[r×inda,p(y)] mod j(p)
后两个性质基于下列结论
若az≡aq mod p ,a和p互素,则z ≡q mod j (p)
欧几里德算法
例:gcd(55,22)=gcd(22,11)=gcd(11,0)=11
Euclid(f,d) f>d 1. Xf;Yd; 2. If Y=0 then return X=gcd(f,d) 3. R=X mod Y 4. X=Y; 5. Y=R 6. Goto 2
欧几里德算法
中国剩余定理
如果已知某个数关于一些量量互素的数的同余类 集,就可以重构这个数 定理(中国剩余定理): k M m 设m1,m2,…,mk是两两互素的正整数,i 1 i 则一次同余方程组 x mod m a
1 1
x mod m 2 a 2 M M对模M有唯一解 M x ( e1 a 1 e2 a 2 e k a k ) mod M x mod m a m1 m2 mk k k
e i 满足
M mi
e i 1 mod m i
中国剩余定理
中国剩余定理可以将一个很大的数x表示为一 组较小的数(a1,…ak) 例:x≡1 mod 2, x≡2 mod 3, x≡3 mod 5 x≡5 mod 7,求x 解:M=2×3×5×7=210,M1=105, M2=70, M3=42, M4=30, (Mi=M/mi),可以 求得e1=1, e2=1, e3=3, e4=4,所以 x=105×1×1+70×1×2+42×3×3+ 30×4×5 mod 210=173
离散对数
定理:设a的阶为m,则ak≡1mod n的充分必 要条件是k是m的倍数。 推论:a的阶整除j(n)。 本原根:a的阶m等于j(n),a为n的本原根。 如果a是n的本原根,a1,a2,...,a j(n)在模n下互不 相同且与n互素。 本原根不唯一。 并非所有元素都有本原根,仅有以下形式的整 数才有本原根:2,4,pa,2pa, p是奇素数
模运算
同余的性质
若n|(a-b),则a≡b mod n (a mod n) ≡(b mod n),则a≡b mod n a≡b mod n,则b≡a mod n a≡b mod n, b≡c mod n,则a≡c mod n
求余运算a mod n将a映射到集合 {0,1,…,n-1},求余运算称为模运算
素数和互素数
整数分解唯一性的另一表示
P是所有素数的集合,任一a(a>1)可表示为
a
p P
p
ap
ap≥0,大多数指数项ap为0,任一整数可由非0指数 列表表示。例如11011可以表示为{a7=1, a11=2, a13=1} 两数相乘等价于对应的指数相加 由a|b可得,对每一素数p, ap ≤bp
(证明留给大家)
性质
素数和互素数
素数
整数p(p>1)为素数,如果p的因子只有±1,±p 整数分解的唯一性 任一整数a(a>1)可唯一的分解为
a p1 1 p 2 2 p t
a a at
其中p1>p2>…>pt是素数,ai>0 例:91=7×11,11011=7×112×13
若返回False,n不是素数,若返回True,有可能是素数。
素性检测
For循环结束,有d≡an-1 mod n.由费尔玛定理, 若n为素数,d为1.所以d≠1,则d不是素数 n-1≡-1 mod n,所以x ≠1和x ≠n-1指x2≡1 mod n 有非±1的根,n不是素数
该算法对s个不同的a,重复调用,如果 每次都返回true,则n是素数的概率大于 等于1-2-s
模运算
Zn上模运算的性质
交换律 (x+w) mod n=(w+x) mod n (x×w) mod n=(w×x) mod n 结合律 [(x+w)+y] mod n=[x+(w+y)] mod n [(x×w) ×y] mod n=[x×(w×y)] mod n 分配律 [w×(x+y)] mod n=[w×x+w×y)] mod n
离散对数
设p是素数,a是p的本原根。对 b∈{1,…,p-1},有唯一的i ∈{1,…,p-1},使 b≡ai mod p。称i为模p下以a为底b的离 散对数,记为 i ≡logab (mod p) 已知a,p,i,求b比较容易,以及a,b,p,求i非 常困难
公钥密码体制的基本概念
x2≡1 mod p x2 -1 ≡0 mod p (x+1)(x-1)≡0 mod p 所以,p|(x+1)或p|(x-1) 或p|(x+1)且p|(x-1)存在k,j,x+1=kp, x1=jp2=(k-j)p, 这是不可能的。
引理的逆命题:若方程x2≡1 mod p有唯一解x 不为+1或-1,p不是素数
离散对数
求模下的整数幂
根据欧拉定理,若gcd(a,n)=1,则af(n) ≡1 mod n。考虑一般am ≡1 mod n, 如果a,n互 素,至少有一个整数m满足这一方程。称满 足这一方程的最小正整数m为模n下a的阶。 例:a=7,n=19. 71 ≡7 mod 19, 72 ≡11 mod 19, 73 ≡1 mod 19,所以7模19的阶 为3。从幂次为4开始出现循环,循环周期 与元素的阶相同
欧几里德算法
求两个正整数的最大公因子 两个正整数互素,可以求一个数关于另一个数 的乘法逆元 性质: 对任意非负整数a和正整数b,有 gcd(a,b)=gcd(b,a mod b) 证明:
a=kb+r≡r mod ba mod b=a-kb 设d|a,d|b, 所以d|kb. 由d|a和d|kb,得d|(a mod b) 故d是b和a mod b的公因子。 a,b以及b,a mod b公因子集合相同,故最大公因子也相 同
求乘法逆元
若gcd(a,b)=1, b在模a下有乘法逆元(设b<a)。 即存在x<a,bx≡1 mod a
Extended Euclid(f,d) (f>d) 1.(X1 X2 X3)(1,0,f);(Y1Y2 Y3)(0,1,d); 2. If Y3=0, then return X3=gcd(f,d);no inverse; 3. If Y3=1, then return X3=gcd(f,d);Y2=d-1 mod f; 4. Q=X3 div Y3; 5. (T1 T2 T3)(X1-QY1,X2-QY2,X3-QY3); 6. (X1 X2 X3)(Y1Y2 Y3); 7. (Y1Y2 Y3)(T1 T2 T3); 8.Goto 2
离散对数
指标
y=ax(a>0,a≠1)的逆函数称为以a为底的对 数,记为x=logay 设p为素数,a是p的本原根,则a0,a1,...,a p-1 产生1到p-1中所有值,且每个值只出现一次。 对任一b∈{1,…,p-1},都存在唯一的i(1≤i ≤p),使b≡ai mod p。i称为模p下以a为底b 的指标,记为i=inda,p(d)
第四章 公钥密码
公钥密码
数论简介 公钥密码体制的基本概念 RSA算法 椭圆曲线密码体制
数论简介
素数和互素数
因子
整数a,b,如果存在m,使a=mb,称为b整除 a,记为b|a,称b是a的因子。 a|1,则a=±1 a|b且b|a,则a=b 对任意b,b≠0,则b|0 b|g,b|h,对任意整数m,n,有b|(mg+nh)
模运算
模运算的性质
[(a mod n)+(b mod n)] mod n=(a+b) mod n [(a mod n)-(b mod n)] mod n=(a-b) mod n [(a mod n)×(b mod n)] mod n=(a×b) mod n
模运算
例:Z8={0,1,2,3,4,5,6,7},模8加法和乘法
Biblioteka Baidu
费尔玛定理和欧拉定理
费尔玛定理
若p是素数,a是正整数且gcd(a,p)=1,则ap-1≡1 mod p 证明: gcd(a,p)=1,则a×Zp=Zp, a×(Zp-{0})=Zp-{0} {a mod p,2a mod p,…,(n-1)a mod p} ={0,1,…,p-1} (a mod p) ×(2a mod p) ×…×(n-1)a mod p=(p-1)! mod p (p-1)! ×ap-1=(p-1)! mod p (p-1)!与p互素,所以乘法可约律,ap-1=1 mod p
素数和互素数
c是a和b的最大公因子,c=gcd(a,b)
c是a的因子也是b的因子 a和b的任一公因子也是c的因子
gcd(a,b)=1,称为a,b互素
模运算
设n是一正整数,a是整数,若 a=qn+r, 0≤r<n, 则a mod n=r 若(a mod n)=(b mod n),称为a,b模n同余, 记为a≡b mod n 称与a模n同余的数的全体为a的同余类, 记为[a],a称为这个同余类的代表元素
素性检验
Miller-Rabin素性概率检测法
n为待检测数,a为小于n的整数,将n-1表示为二进 制形式bkbk-1…b0,d赋初值为1,算法核心如下
for i=k downto 0 do {xd; d(d×d) mod n; if d=1 and (x≠1)and(x≠n-1) then return False if bi=1 the d(d×a) mod n } if d ≠1 then return False; return True