On Sun, Aug 18, 2013 at 7:03 PM, Warren D Smith <warren.wds@gmail.com> wrote:
If you use a system with block size 128 bits (say) that is 16 bytes.
If you encrypt a character stream (1 char = 1 byte) going block by block (same key each block) then you are going to repeat if and when author repeats a 16-character phrase. For example, the phrase "Adam P. Goucher\n" where \n is the newline character, occurs often if we were encrypting the math-fun archives.
BZZZZ. This indicates to me, despite my complaining before about just XORing text with output of a secure psu-random stream, that this XOR approach should be COMBINED with the block-by-block approach.
Microsoft Word used to do this in early versions ('95 and earlier, if I recall correctly). Just look at the most common character in each block and assume it's a space; you recover the 16-byte block and decrypt the whole file. No cipher worth worrying about works that way. Stream ciphers generate a stream of random bytes; if you're using a block cipher in counter mode as a stream cipher, you pick a key and then use the position as the input to the cipher. Anyone who uses a stream cipher also needs to use a hash, because XORing the ciphertext with a fixed difference produces a plaintext with the same difference.
This is a simple/stupid point, but I have not seen it mentioned in crypto manuals!
Perhaps; but the fact that you can break it with paper and pencil means you should probably think harder before considering it as a cryptosystem. It reminds me somewhat of the MAGENTA cipher, where the security actually went down as you increased the number of rounds.
-- Warren D. Smith http://RangeVoting.org <-- add your endorsement (by clicking "endorse" as 1st step)
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun
-- Mike Stay - metaweta@gmail.com http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com