0

I came across the following question and it is confusing me.

I'm completely new to cryptography, so please excuse the beginners question.

"Having just completed a course in Cryptography, Tom and Jerry start a new business to manufacture and market cryptography products. Tom designs an encryption algorithm $E_k(m)$ which produces a ciphertext upon encrypting message m with a key k and keeps the algorithm a secret, but the length of $E_k(m)$ is made public. Then Jerry enthusiastically advises Tom to increase the security by constructing $(E_k(m)\oplus m) \Vert (E_k(m)\oplus 1111…11)$ as the final ciphertext.

Here $ \vert\vert $ is the concatenation symbol and $\oplus$ is the XOR operator.

Is this a good scheme?"

Initially at first glance I can see that the new algorithm is more secure, but I couldn't actually get any ciphertext from the equation. Does that make it secure? or does it make it useless because there isn't any ciphertext to decrypt? OR is there ciphertext and I have just tackled it the wrong way?

I am probably going to kick myself, I'm probably missing the entire point.

I really appreciate any help!

Mark
  • 103
  • 2
Daniel
  • 1
  • 1
  • Welcome to Crypto.SE! Some hints: Note that your new ciphertext is a concatenation of 2 parts. Both have same length. Three properties of $\oplus$: We can change the order of the strings we are xoring, what happens if you xor a string with itself? What happens if you xor a string with zero? This should help to show that the scheme is insecure – Marc Ilunga Apr 26 '19 at 10:14
  • Ultimately there is an answer here: https://crypto.stackexchange.com/a/68708/58690 :) – Marc Ilunga Apr 26 '19 at 10:15
  • Hi Daniel. Could you please create more specific title to your question next time you post? You can maybe imagine that "Help with encryption question" is not particularly distinct on a crypto Q/A site. – Maarten Bodewes Apr 26 '19 at 11:05

0 Answers0