《密码学引论》第二版重点 武汉大学

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、信息系统安全包括四个侧面:设备安全,数据安全,内容安全,行为安全。

设备安全:是指确保信息设备的稳定性、可靠性和可用性,这里的设备包括软件和硬件。

数据安全:包括数据的秘密性、数据的真实性和数据的完整性3个侧面。

行为安全:包括行为秘密性、行为完整性和行为可控性3个侧面。

二、密码技术的基本思想是伪装信息,伪装就是对数据施加一种可逆的数学变换。

三、密码体制,由5部分组成:

①明文空间M,它是全体明文的集合。

②密文空间C,它是全体密文的集合。

③密钥空间K,它是全体密钥的集合。其中一个密钥K均由加密密钥K e和解密密钥K d组成,即K=

④加密算法E,它是一族由M到C的加密变换。

⑤解密算法D,它是一族由C到M的解密变换。

如果一个密码体制的K d=K e,或由其中一个很难推出另外一个,则称为(单密钥密码体制)或则传统传统密码体制,否则称为(双密钥密码体制)。如果在计算上K d不能由K e推出,这样将K e公开也不会损害K d 的安全,于是便可将K e公开,这种密码体制称为公开密钥密码体制,简称(公钥密码体制)。

四、密码体制分类:

①根据明密文的划分和密钥的使用不同,可将密码体制分为分组密码和序列密码体制。

分组密码:将明文M划分为一系列的明文块M i,通常每块包含若干位或字符,所有明文块M i使用同一个密钥K e进行加密。

序列密码:将明文和密钥都划分为位或字符的序列,并对明文序列中每一位或字符都用密钥序列中对应的分量来加密。

②根据加密算法在使用过程中是否变化,将密码体制分为固定算法密码体制和演化算法密码体制。

五、密码分析:

1、攻击密码的方法主要有以下三种:

①穷举攻击(最基本攻击)②统计分析攻击③数学分析攻击

2、根据密码分析者可利用的数据资源来分类,可将攻击密码的类型分为4种:

①仅知密文攻击(对分析者最不利的情况)

②已知明文攻击:已经知道某些明文----密文对来破译密码,一个密码仅当它能经得起已知明文攻击时才是可取的。

③选择明文攻击:分析者能够选择明文并获得相应的密文,这是对密码分析者十分有利的情况。

④选择密文攻击:能选择密文并获得相应的明文,这也是十分有利的情况,这种攻击主要攻击公开密钥密码体制,特别是攻击其数字签名。

六、分组密码

1、数据加密标准(DES)(1977~1998年),用于加密保护静态存储和传输信道中的数据

DES综合运用置换、代替、代数等多种密码技术;DES是面向二进制的密码算法,因而能够加密任何形式的计算机数据;其明文、密文。密钥的分组长度都是64位;DES是对合运算,因而加密和解密共用同一算法,从而使工程量减半。

注:①64位密钥经子密钥产生算法产生出16个48位的子密钥供16次加密迭代使用。②初始置换IP 是DES的第一步密码变换。③加密函数是DES的核心部分,加密函数里有代替函数组S(其由8个代替函数也称S盒组成),S盒有6位输入,产生4位输出。③S盒是DES保密性的关键所在,它是一种非线性变换,也是DES中唯一的非线性运算。④可逆性是对称密码算法的基本要求,对合性可使密码算法实现的工作量减半。

DES加密L i = R i-1;R i = L i-1⊕f(R i-1,K i); i=1,2,3, (16)

DES解密R i-1= L i;L i-1=R i⊕f(L i,K i);i=16,15,14, (1)

DES的安全性:

①对于其设计目标DES是安全的。S盒和置换P互相配合,形成了很强的抗差分攻击和抗线性攻击能力,DES 作为商用密码,用于其设计目标是安全的。

②存在安全弱点:密钥较短,只有56位;存在弱密钥和半弱密钥,存在一些密钥所产生的16个子密钥不是互不相同的,而是有相重的;存在互补对称性。

2、3DES(1999年~),既可以使用3个密钥,也可以使用2个密钥

三个显著优点:①密钥长度168位,完全能够抵抗穷举攻击;②相当安全,而且经过实践检验;③

3DES地层加密算法与DES相同,所以现有的DES软硬件都能方便地实现3DES。

3DES根本缺点是软件实现该算法的速度比较慢。

3、密钥托管加密标准(EES)(1994年~1997年,只将其用于语音通信加密)

①不公布加密算法,推出CLIPPER密码芯片,其密码算法称为SKIPJACK(属于分组密码,明文和密文长度为64位,密钥长度为80位,子密钥长32位,采用轮函数迭代结构,共迭代32圈

②SKIPJACK算法不是对合算法,所以加密和解密过程不一样。其S盒输入和输出都是8位,只有1个S 盒。

③子密钥生成算法,非常简单,把单元密码UK(80位)重复连接,然后依次取32位为一个子密钥,直到取出32个子密钥为止。由于UK为80位,而子密钥32位,故取出5个子密钥后,第6个子密钥将开始重复。

④安全性:其密钥空间为280≈1.2* 1024,可以抵抗穷举攻击,其抗差分攻击线性攻击的能力也很强,但生成密钥算法过于简单,这对安全是不利的。其算法不是对合运算,这都工程实现都是不利的。

4、国际数据加密算法(IDEA)(1990年提出)

①用于Internet的E-mail加密系统PGP和许多其他加密系统中。

②分组算法,明文和密文长度为64位,密钥长度为128位;对合算法;易于实现,用软件和硬件实现都很方便。

③产生52个子密钥。

④安全性:密钥长度为128位,穷举需要试探2128≈1038个密钥;能抗差分和线性攻击;存在弱密钥;IDEA是为了方便16位CPU实现设计的,32位CPU实现不太方便。

5、高级数据加密标准(AES)(2001年~)

RIJNDAEL加密算法:

①数据块长度和密钥长度都可变的分组加密算法,两长度可独立地选定为大于等于128且小于等于256位的32位的任意倍数

②RIJNDAEL的轮函数由三层组成:非线性层;线性混合层;密钥加层

③状态:加密解密要经过多次数据变换操作,每一次变换操作产生一个中间结果,称这个中间结果叫做状态。各种不同的密码变换都是对状态进行的。把状态表示为二维字节数组(每个元素为一个字节),它有4行,Nb列。Nb等于数据块长度除以32。

④算法的实现:实现容易是RIJNDAEL算法的一个优点,它可以灵活地用8位CPU,32位CPU以及专用硬件芯片实现。

⑤S盒的实现:实现S盒运算的最快方法是,直接计算出S盒的变化结果,并存储造表,使用时直接查表,因为ByteSub变换是字节函数,所以表的规模不大,只有256个字节。

6、KASUMI密码

①f8用于加密,f9用于完整性验证

②三条原则:安全性要有足够的数学基础;算法的软件实现要足够快;算法的硬件实现要电路简单、功耗低。

③S盒:S9是9位输入到9位输出的非线性变换,S7是7位输入到7位输出的非线性变换。

7、中国商用密码算法(SMS4)

相关文档
最新文档