【问题标题】:Is it possible to compress a piece of already-compressed-data by encrypting or encoding it?是否可以通过加密或编码来压缩一段已经压缩的数据?
【发布时间】:2018-01-30 23:00:54
【问题描述】:

许多压缩算法都利用了数据中存在冗余/模式这一事实。例如,aaaaaaaaaabbbbbbbbbbbcccccccccccc 可以压缩为 10'a'11'b'12'c'

但是我的压缩数据中没有更多冗余,我无法进一步压缩它。但是,我可以对其进行加密或编码,然后将其转换为不同的字节串:xyzxyzxyzxyzxyz

如果随机位碰巧在其中有一个模式,似乎很容易利用它:5'xyz'

我们的流程如下所示:

Original:         aaaaaaaaaabbbbbbbbbbbcccccccccccc
Compressed:       10'a'11'b'12'c'
Encrypted:        xyzxyzxyzxyzxyz
Compressed again: 5'xyz'

但是您拥有的数据越多,文件就越大,许多加密形式就越有效。尤其是霍夫曼编码,它似乎对随机数据位非常有效,尤其是当文件变得非常大时!

我想当您需要快速数据时这会很糟糕,但我认为它可能对存储档案或其他类似的东西有好处。也许通过网络下载一部电影只需要 1MB 的带宽,而不是 4MB。然后,您可以在下载时解压电影,在硬盘上获取完整的 4MB 文件,而不会破坏您的网络带宽。

所以我有几个问题:

  1. 人们是否曾经对数据进行编码以便更好地压缩?

  2. 人们是否曾经“双重压缩”他们的数据?

  3. 是否有任何众所周知的“双重”压缩示例,其中数据被压缩、加密或编码,然后再次压缩?

【问题讨论】:

  • 为什么您认为 Huffman 编码对随机数据有效?它依赖于某些数据发生的概率不同于其他数据发生的概率。对于大量真正随机的数据,情况并非如此。
  • 你是对的,如果数据真的是随机的,那么霍夫曼编码根本不起作用。这是我的逻辑。压缩利用数据中的模式,使其无模式。加密会扰乱数据,因为我们已经是无模式的,所以只有可能性或保持无模式,或将一些模式引入数据。
  • @EdmCoff 我很困惑:一旦经过霍夫曼编码,一条消息看起来就像一串随机位。但是一串随机位对霍夫曼编码效率不高。在最坏的情况下,霍夫曼编码不会向消息中添加任何位(除了标头表,是否有足够大的开销相关?)。我想我很难相信每次您使用 EVERY 算法加密/编码压缩数据时,您都无法找到可以利用任何压缩算法进行压缩的模式。

标签: encoding compression


【解决方案1】:

良好的加密会产生高质量的随机数据,因此无法压缩。来自加密的“刚刚发生”的可压缩结果的概率与来自任何其他随机数据源的概率相同。这是永远不会的。

【讨论】:

  • 是的,这对加密很有意义。但是 .tar.gz 让我想到了所有这些,所以这就是我包含加密的原因。我想我应该改变我的问题只提到编码。因此,定义上的加密对此无济于事。但是编码呢?您可以使用无限数量的函数来编码数据,因此根据鸽洞原理,一种编码方法必须减少数据的随机性(并提高可压缩性),对吧?唯一的问题是……找到正确的编码函数要花多少钱。
  • 没有。问题是描述编码函数需要多少位。这必须与数据一起传输。这些位会让你回到你开始的地方。
  • 这是我担心的事情,但如果文件真的很大,那么我的想法是固定开销(10 千字节,每次压缩)有望被抵消。像这样压缩的另一个问题是,你真的必须“挖掘”才能找到一个好的编码函数......如果你可以根据数据的无模式程度来测量损失函数,这将是一个更容易的问题......但是解压缩并且解码会相对便宜。这实际上只对向客户端大量分发大文件有用。也许像 Netflix 这样的公司可以使用它?
  • 没有什么好用的。这不是需要多长时间才能找到东西的问题。即使拥有无限快速和强大的计算机,也无法找到任何东西来压缩随机数据。
  • 如果您的文件中有无数个编码函数、10 个有效压缩函数以及许多字节的数据,那么您只需将数据编码为10 KB(压缩开销)的可压缩数据,然后您可以重复。您可以继续压缩数据似乎是一种谬论,但限制是每次编码/压缩时,您必须将编码/压缩函数的逆函数记录到文件中的某个位置。但是您可以将它们与文件一起压缩。
【解决方案2】:

双重压缩就像永动机。这是一个经常讨论的想法,但从来没有奏效。如果它有效,您可以压缩和压缩并压缩并将文件降低到 1 位......请参阅 How many times can a file be compressed?

根本问题是大多数文件是不可压缩的——随机加密文件更是如此。

回答您的问题:

1) 是的!参见 burrows Wheeler 压缩

2) 没有。

3) 没有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    相关资源
    最近更新 更多