在传统的基于证书的密码系统中,在用一个用户的公钥之前,人们得要验证证书是不是正确、合法、有效的,这样得需大量的存储空间与计算费用来存储与验证很多用户的公钥证书。为了克服这个缺点,提高系统的效率,提出基于身份的加密体制。在这样的体制中,用户的公钥借助他的身份信息直接计算出来,不用像传统的密码体制那样保存每个用户的公钥证书,从而防止了用证书引起的存储和管理上的高昂费用,简化了公钥的管理过程,降低了系统压力。因此基于身份的密码体制获得了普遍的发展与应用。
在公钥密码体系中,密钥对是通过随机选择一个私钥,然后通过单向函数计算出公钥。而基于身份的密码学系统中,密钥对是用不同的方法产生的。首先,公钥是通过用户的标识唯一定的,然后私钥需从公钥计算产生。
基于身份的密码学最开始是为了避免使用证书而提出的,是非对称的。事实上,理想的基于身份的密码学系统应符合下面的属性。
(1)用户需要知道他想与之通信的用户的标识。
(2)不必要保存公共目录,比如存有公钥或证书的文件。
(3)用户之间不仅不交换公钥,也不交换私钥。
(4)仅在系统建立的时候需可信中心服务。
若用户的公共数据有误,将会引发用它的密码交换不成功,例加密产生的密文无法正确解密、签名验证或实体验证不成功、密钥协商双方得到的会话密钥不一样等。可信第二方用自己的私钥和实体的公开身份信息计算出该实体的私钥,仅有可信中心可从确定地用户身份信息计算得到对应的合法私钥。