At a very basic level, compression just takes the existing data and finds a shorter way of writing it. Let's say I had a list like:
Apple
Apple
Apple
Banana
I could compress the list, rewriting it as
3 Apple
1 Banana
And the same amount of data takes up less space. But it still takes up some amount of space. And the amount of space it takes up is directly related to the format of the list.
Apple
Apple
Banana
Apple
For instance would have to be compressed into
2 Apple
1 Banana
1 Apple
Which takes up more space, even compressed. So any meaningful data you have has a lower limit on how small it can be and still be useful. A zip bomb would be like sitting down and maliciously making a list that, when compressed, says
99999 Apple
The compression is very small but the output is very large.
TLDR: You can construct a file that compresses into a miniscule file size, but most real files that contain usable information won't.
Partnumber t1_itrfukf wrote
Reply to comment by philipjfry1578 in ELI5: How do the people who make zip bombs compress it down so much? by [deleted]
At a very basic level, compression just takes the existing data and finds a shorter way of writing it. Let's say I had a list like:
Apple
Apple
Apple
Banana
I could compress the list, rewriting it as
3 Apple
1 Banana
And the same amount of data takes up less space. But it still takes up some amount of space. And the amount of space it takes up is directly related to the format of the list.
Apple
Apple
Banana
Apple
For instance would have to be compressed into
2 Apple
1 Banana
1 Apple
Which takes up more space, even compressed. So any meaningful data you have has a lower limit on how small it can be and still be useful. A zip bomb would be like sitting down and maliciously making a list that, when compressed, says
99999 Apple
The compression is very small but the output is very large.
TLDR: You can construct a file that compresses into a miniscule file size, but most real files that contain usable information won't.