Does adding complexity mean a more secure cipher? The 2019 Stack Overflow Developer Survey Results Are InEasy explanation of “IND-” security notions?Is this hand cipher any more secure than the Vigenère cipher?What does ''latency'' really mean when a block cipher is partially unrolled?RSA: how does it work and how is it more secure than symmetric systemsComplexity of attacks on affine cipherIs my protocol that uses hybrid cryptography and AES-GCM secure?What does 0…0 and 1…1 meanDoes AAD make GCM encryption more secure?What does (block cipher) decryption parallelizable mean?What does “$<!!<!!<$” mean?What does fullstop mean in this context?
Is it possible for absolutely everyone to attain enlightenment?
How to obtain a position of last non-zero element
Why doesn't shell automatically fix "useless use of cat"?
What information about me do stores get via my credit card?
Are spiders unable to hurt humans, especially very small spiders?
Dropping list elements from nested list after evaluation
What could be the right powersource for 15 seconds lifespan disposable giant chainsaw?
Can we generate random numbers using irrational numbers like π and e?
How do PCB vias affect signal quality?
How much of the clove should I use when using big garlic heads?
Worn-tile Scrabble
Cooking pasta in a water boiler
Button changing its text & action. Good or terrible?
Can there be female White Walkers?
How can I define good in a religion that claims no moral authority?
What's the name of these plastic connectors
Did the UK government pay "millions and millions of dollars" to try to snag Julian Assange?
How can I add encounters in the Lost Mine of Phandelver campaign without giving PCs too much XP?
Is it correct to say the Neural Networks are an alternative way of performing Maximum Likelihood Estimation? if not, why?
If I score a critical hit on an 18 or higher, what are my chances of getting a critical hit if I roll 3d20?
Why didn't the Event Horizon Telescope team mention Sagittarius A*?
Get name of standard action overriden in Visualforce contorller
Inverse Relationship Between Precision and Recall
Why don't hard Brexiteers insist on a hard border to prevent illegal immigration after Brexit?
Does adding complexity mean a more secure cipher?
The 2019 Stack Overflow Developer Survey Results Are InEasy explanation of “IND-” security notions?Is this hand cipher any more secure than the Vigenère cipher?What does ''latency'' really mean when a block cipher is partially unrolled?RSA: how does it work and how is it more secure than symmetric systemsComplexity of attacks on affine cipherIs my protocol that uses hybrid cryptography and AES-GCM secure?What does 0…0 and 1…1 meanDoes AAD make GCM encryption more secure?What does (block cipher) decryption parallelizable mean?What does “$<!!<!!<$” mean?What does fullstop mean in this context?
$begingroup$
I have a cryptography workshop question I'm having trouble with as follows;
Person A creates a cipher $E_k(m)$ which produces a ciphertext from message "m" using key "k". The function inside E is kept secret but the length of $E_K(m)$ is known.
Person B recommends "increasing" security of the cipher by instead doing :
$(E_k(m) oplus m) || (E_k(m) oplus 1111...11)$
Does this in fact increase security of the cipher or increase new problems.
My thinking is, depending on the function within E, xoring the output of the cipher with the plaintext message could expose the key, meaning the extra complexity is for nothing. Am I on the right track, or am I missing something?
I have tried searching for examples of similar schemes and found nothing (which probably means it's not a good scheme) but I need to justify my answer.
Any steers in the right direction would be greatly appreciated, I'm more than happy to do the research myself just unsure what specifically to look for.
Unfortunately the above context is all I have been provided for this question.
encryption
$endgroup$
migrated from stackoverflow.com 7 hours ago
This question came from our site for professional and enthusiast programmers.
add a comment |
$begingroup$
I have a cryptography workshop question I'm having trouble with as follows;
Person A creates a cipher $E_k(m)$ which produces a ciphertext from message "m" using key "k". The function inside E is kept secret but the length of $E_K(m)$ is known.
Person B recommends "increasing" security of the cipher by instead doing :
$(E_k(m) oplus m) || (E_k(m) oplus 1111...11)$
Does this in fact increase security of the cipher or increase new problems.
My thinking is, depending on the function within E, xoring the output of the cipher with the plaintext message could expose the key, meaning the extra complexity is for nothing. Am I on the right track, or am I missing something?
I have tried searching for examples of similar schemes and found nothing (which probably means it's not a good scheme) but I need to justify my answer.
Any steers in the right direction would be greatly appreciated, I'm more than happy to do the research myself just unsure what specifically to look for.
Unfortunately the above context is all I have been provided for this question.
encryption
$endgroup$
migrated from stackoverflow.com 7 hours ago
This question came from our site for professional and enthusiast programmers.
add a comment |
$begingroup$
I have a cryptography workshop question I'm having trouble with as follows;
Person A creates a cipher $E_k(m)$ which produces a ciphertext from message "m" using key "k". The function inside E is kept secret but the length of $E_K(m)$ is known.
Person B recommends "increasing" security of the cipher by instead doing :
$(E_k(m) oplus m) || (E_k(m) oplus 1111...11)$
Does this in fact increase security of the cipher or increase new problems.
My thinking is, depending on the function within E, xoring the output of the cipher with the plaintext message could expose the key, meaning the extra complexity is for nothing. Am I on the right track, or am I missing something?
I have tried searching for examples of similar schemes and found nothing (which probably means it's not a good scheme) but I need to justify my answer.
Any steers in the right direction would be greatly appreciated, I'm more than happy to do the research myself just unsure what specifically to look for.
Unfortunately the above context is all I have been provided for this question.
encryption
$endgroup$
I have a cryptography workshop question I'm having trouble with as follows;
Person A creates a cipher $E_k(m)$ which produces a ciphertext from message "m" using key "k". The function inside E is kept secret but the length of $E_K(m)$ is known.
Person B recommends "increasing" security of the cipher by instead doing :
$(E_k(m) oplus m) || (E_k(m) oplus 1111...11)$
Does this in fact increase security of the cipher or increase new problems.
My thinking is, depending on the function within E, xoring the output of the cipher with the plaintext message could expose the key, meaning the extra complexity is for nothing. Am I on the right track, or am I missing something?
I have tried searching for examples of similar schemes and found nothing (which probably means it's not a good scheme) but I need to justify my answer.
Any steers in the right direction would be greatly appreciated, I'm more than happy to do the research myself just unsure what specifically to look for.
Unfortunately the above context is all I have been provided for this question.
encryption
encryption
edited 6 hours ago
Ella Rose♦
17k44483
17k44483
asked 7 hours ago
melloncolliemelloncollie
235
235
migrated from stackoverflow.com 7 hours ago
This question came from our site for professional and enthusiast programmers.
migrated from stackoverflow.com 7 hours ago
This question came from our site for professional and enthusiast programmers.
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
xoring the output of the cipher with the plaintext message
Xoring the message into the ciphertext removes the ability to decrypt the ciphertext.
If all you have is $k, c = E_k(m) oplus m$, then you need to know $m$ in order to strip the external $m$ off of $E_k(m)$ before you can apply $m = D_k(E_k(m))$; Basically, you would need to know the message in order to "decrypt" the message, but since you already know the message, then there would be no knowledge gained from "decrypting".
$(E_k(m)oplus m)||(E_k(m) oplus 1111...11)$
The previous section was striked out, because there was more to the suggestion than simply xoring the message into the ciphertext.
In fact, the complete suggestion is far, far worse then simply implying the inability to decrypt a ciphertext: Anyone can decrypt a ciphertext from this scheme without requiring the key.
$$c = (E_k(m) oplus m) || E_k(m) oplus 1111dots 11)\c_texta = E_k(m) oplus m\c_textb = E_k(m) oplus 1111 dots 11\c' = c_textb oplus 1111dots11\m = c_texta oplus c'$$
The value $1111dots11$ is known to all, so anyone can compute $$E_k(m) = E_k(m) oplus 1111dots11 oplus 1111dots11$$
So $E_k(m)$ is effectively public knowledge, so again anyone can compute $$m = E_k(m) oplus m oplus E_k(m)$$
This scheme is completely broken.
I have tried searching for examples of similar schemes and found nothing (which probably means it's not a good scheme) but I need to justify my answer.
See the previous section - "encryption" is an invertible process: You have to be able to undo the transformation so that you can retrieve the plaintext from any given ciphertext.
It is completely broken, so you won't find anything similar to it (other than situations where people asked this same question and found it to be broken)
Does this in fact increase security of the cipher or increase new problems.
It's a lot easier to determine whether or not doing x or y will increase/decrease security once you have a clear goal of what it means to be secure. This is a context dependent notion.
It helps to list:
- What you have
- What your adversary can do
- What you want to accomplish (in very specific terms).
If you don't know where to start, then look for the standard notions of security that cryptographers have already worked out for the context of interest (e.g. indistinguishability for ciphers)
$endgroup$
1
$begingroup$
In this case we actually could decrypt the message. The problem is everybody can :-(. Because in addition to $E_k(m) oplus m$ we also get $E_k(m) oplus 111ldots 11$
$endgroup$
– Marc Ilunga
6 hours ago
$begingroup$
@MarcIlunga I actually failed to pay attention to the mathjax part of the question, which is different than what the text part asks! Thanks for bringing that to my attention
$endgroup$
– Ella Rose♦
6 hours ago
$begingroup$
Thank you to both of you. Greatly appreciate the help. Definitely need to work on my number theory.
$endgroup$
– melloncollie
6 hours ago
add a comment |
$begingroup$
This is indeed a example of complexity not adding security and actually weakening it.
The second encryption can be written as $c = c_1|| c_2$, where $c_1 = E_k(m) oplus m$ and $c_2 = E_k(m) oplus 111ldots11$.
Now observe that $m' = c_1 oplus c_2 = m oplus 111ldots11$.
And we can easily get $m$ as $m' oplus 111ldots 11$
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "281"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcrypto.stackexchange.com%2fquestions%2f68705%2fdoes-adding-complexity-mean-a-more-secure-cipher%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
xoring the output of the cipher with the plaintext message
Xoring the message into the ciphertext removes the ability to decrypt the ciphertext.
If all you have is $k, c = E_k(m) oplus m$, then you need to know $m$ in order to strip the external $m$ off of $E_k(m)$ before you can apply $m = D_k(E_k(m))$; Basically, you would need to know the message in order to "decrypt" the message, but since you already know the message, then there would be no knowledge gained from "decrypting".
$(E_k(m)oplus m)||(E_k(m) oplus 1111...11)$
The previous section was striked out, because there was more to the suggestion than simply xoring the message into the ciphertext.
In fact, the complete suggestion is far, far worse then simply implying the inability to decrypt a ciphertext: Anyone can decrypt a ciphertext from this scheme without requiring the key.
$$c = (E_k(m) oplus m) || E_k(m) oplus 1111dots 11)\c_texta = E_k(m) oplus m\c_textb = E_k(m) oplus 1111 dots 11\c' = c_textb oplus 1111dots11\m = c_texta oplus c'$$
The value $1111dots11$ is known to all, so anyone can compute $$E_k(m) = E_k(m) oplus 1111dots11 oplus 1111dots11$$
So $E_k(m)$ is effectively public knowledge, so again anyone can compute $$m = E_k(m) oplus m oplus E_k(m)$$
This scheme is completely broken.
I have tried searching for examples of similar schemes and found nothing (which probably means it's not a good scheme) but I need to justify my answer.
See the previous section - "encryption" is an invertible process: You have to be able to undo the transformation so that you can retrieve the plaintext from any given ciphertext.
It is completely broken, so you won't find anything similar to it (other than situations where people asked this same question and found it to be broken)
Does this in fact increase security of the cipher or increase new problems.
It's a lot easier to determine whether or not doing x or y will increase/decrease security once you have a clear goal of what it means to be secure. This is a context dependent notion.
It helps to list:
- What you have
- What your adversary can do
- What you want to accomplish (in very specific terms).
If you don't know where to start, then look for the standard notions of security that cryptographers have already worked out for the context of interest (e.g. indistinguishability for ciphers)
$endgroup$
1
$begingroup$
In this case we actually could decrypt the message. The problem is everybody can :-(. Because in addition to $E_k(m) oplus m$ we also get $E_k(m) oplus 111ldots 11$
$endgroup$
– Marc Ilunga
6 hours ago
$begingroup$
@MarcIlunga I actually failed to pay attention to the mathjax part of the question, which is different than what the text part asks! Thanks for bringing that to my attention
$endgroup$
– Ella Rose♦
6 hours ago
$begingroup$
Thank you to both of you. Greatly appreciate the help. Definitely need to work on my number theory.
$endgroup$
– melloncollie
6 hours ago
add a comment |
$begingroup$
xoring the output of the cipher with the plaintext message
Xoring the message into the ciphertext removes the ability to decrypt the ciphertext.
If all you have is $k, c = E_k(m) oplus m$, then you need to know $m$ in order to strip the external $m$ off of $E_k(m)$ before you can apply $m = D_k(E_k(m))$; Basically, you would need to know the message in order to "decrypt" the message, but since you already know the message, then there would be no knowledge gained from "decrypting".
$(E_k(m)oplus m)||(E_k(m) oplus 1111...11)$
The previous section was striked out, because there was more to the suggestion than simply xoring the message into the ciphertext.
In fact, the complete suggestion is far, far worse then simply implying the inability to decrypt a ciphertext: Anyone can decrypt a ciphertext from this scheme without requiring the key.
$$c = (E_k(m) oplus m) || E_k(m) oplus 1111dots 11)\c_texta = E_k(m) oplus m\c_textb = E_k(m) oplus 1111 dots 11\c' = c_textb oplus 1111dots11\m = c_texta oplus c'$$
The value $1111dots11$ is known to all, so anyone can compute $$E_k(m) = E_k(m) oplus 1111dots11 oplus 1111dots11$$
So $E_k(m)$ is effectively public knowledge, so again anyone can compute $$m = E_k(m) oplus m oplus E_k(m)$$
This scheme is completely broken.
I have tried searching for examples of similar schemes and found nothing (which probably means it's not a good scheme) but I need to justify my answer.
See the previous section - "encryption" is an invertible process: You have to be able to undo the transformation so that you can retrieve the plaintext from any given ciphertext.
It is completely broken, so you won't find anything similar to it (other than situations where people asked this same question and found it to be broken)
Does this in fact increase security of the cipher or increase new problems.
It's a lot easier to determine whether or not doing x or y will increase/decrease security once you have a clear goal of what it means to be secure. This is a context dependent notion.
It helps to list:
- What you have
- What your adversary can do
- What you want to accomplish (in very specific terms).
If you don't know where to start, then look for the standard notions of security that cryptographers have already worked out for the context of interest (e.g. indistinguishability for ciphers)
$endgroup$
1
$begingroup$
In this case we actually could decrypt the message. The problem is everybody can :-(. Because in addition to $E_k(m) oplus m$ we also get $E_k(m) oplus 111ldots 11$
$endgroup$
– Marc Ilunga
6 hours ago
$begingroup$
@MarcIlunga I actually failed to pay attention to the mathjax part of the question, which is different than what the text part asks! Thanks for bringing that to my attention
$endgroup$
– Ella Rose♦
6 hours ago
$begingroup$
Thank you to both of you. Greatly appreciate the help. Definitely need to work on my number theory.
$endgroup$
– melloncollie
6 hours ago
add a comment |
$begingroup$
xoring the output of the cipher with the plaintext message
Xoring the message into the ciphertext removes the ability to decrypt the ciphertext.
If all you have is $k, c = E_k(m) oplus m$, then you need to know $m$ in order to strip the external $m$ off of $E_k(m)$ before you can apply $m = D_k(E_k(m))$; Basically, you would need to know the message in order to "decrypt" the message, but since you already know the message, then there would be no knowledge gained from "decrypting".
$(E_k(m)oplus m)||(E_k(m) oplus 1111...11)$
The previous section was striked out, because there was more to the suggestion than simply xoring the message into the ciphertext.
In fact, the complete suggestion is far, far worse then simply implying the inability to decrypt a ciphertext: Anyone can decrypt a ciphertext from this scheme without requiring the key.
$$c = (E_k(m) oplus m) || E_k(m) oplus 1111dots 11)\c_texta = E_k(m) oplus m\c_textb = E_k(m) oplus 1111 dots 11\c' = c_textb oplus 1111dots11\m = c_texta oplus c'$$
The value $1111dots11$ is known to all, so anyone can compute $$E_k(m) = E_k(m) oplus 1111dots11 oplus 1111dots11$$
So $E_k(m)$ is effectively public knowledge, so again anyone can compute $$m = E_k(m) oplus m oplus E_k(m)$$
This scheme is completely broken.
I have tried searching for examples of similar schemes and found nothing (which probably means it's not a good scheme) but I need to justify my answer.
See the previous section - "encryption" is an invertible process: You have to be able to undo the transformation so that you can retrieve the plaintext from any given ciphertext.
It is completely broken, so you won't find anything similar to it (other than situations where people asked this same question and found it to be broken)
Does this in fact increase security of the cipher or increase new problems.
It's a lot easier to determine whether or not doing x or y will increase/decrease security once you have a clear goal of what it means to be secure. This is a context dependent notion.
It helps to list:
- What you have
- What your adversary can do
- What you want to accomplish (in very specific terms).
If you don't know where to start, then look for the standard notions of security that cryptographers have already worked out for the context of interest (e.g. indistinguishability for ciphers)
$endgroup$
xoring the output of the cipher with the plaintext message
Xoring the message into the ciphertext removes the ability to decrypt the ciphertext.
If all you have is $k, c = E_k(m) oplus m$, then you need to know $m$ in order to strip the external $m$ off of $E_k(m)$ before you can apply $m = D_k(E_k(m))$; Basically, you would need to know the message in order to "decrypt" the message, but since you already know the message, then there would be no knowledge gained from "decrypting".
$(E_k(m)oplus m)||(E_k(m) oplus 1111...11)$
The previous section was striked out, because there was more to the suggestion than simply xoring the message into the ciphertext.
In fact, the complete suggestion is far, far worse then simply implying the inability to decrypt a ciphertext: Anyone can decrypt a ciphertext from this scheme without requiring the key.
$$c = (E_k(m) oplus m) || E_k(m) oplus 1111dots 11)\c_texta = E_k(m) oplus m\c_textb = E_k(m) oplus 1111 dots 11\c' = c_textb oplus 1111dots11\m = c_texta oplus c'$$
The value $1111dots11$ is known to all, so anyone can compute $$E_k(m) = E_k(m) oplus 1111dots11 oplus 1111dots11$$
So $E_k(m)$ is effectively public knowledge, so again anyone can compute $$m = E_k(m) oplus m oplus E_k(m)$$
This scheme is completely broken.
I have tried searching for examples of similar schemes and found nothing (which probably means it's not a good scheme) but I need to justify my answer.
See the previous section - "encryption" is an invertible process: You have to be able to undo the transformation so that you can retrieve the plaintext from any given ciphertext.
It is completely broken, so you won't find anything similar to it (other than situations where people asked this same question and found it to be broken)
Does this in fact increase security of the cipher or increase new problems.
It's a lot easier to determine whether or not doing x or y will increase/decrease security once you have a clear goal of what it means to be secure. This is a context dependent notion.
It helps to list:
- What you have
- What your adversary can do
- What you want to accomplish (in very specific terms).
If you don't know where to start, then look for the standard notions of security that cryptographers have already worked out for the context of interest (e.g. indistinguishability for ciphers)
edited 6 hours ago
answered 6 hours ago
Ella Rose♦Ella Rose
17k44483
17k44483
1
$begingroup$
In this case we actually could decrypt the message. The problem is everybody can :-(. Because in addition to $E_k(m) oplus m$ we also get $E_k(m) oplus 111ldots 11$
$endgroup$
– Marc Ilunga
6 hours ago
$begingroup$
@MarcIlunga I actually failed to pay attention to the mathjax part of the question, which is different than what the text part asks! Thanks for bringing that to my attention
$endgroup$
– Ella Rose♦
6 hours ago
$begingroup$
Thank you to both of you. Greatly appreciate the help. Definitely need to work on my number theory.
$endgroup$
– melloncollie
6 hours ago
add a comment |
1
$begingroup$
In this case we actually could decrypt the message. The problem is everybody can :-(. Because in addition to $E_k(m) oplus m$ we also get $E_k(m) oplus 111ldots 11$
$endgroup$
– Marc Ilunga
6 hours ago
$begingroup$
@MarcIlunga I actually failed to pay attention to the mathjax part of the question, which is different than what the text part asks! Thanks for bringing that to my attention
$endgroup$
– Ella Rose♦
6 hours ago
$begingroup$
Thank you to both of you. Greatly appreciate the help. Definitely need to work on my number theory.
$endgroup$
– melloncollie
6 hours ago
1
1
$begingroup$
In this case we actually could decrypt the message. The problem is everybody can :-(. Because in addition to $E_k(m) oplus m$ we also get $E_k(m) oplus 111ldots 11$
$endgroup$
– Marc Ilunga
6 hours ago
$begingroup$
In this case we actually could decrypt the message. The problem is everybody can :-(. Because in addition to $E_k(m) oplus m$ we also get $E_k(m) oplus 111ldots 11$
$endgroup$
– Marc Ilunga
6 hours ago
$begingroup$
@MarcIlunga I actually failed to pay attention to the mathjax part of the question, which is different than what the text part asks! Thanks for bringing that to my attention
$endgroup$
– Ella Rose♦
6 hours ago
$begingroup$
@MarcIlunga I actually failed to pay attention to the mathjax part of the question, which is different than what the text part asks! Thanks for bringing that to my attention
$endgroup$
– Ella Rose♦
6 hours ago
$begingroup$
Thank you to both of you. Greatly appreciate the help. Definitely need to work on my number theory.
$endgroup$
– melloncollie
6 hours ago
$begingroup$
Thank you to both of you. Greatly appreciate the help. Definitely need to work on my number theory.
$endgroup$
– melloncollie
6 hours ago
add a comment |
$begingroup$
This is indeed a example of complexity not adding security and actually weakening it.
The second encryption can be written as $c = c_1|| c_2$, where $c_1 = E_k(m) oplus m$ and $c_2 = E_k(m) oplus 111ldots11$.
Now observe that $m' = c_1 oplus c_2 = m oplus 111ldots11$.
And we can easily get $m$ as $m' oplus 111ldots 11$
$endgroup$
add a comment |
$begingroup$
This is indeed a example of complexity not adding security and actually weakening it.
The second encryption can be written as $c = c_1|| c_2$, where $c_1 = E_k(m) oplus m$ and $c_2 = E_k(m) oplus 111ldots11$.
Now observe that $m' = c_1 oplus c_2 = m oplus 111ldots11$.
And we can easily get $m$ as $m' oplus 111ldots 11$
$endgroup$
add a comment |
$begingroup$
This is indeed a example of complexity not adding security and actually weakening it.
The second encryption can be written as $c = c_1|| c_2$, where $c_1 = E_k(m) oplus m$ and $c_2 = E_k(m) oplus 111ldots11$.
Now observe that $m' = c_1 oplus c_2 = m oplus 111ldots11$.
And we can easily get $m$ as $m' oplus 111ldots 11$
$endgroup$
This is indeed a example of complexity not adding security and actually weakening it.
The second encryption can be written as $c = c_1|| c_2$, where $c_1 = E_k(m) oplus m$ and $c_2 = E_k(m) oplus 111ldots11$.
Now observe that $m' = c_1 oplus c_2 = m oplus 111ldots11$.
And we can easily get $m$ as $m' oplus 111ldots 11$
answered 6 hours ago
Marc IlungaMarc Ilunga
40817
40817
add a comment |
add a comment |
Thanks for contributing an answer to Cryptography Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcrypto.stackexchange.com%2fquestions%2f68705%2fdoes-adding-complexity-mean-a-more-secure-cipher%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown