《应用密码学》学习笔记
应用密码学实训报告总结

一、实训背景随着互联网技术的飞速发展,信息安全问题日益突出,应用密码学作为信息安全的核心技术之一,越来越受到广泛关注。
为了提高我们对应用密码学的理解和应用能力,我们参加了为期一个月的应用密码学实训。
本次实训旨在通过实践操作,加深对密码学原理的理解,掌握密码学在实际应用中的技术要点,提高信息安全防护能力。
二、实训目的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章密码学概述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表示。
应用密码学习题答案

《应用密码学》习题和思考题答案第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。
应用密码学研究生课程中文版

应用密码学研究生课程中文版一、课程简介应用密码学是一门涉及密码学理论、密码协议、加密算法、数字签名、密钥管理、安全协议等多个领域的交叉学科。
本课程将介绍密码学的基本概念、原理和技术,以及在实际应用中的重要性和必要性。
通过本课程的学习,学生将掌握密码学的基本理论和实践技能,为今后从事相关领域的研究和工作打下坚实的基础。
二、课程内容1.密码学基础:介绍密码学的基本概念、原理和技术,包括对称加密和非对称加密算法。
2.密钥管理:介绍密钥管理的概念、方法和实践,包括密钥生成、分发、存储和备份等。
3.数字签名:介绍数字签名的原理、方法和实践,包括数字签名的认证和验证等。
4.安全协议:介绍各种安全协议的概念、原理和应用,包括SSL/TLS协议、IPSec协议等。
5.密码应用:介绍密码学在实际应用中的重要性和必要性,包括数据加密、数字证书、安全支付等。
6.安全协议分析:介绍如何分析安全协议的安全性和可靠性,包括攻击方法和防御措施。
三、教学方法本课程将采用理论讲授和实践教学相结合的方式进行。
教师将通过PPT演示、案例分析、小组讨论等多种形式进行教学,帮助学生更好地理解和掌握课程内容。
同时,学生将需要完成一些课程作业和实验项目,以巩固所学知识并提高实践能力。
四、课程评估本课程的评估将包括平时作业、实验项目和期末考试三个部分。
平时作业和实验项目将根据学生的完成情况和提交质量进行评分,期末考试将采用闭卷笔试的形式进行。
通过课程评估,学生可以了解自己的学习情况和不足之处,及时调整学习方法和策略,提高自己的综合素质和能力。
以上是应用密码学研究生课程的主要内容,希望能对您有所帮助。
更多细节和课程细节请查阅相关资料或咨询专业教师。
应用密码学习题答案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) 按照明文被处理的方式不同可分为分组加密和流加密。 * 分组加密:一次处理一块(组)元素的输入,对每个输入块产生一个输出块。即一个 明文分组被当作一个整体来产生一个等长的密文分组输出,通常使用的是64位或128 位的分组大小。 * 流加密:也称为序列密码,即连续地处理输入元素,并随着该过程的进行,一次产生 一个元素的输出。即一次加密一个比特或一个字节。 2-7 网络安全模型和网络访问安全模型各适用于什么场合?
②多人通信时密钥组合的数量会出现爆炸性膨胀,使密钥分发更加复杂化, N 个人进 行两两通信,总共需要的密钥数为 C N = N ( N − 1) 2 。 ③通信双方必须统一密钥,才能发送保密的信息。如果发信者与收信人素不相识,这就 无法向对方发送秘密信息了。 ④除了密钥管理与分发问题, 对称密码算法还存在数字签名困难问题 (通信双方拥有同 样的消息,接收方可以伪造签名,发送方也可以否认发送过某消息) 。 非对称密码体制是加密密钥与解密密钥不同, 形成一个密钥对, 用其中一个密钥加密的 结果,可以用另一个密钥来解密的密码体制。非对称密码体制的优缺点: (1) 优点: ①网络中的每一个用户只需要保存自己的私有密钥, 则 N 个用户仅需产生 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.实现消息鉴别的手段:①基于加密技术的消息鉴别。
②基于散列函数的消息鉴别。