密码学中常用的数学知识 公钥密码体制的基本概念 RSA算法

Slides:



Advertisements
Similar presentations
复习: :对任意的x∈A,都有x∈B。 集合A与集合B间的关系 A(B) A B :存在x0∈A,但x0∈B。 A B A B.
Advertisements

第二章 流体运动的基本方程和基本规律 § 2.1 连续方程 § 2.2 动量方程 § 2.3 能量方程 § 2.4 方程的基本解法
第五章 二次型. 第五章 二次型 知识点1---二次型及其矩阵表示 二次型的基本概念 1. 线性变换与合同矩阵 2.
第三章 函数逼近 — 最佳平方逼近.
2016届高三期初调研 分析 徐国民
[S;*]是一个代数系统,*为定义在S上的二元运算,若满足:
近世代数(Abstract Algebra)
§1 线性空间的定义与性质 ★线性空间的定义 ★线性空间的性质 ★线性空间的子空间 线性空间是线性代数的高等部分,是代数学
常用逻辑用语 知识体系: 命题 常用逻辑性用语 充分条件、必要条件、充要条件 基本逻辑连结词 量词.
第4章 公钥密码 4.1 密码学中一些常用的数学知识 4.2 公钥密码体制的基本概念 4.3 RSA算法 4.4 背包密码体制
第一章 行列式 第五节 Cramer定理 设含有n 个未知量的n个方程构成的线性方程组为 (Ⅰ) 由未知数的系数组成的n阶行列式
1.5 充要条件.
恰当方程(全微分方程) 一、概念 二、全微分方程的解法.
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
出入口Y27 往塔城街口/中興醫院 出入口Y25 往延平北路一段/中興醫院 出入口Y23往延平北路一段 出入口Y21往延平北路一段
第二章 导数与微分 第二节 函数的微分法 一、导数的四则运算 二、复合函数的微分法.
2-7、函数的微分 教学要求 教学要点.
第三章 多维随机变量及其分布 §2 边缘分布 边缘分布函数 边缘分布律 边缘概率密度.
§3.7 热力学基本方程及麦克斯韦关系式 热力学状态函数 H, A, G 组合辅助函数 U, H → 能量计算
9.1 圓的方程 圓方程的標準式.
第二章 矩阵(matrix) 第8次课.
第三章 二次剩余.
现代密码学理论与实践 第4章 有限域 Fourth Edition by William Stallings Slides by 杨寿保
第六章 弯 曲 强 度.
计算机数学基础 主讲老师: 邓辉文.
Chapter 2 密碼基礎數學I:模數算數、同餘 與矩陣.
可降阶的高阶方程 一、 型的微分方程 二、不显含未知函数的方程 三、不显含自变量的方程.
材料力学 第十二章 能量方法.
计算系统与网络安全 Computer System and Network Security
二元一次聯立方程式 代入消去法 加減消去法 自我評量.
实数与向量的积.
变 阻 器 常州市北郊初级中学 陆 俊.
《概率论》总复习.
线性代数 第二章 矩阵 §1 矩阵的定义 定义:m×n个数排成的数表 3) 零矩阵: 4) n阶方阵:An=[aij]n×n
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
循环群与群同构.
离散数学─归纳与递归 南京大学计算机科学与技术系
复习.
第十章 双线性型 Bilinear Form 厦门大学数学科学学院 网址: gdjpkc.xmu.edu.cn
1.2 有理数 第1课时 有理数 伏家营中学 付宝华.
测验: 2.设是群G上的等价关系,并且对于G的任意三个元素a,x,x‘,若axax’则必有x x‘。证明:与G中单位元等价的元素全体构成G的一个子群。 H={x|xG,并且xe} 对任意的xH, xe, xee=xx-1 对任意的x,yH, xe, ye, eye, x-1xyx-1x.
正切函数的图象和性质 周期函数定义: 一般地,对于函数 (x),如果存在一个非零常数T,使得当x取定义域内的每一个值时,都有
定理21.9(可满足性定理)设A是P(Y)的协调子集,则存在P(Y)的解释域U和项解释,使得赋值函数v(A){1}。
第16讲 相似矩阵与方阵的对角化 主要内容: 1.相似矩阵 2. 方阵的对角化.
§8.3 不变因子 一、行列式因子 二、不变因子.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
1.2 子集、补集、全集习题课.
初 等 数 论 辅导课程五 主讲教师:曹洪平.
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
第三章 函数的微分学 第二节 导数的四则运算法则 一、导数的四则运算 二、偏导数的求法.
4) 若A可逆,则 也可逆, 证明: 所以.
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
2.2矩阵的代数运算.
上杭二中 曾庆华 上杭二中 曾庆华 上杭二中 曾庆华.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
A经有限次初等变换化为B,称A与B等价,记作A→B.
《离散结构》 二元运算性质的判断 西安工程大学计算机科学学院 王爱丽.
§2 方阵的特征值与特征向量.
离散数学-集合论 南京大学计算机科学与技术系
§4 理想与商环 一、理想 定义14.13:[R;+,*]为环, 若I ,IR,关于+,*运算满足条件:
定义5 把矩阵 A 的行换成同序数的列得到的矩阵,
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
陪集 例:三次对称群S3={e,1, 2, 3, 4, 5}的所有非平凡子群是:
定理15.8:对f(x)F[x],g(x)F[x], g(x)0,存在唯一的q(x),r(x)F[x], degr(x)
§4.5 最大公因式的矩阵求法( Ⅱ ).
离散数学─归纳与递归 南京大学计算机科学与技术系
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
Cfc Zeilberger 算法 陈焕林 陈永川 付梅 臧经涛 2009年7月29日.
9.3多项式乘多项式.
Presentation transcript:

