7.2.1 对称密钥算法
对称密钥算法,又称为传统密码算法,该算法的加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来
对称密钥算法的工作原理
DES算法
7.2.2 公开密钥算法
公开密钥算法的流程如图
RSA算法的过程:
(1)找两素数p和q。
(2)取n=p*q。
(3)取t=(p-1)*(q-1)。
(4)任意取一个数e,要求满足e<t并且e与t互素。
(5)取满足方程d*e%t==1的数d。
7.2.3 单向散列算法
单向散列函数一般用于产生消息摘要,密钥加密等。主要的散列算法有MD5、SHA、MAC。
(1)MD5(Message Digest 5)是RSA数据安全公司开发的一种单向散列算法,MD5可以用来把不同长度的数据块进行暗码运算成一个128位的数值。
(2)SHA(Secure Hash Algorithm)可以对任意长度的数据运算生成一个160位的数值。
(3)MAC(Message Authentication Code,消息认证代码)是一种使用密钥的单向函数,可以用它们在系统上或用户之间认证文件或消息
7.2.4 数字签名
数字签名的应用过程是:
(1)被发送文件采用哈希算法对原始报文进行运算,得到一个固定长度的数字串,称为报文摘要(Message Digest),不同的报文所得到的报文摘要不同,但对相同的报文它的报文摘要却是惟一的。
(2)数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数字签名将作为报文的附件和报文一起发送给接收方。
(3)数据接收方利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性
7.2.5 电子邮件的加密与PGP
PGP的报文有报文的IDEA密钥部分以及使用IDEA加密压缩的签字部分和报文部分三个部分组成。
PGP报文格式如图
当需要公开发表声明时,可以使用PGP签名,发表时只签名而不加密,声明人为了证实自己的身份,可以用自己的私匙签名
各省软考办 | ||||||||||