Skip to content
ecdsa.com

Crypto-agility

The ability of a system to change cryptographic algorithms, key sizes and parameters without redesign — through negotiation, configuration and inventory — which the post-quantum transition turns from a best practice into a necessity.
Also written ascryptographic agilitycrypto agilityalgorithm agility

Agility has three parts: knowing where cryptography is used (an inventory, increasingly expressed as a cryptographic bill of materials), being able to change it (algorithm identifiers in formats, negotiation in protocols, no hard-coded key or signature sizes, abstraction layers in code) and being able to roll it out (key rotation, dual publishing, monitoring of what peers actually negotiate).

Counter-examples are common: databases with fixed-width signature columns, protocols that assume 64-byte signatures, smart cards that support one curve, and libraries that accept only RSA keys. Agility has costs too: every negotiable option is attack surface, as downgrade and algorithm-confusion attacks show, so agile systems should still allow only a short, current list of algorithms.

Standards and references

All terms