密码协议设计(cryptographic protocol design),理学-计算机科学技术-信息安全-密码学-密码协议,根据所使用的密码算法和共享秘密方式的不同所进行的设计。密码协议可以划分为基于对称密钥的密码协议、基于证书的密码协议、基于身份的密码协议、基于口令的密码协议,以及混合的密码协议;根据参与方的个数,密码协议包括两方的密码协议和多方的密码协议。在密码协议的设计过程中,很容易出现各种各样的逻辑漏洞,研究人员在密码协议的设计实践中总结了大量的失败教训,得到了若干设计原则。在设计密码协议时,一般遵循一些默认的假设和原则。下面的这些设计准则是由Abadi和Needham归纳出的。需要说明的是,准则本身是一种非形式化的指导方针,独立于任何逻辑。尽管准则可以使协议的设计者避免一些错误,却不能保证完全符合这些准则一定得到安全的密码协议;相反,不遵守这些准则,就有可能导致漏洞的出现。准则一:每个消息应该精确、完全地表达所要表达的意义,即对于消息的解释仅仅取决于消息本身,而不必借助上下文来推断。