《应用密码学》学习笔记
应用密码学数字签名的基本原理

应用密码学数字签名的基本原理什么是数字签名?数字签名是应用密码学中的一项重要技术,用于保护数据的完整性和认证数据来源的真实性。
它是在发送方生成的一种加密摘要,用于验证数据的完整性以及发送方的身份。
数字签名包括两个主要过程:签名和验证。
签名的过程1.选择哈希算法:首先,签名者需要选择适当的哈希算法。
常用的哈希算法包括MD5、SHA-1和SHA-256等。
2.计算哈希值:使用所选的哈希算法,将待签名的数据转换为固定长度的哈希值。
3.加密哈希值:对哈希值使用签名者的私钥进行加密,生成数字签名。
4.发送数据和数字签名:将数据和数字签名一起发送给接收者。
验证的过程1.接收数据和数字签名:接收者收到数据和数字签名。
2.解密数字签名:使用签名者的公钥对数字签名进行解密,得到哈希值。
3.计算接收到的数据的哈希值:使用与签名者相同的哈希算法,对接收到的数据计算哈希值。
4.比较哈希值:比较解密后的哈希值与计算出的哈希值。
如果两者匹配,则数据完整性和签名者的身份都得到了验证。
数字签名的应用场景数字签名在许多领域中得到广泛应用,以下是一些常见的应用场景:•电子商务:数字签名用于验证交易的合法性,确保客户和商家之间的安全交易。
•电子邮件:数字签名可以确保邮件的完整性和发送者的真实身份,防止邮件被篡改。
•法律文件:通过数字签名,法律文件的完整性和可靠性得到了保证。
•软件发布:数字签名用于验证软件的完整性和真实性,确保软件未被篡改。
•身份认证:数字签名可以用于验证用户的身份,例如在网络银行或在线支付时。
数字签名的优势使用数字签名可以带来许多优势,包括:•数据完整性:数字签名可以确保数据在传输过程中未被篡改。
•身份验证:数字签名可以验证发送者的身份,防止伪造。
•不可否认性:数字签名可以防止发送者否认发送过的数据。
•便捷性:数字签名可以在不泄露私钥的情况下进行验证,使验证过程更加简单。
•安全性:数字签名使用非对称加密算法,保护了数据的安全性。
应用密码学实训报告总结

一、实训背景随着互联网技术的飞速发展,信息安全问题日益突出,应用密码学作为信息安全的核心技术之一,越来越受到广泛关注。
为了提高我们对应用密码学的理解和应用能力,我们参加了为期一个月的应用密码学实训。
本次实训旨在通过实践操作,加深对密码学原理的理解,掌握密码学在实际应用中的技术要点,提高信息安全防护能力。
二、实训目的1. 理解和应用密码学的基本原理,包括对称密码、非对称密码、数字签名、哈希函数等。
2. 掌握密码学在实际应用中的技术要点,如密码协议、安全认证、数据加密等。
3. 提高信息安全防护能力,学会在实际工作中运用密码学技术解决安全问题。
4. 培养团队协作精神和创新意识,提高动手实践能力。
三、实训内容1. 密码学基础知识实训过程中,我们首先学习了密码学的基本概念、发展历程、分类及特点。
通过学习,我们了解了密码学的起源、发展历程以及在我国的应用现状。
2. 对称密码实训内容之一是对称密码的学习,包括AES、DES等加密算法。
我们通过实验操作,掌握了这些算法的原理、加密和解密过程,并学会了在实际应用中如何选择合适的加密算法。
3. 非对称密码实训过程中,我们学习了非对称密码的基本原理,包括RSA、ECC等加密算法。
通过实验操作,我们掌握了这些算法的加密和解密过程,并学会了在实际应用中选择合适的密钥长度。
4. 数字签名实训内容还包括数字签名技术,我们学习了RSA、ECC等数字签名算法,掌握了其原理和应用。
通过实验操作,我们学会了如何生成和验证数字签名,提高了信息安全防护能力。
5. 哈希函数哈希函数是密码学中的重要组成部分,实训过程中,我们学习了MD5、SHA-1、SHA-256等哈希函数。
通过实验操作,我们掌握了这些函数的原理和应用,学会了如何使用哈希函数保证数据完整性。
6. 密码协议实训内容还包括密码协议的学习,我们学习了SSL/TLS、SSH等密码协议。
通过实验操作,我们掌握了这些协议的原理和实现过程,学会了在实际应用中如何使用密码协议保障通信安全。
应用密码学手册

