收藏 分享(赏)

安全与保密课件.ppt

上传人:天天快乐 文档编号:1121217 上传时间:2018-06-13 格式:PPT 页数:27 大小:370.50KB
下载 相关 举报
安全与保密课件.ppt_第1页
第1页 / 共27页
安全与保密课件.ppt_第2页
第2页 / 共27页
安全与保密课件.ppt_第3页
第3页 / 共27页
安全与保密课件.ppt_第4页
第4页 / 共27页
安全与保密课件.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、1,第二章 数学基础(3学时),一. 基本要求与基本知识点(1)掌握数论的有关基本定义、Euclid算法、同余概念及二次剩余概念;(2)掌握熵和互信息的概念;(3)了解三个NP-完全问题。二. 教学重点与难点(1)数论的有关基本定义和定理;(2)信息论的有关定义和定理。数论、信息论和算法复杂性理论是近代密码学的理论基础,本章给出简单介绍。,2,2.1数论基础,2.1.1 引言约定:字母N表示全体自然数集合,Z表示全体整数集合,即 N=0,1,2, Z=,-2,-1,0,1,2,定义2.1.1 如果存在一个整数k Z,使得n=kd,则称d整除n,记作d|n,其中d称作n的因数(Divisors)

2、,n称作d的倍数。如果不存在这样一个整数k Z使得n=kd,则称d不整除n,记作d+n。(1)若a、b、c均为整数,若c|a且c|b,则称c是a和b的公因数。把a和b的所有公因数中最大的,称为a和b的最大公因数(Greatest Common Divisors),记作gcd(a,b)。(2)若a、b、c均为整数,若a|c且b|c,则称c是a和b的公倍数。把a和b的所有公倍数中最小的,称为a和b的最小公倍数,记作lcm(a,b)。 例如:gcd(12,60)=12, lcm(15,20,30)=60,3,2.1数论基础,定义2.1.2 整数p(1)称为素数(Prime Number),如果除1和

3、其本身除外,p没有任何其它因数。不是素数的整数称为合数。 例如: 7=17,7没有1和7以外的因数,因此7是素数; 6=23,6有因数2和3,因此6是合数。 从此定义可知,正整数集合可分为三类:素数、合数和1。定理2.1.1 (算术基本定理)任何一个正整数m,都存在唯一的因数分解形式: m=p1e1p2e2pnen 其中ei N,pi是素数且p1p20,则存在两个整数q、r使得:a=bq+r 0rb成立,其中q和r唯一确定。定理2.1.3 设a、b N,则存在两个整数v、u,使得:ua+bv= gcd(a,b)定理2.1.4(Eulid算法)又称辗转除法,由定理2.1.2,得以下等式:a=bq

4、1+r1 0r1bb=r1q2+r2 0r2r1r1=r2q3+r3 0r3r2rn-2=rn-1qn+rn 0rnrn-1rn-1=rnqn+1+rn+1 rn+1=0则有:gcd(a,b)= rn,6,2.1数论基础,重复使用带余数除法(即每次的余数为除数去除上一次的除数)。每进行一次带余数除法,余数会递减,而b是有限的,因此经过一定次数的带余数除法,余数变为0。最后一个不为0的余数rn就是a和b的最大公因数。例:求gcd (1970,1066)=?【解】 用欧几里德算法的计算过程如下:197011066+90410661904+1629045162+94162=194+6894168+2

5、668226+1626116+1016110+61016+46=14+2422+0因此gcd (1970,1066) = 2,7,2.1数论基础,进行回代:2=6-14=6-1(10-16)=6-10+16=26-10=2(16-110)-10=216-210-10=216-310=216-3(26-116)=216-326+316=516-326=5(68-226)-326=568-1026-326=568-1326=568-13(94-168)=568-1394+1368=1868-1394=18(162-194)-1394=18162-1894-1394=18162-3194=18162

6、-31(904-5162)=18162-31904+155162=173162-31904=173(1066-1904)-31904=1731066-173904-31904=1731066-204904=1731066-204(1970-11066)=1731066-2041970+2041066=3771066-2041970故:2=3771066-2041970与定理2.1.3中ua+bv= gcd(a,b)相对应,a=1970,b=1066, u =-204 ,v=377由此可见,gcd(a,b)可以以线性形式ua+bv表达。,8,2.1数论基础,2.1.3 同余定义2.1.3 设a、