密码学中常用的数学知识 公钥密码体制的基本概念 RSA算法

4.1.1 群、环、域 环<R,+,*>的定义: 群<G,*>的定义: 一些数字组成的集合 4.1.1 群、环、域 *为乘法时,称为乘法群 逆元(a-1) *为加法时,称为加法群 逆元(-a) 群<G,*>的定义: 一些数字组成的集合 一个二元运算,运算结果属于此集合(封闭性) 服从结合律。有单位元,逆元 。 如果是可交换的,则成为Abel群 环<R,+,*>的定义: Abel 群,及一个乘法运算: 满足结合律与加法的分配律 如果加法满足交换律, 则称交换环 例:整数 mod N (for any N )

Galois 域: 域<F,+,*>的定义: <F,+>是Abel加群 环 例: 整数 mod P ( P 为素数) Galois 域: 如果 n是素数 p ,则模运算modulo p 形成 Galois Field modulo p 记为: GF(p)

4.1.2 素数和互素数 因子: 对整数 b!=0 及 a , 如果存在整数 m 使得 a=mb,称 b 整除 a, 也称b是a的因子。 记作 b|a 例 1,2,3,4,6,8,12,24 整除 24 素数: 素数: 只有因子 1 和自身 1 是一个平凡素数 例 2,3,5,7 是素数, 4,6,8,9,10 不是

200以内的素数: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 素数分解: 把整数n写成素数的乘积 分解整数要比乘法困难 整数 n的素数分解是把它写素数的乘积 eg. 91 = 7 × 13 ; 3600 = 24 × 32 × 52

互素数: 整数 a, b 互素是指 它们没有除1之外的其它因子。 8 与15 互素 8的因子1,2,4,8 15的因子 1,3,5,15 1 是唯一的公因子 记为:gcd(8,15)=1

4.1.3 模运算 设n是一正整数,a是整数,若 a=qn+r, 0≤r<n, 则a mod n=r 4.1.3 模运算 设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称为这个同余类的代表元素。 -21 -20 -19 -18 -17 -16 –15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