应用密码学手册摘要:1.应用密码学的概述2.应用密码学的重要性3.应用密码学的主要领域4.应用密码学的发展趋势5.我国在应用密码学领域的发展正文:【一、应用密码学的概述】应用密码学,顾名思义,是指将密码学应用于实际领域的一门学科。
密码学是研究加密和解密技术的学科,主要目的是保护信息的安全和完整。
在信息时代,应用密码学在保证网络安全、信息传输、数据存储等方面发挥着越来越重要的作用。
【二、应用密码学的重要性】随着互联网的普及和信息技术的发展,应用密码学在各个领域的应用越来越广泛。
金融、电子商务、政务、国防等领域都离不开密码学的保护。
应用密码学能够确保信息的机密性、完整性和可用性,是维护国家安全、保护公民隐私的重要技术手段。
【三、应用密码学的主要领域】应用密码学的领域非常广泛,主要包括以下几个方面:1.网络安全:应用密码学可以确保网络通信的安全,防止黑客攻击和数据泄露。
2.电子商务:应用密码学可以保证电子商务交易过程中的信息安全,保护消费者和商家的隐私。
3.政务领域:应用密码学可以确保政务信息的安全传输和存储,提高政府工作效率和公信力。
4.国防领域:应用密码学在军事通信、情报传递等方面具有重要作用,可以保障国家安全。
【四、应用密码学的发展趋势】随着量子计算机的出现和发展,现有的密码体制面临着被破解的风险。
因此,未来应用密码学的发展趋势将主要集中在以下几个方面:1.研究新型抗量子密码算法:为了应对量子计算机的威胁,研究新型抗量子密码算法成为当务之急。
2.提高密码算法的性能:在保证安全性的前提下,提高密码算法的性能,以满足日益增长的信息传输需求。
3.跨学科研究:将密码学与其他学科(如数学、物理、生物学等)相结合,寻求新的密码学理论和技术。
【五、我国在应用密码学领域的发展】我国在应用密码学领域取得了举世瞩目的成果。
政府高度重视密码学研究和应用,在政策扶持、资金投入、人才培养等方面做出了巨大努力。
我国密码学研究团队在多个领域取得了重要突破,为我国信息安全保障做出了巨大贡献。
应用密码学习题答案

