密码编码学与网络安全

上传人:自*** 文档编号:48370839 上传时间:2018-07-14 格式:PPT 页数:80 大小:2.52MB
返回 下载 相关 举报
密码编码学与网络安全_第1页
第1页 / 共80页
密码编码学与网络安全_第2页
第2页 / 共80页
密码编码学与网络安全_第3页
第3页 / 共80页
密码编码学与网络安全_第4页
第4页 / 共80页
密码编码学与网络安全_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《密码编码学与网络安全》由会员分享,可在线阅读,更多相关《密码编码学与网络安全(80页珍藏版)》请在金锄头文库上搜索。

1、名词解释 20 RSA算法(因素,因子)公钥,私钥的计算 20 AES分析,矩阵的变换 20 HMAC算法,结构,4种目标,实现,问答型, 理解型 20 PGP(原理图)什么时候加密,怎么加密 20 密钥交换 理解原理,目的防止攻击,提出好方法 ?防范措施 20 流程图的解读 记号读懂 20公钥加密的出现 1976年由Whitfield Diffie & Martin Hellman 在Stanford University所发明加密密钥PK是公开的,称为公钥解密密钥SK是保密的,称为私钥 公钥技术是二十世纪最伟大的思想之一 改变了密钥分发的方式 可以广泛用于数字签名和身份认证服务公钥编码模型

2、-1公钥编码模型-2公钥加密的特点 公开密钥密码体制 能够有效计算公钥PK和私钥SK。 从已知的公钥PK不能推导出私钥SK。 发送方用公钥PK进行加密,而接收方用私 钥SK进行解密,还原出明文,即:DSK(EPK(P) = P 两个密钥中的任何一个都能进行加密,而 另一个则进行解密。公钥算法应用:保密公钥算法应用:鉴别保密和鉴别RSA RSA方法由三位MIT科学家Rivest、 Shamir和Adleman于1977年提出 最著名和使用最广泛的公钥加密方法 基于整数的有限幂次对素数的取模 使用大整数作为密钥 安全性依赖于大数的因子分解RSA-密钥选择 1随机选择两个大素数p和q。 2计算公开的

3、模 n=p*q 。 3计算欧拉函数 (n)=(p-1)*(q-1)。 4随机选一整数 e,1e(n) , ((n),e)=1。即(n)和e互素。 5计算d ,满足 ed mod (n) =1。 得到公钥和密钥,公钥为( e , n ),密钥为 d 。RSA-加密与解密1将明文划分为一个个数据块P,其中0Pn。2C为P对应的密文。则:加密:C= Pe (mod n)解密:P= Cd (mod n)RSA-证明 解密: X = DSK(C) = Cd mod n = (Xe mod n)d mod n = Xed mod n 由于de 1 mod(n),故 de = k(n) +1,则 Cd mo

4、d n = X k(n) +1 mod n = (X(n)k X mod n = X (根据欧拉定理的变化形式) RSA-举例 1选择p=7,q=17。 2计算n=p*q=119,(n)=(p-1)*(q-1)=96。 3选e=5,因为5和96互素。 4根据5d mod 96=1,得d=77。 5公钥为(5,117),密钥为77。 如:明文为P=6。 密文: C=Pe mod n = 65 mod 119 =41。 解密:P=Cd mod n = 4177 mod 119= 6。RSA的计算技巧 模运算的性质计算Me mod n (a mod n) (b mod n) = (ab) mod n

5、 e= bkbk-1b0, 则e = 2i, 其中bi =1 Me = M2i =(Mb k)2 Mbk-1)2 Mbk-2)2 )2 Mbk)2 Mb1)2 Mb0 如:65 =6101=(6)2)2 . 6= 362 . 6 = 7776 . 6 = 46656 计算算法 d=1 For i=k to 0 do d=d2 mod n If bi=1 then d=(d*M) mod nRSA的计算技巧 计算7560 mod 561 560=230h=0010 0011 0000b d=1, k=9, i=9, d=d2 mod 561=1, b9=1, d=(d*7) mod 561=7

6、i=8, d=d2 mod 561=49, b8=0 i=7, d=d2 mod 561=157, b7=0 i=6, d=d2 mod 561=526, b6=0 i=5, d=d2 mod 561=103, b5=1, d=(d*7) mod 561=160 i=4, d=d2 mod 561=355, b4=1, d=(d*7) mod 561=241 i=3, d=d2 mod 561=298, b3=0 i=2, d=d2 mod 561=166, b2=0 i=1, d=d2 mod 561=67, b1=0 i=0, d=d2 mod 561=1, b0=0RSA-安全性 蛮力攻

7、击 数学攻击 定时攻击RSA-蛮力攻击整数N的因子分解:从2 开始试验每一个小于等于N 的素数整数n的十进制位数 因子分解的运算次数 所需计算时间(次/微秒 ) 501.4x10103.9小时 759.0x1012104天 1002.3x101574年 2001.2x10233.8x109年 3001.5x10294.0x1015年 5001.3x10394.2x1025年RSA-数学攻击 三种形式: 因子分解 N=p.q, 从而发现 (N) 和 d 直接确定 (N) ,然后找出 d 直接找出 d 关键是因子分解 改进不大 Aug-99 曾经使用 GNFS 攻击 130 decimal dig

