数字签名的主要技术是非对称密钥加密技术。 数字签名并不能保证信息在传输过程中不被截获。
数字签名技术是将摘要用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要,然后用Hash函数对收到的原文产生一个摘要,与解密的摘要对比,如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则,就是被修改过,不是原信息。同时,也证明发送者发送了信息,防止了发送者的抵赖。
发送者A
使用 “摘要” 算法(如:MD5、SHA-1等)对发送信息进行摘要。发送者A
的私钥对消息摘要进行加密算法,加密摘要和原文一并发给接收者B
。接收者B
接收到加密摘要和原文后,使用与发送者A
相同的摘要算法对原文再次摘要,生成新摘要。接收者B
只能使用发送者A
公钥才能解密被加密的摘要,还原成原摘要。A
发出,并没有经过任何修改。数字签名功能有信息身份认证、信息完整性检查、信息发送不可否认,但不提供原文信息加密,不能保证对方可以收到消息,也不对接收方身份进行认证。
在
X.509
标准中,包含在数字证书中的数据域有证书、版本号、序列号(唯一标识每一个CA
下发的证书)、算法标识、颁发者、有效期、有效起始日期、有效终止日期、使用者、使用者公钥信息、公钥算法、公钥、颁发者唯一标识、使用者唯一标识、扩展、证书签名算法、证书签名(发证机构CA对用户证书的签名)。