以前写过“网站安全登录认证设计”,有读者留言表示怀疑是否解释不充分。
“公钥正如名字所示是公开的。 只要你愿意,每个人都有你的公钥。 为什么安全?
用网站的公钥加密,到达网站后,网站应该用自己的私钥解密吧”。
这些密码学的概念容易混淆,确实也不是没有道理的。 由于公钥、私钥、加密、认证等是一个复杂的问题,其概念不太容易理解,理解不透彻容易产生似是而非的概念。 为了能进一步理解密码学,这里详细解说公钥和私钥的具体作用和使用方法。
加密和认证首先需要区分加密和认证这两个基本概念。
加密是对数据进行加密,以确保未经授权的用户即使检索到加密的数据,也无法检索到正确的数据内容。 因此,加密数据可以保护数据并防止拦截攻击。 其重点是数据的安全性。 认证用于判断某个身份的真实性,身份被确认后,系统可以对每个身份赋予不同的权限。 其重点是用户的真实性。 两者的侧重点不同。
公钥和私钥之后,您需要了解公钥和私钥的概念和作用。
现代加密方法中,加密和解密使用不同密钥(公钥),即非对称密钥加密系统,每个通信方需要公钥和私钥两个密钥,这两个密钥可以相互加密和解密。 公钥是公开的,不需要保密,但私钥必须由个人自己拥有,妥善保管,小心保密。
公钥私钥的原则:
一个公钥对应一个私钥。 在密钥对中,让大家知道的是公钥,不要告诉大家,只有自己知道的是私钥。 用任意一个密钥加密数据后,只有相应的密钥才能解密。 如果可以用任意一个密钥解密数据,则该数据一定会用对应的密钥加密。 非对称密钥密码的主要应用是公钥密码和公钥认证,但公钥密码的过程与公钥认证的过程不同,下面详细描述两者的区别。
基于公钥的加密过程包括例如两个用户ctdgq和lldjmg。 ctdgq希望通过双重密钥加密技术将明文发送到lldjmg。 因为lldjmg有一对公钥和私钥,所以加密的解密过程如下。
lldjmg把他的公钥发送给ctdgq。 ctdgq用lldjmg的公钥加密她的信息,发送到lldjmg。 lldjmg用他的私钥解密ctdgq的消息。 上面的过程可以用下图表示。 ctdgq用lldjmg的公钥加密,lldjmg用自己的私钥解密。
基于公钥的认证过程的认证和加密不同,主要用户认证用户的真伪。 在此,如果能够识别某个用户的秘密密钥正确,则能够识别该用户的真伪。
还是ctdgq和lldjmg的两个用户,ctdgq想让lldjmg知道自己是真正的ctdgq而不是假货。 因此,ctdgq使用公钥密码学将文档签名发送到lldjmg,lldjmg使用ctdgq的公钥解密文档,如果解密成功,则证明ctdgq的私钥是正确的,完成配对的整个认证过程如下:
ctdgq用她的私钥加密文件,并签名文件。 ctdgq将签名的文件发送到lldjmg。 lldjmg用ctdgq的公钥解密文件,验证签名。 上面的过程可以在下图中表示,ctdgq用自己的私钥加密,lldjmg用ctdgq的公钥解密。
那么,以上详细论述了加密、认证、公钥、私钥四个概念。 了解这些概念之后,您应该能够更清楚地理解《站点安全登录身份验证设计》一文中的概念。
转载于:https://www.cn blogs.com/Fang Qing 1986/archive/2008/05/14/1196972.html