对称与非对称密钥加密

本文探讨了对称与非对称密钥加密的特性与差异,提出了一种结合两者优势的加密机制——数字信封技术,旨在解决密钥交换、速度与安全性等问题。通过使用对称加密确保效率,非对称加密保障密钥安全,实现了高效且安全的数据传输。
1.对称与非对称密钥加密比较

非对称密钥加密(用接收方的公钥进行加密)解决了密钥协定与密钥交换问题,但并没有解决实际安全结构中的所有问题。具体地说,对称与非对称密钥加密还有其他一些差别,各有所长。下表总结一下这些技术的实际用法:

特征对称密钥加密非对称密钥加密
加密/解密使用的密钥加密/解密使用的密钥相同加密/解密使用的密钥不相同
加密/解密速度很快
得到的密文长度通常等于或者小于明文长度大于明文长度
密钥协定与密钥交换大问题没问题
所需密钥数与消息交换参与者个数的关系大约为参与者个数的平方,因此伸缩性不好等于参与者个数,因此伸缩性好
用法主要用于加密/解密(保密性),不能用于数字签名(完整性与不可抵赖检查)可以用于加密/解密(保密性)和用于数字签名(完整性与不可抵赖检查)

上表显示了对称与非对称密钥加密各有所长,也都有需要改进的问题。非对称密钥加密解决了伸缩性和密钥协定与密钥交换问题,但速度慢,而且产生比对称密钥加密更大的密文块,因此使用的密钥比对称密钥加密大,算法更复杂。

2.两种加密机制的组合

组合这两种加密机制,要达到下列目标:
(1)解决方案完全安全。
(2)加密/解密速度要快。
(3)生成的密文长度要小。
(4)伸缩性要好,不能引入更多的复杂性。
(5)要解决密钥发布问题。
在实际中,对称与非对称密钥加密结合起来,提供了相当高效的安全方案,工作如下,这里假设A是发送方,B是接收方。
(1)A的计算机利用DES、IDEA与RC5之类的对称密钥加密算法加密明文消息(PT),产生密文消息(CT),如下图所示:
在这里插入图片描述
这个操作使用的密钥(K1)称为一次性对称密钥,用完即丢弃。
(2)用对称密钥加密明文(PT)。现在要把一次性对称密钥(K1)发送给服务器,使服务器能够解密密文(CT),恢复明文消息(PT)。这又到密钥交换问题了,这里要用一个新的概念,A要去第一步的一次性对称密钥(K1),用B的公钥(K2)加密K1。这个过程称为对称密钥的密钥包装,如下图所示:
在这里插入图片描述
我们可以看到对称密钥K1放在逻辑箱中,用B的公钥(K2)封起来。
(3)现在,A要密文CT和已加密的对称密钥一起放在数字信封(digital envelope)中,如下图所示:
在这里插入图片描述
(4)这时A将数字信封(包含密文T)和用B的公钥包装的对称密钥(K1)用基础传输机制(网络)发送给B,如下图所示:
在这里插入图片描述
这里没有显示数字信封的概念,假设数字信封包含两个项目。
(5)B接收并打开数字信封,B打开信封后,收到密文CT和用B的公钥包装的对称密钥(K1),如下图所示:
在这里插入图片描述
(6)B可以用A所用的非对称密钥算法和自己的私钥(K3)解密逻辑盒,其中包含B的公钥包装的对称密钥(K1),如下图所示:
在这里插入图片描述
这样,这个过程的输出是一次性对称密钥K1。
(7)最后,B用A所用的对称密钥算法对称密钥K1解密密文(CT),这个过程得到明文PT,如下图所示:
在这里插入图片描述

这个基于数字信封的过程之所以有效,原因如下:
(a)首先,用对称密钥加密算法和一次性会话密钥(K1)加密明文(PT)。对称密钥加密算法速度快,得到的密文(CT)通常比原先的明文(PT)小。如果这时使用非对称密钥加密算法,则速度很慢,对大块明文更是如此。另外,输出密文(CT)也会比原先的明文(PT)大。
(b)用B的公钥包装的对称密钥(K1),由于K1长度小(通常是56或者64位),因此这个非对称密钥加密过程不会用太长时间,得到的加密密钥不会占用太大空间。
(c)这个机制解决了密钥交换问题,同时不失对称密钥加密算法和非对称密钥加密算法的长处。
但是还有问题没有解决。B怎么知道A用了哪种对称或非对称密钥加密算法?B要知道这个信息之后才能用相同算法进行相应解密。实际上,A发送给B的数字信封包含这个信息。
在实际中对称与非对称密钥加密算法就是这样结合使用的。数字信封是相当有效的技术,可以从发送方向接收方传输消息,达到保密性。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pmetpord丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值