7、b是两个整数,m是一个正整数,如果m|b-a,即b-a=km,则称a与b对模m同余(Congruence),记作a b(mod m)。( 即a和b对m具有相同的余数。令a=k1m+r b=k2m+r b-a=k1m+r-(k2m+r)=(k1-k2)m=km )定理2.1.5 同余性质设a、b、c是整数,m是正整数,则有:(1)自反的,即a a(mod m);(2)对称的,即若a b(mod m) ,则b a (mod m);(3)传递的,即若a b(mod m),b c(mod m),则a c(mod m);,9,2.1数论基础, 我们用a (mod m)表示a被m除的余数,即r=a(mod

8、 m),则有: a(mod m)= b(mod m),表示为a b(mod m) 如果用a (mod m)代替a,就说a被模m约简。下面以约简的概念来定义模m的算术运算:Zm是一个集合0,1,m-1,其上有两种运算+和。在Zm的+和如同实数的加法和乘法,但要将结果被模m约简。例:在Z16上做算术运算1113实数运算1113=143 =816+15,被模16约简后结果为15,因此在Z16上,1113=15。定义2.1.4 如果对两个整数a和b有gcd(a,b)=1,则称a与b互素。1与任何整数互素。定义2.1.5 Euler(欧拉)函数是定义在正整数上的函数,它在正整数m的值等于1,2,.,i,

9、.,m-1中与m互素的数的个数记作(m)。例如m=6,1,2,3,4,5中与m互素的数为1,5,则有: (m)= (6)=2,10,2.1数论基础,定理2.1.6 设正整数m的标准分解形式为: m=p1e1p2e2pnen则 (m)= m(1-1/p1) (1-1/p2) (1-1/pn)例如m=6, 其标准分解形式为6=2131因此,(m)= (6)=6(1-1/2) (1-1/3)=2。定理2.1.7 Euler(欧拉)定理 若整数a和m互素,则 a(m) 1 (mod m)例如a=3,m=10由定理2.1.6,10=2151, 因此, (m)= (10)=10(1-1/2) (1-1/5

10、)=4代入定理2.1.7公式中有: a(m)=34=81 1 (mod 10) 1 (mod m),11,2.1数论基础,2.1.4 中国剩余定理设f(x)=anxn+an-1xn-1+a1x+a0,an0, ai N(i=1,2,n),若m是一个正整数,则 f(x) 0 (mod m) (1)称作为模m的同余式,n称为同余式的次数,n=1时称为一次同余式,n=2时称为二次同余式。若a是使f(a) 0 (mod m)成立的一个整数,则a叫做同余式(1)的解。事实上,满足x a (mod m)的所有整数都使同余式(1)成立,因此同余式(1)的解通常写成x a (mod m)。,12,2.1数论基

11、础,定理2.1.7(中国剩余定理)设m1,m2,mk是k个两两互素的正整数,m=m1m2mk,Mi=m/mi,i=1,2,k,则同余方程组:x b1(mod m1),x b2(mod m2),x bk(mod mk)有解:X M1M1b1+M2M2b2+MkMkbk(mod m)其中MiMi 1(mod mi),i=1,2,k。中国剩余定理是数论中最有用的定理之一,定理说明了某一范围的整数可通过它对两两互素的整数(如mi)取模所得余数来重构。例如Z10(共10个数,0,1,9)中的每个数,可通过它们对2和5(10的素因子,即10=2x5)取模所得的两个余数来重构。假设已知十进制数x的余数为0和

12、3,即 x (mod 2)=0且x (mod 5)=3,则可得到x是Z10中的偶数,且被5除后余数是3,因此8是满足这一关系的唯一x。,13,2.1数论基础,【例1】求解 x 1(mod2) x 2(mod3) x 3(mod5)【解】由已知条件: b1=1,b2=2,b3 =3,m1=2,m2=3,m3 =5依中国剩余定理: m=m1m2m3=235=30 M1=m/m1=30/2=15, M2=m/m2=30/3=10, M3=m/m3=30/5=6 且有: 即: M1M1 1(mod m1) 15M1 1(mod 2)- M2M2 1(mod m2) 10M2 1(mod 3)- M3M

