配色: 字号:
中国密码学 基础知识
2017-03-29 | 阅:  转:  |  分享 
  
应用密码学清华大学出版社2008年9月课程主要内容第1章密码学概述 第2章古典密码技术 第3章分组密码第4章公
钥密码体制第5章散列函数与消息鉴别第6章数字签名技术第7章密钥管理技术第8章身份鉴别技术第9章
序列密码第10章密码技术应用第1章密码学概述本章主要内容信息安全与密码技术 密码技术发展简介 密码学基本概
念 密码学的主要任务 密码系统的概念 对密码系统的攻击 密码系统的安全性 密码体制的分类
对称与非对称密码体制的主要特点 第1章密码学概述1.1信息安全与密码技术密码技术是一门古老的技术;信息安全
服务要依赖各种安全机制来实现,而许多安全机制则需要依赖于密码技术;密码学贯穿于网络信息安全的整个过程,在解决信息的机密性保护、
可鉴别性、完整性保护和信息抗抵赖性等方面发挥着极其重要的作用。密码学是信息安全学科建设和信息系统安全工程实践的基础理论之一。
对密码学或密码技术一无所知的人不可能从技术层面上完全理解信息安全。第1章密码学概述1.2密码技术发展简介
根据不同时期密码技术采用的加密和解密实现手段的不同特点,密码技术的发展历史大致可以划分为三个时期,即古典密码、近代密码和现代密码时
期。古典密码时期这一时期为从古代到到十九世纪末,长达数千年。由于这个时期社会生产力低下,产生的许多密码体制都是以
“手工作业”的方式进行,用纸笔或简单的器械来实现加密/解密的,一般称这个阶段产生的密码体制为“古典密码体制”,这是密码学发展的手工
阶段。这一时期的密码技术仅是一门文字变换艺术,其研究与应用远没有形成一门科学,最多只能称其为密码术。第1章密
码学概述近代密码时期近代密码时期是指二十世纪初到二十世纪50年代左右。从1919年以后的几十年中,密
码研究人员设计出了各种各样采用机电技术的转轮密码机(简称转轮机,Rotor)来取代手工编码加密方法,实现保密通信的自动编解码。随着
转轮机的出现,使得几千年以来主要通过手工作业实现加密/解密的密码技术有了很大进展。第1章密码学概述现代密码时期
1949年香农(ClaudeShannon)的奠基性论文“保密系统的通信理论”(CommunicationTheoryof
SecrecySystem)在《贝尔系统技术杂志》上发表,首次将信息论引入密码技术的研究,用统计的观点对信源、密码源、密文进行
数学描述和定量分析,引入了不确定性、多余度、唯一解距离等安全性测度概念和计算方法,为现代密码学研究与发展奠定了坚实的理论基础,把已
有数千年历史的密码技术推向了科学的轨道,使密码学(Cryptology)成为一门真正的科学。从1949年到1967年,密码学文献
近乎空白。1967年,戴维·卡恩(DavidKahn)出版了一本专著《破译者》(TheCodeBreaker)1977年,
美国国家标准局NBS(现NIST)正式公布实施美国的数据加密标准DES1976年11月,美国斯坦福大学的著名密码学家迪菲(W.D
iffie)和赫尔曼(M.Hellman)发表了“密码学新方向”(NewDirectioninCryptography)一
文,首次提出了公钥密码体制的概念和设计思想,开辟了公开密钥密码学的新领域,掀起了公钥密码研究的序幕。第1章密码学概述现代密
码时期(续)1997年4月美国国家标准和技术研究所(NIST)发起征集高级数据加密标准(AES,AdvancedEncrypt
ionStandard)算法的活动。2000年10月,比利时密码学家JoanDaemen和VincentRijmen
提出的“Rijndael数据加密算法”被确定为AES算法,作为新一代数据加密标准。二十世纪末的AES算法征集活动使密码学界又
掀起了一次分组密码研究的高潮。同时,在公钥密码领域,椭圆曲线密码体制由于其安全性高、计算速度快等优点引起了人们的普遍关注和研究,并
在公钥密码技术中取得重大进展。在密码应用方面,各种有实用价值的密码体制的快速实现受到高度重视,许多密码标准、应用软件和产品被开发
和应用,美国、德国、日本和我国等许多国家已经颁布了数字签名法,使数字签名在电子商务和电子政务等领域得到了法律的认可,推动了密码学研
究和应用的发展。新的密码技术不断涌现。例如,混沌密码、量子密码、DNA密码等等。这些新的密码技术正在逐步地走向
实用化。人们甚至预测,当量子计算机成为现实时,经典密码体制将无安全可言,而量子密码可能是未来光通信时代保障网络通信
安全的可靠技术。第1章密码学概述本章小结本章主要介绍了密码学与信息安全、密码技术发展概况,重点阐述了密码学
的有关基本概念,包括:密码学的主要任务密码系统的概念对密码系统的攻击密码系统的安全性密码体制的分类对称与非对称密码体制
的主要特点/31图1.4(a)ENIGMA密码机图1.4(b)TYPEX密码机近
代密码时期可以看作是科学密码学的前夜,这阶段的密码技术可以说是一种艺术,是一种技巧和经验的综合体,但还不是一种科学,密码专家常常是
凭直觉和信念来进行密码设计和分析,而不是推理和证明。第1章密码学概述1.3密码学基本概念1.3.1密码学的主要任务
在信息安全的诸多涉及面中,密码学主要为存储和传输中的数字信息提供如下几个方面的安全保护:①机密性是一种允许特
定用户访问和阅读信息,而非授权用户对信息内容不可理解的安全属性。在密码学中,信息的机密性通过加密技术实现。②完整性数据
完整性即用以确保数据在存储和传输过程中不被非授权修改的的安全属性。密码学可通过采用数据加密、报文鉴别或数字签名等技术来实现
数据的完整性保护。第1章密码学概述1.3.1密码学的主要任务(续)③鉴别这是一种与数据来源和身份鉴别有关
的安全服务。鉴别服务包括对身份的鉴别和对数据源的鉴别。对于一次通信,必须确信通信的对端是预期的实体,这就涉及到身份的鉴别。
对于数据,仍然希望每一个数据单元发送到或来源于预期的实体,这就是数据源鉴别。数据源鉴别隐含地提供数据完整性服务。密码学可通
过数据加密、数字签名或鉴别协议等技术来提供这种真实性服务。④抗抵赖性是一种用于阻止通信实体抵赖先前的通信行为
及相关内容的安全特性。密码学通过对称加密或非对称加密,以及数字签名等技术,并借助可信机构或证书机构的辅助来提供这种服务。
密码学的主要任务是从理论上和实践上阐述和解决这四个问题。它是研究信息的机密性、完整性、真实性和抗抵赖性等信息安全问题的一门学
科。第1章密码学概述1.3.1密码学的主要任务(续)密码学研究领域的两个分支:密码编码学(Cryptog
raphy)密码分析学(Cryptanalytics)密码编码学的主要任务是寻求有效密码算法和协议,以保证信息
的机密性或认证性的方法。它主要研究密码算法的构造与设计,也就是密码体制的构造。它是密码理论的基础,也是保密系统设计的基础。密码
分析学的主要任务是研究加密信息的破译或认证信息的伪造。它主要是对密码信息的解析方法进行研究。只有密码分析者才能评
判密码体制的安全性。密码编码学和密码分析学是密码学的两个方面,两者既相互对立,又互相促进和发展。第1章密码学概述
1.3.2密码系统的概念密码技术的一个基本功能是实现保密通信,经典的保密通信模型如图1.1所示。注
意:仅用一个保密通信模型来完整描述密码系统,可能是并不全面和准确的,因为现在的密码系统不单单只提供信息的机密性服务。保密通信是密
码技术的一个基本功能。第1章密码学概述几个基本概念与符号。明文(Plaintext)待伪装或加密的消息(
Message)。在通信系统中它可能是比特流,如文本、位图、数字化的语音流或数字化的视频图像等。一般可以简单的认为明文是有意义的
字符或比特集,或通过某种公开的编码标准就能获得的消息。明文常用m或p表示。密文(Ciphertext)对明文施加某种
伪装或变换后的输出,也可认为是不可直接理解的字符或比特集,密文常用c表示。加密(Encrypt)把原始的信息(明文
)转换为密文的信息变换过程。解密(Decrypt)把己加密的信息(密文)恢复成原始信息明文的过程,也称为脱密。第1
章密码学概述密码算法(CryptographyAlgorithm)也简称密码(Cipher),通常是指加、解密
过程所使用的信息变换规则,是用于信息加密和解密的数学函数。对明文进行加密时所采用的规则称作加密算法,而对密文进行解密
时所采用的规则称作解密算法。加密算法和解密算法的操作通常都是在一组密钥的控制下进行的。密钥(SecretKey)
密码算法中的一个可变参数,通常是一组满足一定条件的随机序列。用于加密算法的叫做加密密钥,用于解密算法的叫做解密密钥
,加密密钥和解密密钥可能相同,也可能不相同。密钥常用k表示。在密钥k的作用下,加密变换通常记为Ek(·),解密变换记
为Dk(·)或Ek-1(·)。通常一个密码体制可以有如下几个部分:消息空间M(又称明文空间):所有可能明文m的集合;密文空
间C:所有可能密文c的集合;密钥空间K:所有可能密钥k的集合,其中每一密钥k由加密密钥ke和解密密钥kd组成,即k=(ke,kd
);加密算法E:一簇由加密密钥控制的、从M到C的加密变换;解密算法D:一簇由解密密钥控制的、从C到M的解密变换。五元组{
M,C,K,E,D}就称为一个密码系统。对于明文空间M中的每一个明文m,加密算法E在加密密钥ke的控制下将明文m
加密成密文c;而解密算法D则在密钥kd的控制下将密文c解密成同一明文m,即:对m∈M,(ke,kd)∈K,有:第1章密码学
概述从数学的角度来讲,一个密码系统就是一族映射,它在密钥的控制下将明文空间中的每一个元素映射到密文空间上的某个元素
。这族映射由密码方案确定,具体使用哪一个映射由密钥决定。第1章密码学概述在上面通信模型中,还存在
一个密码攻击者或破译者可从普通信道上拦截到的密文c,其工作目标就是要在不知道密钥k的情况下,试图从密文c恢复出明文m或密钥k。
如果密码分析者可以仅由密文推出明文或密钥,或者可以由明文和密文推出密钥,那么就称该密码系统是可破译的。相反地,则称该密
码系统不可破译。1.3.3对密码系统的攻击密码分析者破译或攻击密码的方法主要有穷举攻击法、统计分析法和数学分析攻击法。
(1)穷举攻击法穷举攻击法又称为强力或蛮力(Bruteforce)攻击。这种攻击方法是对截获到的密文尝试遍历所
有可能的密钥,直到获得了一种从密文到明文的可理解的转换;或使用不变的密钥对所有可能的明文加密直到得到与截获到的密文一致为止。第
1章密码学概述1.3.3对密码系统的攻击(续)(2)统计分析法统计分析攻击就是指密码分析者根据明文、密文
和密钥的统计规律来破译密码的方法。(3)数学分析法数学分析攻击是指密码分析者针对加解密算法的数学基础和某些
密码学特性,通过数学求解的方法来破译密码。数学分析攻击是对基于数学难题的各种密码算法的主要威胁。在假设密码
分析者已知所用加密算法全部知识的情况下,根据密码分析者对明文、密文等数据资源的掌握程度,可以将针对加密系统的密码分析攻击类型分为以
下四种:①惟密文攻击(Ciphtext-onlyattack)在惟密文攻击中,密码分析者知道密
码算法,但仅能根据截获的密文进行分析,以得出明文或密钥。由于密码分析者所能利用的数据资源仅为密文,这是对密码分析者最不利的情况。
第1章密码学概述1.3.3对密码系统的攻击(续)②已知明文攻击(Plaintext-knownattack)
已知明文攻击是指密码分析者除了有截获的密文外,还有一些已知的“明文—密文对”来破译密码。密码分析者的任务目标是推出用来加密
的密钥或某种算法,这种算法可以对用该密钥加密的任何新的消息进行解密。③选择明文攻击(Chosen-plaintext
attack)选择明文攻击是指密码分析者不仅可得到一些“明文—密文对”,还可以选择被加密的明文,并获得相应的密文
。这时密码分析者能够选择特定的明文数据块去加密,并比较明文和对应的密文,已分析和发现更多的与密钥相关的信息。密码分
析者的任务目标也是推出用来加密的密钥或某种算法,该算法可以对用该密钥加密的任何新的消息进行解密。④选择密文攻击(Chosen
—ciphenextattack)选择密文攻击是指密码分析者可以选择一些密文,并得到相应的明文。密码分析者的任务
目标是推出密钥。这种密码分析多用于攻击公钥密码体制。第1章密码学概述1.3.3对密码系统的攻击(续)衡量密码系统攻击
的复杂性主要考虑三个方面的因素:数据复杂性(DataComplexity)用做密码攻击所需要输入的数据量;处理
复杂性(ProcessingComplexity)完成攻击所需要花费的时间;存储需求(StorageRequir
ement)进行攻击所需要的数据存储空间大小。攻击的复杂性取决于以上三个因素的最小复杂度,在实际实施攻
击时往往要考虑这三种复杂性的折衷,如存储需求越大,攻击可能越快。第1章密码学概述1.3.4密码系统的安全性一个密码系
统的安全性主要与两个方面的因素有关。(1)一个是所使用密码算法本身的保密强度。密码算法的保密强度取决于密码设计水平、破译技术等。
可以说一个密码系统所使用密码算法的保密强度是该系统安全性的技术保证。(2)另外一个方面就是密码算法之外的不安全因素。
因此,密码算法的保密强度并不等价于密码系统整体的安全性。—个密码系统必须同时完善技术与管理要求,才能保证整个密码系统的安全
。本教材仅讨论影响一个密码系统安全性的技术因素,即密码算法本身。第1章密码学概述1.3.4密码系统的安全性(续)评估密
码系统安全性主要有三种方法:(1)无条件安全性这种评价方法考虑的是假定攻击者拥有无限的计算资源,但仍然无法破译该
密码系统。(2)计算安全性这种方法是指使用目前最好的方法攻破它所需要的计算远远超出攻击者的计算资源水平,则可以
定义这个密码体制是安全的。(3)可证明安全性这种方法是将密码系统的安全性归结为某个经过深入研究的数学难题(如大
整数素因子分解、计算离散对数等),数学难题被证明求解困难。这种评估方法存在的问题是它只说明了这个密码方法的安全性与某个困难问题相关
,没有完全证明问题本身的安全性,并给出它们的等价性证明。第1章密码学概述1.3.4密码系统的安全性(续)
对于实际应用中的密码系统而言,由于至少存在一种破译方法,即强力攻击法,因此都不能满足无条件安全性,只提供计算安全性。密码系统要达
到实际安全性,就要满足以下准则:(1)破译该密码系统的实际计算量(包括计算时间或费用)十分巨大,以致于在实际上是无法实现的。(
2)破译该密码系统所需要的计算时间超过被加密信息有用的生命周期。例如,战争中发起战斗攻击的作战命令只需要在战斗打响前需要保密;重要
新闻消息在公开报道前需要保密的时间往往也只有几个小时。(3)破译该密码系统的费用超过被加密信息本身的价值。如果一
个密码系统能够满足以上准则之一,就可以认为是满足实际安全性的。第1章密码学概述1.3.4密码系统的安全性(续)密码系统
的柯克霍夫斯(Kerckhoffs)原则:即使密码系统中的算法为密码分析者所知,也难以从截获的密文推导出明文或密
钥。也就是说,密码体制的安全性仅应依赖于对密钥的保密,而不应依赖于对算法的保密。只有在假设攻击者对密码
算法有充分的研究,并且拥有足够的计算资源的情况下仍然安全的密码才是安全的密码系统。一句话:“一切秘密寓于密钥之
中”第1章密码学概述1.3.4密码系统的安全性(续)对于商用密码系统而言,公开密码算法的优点包括:有利于对密码算法
的安全性进行公开测试评估;防止密码算法设计者在算法中隐藏后门;易于实现密码算法的标准化;有利于使用密码算法产品的规模化生产,
实现低成本和高性能。但是必须要指出的是,密码设计的公开原则并不等于所有的密码在应用时都一定要公开密码算法。例如世界
各国的军政核心密码就都不公开其加密算法。第1章密码学概述1.3.4密码系统的安全性(续)综上,一个提
供机密性服务的密码系统是实际可用的,必须满足的基本要求:系统的保密性不依赖于对加密体制或算法的保密,而仅依赖于密钥的安全性。
“一切秘密寓于密钥之中”是密码系统设计的一个重要原则。满足实际安全性,使破译者取得密文后在有效时间和成本范围内,确定密钥或相应明
文在计算上是不可行的。加密和解密算法应适用于明文空间、密钥空间中的所有元素。加密和解密算法能有效地计算,密码系统易于实现和使用
。针对密码系统的攻击可分为主动攻击与被动攻击。第1章密码学概述1.3.5密码体制的分类对密码体制
的分类方法有多种,常用的分类方法有以下三种。(1)根据密码算法所用的密钥数量根据加密算法与解密算法所使用的密钥是否相同,可
以将密码体制分为:对称密码体制(Symmetriccipher,也称为单钥密码体制、秘密密钥密码体制、对称密钥密码体制
或常规密码体制)非对称密码体制(Asymmetriccipher,也称为双钥密码体制、公开密钥密码体制、非对称密钥密码
体制)如果一个提供保密服务的密码系统,它的加密密钥和解密密钥相同,或者虽然不相同,但由其中的任意—个可以很容易地导出另外一个
,那么该系统所采用的就是对称密码体制。如果一个提供保密服务的密码系统,其加密算法和解密算法分别用两个不同的密钥实现,并且由加
密密钥不能推导出解密密钥,则该系统所采用的就是非对称密码体制。采用非对称密钥密码体制的每个用户都有一对选定的密钥。其中一
个是可以公开的,称为公开密钥(Publickey),简称公钥;另一个由用户自己秘密保存,称为私有密钥(Privatekey),
简称私钥。第1章密码学概述1.3.5密码体制的分类(续)在安全性方面,对称密钥密码体制是基于复杂的非线性变
换与迭代运算实现算法安全性的,而非对称密钥密码体制则一般是基于某个公认的数学难题而实现安全性的。(2)根据对明文信息的处理方式
根据密码算法对明文信息的处理方式,可将对称密码体制分为:分组密码(Blockcipher)序列
密码(Streamcipher,也称为流密码)。分组密码是将消息进行分组,一次处理一个数据块(分组)元素的输入,对每个输入
块产生一个输出块。在用分组密码加密时,一个明文分组被当做一个整体来产生一个等长的密文分组输出。分组密码通常使用的分组大小是64比特
或128比特。序列密码则是连续地处理输入元素,并随着处理过程的进行,一次产生一个元素的输出,在用序列密码加密时,一次加密一
个比特或一个字节。第1章密码学概述1.3.5密码体制的分类(续)(3)根据是否能进行可逆的加密变换根据
密码算法是否能进行可逆的加密变换,可以将密码体制分为:单向函数密码体制双向变换密码体制。单向
函数密码体制是一类特殊的密码体制,其性质是可以很容易地把明文转换成密文,但再把密文转换成正确的明文却是不可行的,有时甚至是不可能的。单向函数只适用于某种特殊的、不需要解密的应用场合,如用户口令的存储和信息的完整性保护与鉴别等。双向变换密码体制是指能够进行可逆的加密、解密变换,绝大多数加密算法都属于这一类,它要求所使用的密码算法能够进行可逆的双向加解密变换,否则接收者就无法把密文还原成明文。另外,关于密码体制的分类,还有一些其他的方法,例如按照在加密过程中是否引入了客观随机因素,可以分为确定型密码体制和概率密码体制等等。第1章密码学概述1.3.6对称与非对称密码体制的主要特点对称密码体制的主要优势是:加密、解密运算的处理速度块,效率高,算法安全性高。对称密码体制存在的局限性或不足:(1)对称密码算法的密钥分发过程复杂,所花代价高;(2)密钥管理量的困难;(3)保密通信系统的开放性差;(4)存在数字签名的困难性。第1章密码学概述1.3.6对称与非对称密码体制的主要特点(续)非对称密码体制的主要优势是:(1)密钥分配简单。(2)系统密钥量少,便于管理。(3)系统开放性好。(4)可以实现数字签名。非对称密码体制存在的局限性是加密、解密运算效率较低,处理速度较慢,同等安全强度下,非对称密码体制的密钥位数较多。另外,由于加密密钥是公开发布的,客观上存在“可能报文攻击”的威胁。
献花(0)
+1
(本文系pengxq书斋首藏)