对称密码体系

上传人:ji****72 文档编号:50951243 上传时间:2018-08-11 格式:PPT 页数:172 大小:3.10MB
返回 下载 相关 举报
对称密码体系_第1页
第1页 / 共172页
对称密码体系_第2页
第2页 / 共172页
对称密码体系_第3页
第3页 / 共172页
对称密码体系_第4页
第4页 / 共172页
对称密码体系_第5页
第5页 / 共172页
点击查看更多>>
资源描述

《对称密码体系》由会员分享,可在线阅读,更多相关《对称密码体系(172页珍藏版)》请在金锄头文库上搜索。

1、网络与信息安全*1第3章 对称密码体系 本章主要内容: 3.1 流密码 3.2 分组密码 3.3 数据加密标准 3.4 其他分组密码 3.5 基于分组密码的攻击及密码分析方法 Date23.1 流密码 3.1.1 流密码及其工作模式 3.1.2 快速软、硬件实现的流密码算法 Date3流密码的基本概念l流密码是将明文划分成字符(如单个字母),或其编码 的基本单元(如0, 1数字),字符分别与密钥流作用进 行加密,解密时以同步产生的同样的密钥流实现。l流密码强度完全依赖于密钥序列的随机性 (Randomness)和不可预测性(Unpredictability)。l核心问题是密钥流生成器的设计。l

2、保持收发两端密钥流的精确同步是实现可靠解密的关 键技术。Date43.1 流密码一般模型l流密码( stream cipher)(序列密码)体制模型明文序列: m= m1 m2 m3 ; 密钥序列: z=z1 z2 z3 ; 密文序列: c= c1c2 c3 ; 加密变换: ci=E(zi,mi) (i=1,2,3,); 解密变换: mi=D(zi, ci) (i=1,2,3,).Date5l流密码原理框图信道ciD(zi,ci)cimiE(zi,mi)mi密钥流生成器zizi密钥流生成器kk安全信道3.1 流密码一般模型Date6l流密码体制的安全性 当流钥序列是具有均匀分布的离散无记忆随机

3、序 列时, 在理论上是不可破译的.l实用的困难性真正的具有均匀分布的随机序列是不可能重复产 生的.密钥序列长(至少与明文序列一样长), 其管理(存储 、 分配)难.l设计流密码体制的关键问题设计产生密钥序列的方法.3.1 流密码一般模型Date7l流密码的分类l同步流密码(SSC: synchronous stream cipher)产生密钥序列的算法与明文、密文无关.ciE(zi,mi)mizi密钥流生成器k3.1 流密码一般模型Date8l序列密码的分类l同步流密码(SSC: synchronous stream cipher)l只要通信双方的密钥序列产生器具有相 同的“种子序列”和相同的

4、“初始状态”,就能产生 相同的密钥序列.l通信双方必须保持精确同步,才能正确解 密.l容易检测插入、删除、重播等主动攻击.l没有差错传播.3.1 流密码一般模型Date9l流密码的分类l自同步流密码(SSSC: self-synchronous stream cipher)产生密钥序列的算法与以前的秘文有关.E(zi,mi)mizi密钥流生成器kci3.1 流密码一般模型Date10l自同步流密码(SSSC)l密钥流生成器是一种有记忆变换器l密钥流与明文符号有关:i 时刻的密文不仅取决于i 时刻的明文,而 且与i 时刻之前的l个明文符号有关l具有有限的差错传播l具有自同步能力l把明文每个字符扩

5、散在密文多个字符中,强 化了抗统计分析的能力3.1 流密码一般模型Date11l二元加法序列密码3.1 流密码一般模型明文序列: m= m1 m2 m3 ; 密钥序列: z= z1 z2 z3 ; 密文序列: c= c1 c2 c3 ; 加密变换: ci=zimi (i=1,2,3,); 解密变换: mi=zici (i=1,2,3,).Date12l密钥流生成器的分解Ruppe将密钥流生成器分成两部分:驱动部分和非线 性组合部分 l驱动部分:可由m-序列或其它长周期的LFSR序列组成,用 于控制密钥流生成器的状态序列,并为非线性组合部分提供伪 随机性质良好的序列l非线性组合部分:利用驱动部分