13、3 1(mod m3) 6M3 1(mod 5)-,14,2.1数论基础,由、可得M1=1,M2=1,M3=1,将以上参数代入X M1M1b1+M2M2b2+MkMkbk(mod m) 1151+1102+163(mod 30) 53(mod 30)23(mod 30) #,15,2.1数论基础,【例2】求解 x 0(mod 2) x 0(mod 3) x 1(mod 5) x 6(mod 7)【解】由已知条件: b1=0,b2=0,b3 =1, b4 =6 m1=2,m2=3,m3 =5, m4=7 依中国剩余定理: m=m1m2m3m4=2357=210 M1=m/m1=210/2=105

14、, M2=m/m2=210/3=70, M3=m/m3=210/5=42, M4=m/m4=210/7=30 且有: 即: M1M1 1(mod m1) 105M1 1(mod 2)- M2M2 1(mod m2) 70M2 1(mod 3)- M3M3 1(mod m3) 42M3 1(mod 5)-M4M4 1(mod m4) 30M4 1(mod 7)-由、可得M1=1,M2=1。,16,2.1数论基础,下面求解M3=?,M4=?首先分析如下:由于M3=m/m3,所以M3与m3互素,即42与5互素,于是 gcd(42,5)=1依据定理2.1.3,存在两个整数M3和v,使得 gcd(42,

15、5)= 1 =42M3+5v两边同时对模5做求余运算,即可得: 42M3 1(mod 5)(同式)由以上分析可知,必须求出gcd(42,5)的线性表达式42M3+5v,即可得到M3。根据Eulid算法,此处a=42,b=5 42=58+2 5=22+1因此 gcd(42,5)=1,17,2.1数论基础,进行回代: 1=5-22=5-2(42-58)=5-242 =5-242+165=175-242即线性表达式为: 1=175-242两边同时对模5做求余运算,得: (-2)42 1(mod 5) (5-2)42 1(mod 5) 342 1(mod 5)与对照,可知M3=3同理由30M4 1(m

16、od 7),可得M4=4将以上参数代入x M1M1b1+M2M2b2+MkMkbk(mod m) 11050+1700+3421+4306 (mod 210) 846(mod210) 6(mod 210) #,18,2.1数论基础,1.1.5二次剩余考虑以下同余式x2 1(mod 5),x2 2(mod 5),x2 3(mod 5),x2 4(mod 5)不难发现:x=1,x=4满足x2 1(mod 5) x=2,x=3满足x2 4(mod 5)不存在整数x,满足x2 2(mod 5)和x2 3(mod 5)于是我们说1,4是模5的二次剩余,而2,5是模5的二次非剩余。定义2.1.6设gcd(

17、a, p)=1,即a和p互素。若同余式x2 a(mod p)有解,则称a为模p的二次剩余,否则称a为模p的二次非剩余。 定理2.1.9 若gcd(a, p)=1,则a是模p的二次剩余的充要条件为:ap-1/2 1 (mod p)a是模p的二次非剩余的充要条件为: ap-1/2 -1 (mod p),19,2.1数论基础,定义2.1.7 legendre符号( )是一个对于给定素数p定义在一切整数a上的函数,其值规定如下:例如,( )=( )=1,( )=( )=-1,( )=0。,20,2.2信息论基础,2.2.1熵的概念随机事件:指事件发生的结果是随机的、不确定的。随机变量:取值为某随机事件

18、发生的任一可能结果。概率分布:反映随机变量取随机事件可能结果的分布情况。熵:反映随机变量的不确定性。熵是信息的数学测度或不确定性,它是以概率分布的一个函数来进行计算的。假设x为一随机变量,它根据概率分布P(x)在一个有限集合上取值,我们用熵表示随机变量x的不确定性,记为H(x)。 “不确定性”与“信息量”有着密切关系。如某事件发生的结果只有一种可能,则说明该事件是确定的。若事件发生的结果有k种可能,则事件是不确定的,且随着k的增加,不确定性增大,所包含的信息量越多。即随机变量x的可能取值越大(k越大),随机变量的不确定性越大,所含信息量就越大。,21,2.2信息论基础,定义2.2.1 离散随机

