# Implement AES with 16 bit block size?

Can we implement AES with 16 bit block size ?if so what are its advantages and disadvantages?Is there any rule AES has to be implemented with 128,192,256 ?Can we use AES for odd number of bits(17,33,37..) ?

• You could use AES in FFX mode. – CodesInChaos Sep 10 '15 at 7:29

The answer is that small block sizes are very problematic. In particular, they break when used for encryption of any reasonable amount of information. I will consider two concrete examples. In CBC mode, security breaks down after $2^{n/2}$ blocks, when $n$ is the block length. This means that you could not encrypt more than $2^8=256$ blocks, which is just 512 bytes. This is due to birthday collisions. However, it's actually worse than this. The probability of having a collision at less than 256 blocks is not so small, and at such small numbers it is very problematic. If you use CTR mode, then once again you have a problem since the nonce/IV has to be unique. Even if you are using this from fresh each time with a new key, and so just use a counter beginning at 0, you still have a problem that you can't encrypt more than $2^{16}$ blocks, which is just 128KB.