北京大学:《网络信息安全》课程教学资源(讲稿)第三讲 公钥密码算法

《网络信息安全》课程 第三讲公钥密码算法 主讲:段云所副教授 北京大学计算机系
网络信息安全 课程 第三讲 公钥密码算法 主讲 段云所 副教授 北京大学计算机系 北京大学计算机系

问题的提出 (1)密钥管理量的困难 传统密钥管理:两两分别用一对密钥时,则n个用 户需要C(n2)=mn-1)2个密钥,当用户量增大时,密 钥空间急剧增大。如 n=100时,C(1002)=4995 n=500时,C(500212,497,500 (2)数字签名的问题 传统加密算法无法实现抗抵赖的需求
1 密钥管理量的困难 传统密钥管理 两两分别用一对密钥时 则n个用 户需要C(n,2)=n(n-1)/2个密钥 当用户量增大时 密 钥空间急剧增大 如: n=100 时 C(100,2)=4,995 n=5000时 C(5000,2)=12,497,500 2 数字签名的问题 传统加密算法无法实现抗抵赖的需求 问题的提出

公钥加密模型 加密 解密 密钥 密钥 密文 明文 明文 加密算法 解密算法
公钥加密模型 明文 明文 密文 加密算法 解密算法 加密 密钥 解密 密钥

1什么是公钥密码体制 ·公钥密码又称为双钥密码和非对称密码,是1976年由 Diffie和 Hellman在其“密码学新方向”一文中提出的,见划时代的文献: W. Diffie and M.E. Hellman, New Directrions in Cryptography, IEEE Transaction on Information Theory, V.IT-22 No 6, Nov 1976, PP. 644-654 单向陷门函数是满足下列条件的函数f: (1)给定x,计算y=fx)是容易的; (2)给定y,计算x使y=fx)是困难的 (所谓计算x=F(Y困难是指计算上相当复杂,已无实际意义。)
1 什么是公钥密码体制 •公钥密码又称为双钥密码和非对称密码 是1976年由Diffie和 Hellman在其“密码学新方向”一文中提出的 见划时代的文献 W.Diffie and M.E.Hellman, New Directrions in Cryptography, IEEE Transaction on Information Theory, V.IT-22.No.6, Nov 1976, PP.644-654 单向陷门函数是满足下列条件的函数f (1)给定x 计算y=f(x)是容易的 (2)给定y, 计算x使y=f(x)是困难的 (所谓计算x=f-1(Y)困难是指计算上相当复杂 已无实际意义 )

(3)存在8,已知δ时对给定的任何y,若相应的x存在, 则计算x使y=fx)是容易的 注:1:仅满足(1)、(2)两条的称为单向函数;第(3)条称为 陷门性,δ称为陷门信息。 2·当用陷门函数f作为加密函数时,可将讼开,这 相当于公开加密密钥。此时加密密钥便称为公开钥, 记为Pk。f函数的设计者将δ保密,用作解密密钥, 此时δ称为秘密钥匙,记为Sk。由于加密函数是公开 的,任何人都可以将信息x加密成y=x),然后送给函 数的设计者(当然可以通过不安全信道传送);由于 设计者拥有Sk,他自然可以解出x=F(y) 3单向陷门函数的第(2)条性质表明窃听者由截获的 密文y=fx)推测x是不可行的
(3)存在 已知 时,对给定的任何y 若相应的x存在 则计算x使y=f(x)是容易的 注 1*. 仅满足(1) (2)两条的称为单向函数 第(3)条称为 陷门性 称为陷门信息 2*. 当用陷门函数 f 作为加密函数时 可将f公开 这 相当于公开加密密钥 此时加密密钥便称为公开钥 记为Pk f函数的设计者将 保密 用作解密密钥 此时 称为秘密钥匙 记为Sk 由于加密函数是公开 的 任何人都可以将信息x加密成y=f(x) 然后送给函 数的设计者 当然可以通过不安全信道传送 由于 设计者拥有Sk 他自然可以解出x=f-1(y) 3*.单向陷门函数的第(2)条性质表明窃听者由截获的 密文y=f(x)推测x是不可行的

算法代表 背包算法 RSA(Rivest, shamir, adleman 椭圆曲线(ECC, Elliptic Curve Cryptography)
背包算法 RSA(Rivest, Shamir, Adleman) 椭圆曲线 ECC, Eilliptic Curve Croptography) 算法代表

