Suppose there is a message that is encrypted with AES-128-CBC. The message is as follows, new lines are used to delimit the 16 byte boundary for each block:
Wire funds from:
Alice to Bob in
the amount of $
1
Because this message is encrypted using CBC mode, any modification of the first block of cipher text would propagate throughout the message. However, the amount of the fund transfer falls in the last block. I am under the assumption that an attacker can use the property of Malleability to alter the last block and produce a valid amount that is greater than \$1 in far fewer than $2^{128}$ operations.
Is this a correct assumption? Is there a name for this attack or do you know of a real world example?
My instinct is that if you just need one byte of the 16 byte block to be of a specific value then it would only require $2^8$ operations because the other 120 bits of the plain text could be any value. For example lets say we wanted the last block of cipher text to decrypt to 9\0
(where \0
denotes a single null byte, and the message would be interpreted as \$9), then it would take only $2^{16}$ operations to find this cipher text block.
Is there something I am missing?