# AES-CBC-128 Known plain, IV, Cipher attack

Let's say we have a single char 'A' and we encrypted it as much times as we want with a fixed Key and a random IV
So now we have list of the IVs used, the result ciphers and ofc the known text "A"

Is there's any possible solution to get the key used ?

• Since AES-CBC is a blockcipher, you can't use it to encrypt a single character. It would need to be padded to a full block first (16 bytes). – Willem Hengeveld Mar 28 '17 at 12:36

No, there's no possible solution to get the key used, assuming what we are told in the question, and

• the key has been chosen randomly;
• we find no way to get a clue about it (which could be the case for example if we monitored a device holding the key, or used the obligatory XKCD technique);
• we define "possible" as: having odds better than one in a thousand millions (about one in $2^{30}$) for $2^{96}$ keys tested (which I guesstimate represents quite a few years of the effort currently wasted spent on bitcoin mining, based on that source telling these things recently got over $4\cdot10^{18}$ SHA256d hashes per second);
• no serious attack on AES-128 (the block cipher) is discovered;
• we discount the hypothesis of quantum computers usable for cryptanalysis, which currently are still very hypothetical.

That's because enumerating keys by brute force is quite nearly the best known attack against AES-128 (the block cipher) that recovers the key without attacking the implementation; thus odds of finding the right key after testing $n$ keys are at best $n\,2^{-128}$, regardless of the operating mode used.

No, because the key is protected by the block cipher rather than the mode of operation. Whatever you do to a block cipher, the key must remain secure if the block cipher for the block cipher to be considered secure.

Of course algorithms and implementations may break down and supplying almost limitless capabilities to an attacker isn't wise. But in principle the cipher should remain unbroken.