2背包问题 背包问题描述:已知一长度为b的背包及长度分别为aa2an的n 个物品。假定这些物品的直径与背包相同,若从这些物品中选出若 千个正好装满这个背包。那么,究竟是那些物品? 即求解 ∑a:x=b 其中a和b都是正整数。 背包问题是著名的mp完备类困难问题,至今没有好的求解方法。 而对2中可能进行搜索,实际上是不可能的
2 背包问题 背包问题描述 已知一长度为b的背包及长度分别为a1,a2,…an的n 个物品 假定这些物品的直径与背包相同 若从这些物品中选出若 干个正好装满这个背包 那么 究竟是那些物品 即求解 n Σ aixi=b i=1 其中 ai和b都是正整数 背包问题是著名的np完备类困难问题 至今没有好的求解方法 而对2n中可能进行搜索 实际上是不可能的

MH背包公钥密码 背包公钥密码: 选取正整数a1a2.an作为公钥,明文位串为m=mm2mn。利 用公钥加密问题c=a1m+a2m2+…+anmn 从明文c求明文m等价于背包问题。 MH背包公钥密码: 其背包系列a1a22是由超递增系列b12b,(b>∑b)经 MH(Merkle-Hellman)变换a= wb, (mod m得到的。虽然a1a2an不 具有超递增性,但可经变换后成为超递增系列求解
MH背包公钥密码 背包公钥密码 选取正整数a1,a2,…an作为公钥 明文位串为m=m1m2…mn 利 用公钥加密问题 c= a1 m1+ a2 m2+… +an mn. 从明文c求明文m等价于背包问题 MH背包公钥密码 i-1 其背包系列a1,a2,…an是由超递增系列b1,b2,…bn , bi> Σ bj) 经 j=1 MH(Merkle-Hellman)变换ak=wbk(mod m)得到的 虽然a1,a2,…an不 具有超递增性 但可经变换后成为超递增系列求解

3 Diffie-Hellman密钥交换算法 Di6和 Hellman在其里程碑意义的文章中,虽然给出了 密码的思想,但是没有给出真正意义上的公钥密码实例,也 没能找出一个真正带陷门的单向函数。然而,他们给出单向 函数的实例,并且基于此提出 Diffie-hellman密钥交换算法。 这个算法是基于有限域中计算离散对数的困难性问题之上: 设F为有限域,g∈F是F的乘法群FF{0}=。并且对 任意正整数x,计算g是容易的;但是已知g和y求x使y=g, 是计算上几乎不可能的。这一问题称为有限域F上的离散对 数问题。公钥密码学中使用最广泛的有限域为素域Fp 对 Diffie-Hellman密钥交换协议描述: Alice和Bob协商 好一个大素数p,和大的整数g,1<gp,p和g无须保密,可 为网络上的所有用户共享
3.Diffie-Hellman密钥交换算法 Diffie 和Hellman在其里程碑意义的文章中 虽然给出了 密码的思想 但是没有给出真正意义上的公钥密码实例 也 没能找出一个真正 带陷门的单向函数 然而 他 们给出单向 函数的实例 并且基于此提出Diffie-Hellman密钥 交换算法 这个算法是 基于有限域中计算离散对数的困难性问题 之 上 设 F为有限域 g F 是 F 的 乘 法 群 F *=F\{0}= 并且 对 任意正整数 x 计算 g x是容易的 但是已知 g 和 y 求 x 使y= g x 是计算上几乎不可能的 这一问题称为有限域 F上的离散 对 数问题 公钥密码学中使用最广泛的有限域 为素域 F P. 对Diffie-Hellman密钥 交 换协议描述 Alice 和Bob协商 好一个大 素 数 p 和大的整数 g 1<g<p p 和 g 无 须保密 可 为网络上的所有用户共享

