Back to the future with block sizes


The American National Institute for Standards and Technology (NIST) is rather busy on the cryptographic front these days. Not only has it been busy in the area of Post-Quantum Cryptography (PQC), it is also in the process of standardizing the lightweight cipher Ascon, and it is also embarking soon on a major effort to examine threshold cryptography, but in late 2024 it announced that it would be looking at standardizing a larger block size variant of the AES algorithm.
To understand what this proposal is, and why it is important, we need to dig a bit deeper into what a block cipher is, and the history of the AES algorithm.
Chief Academic Officer at Zama.
Block ciphers explained
A block cipher is a mechanism to encrypt single blocks of data using a secret key. The two important characteristics of a block cipher are the number of bits needed to determine the key (the so-called key size) and the size of the data which each application of the block cipher encrypts (the co-called block size).
Children often encounter block ciphers as a first introduction to cryptography by making a table of letters, and then placing a random permutation of the letters underneath them such as
A – B – C – D – E – F – G – H – I – J – K – L – M
T – M- A – H – X – S – C – Q – N – R – P – D -E
So the word BAD would encrypt to the ciphertext MTH. In this example the key is the second row of the table (you need the second row to encrypt and decrypt). This gives a total number of keys of
26 · 25 · 24 ··· 3 · 2 · 1 ≈ 2 88.3
which corresponds to a key size of 88.3 bits. The block size is however only one letter, i.e. something which can be represented in bits. This key size is quite large, if I just gave you an encrypted message of three letters it would be hard to determine the key.
However, because the block size is small it is easy to break in practice, since a large encrypted text will reveal repeats of plaintext blocks. For example the words “HIDE ME” will encrypt to “QNHX EX”, and we can see the repetition of X encrypting E. As we know E is the most likely letter in English this means it is likely that the attacker can guess X encrypts E.
Even if we were encrypting random messages (and not English) this repetition of blocks is a way for an attacker to attack any system which uses the block cipher. Due to the birthday paradox, if we have a block size of b bits, then we expect such a collision to after a few blocks. For the case of our toy cipher this means, for a random message, we expect a collision to occur after about 5 blocks.
AES
AES is a block cipher, which is the workhorse of almost all cryptographic systems in the world today. It was standardized by NIST in 2001, and has a variable key size of 128, 192 and 256 bits, but a fixed block size of 128 bits. This fixing of the block size was not originally on the cards.
In the original preliminary call for AES, NIST proposed having 128, 192 and 256 bit key sizes, with a fixed block size of 128-bits, but with the option for other block sizes.
However, as the process to choose AES progressed, in the official first call in 1997 NIST decided to focus only on 128 bit block sizes. In 2001 this block size seemed alright. After all, it means that for a random message we only expect to output blocks to be identical after ciphertext blocks, or 256 Exabytes.
The problem is that this “seemed alright” was not quite true. AES was actually based on an algorithm called Rijndael (invented by two Belgian mathematicians called Joan Daemen and Vincent Rijmen). In its original design, submitted to NIST, Rijndael had three possible key sizes (128, 192 and 256 bits) and three possible block sizes (128, 192 and 256 bits).
As we just remarked, during the AES process, in order to simplify the competition, NIST decided that it would only focus on 128-bit block sizes. Thus the original Rijndael design was modified to only allow one block size.
Unfortunate consequences
The fact that collisions happen more likely with a smaller block size means that applications needed to limit the number of blocks they could encrypt. This means that we only use a single 128-bit key to encrypt a relatively small amount of data. In practice this limit on the amount one can encrypt with one key becomes blocks, or only 64 Gigabytes (which is less than most harddisks in a laptop these days) , when AES is used in its most popular scenario (called AES-GCM mode). Meaning we need to rekey our ciphers more often, or use another method of calling AES.
Due to AES being super fast in hardware it would be good if we could use AES to construct a hash function (which are very slow normally). One can use block ciphers to construct hash functions, but they are not very secure (or are more complex to construct) unless the block cipher has a big block size (such as 256 bits).
The mismatch between block size and key size for the AES algorithm led to a theoretical “attack” (in a very special situation) on the AES algorithm with 256 bit key size in 2009 due to Biryukov and Khovratovich. Thus AES-256, with its 128-bit block size, was not as good as one would expect. On the other hand using Rijndael with 256-bit key and 256- bit block size would have avoided this “attack”.
Summary
Thus what NIST has announced is to revisit, what in hindsight, was the mistake it made back in 2001. AES should really have been standardized with a 256 bit block size variant.
If cryptographers had a DeLorean time machine they would go back about twenty five years, and modify the AES competition so that the final decision would have allowed AES to be used with a 256-bit block size.
We’ve compiled a list of the best encryption software.
This article was produced as part of TechRadarPro’s Expert Insights channel where we feature the best and brightest minds in the technology industry today. The views expressed here are those of the author and are not necessarily those of TechRadarPro or Future plc. If you are interested in contributing find out more here: https://www.techradar.com/news/submit-your-story-to-techradar-pro
The American National Institute for Standards and Technology (NIST) is rather busy on the cryptographic front these days. Not only has it been busy in the area of Post-Quantum Cryptography (PQC), it is also in the process of standardizing the lightweight cipher Ascon, and it is also embarking soon on…
Recent Posts
- Back to the future with block sizes
- 5 questions for SMBs to reveal hidden security threats
- This silent, fanless mini PC looks like a very refined and expensive Hi-Fi unit, and I’m surprised by how affordable it is
- Google’s AI Mode can explain what you’re seeing even if you can’t
- Meta got caught gaming AI benchmarks
Archives
- April 2025
- March 2025
- February 2025
- January 2025
- December 2024
- November 2024
- October 2024
- September 2024
- August 2024
- July 2024
- June 2024
- May 2024
- April 2024
- March 2024
- February 2024
- January 2024
- December 2023
- November 2023
- October 2023
- September 2023
- August 2023
- July 2023
- June 2023
- May 2023
- April 2023
- March 2023
- February 2023
- January 2023
- December 2022
- November 2022
- October 2022
- September 2022
- August 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- October 2021
- September 2021
- August 2021
- July 2021
- June 2021
- May 2021
- April 2021
- March 2021
- February 2021
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- March 2020
- February 2020
- January 2020
- December 2019
- November 2019
- September 2018
- October 2017
- December 2011
- August 2010