周荣彪
(中央民族大学 100081)
数字签名简述
周荣彪
(中央民族大学 100081)
在计算机的大众普及和数字信息技术的高速发展的今天,人类已跨入了数字信息化的时代,信息技术的重要性与日俱增,已经深入了我们这代人的每一个角落,人们的日常工作和生活都离不开它。但,凡事都具有其两面性,利弊并存。
数字签名 信息化 网络
信息技术更是首当其冲,因信息的各种操作行为常常都是在网络上进行的,而因特网又是全球、开放、共享的,也就等同于任何人都可以随意地接入,这中间就不可避免的会出现一些恶意的非法访问者。所以也必定会出现能够保证网络信息安全的技术。信息安全主要包括以下几方面的内容:可用性、完整性、机密性、不可否认和可控制性。[1]
在网络环境条件下,我们需要存储、传输大量的信息,同时也双方通信也有可能会为了一己私利出现损害另一方的利益的行为,为了实现信息安全所包含的这些特性数字签名技术就运而生。
传统签名就是我们手写的能够证明我们身份或者物品所属真伪的证明;而在网络大行其道的今天,传统签名跟不上时代的脚步,从而演化出了今天的数字签名。数字签名,是公钥密码学中一个重要的应用,相当于是传统手写签名的数字化,它具有实现确认信息来源的可靠性及其自身完整性等重要功能,是当前电子商务与电子政务中应用最为广泛一种电子签名方法。故数字签名作为密码学的核心技术其对信息安全的重要性不言而喻。[2]
数字签名,本质就是一个比特串或是一个比特串的码表示,它将我们所感兴趣的电子数据置于一个密码私钥上。
在数字签名出现之前,为确定重要文件的有效性,人们所使用的都是传统的签名,即手写签名。而事实证明传统的签名是极易被伪造的,相比之下在这方面数字签名的优势是明显的,如果攻击者没有得到产生签名的私钥,那么他想要对用数字签名方案所生成的签名进行伪造攻击,这在计算上是不可行的。[3]
传统的手写签名不仅可以被伪造,而且签名者也可以不承认其之前签过名的文件。但是在使用数字签名对文件进行签名后,签名者想要否认这一过程,是很困难的,这是因为数字签名与用户姓名、书面签名形式没有任何关系,数字签名在产生过程中使用的是密朗,验证过程使用的是与密胡相对应的公胡。所以数字签名相对于传统的手写签名又具有了一个重要的特性,那就是不可否认性,即抗抵赖性。数字证书就是数字签名这一特性的很好应用。
传统手写签名由于其易模仿性与易否认性,很容易引起数据收发双方的争执,在争执出现时,作为仲裁者的第三方往往由于缺乏充分的证据,不能给出正确的判断。数字签名则不同,它是通过某种密码运算,生成一系列符号与代码组成相应的电子密码进行签名,并且可以对数字签名进行技术验证,其准确程度也是传统手写签名与图章验证不能相比的。另外,当数字签名中出现争执时,作为第三方的仲裁者可以获得足够的证据来进行正确的判定。也给出了数字签名的相关定义:数字签名是对数据单元进行的密码变换,或其本身就是一些数据,这些数据是附加于数据单元之上的,这类变换或数据允许数据单元的接收者,用以确认数据弟元的来源与其完整性,并对数据进行保护,防止被攻击者伪造。
数字签名是以公明密码体制为基础的,在这一体制中公钥和私钥组成了用户密明,其中公钥是公开的,私钥是不公幵的。在公钥体制下的签名,用户用自己的私钥对原始数据的哈希摘要进行加密,然后信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与用自己收到的原始数据产生的哈希摘要对照,便可确信原始信息是否被篡改,这样就保证了数据传输的不可否认性。数字签名就是消息发送方使用其私有密钥对要发送的消息进行加密操作,而消息的接受方如果可以闲签名者的公钥对密文实现正确的解密,那么就可以确定此消息是由发送方签名的,对消息的来源完整性进厅了认证。因为从公明不能推导出相应的私朗,所以对公钼进行公〕下与共享不会与私销的保密要求相矛盾。
目前,数字签名已成为一种应对网络安全问题的有效手段。在数字签名中消息的发送教首先会使用一个单向散列函数对该消息进行一个数学变换,并使用算法获得一个特征数据,即数据摘要,这个数据可以验证消息的来源与消息的完整性(即消息未被总改或部分丢失),之后发送者再用自己的私有密钢对获得的数据摘要进行加密,形成了相应的数字签名,将得到的数字签名与要传送的消息一起进行加密后发送,这样就好像是在所发送的消息上进行盖章或者签名,接收方对接收到的密文进行验证,来确定其接收到的消息的正确性与消息的来源。对于不同的消息信息,发送方所给出的数字签名肯定是不一样的。
因为通过算法得到的特征数据,即数据摘要,其在计算上是不可逆的,也就是说通过这一数掘是不能得到消息全文的,假如消息在传送的过程中被攻击者非法获取,并被进行了改动,即使改动很小重新推导出的数据摘耍也是不同的。
并且,私有密明是只有发送方才可以知道的,这样其他任何人都不能生成相应的文件,即没有私销,非法操作者不能对消息进行复制。使用私有密明是数字签名产生的唯一方法,它可以确保数字签名不被伪造,同时函数的单向性又保证了信息不会被调换。所以说数字签名不仅仅可以用于对身份的确认,它还可以在信息进行网上传输过程中,保障其真实性、不可否认性即不可抵赖性)与完整性。
由RSA算法知在密钥的产生部分中起决定性作用的是素数的选择,对随机数作素性检测,如果m是一个素数,且a不是m的倍数,那么
因此对于整数m,只需计算am( mod m),再将结果与a比较,如果两者相同,则m为素数。选取a=2,则a一定不会是任何素数的倍数。根据所选的素数的不同产生不同的密钥。
[1]赵泽茂. 数字签名理论及应用研究[D].南京理工大学,2005.
[2]吴克力. 数字签名理论与算法研究[D].南京理工大学,2005.
[3]肖攸安,李腊元. 数字签名技术的发展[J]. 交通与计算机,2003,(02):6-9.