加密/解密的原理如下:在发送端将数据变换成某种难以理解的形式,并在接收端进行反变换,以恢复数据的原样。加密/解密的关键是,加密/解密算法的提出和加密/解密模块的实现。在加密系统中,算法是公开的,保密的核心在于密钥。密钥就是一串参与加密的字符串,算法在密钥的控制下进行操作,对应不同的密钥,相同的算法和相同的明文可以产生完全不同的密文,从而密钥可以充分地发挥已设计的加密算法的作用。
7.2 两类密码体制
对称密钥密码体制:指加密密钥与解密密钥相同的密码体制。(加解密双方共享同一秘钥)
公钥密码体制:使用不同的加密密钥和解密密钥,
对称密钥:一对一双向保密通道
公钥:多对一的单项保密通道
公钥密码体制通常用于会话密钥的建立;
对称密钥密码体制被用于其他大多数情况下的加密。
公钥密码体制(也称为非对称密码体制)使用一对相关的密钥,包括公钥和私钥。公钥用于加密数据,私钥用于解密数据。
加密过程如下:
1、接收者生成一对密钥,其中包含一个公钥和一个私钥。
2、发送者使用接收者的公钥来加密要发送的数据。
3、发送者将加密后的数据发送给接收者。
解密过程如下:
1、接收者使用自己的私钥来解密接收到的数据。
2、使用私钥解密后,接收者可以获得原始数据。
为什么公钥可以公开?
在公钥密码体制中,公钥是用于加密数据的,而私钥是用于解密数据的。公钥可以公开是因为公钥本身 并不能用于解密数据,只有配对的私钥才能进行解密。因此,即使公钥被泄露,攻击者也无法从公钥推导出私钥或破解加密的数据。
如果不公开公钥是否可以提高安全性?
不公开公钥会降低通信的便利性,并且需要另外的机制来安全地分发公钥给通信的各方。尽管公钥可以公开,但私钥必须保持机密。只有授权的个体可以持有私钥。通过保护私钥的安全性,公钥密码体制可以提供较高的安全性。
• 7.3.1 报文鉴别
加密基本原理
报文摘要 MD message digest
报文鉴别码MAC message authentication Code
密码(安全散列函数)单向函数
算法:MD5->SHA(secure Hash Algorithm)安全散列算法
散列报文鉴别码
利用密码散列函数的特殊性质,可以设计出无需对报文摘要进行加密的报文鉴别方法,只要通信双方 共享一个称为鉴别密钥的秘密比特串s 即可。
直接使用密码散列函数实现报文鉴别的技术又称为散列报文鉴别码(Hashed MAC,HMAC)。
数字签名(仅对报文摘要)
数字签名是基于公钥加密技术的。它使用一对密钥:公钥和私钥。私钥保密,而公钥则可以公开。数字签名的过程分为两个主要部分:签名和验证。A用其私钥SKa对报文X进行D运算(解密运算)A把经过D运算得到的密文传送给B,B为了核实签名,用A的公钥进行E运算,还原出明文X。