1、信息安全专题讲座信息安全专题讲座 一、美军情况一、美军情况 二、安全技术二、安全技术一一、美军情况、美军情况 1 1、计划与进展、计划与进展规划:规划:C C4 4I I2 2SRSR,标志着美军进入互联网时代,标志着美军进入互联网时代 计算机网:计算机网:C C3 3I I(星状,格状)(星状,格状)互互 联联 网:网:C C4 4I I2 2SRSR(格状);(格状); 进展:进展:93-9693-96年,年,2 2万万600600个个 分步开放分步开放 2 2、网络发展、网络发展 计算机网到互联网计算机网到互联网 封闭网到开放网封闭网到开放网 集团通信到个人通信集团通信到个人通信 有中心
2、网到无中心网有中心网到无中心网 3 3、互联网课题、互联网课题 美军认为:军事工作已离不开互联网,美军认为:军事工作已离不开互联网, 提倡使用,提倡使用, 同时提出研究课题同时提出研究课题 研究课题:防火墙研究课题:防火墙 网络警察网络警察 源地址跟踪源地址跟踪4 4、美国防部观念变化、美国防部观念变化 标准制定标准制定商品化商品化重复建设重复建设 vulnerability: vulnerability: 漏洞漏洞二二、安全技术安全技术 密码算法密码算法 认证逻辑认证逻辑 密钥管理密钥管理 保护技术保护技术1、密码算法、密码算法 目的:目的: 将秘密信息改成公开信息将秘密信息改成公开信息授权
3、控制;授权控制;算法:对称算法,技术饱和算法:对称算法,技术饱和公钥算法,公钥算法,RSARSA DH, ELGAMEL DH, ELGAMEL ECC ECC用途:数据加密用途:数据加密部分认证部分认证构建构建VPNVPN RSA体制体制建立在建立在IFPIFP(integer factorization problemminteger factorization problemm)上。上。 作业参数作业参数:私钥:私钥:SK=DSK=D; 公钥:公钥:PK=EPK=E;T=NT=N; 加密(验证):加密(验证):A AE E mod N = Cmod N = C; 脱密(签名):脱密(签名
4、):C CD D mod N = Amod N = A; 因为因为 N=pqN=pq,而,而p p、q q是素数,是素数, 所以所以E E* *D=1mod(p-1)(q-1)D=1mod(p-1)(q-1) D-H体制体制 建立在建立在DLPDLP(discrete logarithm problem)(discrete logarithm problem)上。上。 参数:参数:T=g,p (pT=g,p (p是素数是素数) ) 私钥:私钥:a ba b 公钥:公钥:g ga a mod p=Kmod p=KA A; g gb b mod p=Kmod p=KB B 在在A A方:方: (
5、(g gb b) )a a mod p= gmod p= gba ba mod p=keymod p=key 在在B B方:方: ( (g ga a) )b b mod p= gmod p= gab ab mod p=keymod p=key 在在C C方:方: (g(ga a) (g) (gb b) ) = g= ga a+b+b keykey ECC体制体制 ECCECC是基于是基于ECDLPECDLP(elliptic curve discrete (elliptic curve discrete logaritmlogaritm problem) problem)的密码体制。的密码体制
6、。 设设FqFq上椭圆曲线上椭圆曲线 E:yE:y2 2=x=x3 3+ax+b mod p+ax+b mod p 参数:参数:T=a,b,G=(x,y),n,pT=a,b,G=(x,y),n,p 私钥:私钥:K K 公钥:公钥:KGKG 应用:可以模拟所有应用:可以模拟所有DLPDLP体制的密码。体制的密码。 三种体制比较三种体制比较 参数参数 公钥公钥 私钥私钥 IFP RSA - IFP RSA - 1088 1024 1088 1024 DLP DSA 2208 1024 DLP DSA 2208 1024 160 160 ECDLP ECDSP 481 161 ECDLP ECDSP
7、 481 161 160 160 2、认证逻辑:、认证逻辑: 信任逻辑:注册性信任逻辑:注册性 共有性共有性 唯一性唯一性 一体性一体性 主从性主从性 相信逻辑:相信逻辑:BANBAN逻辑逻辑 NRLNRL逻辑逻辑 生物特征生物特征 主要用于实体认证主要用于实体认证 指纹指纹 (4(4K)K) 视网膜视网膜 (2(2K)K) 虹膜虹膜 (256(256B)B) 面部特征与语音特征面部特征与语音特征 (16(16K)K)BANBAN逻辑逻辑 1 1、解读性规则(、解读性规则(meaning of message)meaning of message) K K 如果如果 P Q P , P X K
8、 (相信)(共有)(相信)(共有) (能读)(能读) 那么那么 P Q X (相信)(所做)(相信)(所做) if P BELIEVES P AND Q SHARED KEY K THEN P BELIEVES THAT Q ONCE WROTE X 当次性规则当次性规则 2 2、当次性规则、当次性规则( (rule of nonce)rule of nonce) 如果如果 P #(X) , P Q X 那么那么 P Q X IF P BELIEVES X IS NEW AND P BELIEVES Q ONCE WROTE X THEN P BELIEVES THAT Q BELIEVES
9、X管辖性规则管辖性规则 3 3、管辖性规则、管辖性规则( (jurisdiction)jurisdiction) 如果如果 P Q X ,P Q X 那么那么 P X IF P BELIEVES THAT Q HAS JURISDICTION OVER XAND P BELIEVES THAT Q BELIEVES X THEN P BEKIEVES X两种逻辑两种逻辑 1) 信任链信任链 2)相信链(证明链)相信链(证明链) 3)协议分析)协议分析信任链信任链 信任建立:信任建立:“合同合同” “注册注册” 信任转移:不是安全控制机制;信任转移:不是安全控制机制; 转移结果:转移结果:A公司
10、的证件由公司的证件由B公司签发;公司签发; 权利转移结果是失去权利;权利转移结果是失去权利; 信任转移结果是失去信任关系;信任转移结果是失去信任关系;相信链相信链1)相信逻辑能否推导信任结果?)相信逻辑能否推导信任结果?2)零知识证明;)零知识证明;a)相信逻辑欲推导信任结果;相信逻辑欲推导信任结果; b)没有信任关系,推导相信结果;没有信任关系,推导相信结果;3)信任结果是可否;如:访问权)信任结果是可否;如:访问权 相信结果是是否;如:到商店买东西相信结果是是否;如:到商店买东西 银行支票流通银行支票流通协议评估协议评估1)零知识证明:相信逻辑;)零知识证明:相信逻辑; 2)kerbero
11、s: kerberos-client:信任逻辑;信任逻辑; TGS -client:相信逻辑;相信逻辑; Server -client:相信逻辑;相信逻辑;3)CA:相信逻辑;:相信逻辑; KERBEROSKERBEROSCLIENTSERVERTGS第三方信任逻辑相信逻辑相信逻辑 CA 证明链证明链CACA1CA2CA11CA12CA21CA22个人证书个人证书个人证书个人证书(PKI)CA11,(,(PKCA11)CA1,(,(PKCA1)CA(PKJ)CA21,(,(PKCA21)CA2,(,(PKCA2)CAijSchnneier评语:评语: 一个可信人给某人的公钥签名就成了公钥证书。
12、这个可信人就是一个可信人给某人的公钥签名就成了公钥证书。这个可信人就是证明机构(证明机构(certification authority).有一种非密码的复杂问题困扰这类系统。证明的含义是什么,谁受到有一种非密码的复杂问题困扰这类系统。证明的含义是什么,谁受到信任,给谁发证书?任何人都可以给任何其他人的证书签名。信任,给谁发证书?任何人都可以给任何其他人的证书签名。 通常,一个证明链(通常,一个证明链(certification chain)是信任转移的:一个可信是信任转移的:一个可信实体证明很多可信代理,可信代理证明很多可信公司的实体证明很多可信代理,可信代理证明很多可信公司的CA,各公司的
13、,各公司的CA证明各自的雇员。证明各自的雇员。-证书中的个人身份有多大可信度?证书中的个人身份有多大可信度?-一个人和给他发证书的一个人和给他发证书的CA之间是什么关系?之间是什么关系?-谁能作为最顶上的谁能作为最顶上的“唯一可信实体唯一可信实体”?-证明链到底多长?证明链到底多长?-对对CA来说作废证书的保留是至关重要的,但仍是一个难题。来说作废证书的保留是至关重要的,但仍是一个难题。 支付逻辑支付逻辑顾客顾客受理行受理行商场商场发行行发行行建立信任建立信任相信逻辑相信逻辑信任逻辑信任逻辑相信逻辑相信逻辑信任逻辑信任逻辑信任逻辑信任逻辑3、密钥管理:、密钥管理: 基本概念基本概念 重要性:逻
14、辑隔离技术之一重要性:逻辑隔离技术之一重要的认证参数重要的认证参数两种体制:两种体制:KDC,CDCKDC,CDC CA ,PGP CA ,PGP 密钥分级:三级:对数据加密的密钥密钥分级:三级:对数据加密的密钥 二级:对三级密钥加密的密钥二级:对三级密钥加密的密钥 一级:对二级密钥保护的密钥一级:对二级密钥保护的密钥密钥使用举例密钥使用举例 HASHHASH(DATADATA)= MAC; (MAC)DA=SIGN E E RAN1RAN1 ( DATA/SIGN DATA/SIGN )=CODE=CODE E EKA-BKA-B(RAN1)=RAN2(RAN1)=RAN2 发送:(发送:(
15、RAN2RAN2,CODECODE)密钥管理的主要内容密钥管理的主要内容 密钥生产:个人,无边界,无中心密钥生产:个人,无边界,无中心CACA统一,有边界,有中心统一,有边界,有中心 KDCKDC 密钥分发:动态,密钥分发:动态,KDC, CAKDC, CA 静态,静态,KDCKDC 密钥存储:专用媒体密钥存储:专用媒体( (KDC)KDC)分散存储分散存储( (PGP)PGP)公用媒体公用媒体( (KDC,CA)KDC,CA)静态分发:单层星状配置静态分发:单层星状配置中心K1K2K3KnT2, K2T3, K3TN, Kn T1, K1静态分发:网状配置静态分发:网状配置CBDAKA-BK
16、A-CKA-DKC-AKC-BKC-DKD-AKD-BKD-CKB-AKB-CKB-D动态分发:动态分发:KDCKDC,拉方式,拉方式分发协议:分发协议:1) 1) a ac c:request/n1;request/n1;2) c2) caa:E EKAKA(KS/request/n1/E(KS/request/n1/EKBKB(KS,ID(KS,IDA A)3) a3) ab b:E EKBKB(KS,ID(KS,IDA A) ) 这样这样a,ba,b双方都有相同的密钥双方都有相同的密钥KSKS。验证协议:验证协议:4) 4) b ba a:E EKSKS(N2)(N2)5) a5) ab
17、b:E EKSKS(fN2),(fN2), 其中其中f f是简单函数,是加是简单函数,是加1 1等简单变换。等简单变换。KDCBB 动态分发:动态分发:KDC,推方式,推方式分发协议:分发协议: 1 1)a abb:a,Ea,EKAKA(EMa(EMa);); 2) bc 2) bc:E EKAKA(EMa(EMa) ) 3 3)c cb b:E EKBKB(KS,a ,EMb(KS,a ,EMb), E), EKAKA(KS,b,EMa(KS,b,EMa) ) 4 4)b ba a:E EKAKA(KS,b,EMa(KS,b,EMa) )KDCABCA动态分发,动态分发,CAU1, SK1U
18、2, SK2证书作废系统Pk1(Pk1)ca(Pk2)caPk2CA特点特点开放环境中研究,采用公开技术;开放环境中研究,采用公开技术;密钥由个人生产,无边界,无中心;密钥由个人生产,无边界,无中心;安全责任由个人承担;安全责任由个人承担;排斥政府干预;排斥政府干预;密钥变量必须公开;密钥变量必须公开;密钥动态分发,需要密钥传递协议支持;密钥动态分发,需要密钥传递协议支持;密钥变更方便,但需要证书作废系统支持;密钥变更方便,但需要证书作废系统支持;需要解决公共媒体的安全;需要解决公共媒体的安全; 9 理论基础是相信逻辑理论基础是相信逻辑KDC的特点的特点密钥由中心统一生产,分发协议简单,安全;
19、密钥由中心统一生产,分发协议简单,安全;安全责任由中心承担;安全责任由中心承担;密钥变量可以加密保护;密钥变量可以加密保护; 可以做到静态分发,必须解决密钥存储技术;可以做到静态分发,必须解决密钥存储技术;KoberosKoberos排过排过2525万;我国技术:万;我国技术:ECC ECC 多重运算多重运算密钥更换不方便,不需要证书作废系统支持;密钥更换不方便,不需要证书作废系统支持;适用于有边界的适用于有边界的VPNVPN网。网。 7 7理论基础是信任逻辑理论基础是信任逻辑 4、保护技术:、保护技术: P.D.RP.D.R模型:模型:Protection, Detection, Respo
20、nseProtection, Detection, Response指系统保护指系统保护 保护:隔离保护(防火墙,安全网关)保护:隔离保护(防火墙,安全网关)防病毒防病毒探测:漏洞探测探测:漏洞探测入侵探测(被动,主动)入侵探测(被动,主动)反映:反映: 几种意识几种意识 风险意识:百分之百的安全是不可能的;风险意识:百分之百的安全是不可能的; 明确明确“干什么干什么”和和 “怕什么怕什么” 做到什么样的做到什么样的“度度”权衡意识:系统开销,经济承受力等综合权衡;权衡意识:系统开销,经济承受力等综合权衡;准确定义业务要求;准确定义业务要求;数据库加密之例;数据库加密之例;相对意识:理想的技术
21、不适用,在用技术有缺点;相对意识:理想的技术不适用,在用技术有缺点; 准确定义安全保密要求;准确定义安全保密要求;防火墙的等级;防火墙的等级;集成意识:集成是我国安全产品发展的捷径。集成意识:集成是我国安全产品发展的捷径。第二章第二章 经典密码学经典密码学 加密通信的模型Alice加密机解密机Bob安全信道密钥源Oscarxyxk密码学的目的密码学的目的:Alice和Bob两个人在不安全的信道上进行通信,而破译者Oscar不能理解他们通信的内容。 定义定义: (密码体制)密码体制)它是一个五元组(P,C,K,E,D)满足条件: (1)P是可能明文的有限集;(明文空间) (2)C是可能密文的有限
22、集;(密文空间) (3)K是一切可能密钥构成的有限集;(密钥空间) *(4)任意 ,有一个加密算法 和相应的解密算法 ,使得 和 分别为加密解密函数,满足 。注:1*.Alice要将明文在不安全信道上发给Bob,设X=x1 x2 xn , 其中 , Alice用加密算法ek作yi=ek(xi) 1 i n 结果的密文是 Y=y1y2.yn ,在信道上发送, Bob收到后解密:xi=dk(yi) 得到明文X=x1 x2 xn .。EekDdkCPek:PCdk:Pxxxedkk,)(这里PxiKk 2*.加密函数ek必须是单射函数,就是一对一的函数。 3*.若P=C,则ek为一个置换。 4*.好
23、的密钥算法是唯密钥而保密的。 5*.若Alice和Bob在一次通信中使用相同的密钥,那么这个加密体制为对称的,否则称为非对称的。1.1.移位密码体制移位密码体制 设P=C=K=Z/(26),对 ,定义 同时dk(y)=y-k (mod 26)注1*:26个英文字母与模26剩余类集合0,.,25建立一一对应: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2*.当k=3时,为Caesar密码: 若明文:m
24、eet me after the toga party 密文:PHHW PH DIWHO WKH WRJD SDUWB 实际算法为: 有 同时有,d3(y)=y-3 (mod 26)Pxyxxe)26(mod3)(3KkCykxxek)26(mod)(3*.一个密码体制要是实际可用必须满足的特性 每一个加密函数ek和每一个解密函数dk都能有效地计算。 破译者取得密文后,将不能在有效的时间内破解出密钥k或明文x。 一个密码体制是安全的必要条件穷举密钥搜索将是不可行的,即密钥空间将是非常大的。2.替换密码体制替换密码体制 设P=C=Z/(26),K是由26个符号0,1,.,25的所有可能置换组成。
25、任意 ,定义 d (y)=-1(y)=x, -1是的逆置换。 注:1*. 置换的表示: 2*密钥空间K很大,|K|=26! 41026,破译者穷举搜索是不行的,然而,可由统计的方式破译它。3*移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间K且yxxe)()(252423 3 2 1 025242332103.仿射密码体制仿射密码体制 替换密码的另一个特例就是仿射密码。 加密函数取形式为 要求唯一解的充要条件是gcd( a,26)=1 该体制描述为: 设P=C=Z/(26) 对 定义 ek(x)=ax+b (mod 26)和dk(y)=a-1(y-b)(mod 26) )26
26、/(,),26(mod)(Zbabaxxe,1)26,gcd(| )26/()26/(),(aZZbaK,),(Kbak)26/(,Zyx 例子,设k(7,3),注意到7-1(mod 26)=15,加密函数是ek(x)=7x+3,相应的解密函数是dk(y)=15(y-3)=15y-19 , 易见 dk(ek(x)=dk(7x+3)=15(7x+3)-19 =x+45-19 =x (mod 26) 若加密明文:hot ,首先转换字母h,o,t成为数字7,14,19,然后加密:解密:);26(mod6230333191477GXA191471919196230154.4.维吉尼亚密码维吉尼亚密码
27、(Vigenere) 设m为一固定的正整数,定义P=C=K=(Z/(26)m,对一个密钥K( k1,k2,km),定义 ek(x1,x2,xm)=(x1+k1,x2+k2,xm+km)=y dk(y1,y2,ym)= (x1-k1,x2-k2,xm-km) =x这里的所有的运算都是在(mod 26)中进行的。注:维吉尼亚密码是多表替换体制,分析起来更困难。密钥空间大,如当m=5时,密钥空间所含密钥的数量是1.11075.Hill密码体制密码体制 设为某个固定的正整数,P=C=(Z/(26)m, K=Z/(26)上的mm可逆矩阵 对每一个 ,定义ek(x)=xK (mod 26)和 dk(y)=
28、yK-1 (mod 26)注:明文与密文都是 m元的向量(x1, x2 , xm );(y1, y2,ym),Z/(26)为同余类环。在这个环上的可逆矩阵Amxm,是指行列式detAmxm的值 Z*/(26),它为Z/(26)中全体可逆元的集合。Z*/(26)= a Z/(26)|(a,26)=1, Z*/(26)=1,3,5,7,9,11,15,17,19,21,23,25例子:当 m=2时,明文元素x=(x1,x2),密文元素y=(y1,y2) (y1,y2)=(x1,x2) K 73811Kk 事实上yi为x1,x2的线性组合,y1=11x1+3x2;y2=8x1+7x2,一般,将取mm
29、的矩阵K作为我们的密钥:有 y=(y1, y2, ym,)=(x1, x2, xm) 换言之,y=xK;且有x=yK-1 若K= ,可得K-1 = 若对明文july加密,它分成2个元素(j,u),(l,y),分别对应于(9,20),(11,24),有mmmmmmkkkkkkkkk212222111211738111123187(9,20) (9960,72140)(3,4) 且(11,24 ) (12172,88168) (11,22)于是对 july加密的结果为DELW。 为了解密,Bob计算 且 因此,得到了正确的明文“july”7381173811 )20, 9(1123187)4 ,
30、3()24,11(1123187)22,11( 6.置换密码体制置换密码体制 设m为固定的正整数,P=C=(Z/(26)m, K是由1,2,.,m的所有置换构成,对一个密钥K,定义 e (x1, x2,., xm)=(x(1),.,x(m) 和 d (y1, y2,., ym)=(y(1),.,y(m) 这里1为的逆置换。注:这里的加密与解密仅仅用了置换,无代数运算。例子: 设m=6, 取密钥 而) 6452)(31 (264564135231) 5462)(31 (4625541362311若给定的明文是:cryptography 首先找分成6个字母长的明文组:crypto|graphy 求
31、得的密文是:YTCOPRAHGYPR注:事实上,置换密码是Hill密码的特例。给定一个集合1,2,.,m的置换矩阵 (置换矩阵是每一行和每一列刚好在一个“1”,而其余元素为“0”的矩阵。)YTCOPRroptopcytryccryptoAHGYPRryphypgahraggraphy否则若0)(1)(ijkkKijnmij对上面例子决定的置换 对应:000010001000100000000001010000000100K00100000001001000000000110000000010011KK密码分析密码分析 假设破译者Oscar是在已知密码体制的前提下来破译Bob使用的密钥。这个假设
32、称为Kerckhoff原则。最常见的破解类型如下: 1.唯密文攻击:Oscar具有密文串y. 2.已知明文攻击: Oscar具有明文串x和相应的密文y. 3.选择明文攻击:Oscar可获得对加密机的暂时访问,因此他能选择明文串x并构造出相应的密文串y。 4.选择密文攻击:Oscar可暂时接近密码机,可选择密文串y,并构造出相应的明文x. 5.这一切的目的在于破译出密钥破译出密钥第三章第三章 现代加密方法现代加密方法 1 简化的简化的DES DES-Data Encryption Standard(1977年元月15日-美国联邦标准) 1998年!Simplified DES方案,简称S-DES
33、方案。注:1.* 加密算法涉及五个函数:(1)初始置换IP(initial permutation)(2)复合函数fk1,它是由密钥K确定的,具有转换和 替换的运算。 (3)转换函数SW(4)复合函数fk2(5)初始置换IP的逆置换IP-1 加密加密10bit密钥 解密解密8bit明文P108bit明文IP移位IP-1P8fkfkSWSW移位P8fkfkIPIP-18bit密文8bit密文K2K2K1K1S-DES方案示意图方案示意图 2*. 加密算法的数学表示:IP-1*fk2*SW*fk1*IP也可写为密文=IP-1(fk2(SW(fk1(IP(明文)其中 K1=P8(移位(P10(密钥K
34、)K2=P8(移位(移位(P10(密钥K)解密算法的数学表示:明文=IP-1(fk1(SW(fk2(IP(密文)对对S-DES的深入描述的深入描述(1) S-DES的密钥生成:的密钥生成:设10bit的密钥为(k1,k2,k3,k4,k5,k6,k7, k8,k9,k10)置换P10是这样定义的P10(k1,k2,k10)=(k3,k5,k2,k7,k4,k10,k1,k9,k8,k6)相当于P10= LS-1为循环左移,在这里实现左移2位 P8= 按照上述条件,若K选为(1010000010), 产生的两个子密钥分别为K1=(1 0 1 0 0 1 0 0),K2=(0 1 0 0 0 0
35、1 1)689110472531098765432191058473687654321S-DES的密钥生成的密钥生成10-bit密钥P10LS-1LS-1LS-2LS-2P8P8K18K255558(2) S-DES的加密运算的加密运算: 初始置换用IP函数: IP= 1 2 3 4 5 6 7 8 2 6 3 1 4 8 5 7 末端算法的置换为IP的逆置换:IP-1= 1 2 3 4 5 6 7 8 4 1 3 5 7 2 8 6 易见IP-1(IP(X)=X S-DES加密图加密图8-bit 明文IPE/P+S0S1P4+LR4K1844fkF4S-DES加密图加密图(续续)E/P+S0
36、S18K2P4+IP-18-bit 密文4844fkF44228SW函数fk,是加密方案中的最重要部分,它可表示为:fk( L , R ) = ( L F ( R , S K ) , R )其中L,R为8位输入, 左右各为4位, F为从4位集到4位集的一个映射, 并不要求是1-1的。SK为子密钥。对映射F来说:首先输入是一个4-位数(n1,n2,n3,n4),第一步运算是扩张/置换(E/P)运算: E/P 4 1 2 3 2 3 4 1 事实上,它的直观表现形式为:n4 n1 n2 n3n2 n3 n4 n18-bit子密钥:K1=(k11,k12,k13,k14,k15,k16,k17,k1
37、8),然后与E/P的结果作异或运算得:n4+k11n1+k12n2+k13n3+k14n2+k15n3+k16n4+k17n1+k18把它们重记为8位: P0,0 P0,1P0,2 P0,3 P1,0 P1,1P1,2P1,3上述第一行输入进S-盒S0,产生2-位的输出;第二行的4位输入进S盒S1,产生2-位的输出。两个S盒按如下定义:2313312001232301321032100S3012010331023210321032101SS盒按下述规则运算:将第1和第4的输入比特做为2- bit数,指示为S盒的一个行;将第2和第3的输入比特做为S盒的一个列。如此确定为S盒矩阵的(i,j)数。例
38、如:(P0,0, P0,3)=(00),并且(P0,1,P0,2)=(1 0)确定了S0中的第0行2列(0,2)的系数为3,记为(1 1)输出。由 S 0 , S 1 输 出 4 - b i t 经 置 换 P4 2 4 3 1它的输出就是F函数的输出。2 DES的描述的描述 DES利用56比特串长度的密钥K来加密长度为64位的明文,得到长度为64位的密文 该算法分三个阶段实现:1. 给定明文X,通过一个固定的初始置换IP来排列X中的位,得到X0。X0=IP(X)=L0R0其中L0由X0前32位组成,R0由X0的后32位组成。2.计算函数F的16次迭代, 根据下述规则来计算LiRi(1=i=1
39、6) Li=Ri-1, Ri=Li-1 F(Ri-1, Ki)其中Ki是长为48位的子密钥。子密钥K1,K2,K16是作为密钥K(56位)的函数而计算出的。 3.对比特串R16L16使用逆置换IP-1得到密文Y。Y=IP-1(R16L16)一轮加密的简图一轮加密的简图 Li-1 Ri-1F+Li RiKi 对对F F函数的说明函数的说明:(类比于S-DES)F(Ri-1, Ki)函数F以长度为32的比特串A=R(32bits)作第一个输入,以长度为48的比特串变元J=K(48bits)作为第二个输入。产生的输出为长度为32的位串。(1)对第一个变元A,由给定的扩展函数E,将其扩展成48位串,E
40、(A)(2)计算E(A)+J,并把结果写成连续的8个6位串, B=b1b2b3b4b5b6b7b8(3)使用8个S盒,每个Sj是一个固定的416矩阵,它的元素取015的整数。给定长度为6个比特串,如Bj=b1b2b3b4b5b6计算Sj(Bj)如下:b1b6两个比特确定了Sj的行数, r(0=r=3); 而b2b3b4b5四个比特确定了Sj的列数c(0=c=15)。最后Sj(Bj)的值为S-盒矩阵Sj中r行c列的元素(r,c), 得Cj=Sj(Bj)。(4) 最后,P为固定置换。 A=R(32 bits)J=K(48 bits)EE(A)为48 bits+B1 B2 B3 B4 B5 B6 B
41、7 B8 S1S2S3S4S5S6S7S8C1 C2 C3 C4 C5 C6 C7 C8P32 bits F(A,J)B写成8个6比特串DES 的的F函数函数 DES中使用的其它特定函数:中使用的其它特定函数:初始置换IP:见68页表3.2, 从表中看出X的第58个比特是IP(X)的第一个比特;X的第50个比特是IP(X)的第二个比特逆置换IP-1;扩展函数E;置换函数P。 从密钥从密钥K计算子密钥计算子密钥: 实际上,K是长度为64的位串,其中56位是密钥,8位是奇偶校验位(为了检错),在密钥编排的计算中,这些校验位可略去。(1). 给定64位的密钥K,放弃奇偶校验位(8,16,64)并根据
42、固定置换PC-1(见72页表3.4(a)来排列K中剩下的位。我们写 PC-1(K)=C0D0其中C0由PC-1(K)的前28位组成;D0由后28位组成。 (2)对1=i=16,计算Ci=LSi(Ci-1)Di=LSi(Di-1)LSi表示循环左移2或1个位置,取决于i的的值。i=1,2,9和16 时移1个位置,否则移2位置。Ki=PC-2(CiDi), PC-2为固定置换, 见72页3.4(b)。 注:一共16轮,每一轮使用K中48位组成一个48比特密钥。可算出16个表,第i个表中的元素可对应上第i轮密钥使用K中第几比特!如:第7轮的表7:K7取K中的比特情况:52 57 11 1 26 59
43、 10 34 44 51 25 199 41 3 2 50 35 36 43 42 33 60 1828 7 14 29 47 46 22 5 15 63 61 394 31 13 38 53 62 55 20 23 37 30 6图表(密钥生成图表(密钥生成Ki)KPC-1C0 D0LS1LS1C1 D1LS2LS2LS16LS16C16 D16PC-2PC-2K1K16 DES加密的一个例子加密的一个例子取16进制明文X:0123456789ABCDEF密钥K为:133457799BBCDFF1去掉奇偶校验位以二进制形式表示的密钥是00010010011010010101101111001
44、001101101111011011111111000应用IP,我们得到:L0=11001100000000001100110011111111L1=R0=11110000101010101111000010101010然后进行16轮加密。最后对L16, R16使用IP-1得到密文:85E813540F0AB4053 DES的争论的争论 DES的核心是S盒,除此之外的计算是属线性的。S盒作为该密码体制的非线性组件对安全性至关重要。 1976年美国NSA提出了下列几条S盒的设计准则:1. S盒的每一行是整数0,15的一个置换2. 没有一个S盒是它输入变量的线性函数3.改变S盒的一个输入位至少要引
45、起两位的输出改变4.对任何一个S盒和任何一个输入X,S(X)和 S(X001100)至少有两个比特不同(这里X是长度为6的比特串)5.对任何一个S盒,对任何一个输入对e,f属于0,1,S(X) S(X11ef00) 6. 对任何一个S盒,如果固定一个输入比特,来看一个固定输出比特的值,这个输出比特为0的输入数目将接近于这个输出比特为1的输入数目。 *公众仍然不知道S盒的构造中是否还使用了进一步的设计准则。 参见74页3.4 DES的强度。4 差分密码分析与线性密码分析差分密码分析与线性密码分析 (1)差分密码分析差分密码分析 对DES有效的分析方法-差分分析方法,是由E.Biham和A.Sha
46、mir提出的。见Differential Cryptanalysis of DES-like Cryptosystems. E.Biham A.ShamirThe Weizmann Institute of ScienceDepartment of Aplied Mathematics June 18,1999该文给出选择性明文攻击,是一个很有效的方法。对于攻击8轮DES,在486那样的计算机上,只需2分钟可攻破。 首先说明:1. 对于DES的分析,可忽略初始置换IP和IP-1。2. 对DES限制到n轮(n=16)。3. 以L0R0为明文,且以LnRn作为n轮DES的密文。4. 对两个明文L0
47、R0和L0*R0*,规定它们的异或值为L0R0 =L0R0 L0*R0*,整个讨论都使用撇号( )表示两个比特串的异或值。 定义1:设Sj是一个特定的S盒(1=j=8),考虑长度为6的比特串的一个有序对(Bj,Bj*),我们说Sj的输入异或是Bj Bj*, 输出异或是Sj(Bj) Sj(Rj*) 注:输入异或是长度为注:输入异或是长度为6的比特串,输出异或是长度为的比特串,输出异或是长度为4的比特串的比特串。 定义2:对任何一个Bj(Z2)6= a0,a1,a2,a3,a4,a5|aj 0,1,定义集合(Bj)是由输入异或为Bj的有序对(Bj,Bj*)组成。 注注:1*. 对比特串Bj来说,集
48、合 (Bj)包含26=64个有序对元素。有 (Bj)=(Bj,Bj Bj)| Bj (Z2)6 2*. 对 (Bj)中的每一对,我们能计算出Sj的输出异或,同时用表列出结果的分布。 有64个输入异或,它们经Sj的输出分布在24=16种可能值之中,这些分布的非均匀性,就是攻击就是攻击DES的的基础。基础。 3*. 表示一个S盒的所有可能对的输入异或和输出异或分布的表称为该S盒的差分分布表。 例子1。若考虑第一个S盒S1,输入异或为B1=110100, 那么: (B1)= (110100)=(000000,110100), (000001, 110101), ., (111111, 001011)
49、对集合 (B1)中的每一对,计算S1盒的输出异或。 例如 S1(000000)=E16=1110 S1(110100)=916=1001所以(000000,110100)的输出异或是0111。计算 (B1)= (110100)中所有64对的输出异或,得输出异或分布表:+ 0个 8个 16个 6个 2个 0个 0个 12个1000 1001 1010 1011 1100 1101 1110 1111 6个 0个 0个 0个 0个 8个 0个 16个 0000 0001 0010 0011 0100 0101 0110 0111注意!16个可能输出异或中,仅有8种出现。它们的分布是不均匀的。一般说
50、来,对固定的一个S盒Sj说来,给一个输入异或Bj, 那么平均出现75%-80%的相异输出异或。 为描述这类分布如何产生的,先表述一些进一步的概念。 定义3:对长度为6的比特串Bj和长度为4的比特串Cj (1=j=8), 定义 INj(Bj,Cj)=Bj(Z2)6|Sj(Bj) Sj(Bj Bj)=Cj Nj(Bj,Cj)=|INj(Bj,Cj)| 注:1*.对特定的S盒Sj,它的输入异或为Bj且相应的输出异或为Cj,这里Nj(Bj,Cj)就是用来表示其输入对的数目。 2*.对于上述例子1中的输出异或分布表表现了N1(110100,C1)(其中C1 (Z2)4)所指示的对S盒S1来说,它的输入异
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。