《应用密码学》习题和思考题答案第4章 密码学数学引论4-1 编写一个程序找出100~200间的素数。
略4-2 计算下列数值:7503mod81、(-7503)mod81、81mod7503、(-81)mod7503。
解:7503mod81=51(-7503)mod81=3081mod7503=81(-81)mod7503=74224-3 证明:(1)[]))(m od (m od )(m od )(m od m b a m m b m a ⨯=⨯(2)[][])(m od ))(m od ())(m od (m od )(m m c a m b a m c b a ⨯+⨯=+⨯证明:(1)设(mod )a a m r =,(mod )b b m r =,则a a r jm =+(j 为某一整数),b b r km =+(k 为某一整数)。
于是有:[](mod )(mod )mod ()(mod )a b a m b m m r r m ⨯=()()()()()()()2()(mod )mod mod mod a b a b a b a b a b m r jm r km m r r r km r jm kjm m r r m ⨯=++=+++= 于是有:[]))(m od (m od )(m od )(m od m b a m m b m a ⨯=⨯(2)设(mod )a a m r =,(mod )b b m r =,(mod )c c m r =,则a a r jm =+(j 为某一整数),b b r km =+(k 为某一整数),c c r im =+(i 为某一整数)。
于是有:[]()()()()[]()()22()mod (mod )(mod )mod mod a b c a b c a b a a a c b c a b a c a b c m r jm r km r im m r jm r km r im m r r r im r km r r r jm kjm r jm ijm m r r r r m⎡⎤⨯+=++++⎡⎤⎣⎦⎣⎦⎡⎤=++++⎣⎦=+++++++=+[]()()()()()[]()(mod )()(mod )(mod )mod mod mod mod a b a c a b a c a b m a c m m r jm r km m r jm r im m m r r r r m⨯+⨯=+++++⎡⎤⎣⎦=+于是有:[][])(m od ))(m od ())(m od (m od )(m m c a m b a m c b a ⨯+⨯=+⨯4-4 编写一个程序,用扩展的欧几里德算法求gcd(4655,12075)和550-1mod1723。
【软考继续教育-应用密码学】14-17对称密码体制(1-4)

24 6 4 20 37 45 56 36
1 21 26 13 47 33 34 29
5 10 8 2 55 48 53 32
图5-24 置换选择1
密钥(48位)
图5-25 置换选择2
41
循环左移位
轮 1 序 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
移 位 数
1
1
2
17
CBC模式
18
CBC模式的特点
同一个明文分组重复出现时产生不同的密文分 组 加密函数的输入是当前的明文分组和前一个密 文分组的异或;对每个分组使用相同的密钥。 将明文分组序列的处理连接起来了。每个明文 分组的加密函数的输入与明文分组之间不再有 固定的关系 有助于将CBC模式用于加密长消息
输出(64位)
图5-17 逆初始置换(IP-1)
34
Li Ri 1
Ri Li 1 F ( Ri 1 , K i )
R16 R15
L16 L15 F ( R15 , K16 )
35
输入(32位)
输入(32位,来自于S盒)
32 4 8 12 16 20 24 28
1 5 9 13 17 21 25 29
8 7 6 5 4 3 2 1
48 47 46 45 44 43 42 41
16 15 14 13 12 11 10 9
56 55 54 53 52 51 50 49
24 23 22 21 20 19 18 17
64 63 62 61 60 59 58 57
32 31 30 29 28 27 26 25
2
2
2
2
2
应用密码学习题答案3

《应用密码学》习题和思考题答案第3章古典密码3-1 举例说明什么是隐写术。
答:隐写术就是隐藏消息的存在,这种方法通常在一段看来无伤大雅的文字中嵌入排列一些词汇或字母隐含地表达真正的意思。
例子略。
3-2 区别隐写术与密码编码学。
答:密码编码学是通过各种文本转换的方法使得消息为外部不可理解。
隐写术则是隐藏消息的存在,它本质上不是一种编码加密技术,这种方法通常在一段看来无伤大雅的文字中嵌入排列一些词汇或字母隐含地表达真正的意思。
隐写术的优点在于能够被某些人使用而不容易发现他们间在进行秘密通信。
而加密则很容易被发现谁与谁在进行秘密通信,这种发现本身可能具有某种意义或作用。
隐写术与加密技术相比有一些缺点:(1)它形式简单但构造费时,要求有大量的开销来隐藏相对较少的信息。
(2)一旦该系统的构造方法被发现,就会变得完全没有价值。
(3)隐写术一般无稳健性,如数据改动后隐藏的信息不能被恢复。
3-3 区别代替与换位。
答:代替就是将明文字符用另一个字符取代,代替密码操作的目的是制造混乱,使得确定消息和密钥是怎样转换成密文的尝试变得困难。
换位就是重新排列消息中的字母,以便打破密文的结构特性。
即它交换的不再是字符本身,而是字符被书写的位置。
3-4 频率分析的基本处理方法是什么?答:频率分析攻击的一般方法:第一步:对密文中出现的各个字母进行统计,找出它们各自出现的频率。
第二步:根据密文中出现的各个字母的频率,和英语字母标准频率进行对比分析,做出假设,推论加密所用的公式。
第三步:证实上述假设(如果不正确,继续作其他假设)。
3-5 使用穷举搜索法,破译如下利用代替密码加密的密文:BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQD解:因此,本题的解密结果应为:Look up in the air,it’s a bird, it’s a plane, it’s superman。
提示:表中最左边一列的数字表示代替变换时字母的后移位数。
应用密码学

AES算法的加密过程:
一、先对明文进行分组,每组长度为128位的明文段长度,逐段加密。将128位明文段先进行一次轮密钥加密。
二、依次再对上述轮密钥加密过的明文段进行字节替换、行移位、列混合,最后再进行一次轮密钥加密;
三、对上述二中的所有步骤重复九次;
四、对第一组数据进行最后一次的加密,对第九次进行完轮密钥加密后的数据再一次进行字节替换、行移位(注:最后一次没有列混合),然后再进行轮密钥加密,输出密文。
古典密码技术
1、替代密码:
一、单表替代密码(只用一张表对密码进行一次替代得到从明文到密文的转换):一般单表替代密码、移位密码(将每一位按照定的比例长度进行移位)、仿射密码(利用一个线性式子得到一个一对一的替换算法)、密钥短语密码(选用一个英文短语或单词串作为密钥,去掉其中重复的字母得到一个无重复字母的字符串,然后再将字母表中的其他字母依次写于此字母串后,就可构造出一个字母替代表)。
3、密文反馈模式CFB:在加密的过程中使前后分组加密的密文之间有更强的关联性的一种加密方法,具体请参书(64页)。
4、输出反馈模式OFB:把分组加密算法作为密钥流生成器使用,加密算法的输出直接放入反馈寄存器的同时与明文按位加产生密文。
5、计数器模式CTR:该模式不是用加密算法的输出填充寄存器,而是将一个计数器输入到寄存器中,具体参看书中内容(66页)。
当对明文进行加密时,需进行分组,当最后分组长度不够指定长度时,需要对其进行填充,其填充方法:在最后一个分组之后进行填充,保证填充后的分组的最后64位为整个输入信息M的总长度(以位为单位),然后在中间进行填充。填充方式有两种,一种是全部填充0,另一种是填充序列的最高位为1,其余为0。
应用密码学习题答案5

《应用密码学》习题和思考题答案第5章 对称密码体制5-1 画出分组密码算法的原理框图,并解释其基本工作原理。
答:图5-1 分组密码原理框图1210-t 1210-t )分组密码处理的单位是一组明文,即将明文消息编码后的数字序列im m m m ,,,,210 划分成长为L 位的组()0121,,,,L m m m m m -=,各个长为L 的分组分别在密钥()0121,,,,t k k k k k -= (密钥长为t )的控制下变换成与明文组等长的一组密文输出数字序列()0121,,,,L c c c c c -= 。
L 通常为64或128。
解密过程是加密的逆过程。
5-2 为了保证分组密码算法的安全强度,对分组密码算法的要求有哪些? 答:(1)分组长度足够大;(2)密钥量足够大;(3)密码变换足够复杂。
5-3 什么是SP 网络?答:SP 网络就是由多重S 变换和P 变换组合成的变换网络,即迭代密码,它是乘积密码的一种,由Shannon 提出。
其基本操作是S 变换(代替)和P 变换(换位),前者称为S 盒,后者被称为P 盒。
S 盒的作用是起到混乱作用,P 盒的作用是起到扩散的作用。
5-4 什么是雪崩效应?答:雪崩效应是指输入(明文或密钥)即使只有很小的变化,也会导致输出发生巨大变化的现象。
即明文的一个比特的变化应该引起密文许多比特的改变。
5-5 什么是Feistel 密码结构?Feistel 密码结构的实现依赖的主要参数有哪些? 答:1K nK i密文明文图5-6 Feistel密码结构Feistel 密码结构如图5-6所示。
加密算法的输入是长为2w 位的明文和密钥K ,明文被均分为长度为w 位的0L 和0R 两部分。
这两部分经过n 轮迭代后交换位置组合在一起成为密文。
其运算逻辑关系为:1(1,2,,)i i L R i n -==11(,)(1,2,,)i i i i R L F R K i n --=⊕=每轮迭代都有相同的结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以下是我对《应用密码学》这本书的部分学习笔记,比较简单。
笔记中对现代常用的加密技术进行了简单的归类和解释,有兴趣的同学可以看一下,没看过的同学就当普及知识了,看过的同学就当复习了。
笔记里面可能有错别字,有的话请各位看客帮忙指正。
第1章密码学概述1-1、1-21.密码技术的发展历史大致可以划分为三个时期:古典密码、近代密码和现代密码时期。
2.公元前440多年的斯巴达克人发明了一种称为“天书”的加密器械来秘密传送军事情报。
这是最早的移位密码。
3.1919年德国人亚瑟·谢尔比乌斯利用机械电气技术发明了一种能够自动编码的转轮密码机。
这就是历史上最著名的德国“埃尼格玛”密码机。
4.1949年香农的奠基性论文“保密系统的通信理论”在《贝尔系统技术杂志》上发表。
5.1977年,美国国家标准局正式公布实施了美国的数据加密标准(DES)。
6.1976年11月,名美国斯坦福大学的著名密码学家迪菲和赫尔曼发表了“密码学新方向”一文,首次提出了公钥密码体制的概念和设计思想。
7.1978年,美国的里韦斯特(R.L.Rivest)、沙米尔(A.Shamir)和阿德勒曼(L.Adleman)提出了第一个较为完善的公钥密码体制——RSA体制,成为公钥密码的杰出代表和事实标准。
8.2000年10月,比利时密码学家Joan Daemen和Vincent Rijmen提出的“Rijndael数据加密算法”被确定为AES算法,作为新一代数据加密标准。
1-31.密码学的主要任务:密码学主要为存储和传输中的数字信息提供如下几个方面的安全保护:机密性、数据完整性、鉴别、抗抵赖性。
2.密码体制中的有关基本概念:明文(plaintext):常用m或p表示。
密文(ciphertext):常用c表示。
加密(encrypt):解密(decrypt):密码算法(cryptography algorithm):简称密码(cipher)。
密钥(secret key):常用k表示。
3.通常一个密码体制可以有如下几个部分:(1)消息空间M,又称明文空间。
(2)密文空间C。
(3)密钥空间K。
(4)加密算法E。
(5)解密算法D。
4.密码分析者破译或攻击密码的方法主要有:①穷举攻击法:又称强力或蛮力攻击。
这种攻击方法是对截获到的密文尝试遍历所有可能的密钥,知道获得一种从密文到明文的可理解的转换。
或使用不变的密钥对所有可能的明文加密直刀得到与截获的密文一致为止。
②统计分析法:就是指密码分析者根据明文、密文和密钥的统计规律来破译密码的方法。
③数学分析法:是指密码分析者针对加解密算法的数学基础和某些密码学特征,通过数学求解的方法来破译密码。
5.评估密码系统安全性主要有三种方法:①无条件安全性。
②计算安全性。
③可证明安全性。
6.一个提供机密性服务的密码系统是实际可用的,必须满足如下基本条件:①系统的保密性不依赖于对加密体制或算法的保密,而仅依赖于密钥的安全性,“一切秘密寓于密钥之中”是密码系统设计的一个忠告原则。
②满足实际安全性,使破译者取得密文后在有效时间和成本范围内,确定密钥或相应明文在计算上是不可行的。
③加密和解密算法应适用于明文空间、密钥空间中的所有元素。
④加密和解密算法能有效地计算,密码学系统易于实现和使用。
6.密码体制的分类①根据密码算法所用的密钥数量:对称密码体制、非对称密码体制。
②根据对明文信息的处理方式:分组密码、序列密码(也称为流密码)。
③根据是否能进行可逆的加密变换:单向函数密码体制和双向变换密码体制。
7.对称密码体制的主要优点是加密、解密的处理速度较快,效率搞,算法安全性高,不足之处有以下几点:①对称密码算法的密钥分发过程复杂,所花代价高。
②密钥管理量的困难。
③保密通信系统的开放性差。
④存在数字签名的困难性。
8.非对称密码体制的主要有点有以下几点:①密钥分发简单。
②系统密钥量少,便于管理。
③系统开放性好。
④可以实现数字签名。
缺点:加密、解密算法复杂,处理速度较慢,同等安全强度下,非对称密码体制的密钥位数较多。
第2章古典密码技术2-11.替代密码的分类:单表替代密、多表替代密码。
2.移位密码是一般单表替代密码的一个特例。
当移位密码的密钥k=3时,就是历史上著名的凯撒密码。
3.弗吉尼亚密码是最古老而且著名的多表替代密码体制之一。
4.典型的置换密码算法:周期置换密码、列置换密码。
第3章分组密码1.分组密码的设计原则:①针对安全性的一般设计原则:分组长度和密钥长度、扰乱原则、扩散原则。
②针对实现的设计原则:软件实现的设计原则、硬件实现的设计原则。
2.分组密码常见的设计方法①Feistel结构(BIowfish、RC5、DES)②SPN结构(SAFER、SHARK、AES)。
SPN结构分为两层:第一层为S层,也称为替换层,主要起扰乱的作用。
第二层为P层,也称为置换层,主要起扩散的作用。
3.DES算法描述:DES是一种明文分组为64位、有效密钥为56位、输出密文64位的,具有16论迭代的分组对称密码算法,DES由初始置换、16论迭代和初始逆置换组成。
4.DES的基本运算:①初始置换IP和初始逆置换IP-1.②E-扩展运算。
③S-盒运算。
④P-置换。
5.AES算法的数学基础:AES把一个字节堪称是在有限域GF(2^8)上的一个元素,并采用多项式表示域中的元素。
6.可以利用x乘法来加快GF(2^8)中任意两个元素的乘法。
7.AES算法总体描述:AES的分组长度为128位,有三种可选的密钥长度,128位,192位和256位。
AES是一个迭代型密码;轮数Nr依赖于密钥长度。
如果密钥长度为128位,Nr=10;如果密钥长度为192位,Nr=12;如果密钥长度为256位,Nr=14。
下面给出AES加密的总体描述:①给定一个明文M,将State初始化为M,并将轮密钥与State异或(称为AddRoundKey)。
②对前Nr-1轮中的每一轮,用S-盒进行一次替换操作(称为SubBytes)。
对替换的结果State做行移位操作(称为ShiftRows);再对State做列混合变换(MixColumns,也称为列混淆变换);然后进行AddRoundKey操作。
③在最后一轮中依次进行SubBytes、ShiftRows和AddRoundKey操作。
④将State定义为密文C。
8.分组密码的工作模式:①电子本模式(ECB)看图②密码分组链接模式(CBC)看图③密码反馈模式(CFB)看图④输出反馈模式(OFB)看图⑤计数器模式(CTR)9.其他分组密码:IDEA加密算法、RC6加密算法。
第4章公钥密码体制1.目前人们主要是基于如下的数学上的困难问题来设计单向函数和公钥密码体制:①大整数分解问题(RSA)。
②有限域上的离散对数问题(Elgamal)。
③椭圆曲线上的离散对数问题(ECC)。
2.公钥密码的应用:①机密性的实现、②数字签名、③密钥分发和协商。
3.RSA的算法描述:①密钥生成(1)选择两个随机的大素数p和q,并计算n=pq和φ(n)=(p-1)(q-1)。
(2)选择一个随机数e,1<e<φ(n),满足gcd(e,φ(n))=1,并计算d=e^-1 mod (φ(n))。
(3)公钥为(e,n),私钥为d。
②加密对明文m < n,其对应的密文为c = m^e mod n。
③解密对密文c,其对应的明文是m = c^d mod n。
4.计算a^m mod n 的“平方-乘法”算法的伪代码描述如下:Square-and-Multiply(a,m,n)//输出a^m mod n 的值{把m表示为二进制BkBk-1...B0d = 1;for( i = k;i >= 0;i --){d = d*d mod n;if( Bi == 1 )d = ( d * a ) mod n;}return d;}ler-Rabin算法是一种比较高效和流行的素性检测算法。
6.RSA在应用中的问题:①用户之间不要共享模数n。
②不同的用户选用的素数不能相同。
③一般不能直接应用RSA进行加解密。
7.ElGamal公钥密码体制是T.ElGamal于1985年提出,是最有名的公钥密码体制之一,它的安全性是基于离散对数问题。
8.ElGamal密码体制的具体描述如下:①密钥的生成:系统选取一个大素数p,α是p的一个本原元。
随机生成一个整数x,2<=x<=p-2,并计算:y =α^x mod p。
以(p,α,y)作为用户的公开密钥,而x作为用户的秘密密钥。
②加密:设用户想加密的明文为m<p,其加密过程如下:(1)随机选择一个整数k,2<=k<=p-2,并计算c1= α^k mod p,c2 = m * y^k mod p。
(2)密文为二元组(c1,c2)。
③解密:用户用秘密密钥x对密文(c1,c2)的解密过程为:m = c2 * (c1^x)^-1 mod p 。
9.ECC的安全性基于椭圆曲线离散对数问题的难解性。
椭圆曲线密码体制有两个方面的优点:①密钥长度小。
②算法性能好。
第5章散列函数与消息鉴别1.密码学中的散列函数又称为哈希函数(Hash函数)、杂凑函数,它是一种单向密码体制,是一个从明文到密文的不可逆映射,只有加密过程,不能解密。
散列函数是可将任意长度的输入消息(message)压缩为某一固定长度的消息摘要(message digest,MD)的函数,输出的消息摘要也称为散列码。
2.散列函数的性质:设散列函数为h(m),具有以下基本特性:①h(m)算法公开,不需要密钥。
②具有数据压缩功能,可将任意长度的输入数据转换成一个固定长度的输出。
③对任何给定的m,h(m)易于计算。
3.散列函数需要满足的安全性要求:①具有单向性。
②具有弱抗碰撞性。
③具有强抗碰撞性。
4.散列函数的主要应用有以下三个方向:①保证数据的完整性。
②单项数据加密。
③数字签名。
5.SHA-1基于散列算法MD4,并且它在设计方面也很大程度上是模仿MD4的。
6.SHA-1是签名数字标准DSS(Digital Signature Standard)中使用的散列算法。
它能够处理最大长度为2^64位的输入数据,输出为160位的散列函数值,SHA-1的输出正好适合作为数字签名算法DSA(Digital Signature Algorithm)的输入。
7.目前对于散列函数的攻击方法可以分为两类:①穷举攻击。
②密码分析法。
8.在消息传递的过程中,需要考虑两个方面的问题:①为了可以抵抗窃听等被动攻击,需要对传输的信息进行加密保护。
②使用消息鉴别来防止攻击者对系统进行主动攻击,如伪造、篡改消息等。
9.实现消息鉴别的手段:①基于加密技术的消息鉴别。
②基于散列函数的消息鉴别。