Designing Cryptographic Agility For Swapability