请点击上方蓝字TonyBai订阅公众号!
大家好,我是Tony Bai。
在前面的文章中,我们已经掌握了强大的 AES 来保证数据保密性,以及可靠的 HMAC 来保证完整性与真实性。我们似乎已经拥有了构建一个安全通信系统的所有组件。
但一个幽灵般的难题始终挥之不去:我和一个素未谋面的通信方,如何才能安全地商定出我们共同用于 AES 和 HMAC 的那个共享密钥呢?
如果我用明文发送密钥,窃听者就能拿到,一切努力都将白费。
如果我用另一个密钥来加密这个密钥,那“另一个密钥”又该如何安全地发送?
这看起来就像一个无解的“鸡生蛋,蛋生鸡”的死循环。要打破它,我们需要一次颠覆性的思维革命,从对称的世界走向非对称,拥抱密码学中最优雅、最深刻的思想之一:非对称加密 (Asymmetric Cryptography),也称为公钥加密 (Public-key Cryptography)。