8、its (512) bit 算法改进 从 “Quadratic Sieve” 到 “Generalized Number Field Sieve” 采用1024+ bit RSA 使攻击更困难 确保 p, q 具有相同大小且满足其他限制RSA-定时攻击 mid-1990s 提出 利用运算过程中的时间变化 密钥中的0或1,时间不同 从化费时间推算出操作数的大小 对策 使用固定时间 随机延迟 运算盲化-取幂操作前将密文与一个随机数相乘Summary have considered: principles of public-key cryptography RSA algorithm, imple

9、mentation, security第5章 高级加密标准5.1 AES评估准则 5.2 AES密码Advance Encryption Standard 1997年NIST宣布征集AES算法。 与三重DES比,要快且至少一样安全; 分组128位,密钥128/192/256位; 设计简洁。 1998年确定第一轮15个候选者 1999年确定第二轮五个候选者: MARS, RC6, Rijndael, Serpent, Twofish。 2000年底Rijndael胜出。Rijndael简介 加密、解密相似但不对称 不属于Feistel结构,属于重复结构 支持128/32=Nb数据块大小 支持12

10、8/192/256(/32=Nk)密钥长度 有较好的数学理论作为基础 结构简单、速度快AES算法结构AES算法的轮变换中没有 Feistel结构,轮变换是由三 个不同的可逆一致变换组成 ,称之为层。线性混合层:确保多轮之上 的高度扩散。 非线性层:具有最优最差-情 形非线性的S-盒的并行应用密钥加层:轮密钥简单地异 或到中间状态上。AES算法结构Ecryption Decrypti on状态、密钥的表示 状态/密钥的矩阵表示State KeyS00S01S02S03S10S11S12S13S20S21S22S23S30S31S32S33k00k01k02k03k10k11k12k13k20k2

11、1k22k23k30k31k32k33字节代替(Substitute Bytes )变换 字节代替是一个非线性的字节代替,独立地在每个 状态字节上进行运算。代替表(S-盒)是可逆的, 是一个1616的矩阵。example行移位(Shift Row)变换列混合Mix Column变换 代替操作,将状态的列看作有限域GF(28)上的4维 向量并被有限域GF(28)上的一个固定可逆方阵A 乘MixColumns Transformation(0287) (036E) 46 A6=47 0287=(0000 1110) (0001 1011)=(0001 0101) 036E=6E 02 6E=(01

12、10 1110) (1101 1100) = (1011 0010) 0001 0101 1011 0010 0100 0110 1010 0110 = 0100 0111 = 47轮密钥加(Add Round Key)一个简单地按位异或的操作AES的密钥调度长度选择 所有轮密钥比特的总数等于分组长度乘(轮数加1)。(如128比特的分组 长度和10轮迭代,共需要1408比特的密钥)。密钥扩展 将密码密钥扩展成一个扩展密钥。轮密钥选取 轮密钥按下述方式从扩展密钥中选取:第一个轮密钥由开始Nb个字组成 ,第二个轮密钥由接下来的Nb个字组成,如此继续下去。AES Key Expansion g fu

13、nction One-byte circular left shift on a word. A byte substitution using S-box XOR with a round constant, Rconj, in which the three rightmost bytes are always 0, the left byte is define in the next page.AES Key Expansion Example Round constants RCj=2RCj-1, where multiplication is define over GF(28)

14、Round 8 example EA D2 73 21 B5 8D BA D2 31 2B F5 60 7F 8D 29 2F Calculate the round key for round 9j12345678910RCj 01020408102040801B36itempAfter RotWordAfter SubByteRcon (9)After XORwi-4XOR temp36 7F8D292F 8D292F7F 5DA515D2 1B000000 46A515D2 EAD27321 AC7766F3Rijndael算法的抵抗攻击能力 消除了DES中出现的弱密钥的可能 也消除了I

15、DEA中发现的弱密钥 能有效抵抗目前已知的攻击算法 线性攻击 差分攻击先进对称分组加密算法的特点 可变的密钥长度: RC5 混合的运算 IDEA 数据相关的圈数 RC5 密钥相关的圈数 CAST-128 密钥相关的S盒: Blowfish 冗长密钥调度算法: Blowfish 可变的F:CAST-128 可变长明文/密文块长度 可变圈数 每圈操作作用于全部数据12.3 HMAC 由密码散列函数导出MAC 目的: 密码散列函数(如SHA-1)比加密算法( 如DES)执行速度快。 容易获得密码散列函数的库代码 美国对散列函数没有限制,而对加密算法 则有严格限制。HMAC-设计目标 使用现成的散列函数 容易替换为更安全的散列函数 保持散列函数的原有性能 使用和处理密钥的方式简单 对鉴别机制有一个易懂的密码分析。HMAC-结构b-一个分组位数 n-散列码长度 K-密钥 K

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号