19、变量x的熵H(x)定义为: H(x)=- 其中p(x)表示随机变量x的概率分布。例如,随机变量x取0,1两个值(及随机事件可发生两种结果),其中P(x=0)= P(x=1)=1/2,则 H(x)=- P(x=0)log2 P(x=0)- P(x=1)log2 P(x=1)=1/2*(-1)-1/2*(-1)=1当k=1(确定事件)时,H(x)=0;定义2.2.2 两个离散随机变量(x,y)的联合熵H(x)定义为:H(xy)=-其中p(xy)表示随机变量(x,y)的联合概率分布。定义2.2.3两个离散随机变量(x,y)的条件熵H(x)定义为:H(x|y)=-其中p(xy)表示随机变量(x,y)的

20、联合概率分布,p(x|y)表示随机变量(x,y)的条件概率分布。定理2.2.1 离散随机变量x的熵H(x)定义为: H(xy)= H(x)+ H(y|x),22,2.2信息论基础,2.2.2互信息互信息是一个事件包含另一个事件的信息的度量,或者是已知另外一事件(称作B)的情况下,事件(称作A)不确定性的减少。定义2.2.4两个离散随机变量x和y,它们具有概率分布p(x)和p(y)及联合概率p(xy),则互信息定义为:I(x;y)= 如果随机变量x和y统计独立, p(xy)=p(x)p(y) ,则I(x;y)=0 , 即y不含x的任何信息。定理2.2.2互信息具有对称性,即 I(x ; y) =

21、H(x)-H(x|y) = H(y)-H(y|x) = I(y ; x),23,2.3计算复杂性简介,1、计算复杂性从理论上讨论什么样的问题可由计算机来完成,理论上可计算的问题实际上是否可行等,均属于计算复杂性理论研究范畴。计算复杂性表示解决问题的算法所需要的时间与空间资源的多少。通常算法按其时间和空间的复杂性进行分类。如问题的输入规模为n,复杂性为O(nt)(t为常数),则算法是“多项式的”; 复杂性为O(tf(n) (t为常数),则算法是“指数的”。计算复杂性理论给出了求解一个问题的计算是“容易”还是“困难”的确切定义,这有助于确定一个密码算法的安全强度。2、问题分类计算复杂性理论按照解决

22、问题的算法对问题进行分类。能够用多项式时间算法解决的问题称之为易解的;不能在多项式时间内解决的问题称之为难解的。定义2.3.1 P类问题:在多项式时间内可以完成的问题;NP类问题:在多项式时间内可以验证的问题;在NP类问题中,有一类问题称为NP完全类问题,所有NP类问题都可以转换为NP完全类问题。因此NP完全类问题只要有一个问题有多项式求解算法,则整个NP类问题都属于P类问题(即可在多项式时间内完成)。,24,2.3计算复杂性简介,由于NP完全类问题目前不存在有效的算法,若想破译一密码相当于解决一个NP完全类问题,显然该密码是计算安全的。因此说NP完全类问题是密码学的基础之一。3、三个NP完全

23、类问题:(1)整数分解问题求两个大素数的乘积是容易进行的,但要分解两个大素数的乘积N=pq,求出它的素因子p和q则是非常困难的。但如果给定素因子p和q,则可很容易验证N=pq是否成立。(2)背包问题将背包问题抽象为数学模型:设长度为n的向量A=(a1,a2,an),任意给定一个正整数k,寻找有没有一些ai的和恰好等于k,即求方程 的解向量x=(x1,x2,xn),其中xi=0或xi=1。 当n较大时,很难求得解向量。但如果给定向量x=(x1,x2,xn),那么可以很容易验证它是否为背包问题的解。,25,2.3计算复杂性简介,(3)离散对数问题设x,r,n是正整数。已知x,r和n,可以很快地求出: y xr(mod n)反过来,如果已知y,x和n,求r使得: y xr(mod n)成立,此即离散对数问题。 当y,x和n较大时,求r非常困难。但如果给定一个整数r,那么可以很容易验证它是否为 y xr(mod n) 的解。,26,2.4本章总结,(1)数论的有关基本定义(2)Euclid算法(3)同余概念(4)二次剩余概念(5)熵和互信息的概念(6)三个NP-完全类问题,27,第二章完,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报