Encryption with "constant" initialization vector considered harmful I try to get the full reasoning behind the above statement. First, after reading articles here and at wikipedia i understand that using an IV only once is good practice.

For stream ciphers not doing so will result in compromising security because of 

Cipher1 xor Cipher2 = Plain1 xor Plain2


For block ciphers using the same IV will degrade to ECB mode. 

But, is there a real attack like with the stream cipher (or does the stream cipher reasoning apply, too)? E.g. if i have two (short) messages, create a single IV, encrypt both using AES and save the three values for later decryption - what is a concrete attack?

A concrete example from a fictious "preferences vault" implementation. Having an xml like

&lt;vault&gt;
    &lt;items&gt;
        &lt;item iv="" name="f2e342435" value="2034b324"&gt;
        &lt;/item&gt;
                ...
    &lt;/items&gt;
&lt;/vault&gt;


where iv is the initialization vector for encrypting both name and value properties, would this add any vulnerability in comparison to having two iv's (always assuming AES).
For block ciphers, it depends on which mode of operation you're using &mdash; nobody uses just a plain block cipher for anything, at least not unless all their messages are shorter than a single cipher block (typically 8 or 16 bytes).


ECB mode, which just amounts to chopping the message up into blocks and feeding each block through the cipher, does not use an IV.  As you correctly note, it's also insecure: it leaks information about duplicate blocks in the plaintext.
OFB and CTR modes turn the block cipher into a synchronous stream cipher.  Thus, they have the same security issues as other stream ciphers: if the same key+IV combination is used for two messages, an adversary that captures both can take their difference to eliminate the keystream, leaving only the difference of the two plaintexts (which is often enough to recover at least parts of both of them).  It gets even worse if they can capture more than two messages using the same key+IV.
The CBC and CFB modes are somewhat more resilient to simple IV reuse.  As with all other common operating modes, though, using the same key+IV to encrypt two messages sharing a common prefix (of one or more blocks) will reveal the presence and length of that prefix, since the ciphertexts will be identical up to the point where the first plaintext difference occurs.  CFB mode also leaks the difference of the first non-identical plaintext blocks in the two messages.