7.2.2 模型分析
第5章曾介绍过基于Base64算法的消息交互模型,如图7-1所示。
图 7-1 基于Base64算法的消息交互模型
对于对称加密算法,其消息模型并没有太大的差别。基于DES算法的消息传递模型如图7-2所示。
两幅时序图的主要差别在于密钥的使用。基于Base64算法的消息传递模型中没有密钥的概念。那是因为Base64字符映射表本身已经公开,而Base64字符映射表本身起到了密钥的作用。消息传递双方通讯前不需要商榷该密钥,也就省去了构建密钥、公布密钥的步骤。
甲乙双方作为消息传递双方(甲方作为发送方,乙方作为接收方),我们假定甲乙双方在消息传递前已商定加密算法,欲完成一次消息传递需经过如下步骤:
1)由消息传递双方约定密钥,这里由甲方构建密钥。
2)由密钥构建者公布密钥,这里由甲方将密钥公布给乙方。
3)由消息发送方使用密钥对数据加密,这里由甲方对数据加密。
4)由消息发送方将加密数据发送给消息接收者,这里由甲方将加密数据发送给乙方。
5)由消息接收方使用密钥对加密数据解密,这里由乙方完成数据解密。
图 7-2 基于DES算法的消息传递模型
对称加密算法的优点就是简单易行,通俗易懂。对于上述单向消息传递而言,如果乙方想要回复甲方消息,并不需要重复步骤1、2,仅仅须由乙方执行步骤3、4,由甲方执行步骤5即可。
基于DES算法构建的消息传递模型大都按照上述模型构建,同时包括其他对称加密算法,如DESede、AES和IDEA等。当然,并不是所有基于对称加密算法的消息传递模型都按此步骤构建,PBE算法就是一个例外。我们将在后续内容中单独详述基于PBE算法的消息传递模型。