您当前的位置:首页 > 计算机 > 精彩资源

加密和压缩有什么区别?它们应该按什么顺序完成?

时间:07-22来源:作者:点击数:

我们生活在数字时代,需要一次发送越来越多的数据,但这很快就会成为发送数据的硬件的问题。如果通过连接发送的数据过多,则可能需要数小时或数天才能完成传输,而接收方只需几分钟即可完成传输。这就是压缩的用武之地。压缩使用数据中的模式来缩短数据的大小,从而在此过程中节省带宽和存储空间。这很好用,但如果压缩数据在传输过程中被盗怎么办?压缩并不复杂,因此检索原始数据很容易。

什么是压缩及其工作原理

压缩是减小文件或数据大小的过程,通常是为了节省存储空间、加快数据传输速度或提高各种应用程序的效率。压缩有两种主要类型:无损和有损。在压缩算法中,任何重复的短语都会存储一次。这意味着,如果某个字符串在文本中的某个位置重复,则仅在第一次存储该字符串。第二次出现时,它是作为对第一次出现的引用出现的,因此当文本出现多次时,它会被非常有效地压缩,因此大小更小。此特性可用于压缩侧信道攻击。以下是它的工作原理:

·冗余移除

压缩算法可识别并消除数据中的冗余。冗余可能以重复模式、重复信息或不必要的细节的形式发生。通过删除冗余,压缩的数据表示形式将变得更加高效。

·基于字典的压缩

某些压缩算法(如 Lempel-Ziv-Welch (LZW))使用基于字典的方法。他们构建了一个包含频繁出现的模式的字典,并用较短的代码替换它们。这对于压缩具有重复序列的文本或数据特别有效。

·熵编码

熵编码技术(如霍夫曼编码)将较短的代码分配给出现频率较高的符号,将较长的代码分配给出现频率较低的符号。这利用数据中符号的统计分布来实现 。

·量化Lossy Compression

在有损压缩中,量化用于降低某些数据的精度,从而牺牲一些细节。例如,在图像压缩中,颜色值可能会四舍五入,从而导致颜色准确性降低,但文件大小会减小。

·变换编码(例如,离散余弦变换)

转换编码涉及将数据转换为信息更集中的不同域。在图像和视频压缩中,离散余弦变换 (DCT) 通常用于此目的。

加密和压缩

加密可以是对称的,也可以是非对称的。对称加密是两者中不太复杂的一种,它使用一个密钥来加密和解密数据。对称加密比非对称加密快得多,但安全性不高。只需泄露一个密钥即可泄露原始数据。非对称加密使用公有密钥和私有密钥对来加密纯文本数据。明文与私钥一起通过加密算法运行,只有发送者知道。然后,数据将发送给收件人,收件人使用公钥解密数据。这确保了数据发送者的身份,因为公有密钥仅解密使用该对中的私有密钥加密的数据。

使用加密和压缩,可以通过 Internet 安全地发送大部分数据。如果仅使用压缩,则数据的安全性将面临风险。Man in the Middle 攻击可以检索数据、解压缩数据并读取原始消息。另一方面,如果只使用加密,则加密的消息的大小是有限的。这就是为什么大多数消息都被加密和压缩的原因。下一个要回答的问题是,您是压缩数据,然后加密数据,还是反之亦然?

先加密还是先压缩?

首先选择加密或压缩数据取决于您需要绕过的攻击类型。最初,人们认为将加密和压缩相结合的唯一方法是在加密之前压缩数据。这是因为压缩依赖于数据中的模式来运行,而加密则试图破坏数据中的这些模式。已发现压缩后加密的方法对侧信道攻击很弱。这些类型的攻击使用 JavaScript 代码对受害者的浏览器执行暴力攻击,使攻击者能够根据压缩数据的大小推断传输的数据是什么。

虽然这个问题是在先压缩后加密的方法中发现的,但相比之下,先加密后压缩的问题要多得多。此方法比以前的方法更难,因为压缩需要数据中的模式才能正常工作。这意味着压缩数据的值将不存在,因为加密数据中不应有模式。因此,差分密码分析可以针对此方法来确定敏感数据的值。压缩后加密对差分密码分析更具弹性。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