Crypto Negotiation
Why?
- Allow smooth transition when migrating
- Allow lots of non-interoperable variants to call themselves standards
How?
- One side gives a list; other side chooses
- One side declares; other side accepts or rejects
- Beware downgrade attacks when retrying