当 Alice和Bob要进行保密通信时,他们可以按如下步骤来做: 1) Alicei选取大的随机数x,并计算X=gY(mdP) (2Bob选取大的随机数x,并计算X′=gx'modP) 3) Alice将X传送给Bob;Bob将Ⅹ'传送给 Alice (4) Alice计算K=(X^(modP,Bob计算K′=(X)X(modP) 易见,K=K′=gx(modP) 由(4)知, Alice和Bob已获得了相同的秘密值K。双方以K作为 加解密钥以传统对称密钥算法进行保密通信。 注: Diffie-Hellman密钥交换算法拥有美国和加拿大的专利
当Alice和Bob要进行保密通信时 他们可以按如下步骤来做 (1)Alice选取大的随机数x 并计算 X=gx(mod P) (2)Bob选取大的随机数x′ 并计算 X ′ = gx ′(mod P) (3)Alice将X传送给Bob Bob将X ′传送给Alice (4)Alice计算K=(X ′)X(mod P);Bob计算K ′ X) X ′(mod P), 易见 K=K ′ =g xx ′(mod P) 由(4)知 Alice和Bob已获得了相同的秘密值K 双方以K作为 加解密钥以传统对称密钥算法进行保密通信 注 Diffie-Hellman密钥交换算法拥有美国和加拿大的专利
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京大学:《网络信息安全》课程教学资源(讲稿)第二讲 数据加密算法(主讲:段云所).pdf
- 北京大学计算机系《网络信息安全》 第一讲 概论.pdf
- 《C语言程序设计》课程教学资源:试卷分析6.doc
- 《C语言程序设计》课程教学资源:试卷分析5.doc
- 《C语言程序设计》课程教学资源:试卷分析 4.doc
- 《C语言程序设计》课程教学资源:试卷分析3.doc
- 《C语言程序设计》课程教学资源:试卷分析2.doc
- 《C语言程序设计》课程教学资源:试卷分析.doc
- 《C语言程序设计》课程教学资源:课外作业.doc
- 《C语言程序设计》课程教学资源:综合练习.doc
- 《C语言程序设计》课程教学资源:第九章 编译预处理 练习9.doc
- 《C语言程序设计》课程教学资源:第八章 函数 练习8.doc
- 《C语言程序设计》课程教学资源:第七章 数组 练习7.doc
- 《C语言程序设计》课程教学资源:第六章 循环控制 练习6.doc
- 《C语言程序设计》课程教学资源:第四章 最简单的C程序设计 练习4.doc
- 《C语言程序设计》课程教学资源:第三章 数据类型、远算符与表达式 练习3.doc
- 《C语言程序设计》课程教学资源:第一章 C语言概述 练习1.doc
- 《C语言程序设计》课程教学资源:第八章 函数 答案8.doc
- 《C语言程序设计》课程教学资源:第七章 数组 答案7.doc
- 《C语言程序设计》课程教学资源:第六章 循环控制 答案6.doc
- 北京大学:《网络信息安全》课程教学资源(讲稿)第四讲 消息验证与数字签名.pdf
- 北京大学:《网络信息安全》课程教学资源(讲稿)第五讲 身份认证.pdf
- 北京大学:《网络信息安全》课程教学资源(讲稿)第六讲 访问控制.pdf
- 北京大学:《网络信息安全》课程教学资源(讲稿)第七讲 审计与管理.pdf
- 北京大学:《网络信息安全》课程教学资源(讲稿)第八讲 网络威胁与攻击分析.pdf
- 北京大学:《网络信息安全》课程教学资源(讲稿)第九讲 入侵检测分析.pdf
- 北京大学:《网络信息安全》课程教学资源(讲稿)第十讲 防火墙技术及其应用.pdf
- 北京大学:《网络信息安全》课程教学资源(讲稿)第十一讲 Web安全.pdf
- 北京大学:《网络信息安全》课程教学资源(讲稿)第十ニ讲 电子邮件安全与电子商务安全.pdf
- 北京大学:《网络信息安全》课程教学资源(讲稿)第十三讲 信息安全标准、法规、安全方案设计.pdf
- 网页三剑客MX教程:《Dreamweaver》 MX 入门教学课件.pdf
- 网页三剑客MX教程:《Fireworks》 MX 入门教学课件.pdf
- 网页三剑客MX教程:《Flash 》MX 教学课件.pdf
- 《七号信令系统》 课程讲解.doc
- 《无线网格网关键技术及应用研究》 引言.doc
- 《C程序设计》课程PPT教学课件讲解.ppt
- 安徽商贸职业技术学院:《基于ASP开发平台的设计模式》 讲义.pps
- 《可视化的软件架构设计》课程讲解.ppt
- 《NET上构架企业级应用程序》课程讲义.ppt
- 清华大学计算机系:《IBM-PC汇编语言程序设计》 汇编语言实验大纲.doc