<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><br class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Don't modern algorithm use some kind of IV to defeat such attacks?The point here is that I don't just get the decrypt of one block, I can work out the key used to encrypt that block. And if I know that, I can (usually) work back to figure out what the original key was.</blockquote><div class=""><br class=""></div><div class="">There are a couple of ways to defeat this type of attack. One would be to effectively randomize the plaintext by pre-encrypting with something like RC4. This would make it much harder to use the 'guessable plaintext' attack.</div></div></div></div></blockquote></div>This comes back to Killian and Rogoway's result on DESX (DES with a fixed random whitener XOR's in before an after encryption):  DESX, when the only attack under consideration is a brute force attack, is about as strong as any pre- and post-whitened version of DES (where the whitener changes from block to block).  <a href="http://web.cs.ucdavis.edu/~rogaway/papers/desx.pdf" class="">How to Protect DES Against Exhaustive Key Search (an analysis of DESX)</a><div class=""><div class=""><br class=""></div><div class="">The result has nothing to do with DES as such; it applies to any block cipher.  You can, I suppose, view the inner XOR as making it impossible to identify a successful decryption, though there is more to it than that, since given just the inner XOR with a fixed value, one could guess small pieces of the mask across different blocks.</div></div><div class=""><br class=""></div><div class=""><div class="">                                                        -- Jerry</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>