On 01/03/18 06:45, Gary Dale wrote:
On 2018-01-02 02:35 PM, Pascal Hambourg wrote:
Encryption does not require extra space (except for header and
block padding). Encrypted data have the same size of cleartext data.
+1
Encryption is similar in concept to compression.
AFAIK common use on Debian systems:
1. Encryption functions [1] are reversible functions that transform
data 1:1 in size, and are lossless.
2. Compression functions [2] are reversible functions that strive for
size ratios of N:1, where N > 1 (uncompressed:compressed), and can be
lossless or lossly.
A related topic is hashing functions [3] (N:fixed, can be difficult to
reverse).
It could even reduce the space requirements.
I'm curious -- can you cite a compressing cipher code that cannot be
reduced to independent compression and cipher functions?
Encryption and compression both work by replacing strings of letters with
something else.
I agree that encryption and compression are both forms of coding [4].
Encryption and compression both work by replacing strings of letters
with something else. What we call clear text, for example, is just a > Caesar cipher where each letter is replaced by a number (its ASCII code
or unicode).
ASCII [5] is a transliteration code -- replace a token from one alphabet
(Roman letters, Arabic numerals, common English symbols, etc.) with a
token from another alphabet (7-bit binary number). Spelling, grammar,
and meaning are unchanged.
The goal of a substitution cipher is to conceal meaning, and can be done
without changing alphabets (e.g. rot13 [6]). Spelling and grammar are
unchanged (which facilitates cryptanalysis).
Morse code, on the other hand, replaces common letters with
shorter sequences of dots and dashes than less common letters.
I agree that Morse Code [7] uses frequency-based techniques.
David
References:
[1] https://en.wikipedia.org/wiki/Encryption
[2] https://en.wikipedia.org/wiki/Data_compression
[3] https://en.wikipedia.org/wiki/Hash_function
[4] https://en.wikipedia.org/wiki/Code
[5] https://en.wikipedia.org/wiki/ASCII
[6] https://en.wikipedia.org/wiki/ROT13
[7] https://en.wikipedia.org/wiki/Morse_code