第4章 公钥密码 现代密码学教案.ppt

  1. 1、本文档共184页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 公钥密码 现代密码学教案

第4章 公钥密码 4.1 数论简介 4.2 公钥密码体制的基本概念 4.3 RSA算法 4.4 背包密码体制 4.5 Rabin密码体制 4.6 椭圆曲线密码体制 习题 数论是密码学特别是公钥密码学的基本工具,本章首先介绍密码学中常用的一些数论知识,然后介绍公钥密码体制的基本概念和几种重要算法。 4.1 数论简介 4.1.1 素数和互素数 1. 因子 设a,b(b≠0)是两个整数,如果存在另一整数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)。 这里只给出④的证明,其他3个性质的证明都很简单。 性质④的证明: 由b|g,b|h知,存在整数g1、h1,使得g=bg1,h=bh1所以mg+nh=mbg1+nbh1=b(mg1+nh1),因此b|(mg+nh)。 2. 素数 称整数p(p1)是素数,如果p的因子只有±1,±p。 任一整数a(a1)都能惟一地分解为以下形式: 其中p1p2…pt是素数,ai0(i=1,…,t)。例如 91=7×11,11011=7×112×13 这一性质称为整数分解的惟一性,也可如下陈述: 设P是所有素数集合,则任意整数a (a1)都能惟一地写成以下形式: 其中ap≥0,等号右边的乘积项取所有的素数,然而大多指数项ap为0。相应地,任一正整数也可由非0指数列表表示。例如: 11011可表示为{a7=1,a11=2,a13=1}。 两数相乘等价于对应的指数相加,即由k=mn 可得:对每一素数p,kp=mp+np。而由a|b可得: 对每一素数p,ap≤bp。这是因为pk只能被pj(j≤k)整除。 3. 互素数 称c是两个整数a、b的最大公因子,如果 ① c是a的因子也是b 的因子,即c是a、b的公因子。 ② a和b的任一公因子,也是c的因子。 表示为c=gcd(a, b)。 由于要求最大公因子为正,所以gcd(a,b)=gcd(a,-b)=gcd(-a,b)=gcd(-a,-b)。一般gcd(a,b)=gcd(|a|,|b|)。由任一非0整数能整除0,可得gcd(a,0)=|a|。如果将a,b都表示为素数的乘积,则gcd(a, b)极易确定。 例如: 300=22×31×52 18=21×32 gcd(18,300)=21×31×50=6 一般由c=gcd(a,b)可得: 对每一素数p,cp=min(ap,bp)。 由于确定大数的素因子不很容易,所以这种方法不能直接用于求两个大数的最大公因子,如何求两个大数的最大公因子在下面介绍。 如果gcd(a,b)=1,则称a和b互素。 4.1.2 模运算 设n是一正整数,a是整数,如果用n除a,得商为q,余数为r,则 a=qn+r,0≤rn, 其中x为小于或等于x的最大整数。 用a mod n表示余数r,则 。 如果(a mod n)=(b mod n),则称两整数a和b模n同余,记为a≡b mod n。称与a模n同余的数的全体为a的同余类,记为[a],称a为这个同余类的表示元素。 注意: 如果a≡0(mod n),则n|a。 同余有以下性质: ① 若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 mod n)=ra,(b mod n)=rb,则存在整数j、k使得a=jn+ra,b=kn+rb。 因此 (a+b) mod n=[(j+k)n+ra+rb] mod n=(ra+rb) mod n = [(a mod n)+(b mod n)] mod n (证毕) 性质②、③的证明类似。 例4.1 设Z8={0,1,…,7},考虑Z8上的模加法和模

您可能关注的文档

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档