公钥密码、数字签名和数字证书相关知识及原理介绍 一、 从对称密码谈起 自从人类有了战争,智慧的人们就想出了很多的办法来解决通信保密问题,把需要通信的消息按固定规律转变成没有意义的乱码,而只有指定的合法接收者才能恢复解读出来,这就是密码学的基本思想
通常,人们总是会有很多的秘密信息需要保护,比如个人的信用卡账号,个人的医疗记录和财政细节等等;企业也有秘密,例如战略报告、销售预测、公司财务、技术产品的细节、研究成果、人员档案等,密码学上将这些需要保护的原始信息称为明文
为了确保明文信息不被别人获知,在将这些明文保存在某个地方或从网络上传送出去之前,需要用某种方法(通常是数学方法)把它伪装起来以隐藏它的真实内容,我们把伪装的这个过程称为加密,把伪装采用的方法称之为加密算法,(明文)伪装后得到的结果称之为密文;相反地,把密文恢复成明文的过程称为解密,恢复时所用的方法称为解密算法
上述这个过程还不是一个足够安全的过程
因为无论是加密算法还是解密算法,我们都可以用软件(一段程序)或硬件(加密机或加密卡)来实现
如果我们能绝对地保证加密和解密算法是保密的(例如只有通信双方知道),那么自然可以达到保密的效果
可事实上并非如此,实践证明,保护一段程序或者保护一个硬件是秘密的,和直接保护明文信息是秘密的,是一样的困难,高明的密码破译者们总能找到我们用来保密的加密算法和解密算法,从而找到我们要保密的信息
更何况,如果我们有办法保全加密算法或解密算法是秘密的,那么我们何不用之以直接保全我们的明文信息呢
因此密码学家们最终放弃了保密加解密算法的念头,而选择了设计一类新的加解密算法,在用这类算法加密时需要引入一个只有自己知道的秘密参数,密码学家把它称为密钥,而且只有拥有同样密钥的人才能解密阅读被加密的明文
顾名思义,“密钥”就是秘密的钥匙,起初人们总是把加解密比喻成利用钥匙给坚固的保险箱上锁开锁