同余的性质: 若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},求余运算称为模运算。 模运算的性质 [(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

定理:设a∈Zn,gcd(a,n)=1,则a在Zn有逆元。 证明思路: 用反证法证明a和Zn中任何两个不同的数相乘结果都不相同 定义Zn为小于n的所有非负整数集合 Zn={0,1,2,…,n-1} 定理:设a∈Zn,gcd(a,n)=1,则a在Zn有逆元。 证明思路: 用反证法证明a和Zn中任何两个不同的数相乘结果都不相同 从1得出a×Zn=Zn,因此存在x∈Zn,使a×x=1 mod n 设a为素数,Zp中每一个非零元素都与a互素,因此有乘法逆元,有乘法可约律 (a×b)=(a×c) mod n, b=c mod n

4.1.4 费尔玛定理和欧拉定理 费尔玛定理: 若p是素数,a是正整数且gcd(a,p)=1,则ap-1≡1 mod p 证明: 4.1.4 费尔玛定理和欧拉定理 费尔玛定理: 若p是素数,a是正整数且gcd(a,p)=1,则ap-1≡1 mod p 证明: 当gcd(a,p)=1,则a×Zp=Zp 。 又因为a×0≡0modp,所以a×(Zp-{0})=Zp-{0} 即:{a mod p,2a mod p,…,(n-1)a mod p} ={1,…,p-1} (a mod p) ×(2a mod p) ×…×(n-1)a mod p=(p-1)!ap-1 mod p 因此:(p-1)! ap-1 mod p =(p-1)!modp (p-1)!与p互素,所以乘法可约律,ap-1=1 mod p

欧拉函数 设n为一正整数,小于n且与n互素的正整数的个数称为n的欧拉函数,记为φ(n) 例:Φ(6)=2, Φ(7)=6, Φ(8)=4 显然,若n是素数, Φ(n)=n-1 定理: 若n是两个素数p和q的乘积,则Φ(n)= Φ(p) Φ(q)=(p-1)(q-1) 例:21=3×7 ,因此φ(21)= φ(3) × φ(7)=2×6=12 欧拉定理 若a和n互素,则aφ(n)=1 mod n

4.1.5 素性检验 爱拉托斯散(Eratosthenes)筛法 定理: 设n是正整数,若对所有满足p≤ 的素数p,都有 4.1.5 素性检验 对给定的数检验其是否为素数 爱拉托斯散(Eratosthenes)筛法 定理: 设n是正整数,若对所有满足p≤ 的素数p,都有 p | n,那么n一定是素数。 若要找出不大于n的所有素数: 先将2到n之间的整数列出,从中删除小于等于 的所有素数的倍数,余下的整数即是所要求的素数。 此方法在n很大时,实际上是不可行的。

Miller-Rabin素性概率检测法 引理: 如果p为大于2的素数,则方程x2≡1 mod p的解只有和x≡1和x≡-1 证明: 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) 若p|(x+1)且p|(x-1),则存在k,j,使x+1=kp, x-1=jp 可得:2=(k-j)p, 这是不可能的。 所以: p|(x+1)或p|(x-1) 设: p|(x+1),则x+1=kp  x=-1modp 设: p|(x-1),则x-1+1=kp  x=1modp 例:x2=1(mod8) 12=1 mod8 32=1 mod8 52=1 mod8 72=1 mod8 又5=-3 mod8 , 7=-1 mod8, 所以方程的解为:1,-1,3,-3 8不是素数。 引理的逆命题: 若方程x2≡1 mod p,有唯一解x不为+1或-1,p不是素数。

n为待检测数,a为小于n的整数,将n-1表示为二进制形式bkbk-1…b0,d赋初值为1,算法核心如下: Miller-Rabin素性概率检测法 n为待检测数,a为小于n的整数,将n-1表示为二进制形式bkbk-1…b0,d赋初值为1,算法核心如下: for i=k downto 0 do {xd; 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 若返回False,n不是素数,若返回True,有可能是素数。 n-1≡-1 mod n,所以x ≠1和x ≠n-1指x2≡1 mod n 有非±1的根,n不是素数。 For循环结束,有d≡an-1 mod n。由费尔玛定理,若n为素数,d为1。所以d≠1,则d不是素数。

4.1.6 欧几里得算法 1. 求两个正整数的最大公因子 2. 两个正整数互素,可以求一个数关于另一个数的乘法逆元 2. 两个正整数互素,可以求一个数关于另一个数的乘法逆元 性质: 对任意非负整数a和正整数b, 有 gcd(a,b)=gcd(b,a mod b) 证明: a=kb+r≡r mod b  a mod b=a-kb 设d是a,b的公因子,即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(55,22)=gcd(22,11)=gcd(11,0)=11 gcd(11,10)=gcd(10,1)=1

2. If Y=0 then return X=gcd(f,d) 3. R=X mod Y 4. X=Y; 5. Y=R 6. Goto 2 gcd(55,22)=gcd(22,11)=gcd(11,0)=11 gcd(11,10)=gcd(10,1)=1 Euclid算法: Euclid(f,d) f>d 1. Xf;Yd; 2. If Y=0 then return X=gcd(f,d) 3. R=X mod Y 4. X=Y; 5. Y=R 6. Goto 2 假定输入是两个正整数

若gcd(a,b)=1, b在模a下有乘法逆元(设b<a)。 即存在x<a,bx≡1 mod a 欧几里德算法--求乘法逆元 若gcd(a,b)=1, b在模a下有乘法逆元(设b<a)。 即存在x<a,bx≡1 mod a 思路:求gcd(a,b),当gcd(a,b)=1时,则返回b的逆元。 整除中的一个论断: 若gcd(a,b)=d,则存在m,n,使得d=ma+nb。 那么当gcd(a,b)=1时,有ma+nb=1, 即m是a模b的逆元,n是b模a的逆元。

Extended Euclid(f,d) (f>d) 1.(X1 X2 X3)(1,0,f);(Y1Y2 Y3)(0,1,d); 扩展欧几里德算法: 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);停止,没有逆元; 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 求d模f的逆元

例:求解 11d (mod51) = 1的步骤。 即求11-1mod51=? f *X1+ d*X2 =X3 循环次数 Q X1 X2 X3 Y1 Y2 Y3 初值 -- 1 51 11 f *Y1+ d*Y2 =Y3 f *T1+ d*T2 =T3 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); 停止,没有逆元; 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 1 4 1 11 1 - 4 7 2 1 1 - 4 7 -1 5 4 3 1 -1 5 4 2 -9 3 4 1 2 - 9 3 -3 14 1 Q=X3 div Y3 = 51/11 = 4 T1=X1-Q*Y1 = 1- 4*0 = 1 11-1mod51=14