数字签字指人们利用数字媒质,通过电子设备对政治、军事、外交中的文件、命令和条约,商业中的契约或合同,个人之间的书信等进行签字,以便在法律上能认证、核准、生效。类似于传统的手书签字,数字签字需要满足以下要求:
(1)R1条件。收方能够确认或证实发方的签字,但不能伪造。
(2)S条件。发方发出签字的消息给收方后,就不能再否认他所签发的消息。
(3)R2条件。收方对已收到的签字消息不能否认,即有收报认证。
(4)T条件。第三者可以确认收发双方之间的消息传送,但不能伪造这一过程。
数字签字可分为两种:一种是对整体消息的签字,它是消息经过密码变换的被签消息整体;一种是对压缩消息的签字,它是附加在被签字消息之后或某一特定位置上的一段签字图样。若按明、密文的对应关系划分,每一种中又可分为两个子类:一类是确定性数字签字,其明文与密文一一对应,它对一特定消息的签字不变化;另一类是随机化的或概率式数字签字,它对同一消息的签字是变化的,取决于签字算法中随机参数的取值。在后一种情况下,一个明文可能有多个合法的签字。
一个签字体制一般含有两个组成部分,即签字算法和验证算法。对消息M 的签字可简记为Sig(M )=S,而对S 的证实简记为Ver(S )={真,伪}={0,1}。签字算法或签字密钥是秘密的,只有签字人掌握;验证算法应该公开,以便于他人进行验证。签字体制的安全性在于,从消息M 和其签字S 难以推出签字密钥K 或难以伪造一个M ’使M ’和S 可被证实为真。与消息加密不同的是,数字签字可能要多次使用,也很可能在对消息签署多年之后才验证其签字,且可能需要多次验证此签字。所以,对签字的安全性和防伪造性要求很高,且要求证实速度比签字速度还要快些,尤其是在联机在线实时验证的情况下。
对数字签字的研究具有重要意义。数字签字在信息安全,包括身份可认证性、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证以及电子商务系统中具有重要作用。数字签字是实现认证的重要工具。常用的一些数字签字体制有Schnorr、Rabin、ElGamal、RSA、DSS、GOST、离散对数等;也有一些特殊用途的数字签字,包括不可否认签字、防失败签字、盲签字、群签字等。数字签字的使用需要法律上的支持,不少国家已经或正在制定数字签字法。