加密、解密、数字签名和数字证书概念详解

随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出。为了能在因特网上开展安全的电子商务活动,公开密钥基础设施(PKI, Public Key Infrastructure)逐步在国内外得到广泛应用。我们是否真的需要PKI,PKI究竟有什么用?下面通过一个案例一步步地来剖析这个问题。

2.  案例 2.1 案例内容

甲想将一份合同文件通过Internet发给远在国外的乙,此合同文件对双方非常重要,不能有丝毫差错,而且此文件绝对不能被其他人得知其内容。如何才能实现这个合同的安全发送?

 

2.2 问题1

问题1:最自然的想法是,甲必须对文件加密才能保证不被其他人查看其内容。那么,到底应该用什么加密技术,才能使合同传送既安全又快速呢?

 

  可以采用一些成熟的对称加密算法,如DES、3DES、RC5等对文件加密。对称加密采用了对称密码编码技术,对称加密的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用做解密密钥,这种方法在密码学中叫做对称加密算法,

2.3 问题2

问题2:如果黑客截获此文件,是否用同一算法就可以解密此文件呢?

  不可以,因为加密和解密均需要两个组件:加密算法和对称密钥,加密算法需要用一个对称密钥来解密,黑客并不知道此密钥。

2.4 问题3

问题3:既然黑客不知密钥,那么乙怎样才能安全地得到其密钥呢?用电话通知,若电话被窃听,通过Internet 发此密钥给乙,可能被黑客截获,怎么办?

  方法是用非对称密钥算法加密对称密钥后进行传送。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(Public Key)和私有密钥(Private Key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称加密算法(公/私钥可由专门软件生成)。甲乙双方各有一对公/私钥,公钥可在Internet上传送,私钥自己保存。这样甲就可以用乙的公钥加密问题1中提到的对称加密算法中的对称密钥。即使黑客截获到此密钥,也会因为黑客不知乙的私钥,而解不开对称密钥,因此也解不开密文,只有乙才能解开密文。(注意:这里是乙生成非对称算法的公钥和私钥,乙将私钥保存在自己的手中,然后将公钥发给甲,公钥是公开的,谁都可以截获/获得)。

2.5 问题4

问题4既然甲可以用乙的公钥加密其对称密钥,为什么不直接用乙的公钥加密其文件呢?这样不仅简单,而且省去了用对称加密算法加密文件的步骤?

  不可以这么做。因为非对称密码算法有两个缺点:(1)加密速度慢,比对称加密算法慢10~100倍,因此只可用其加密小数据(如对称密钥);(2)非对称加密后会导致得到的密文变长。因此一般采用对称加密算法加密其文件,然后用非对称算法加密对称算法所用到的对称密钥。

2.6 问题5

问题5如果黑客截获到密文(甲发送给乙的用自己的对称密钥加密的文件),同样也截获到用公钥加密的对称密钥(甲用乙的公钥加密的自己的对称密钥),由于黑客无乙的私钥,因此他解不开对称密钥,但如果他用对称加密算法加密一份假文件,并用乙的公钥加密一份假文件的对称密钥,并发给乙,乙会以为收到的是甲发送的文件,会用其私钥解密假文件,并很高兴地阅读其内容,但却不知已经被替换。换句话说,乙并不知道这不是甲发给他的,怎么办?

  答案是用数字签名证明其身份。数字签名是通过散列算法(Secure Hash Algorithm,缩写为SHA,也称为Hash或者哈希,也称为杂凑),如MD5、SHA-1等算法从大块的数据中提取一个摘要。而从这个摘要中不能通过散列算法恢复出任何一点原文,即得到的摘要不会透露出任何最初明文的信息,但如果原信息受到任何改动,得到的摘要却肯定会有所不同(摘要是通过Hash算法得到的,相同信息的不同算法得到的摘要是不同的)。因此甲可以对文件进行散列算法得到摘要,并用自己的私钥加密(因为非对称算法可逆,即用私钥可解开公钥加密的文件,反之亦然),这样即使黑客截获也无用。因为黑客不会从摘要内获得任何信息,但乙却不一样,他可用甲的公钥解密,得到其摘要(如果用甲的公钥能够解开此摘要,说明此摘要肯定是甲发的,因为只有甲的公钥才能解开用甲的私钥加密的信息,而甲的私钥只有甲自己知道),并对收到的文件(解密后的合同文件)也进行同样的散列算法,通过比较其摘要是否一样,就可得知此文件是否被篡改过(因为若摘要相同,则肯定信息未被改动,这是散列算法的特点)。这样不仅解决了证明发送人身份的问题,同时还解决了文件是否被篡改问题。(注意:摘要不是加解密,摘要只能用于对比,看是否相同)

2.7 问题6

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/aaef7ec5bb46e6b560684431c3936fc3.html