Vanity key sizes
When I recently had to buy some new pants I learned that one of the social contracts that let human civilization move from the Stone Age to the Information Age apparently didn’t survive past the end of the twentieth century. In particular, it used to be the case that men would do the dangerous jobs like being hunters and warriors and in return they got clothing sizes that actually corresponded to their body's measurements. So if you had a 32-inch waist you could count on pants labeled as for a 32-inch waist to fit you.
This is apparently no longer the case. The sizes of men’s clothes now apparently only give you a rough idea of how big they actually are. “Vanity sizing” is apparently the cause of this.
Many men gain weight as they age, but they’d like to say that they still fit into the same size that they did when they were younger. To let them do this, clothing manufacturers just decoupled the actual measurements of clothing from the size printed on the label, introducing what’s now known as “vanity sizing.” So you can now have a 34-inch waist and still wear pants labeled as a size 32 and feel good that you still wear the same size that you did when you were in college even though you’ve gained a few pounds since then. And since most people seem happy by the new system, it’s unlikely that we’ll return to the old (perhaps better) system.
At a recent information security conference I had an interesting discussion with some other information security professionals in which we somehow come up with a way to use the idea of vanity sizes in our jobs, and this conversation might actually have been the beginning of what we called “vanity key sizes.”
Ever since the specification of the DES standard, it’s been clear that you really don’t have to use all of the bits in cryptographic key in a useful way. A DES key, for example, really has 64 bits. Eight of these are parity bits. They’re not used for encryption or decryption at all, but they’re still part of the key.
If adding extra bits that aren’t used for encryption and decryption is good enough for DES, maybe it’s also good enough for other algorithms. And by padding with useless bits, we can increase the length of a key in a way that still makes it easy to reuse existing encryption standards. Our keys would be bigger, and that means that they’d also be better, even if they don’t actually don’t provide any additional security.
And we’d call these keys “vanity keys,” although not when potential customers are around. When they’re around, we’ll subtly suggest that our longer keys MUST be more secure, and that by using them it’s easier for CISOs to do things like avoiding bad publicity from data breaches.
Suppose that we want to make our encryption algorithm sound better than AES-128. One way to do this would be to add additional bits (maybe they’re parity bits, maybe they’re not) to increase the key size to whatever we want it to be. Do you want a 180-bit AES key? Now that’s easy to do. Just add 52 unnecessary bits and you’re there.
Vanity key sizes.
When they starts appearing in shipping products, just remember that you saw it here first.