密钥交换方法
关于我密码学分类中的文章,之前讲到的加密方法,甚至是保护完整性的MAC都需要双方各持有相应的Key才能达到相应的效果。之前的前提都是假设双方都持有这个Key,而Key如何交换并没有做太多的讨论。
在线可信任第三方 OnlineTrusted Third Party
原理:
假设Alice与Bob需要相互通信,需要相互交换密钥(Kab),Alice持有自己的Ka,Bob持有自己的Kb。
(1)Alice向第三方发出申请:“我需要和Bob通话”(形象化表达o( ̄▽ ̄)d)
(2)第三方收到请求并向Alice回复第一条信息,用Ka加密的密文(密文内容基本为“此key用于Alice和Bob之间的通信”之类)和Kab:E(Ka,("A,B"||Kab))
(3)第三方回复的第二条内容称之为Ticket,也就是“票据”,用Kb加密的密文和Kab:E(Kb,("A,B"||Kab))
(4)Alice用Ka解密第一条信息,得到Kabÿ