6、生成的状态序列生成满足 要求的密码特性好的密钥流序列驱动部分非线性 组合部分Date13lRC4算法lRC4是由Rivest于1987年开发的一种序列密码,它已被 广泛应用于Windows, Lotus Notes和其它软件,还被用 于安全套接字(SSL)和无线通信系统等.lRC4优点是算法简单、高效,特别适于软件实现,加 密速度比DES大约快10倍。lRC4可以支持不同密钥长度,美国政府特别限定,用 于出口的RC4的密钥长度不得超过40位。3.1.2 快速软、硬件实现的流密码算法 Date143.1.2 快速软、硬件实现的流密码算法 lRC4使用了一个28字节大小的非线性数据表(简称S表 )

7、, S表的值S0,S1,S255是数字0到255的一个排列。对S 表进行非线性变换,得到密钥流。 lRC4对S表的初始化算法(两个计数器I和J, I=0 , J=0)1. 对S表进行线性填充:SI=I, 0I6时的扩展算法Date90AES的轮密钥生成算法l轮密钥选取第i个轮密钥由WNbi)到WNb(i+1)给 出.Date91AES加密算法的伪C代码Rijndael(State, CipherKey) KeyExpansion(CipherKey, ExpandedKey);AddRoundKey(State, ExpandedKey); for (i=0; i0,a1)的逆函数称为以a为底

8、的对数, 记为x=logayl设p为素数,a是p的本原根,则a0,a1,.,a p-1产生 1到p-1中所有值,且每个值只出现一次。对任一 b1,p-1,都存在唯一的i(1i p),使bai mod p。i称为模p下以a为底b的指标,记为 i=inda,p(d)Date128离散对数l指标的性质inda,p(1)=0inda,p(a)=1inda,p(xy)=inda,p(x)+ inda,p(y) mod j(p)inda,p(yr)=rinda,p(y) mod j(p)后两个性质基于下列结论若azaq mod p ,a和p互素,则z q mod j (p)Date129离散对数l设p是素

9、数,a是p的本原根。对b1,p-1, 有唯一的i 1,p-1,使bai mod p。称i为 模p下以a为底b的离散对数,记为 i logab (mod p)l已知a,p,i,求b比较容易,以及a,b,p,求i非常困 难Date130公钥密码体制的基本概念Basic Concept of Public Key Cryptography*131公钥密码体制的原理公钥体制(Public key system) (Diffie和Hellman,1976)每个用户都有一对选定的密钥(公钥k1;私钥k2),公开的密 钥k1可以像电话号码一样进行注册公布。主要特点:l加密和解密能力分开l多个用户加密的消息只

