4 ms·
There seems to be a misunderstanding of what "cryptographic agility" is, as well. Usually cryptographic agility means the ability to mix-and-match different pro
by alanfranz 7y ago
There seems to be a misunderstanding of what "cryptographic agility" is, as well. Usually cryptographic agility means the ability to mix-and-match different protocols/options, e.g. use a certain key exchange algorithm with a certain symmetric encryption algorithm and/or MAC/HMAC; keysize, handshakes, options, things - everything can be negotiated by different clients, and sometimes a bad option (or a bad combination of options) can be negotiated. If you've got five key exchange algorithms, ten encryption algorithms with different key and block sizes, and ten MAC/HMAC algorithms - I'll let you calculate how many possible outcomes are there.
Without cryptographic agility, this is not possible. In TLS, you would have a very specific key exchange algorithm with a very specific encryption and auth algorithm.
But this does not mean that versioning is not supported. When some primitive is too old, a V2 API (again with a precise algorithm combination) can be created, and clients and servers can keep using both V1 and V2 for some time.