10、能由一个用户解读,(用于公共网 络中实现保密通信)l只能由一个用户加密消息而使多个用户可以解读(可用于 认证系统中对消息进行数字签字)。l无需事先分配密钥。2018/8/11132公钥体制加密公钥体制加、解密 m=D (c)=DSKB (EPKB(m) 安全保障 从公开钥PKB和密文c要推出明文m或解密钥SKB在计算上是 不可行的。 由于任一用户都可用用户B的公开钥PKB 向他发送机密消息 ,因而密文c不具有认证性。发送者A加密算法PKB密钥源SKB解密算法接收者B密码分析员mcmmSKB2018/8/11133公钥密码认证体制用户A以自己的秘密钥SkA对消息m进行A的专用变换 DSKA,A计

11、算密文:c=DSKA(m)送给用户B,B验证c: m=EPKA(c)=EPKA(DSKA(m) 安全性:由于SkA 是保密的,其他人都不可能伪造密文c,可用A 的 公开钥解密时得到有意义的消息m。因此可以验证消息 m来自A而不是其他人,而实现了对A所发消息的认证。2018/8/11134公钥密码认证体制发送者A加密算法SKA密钥源PKA解密算法接收者B密码分析员mcmSKA2018/8/11135公钥保密和认证体制2018/8/11136公钥密码应满足的要求l接收方B产生密钥对在计算上是容易的l发送方A用收方的公开钥对消息m加密以产生密 文c在计算上是容易的。l收方B用自己的秘密钥对密文c解密

12、在计算上是容 易的。l敌手由密文c和B的公开密钥恢复明文在计算上是 不可行的。l敌手由密文c和B的公开密钥恢复秘密密钥在计算 上是不可行的l加解密次序可换,即 EPKBDSKB(m)=DSKBEPKB(m) ,不是对任何算法都 做此要求。Date137单向函数一个可逆函数f:AB,若它满足:1o 对所有xA,易于计算f(x)。2o 对“几乎所有xA”由f(x)求x“极为困难”,以至 于实际上不可能做到,则称f为一单向(One-way)函 数。l定义中的“易于计算”是指函数值能在其输入长度 的多项式时间内求出,即若输入长度为n,计算函数 的时间是na的倍数,a为一固定的常数。l若计算函数时间是a

13、n的倍数,则为不可能做到的。Date138限门单向函数l单向函数是求逆困难的函数,而单向陷门函 数(Trapdoor one-way function),是在不知 陷门信息下求逆困难的函数,当知道陷门信 息后,求逆是易于实现的。l限门单向函数是一族可逆函数fk,满足Y=fk(X)易于计算(当k和X已知)Xf-1k(Y)易于计算(当k和Y已知)Xf-1k(Y)计算上不可行(Y已知但k未知) 研究公钥密码算法就是找出合适的单向限门函 数Date139RSA算法RSA Algorithm*140概况lMIT三位年青数学家R.L.Rivest,A.Shamir和 L.AdlemanRivest等197

14、8, 1979发现了一种 用数论构造双钥的方法,称作MIT体制,后 来被广泛称之为RSA体制。l它既可用于加密、又可用于数字签字。lRSA算法的安全性基于数论中大整数分解的 困难性。Date141算法描述密钥产生l独立地选取两大素数p和q(各100200位十 进制数字)l计算 n=pq,其欧拉函数值(n)=(p1)(q 1)l 随机选一整数e,1e(n),gcd(n), e)=1l在模(n)下,计算e的有逆元d=e -1 mod (n) l以n,e为公钥。秘密钥为d。(p, q不再需要 ,可以销毁。)Date142算法描述加密和解密l加密将明文分组,各组对应的十进制数小于nc=me mod n

15、l解密m=cd mod nDate143解密正确性证明lcd mod n med mod n m1 mod(n) mod n mk(n)+1 mod nlm与n互素,由欧拉定理m(n)1 mod n, mk(n)1 mod n, mk(n)+1m mod nlgcd(m,n) 1,m是p的倍数或q的倍数,设m=cp, 此时gcd(m,q)=1,由欧拉定理, m(q)1 mod q, mk(q)1 mod q, mk(q) (p)1 mod q mk(n)1 mod q,存在一整数r,使mk(n)1rq两边同乘m=cp, mk(n)+1m+rcpq=m+rcn,即 mk(n)+1m mod nDate1444.2 RSA 公钥密码体制 2RSA算法的实现(举例)取两个质数p=11,q=13,p和q的乘积为 n=pq=143,算出另一个数z=(p-1)(q-1)=120; 再选取一个与z=120互质的数,例如e=7,则公开 密钥=(n,e)=(143,7)。对于这个e值,可以算出其逆:d=103。因为 ed=7103=721,满足ed mod z =1;即721 mod 120=1成立。则秘密密钥=(n,d)=(143,103 )。 Date1454.2 RSA 公钥密码体制 2RSA算法的实现(举例)张小姐需要发送机密信息(明文)m=85给李先 生,她已经从公开媒体得到了

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

当前位置:首页 > 行业资料 > 其它行业文档

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