您现在的位置是: 首页 > 名人语录 名人语录
数字教你写签名_数字教你写签名李万里
ysladmin 2024-06-14 人已围观
简介数字教你写签名_数字教你写签名李万里 现在,我将着重为大家解答有关数字教你写签名的问题,希望我的回答能够给大家带来一些启发。关于数字教你写签名的话题,我们开始讨论吧。1.如何制作电子签名2.数字
现在,我将着重为大家解答有关数字教你写签名的问题,希望我的回答能够给大家带来一些启发。关于数字教你写签名的话题,我们开始讨论吧。
1.如何制作电子签名
2.数字签名的签名过程
3.数字签名的三种方法
4.数字签名的实现过程
如何制作电子签名
一、电子签名和电子印章是将信息加密和身份认证相结合,在电子文件上直接签名或盖章的技术。电子印章不仅实现了印章的外观,而且保证了所签电子合同具有签名可识别、签名内容不可篡改、签名时间准确等特点。
二、普通个人或企业用户独立部署电子印章需要花费大量资金。通过选择可靠的第三方电子印章服务商,可以对电子印章进行使用和管理。
三、通过将电子印章功能与企业内部管理系统集成或直接使用第三方云平台,可以快速实现电子印章。
以电子海豹云平台为例:
1、选择可靠的第三方电子印章云平台注册个人或企业账户;
2、完成实名认证,并制作电子印章或电子签名;
3、通过平台选择需要盖章或签名的文件,调用电子印章或签名对电子签名
/iknow-pic.cdn.bcebos.com/dc54564e9258d109836efab5de58ccbf6c814d23"target="_blank"title=""class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/dc54564e9258d109836efab5de58ccbf6c814d23?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="/dc54564e9258d109836efab5de58ccbf6c814d23"/>
数字签名的签名过程
0、引言
随着信息时代的到来,人们希望能通过网络信息传输对文
件、契约、合同、信件和账单等进行数字签名来代替以往的手写
签名。数字签名的目的是提供一种手段,使得一个实体把他的身
份与某个信息捆绑在一起。一个消息的数字签名实际上是一个
数,它仅仅依赖于签名者知道的某个秘密,也依赖于被签名信息
本身。所以,将数字签名看成是一种证明签名者身份和所签署内
容真实性的一段信息。
1、RSA算法描述
RSA算法是Rivest,Shamir和Adleman于1977年提出的比
较完善的公钥密码系统。RSA算法是一个既能用于加密又能用
于数字签名的公开密钥算法。RSA算法是基于这样一个数论事
实:将两个大素数相乘十分容易,但是想分解它们的乘积却是困
难的。
RSA公钥加密的整个算法可以通过以下步骤来描述。
1)生成两个大的素数p和q,p≠q;
2)计算n=p×q,!(n)(p-1)(q-1);
3)随机选择一个整数(公开的加密密钥),0<e<!(n),使得
gcd(e,!(n))=1;
4)计算满足下列条件(保密的解密密钥),ed=1mod!(n);
5)对明文的加密运算是:c=E(m)=memodn;
6)对密文的解密运算是:m=D(c)=cdmodn。
此时公开(e,n)作为加密密钥E,自己保密(d,n)作为解密密钥
D。隐藏p和q。
2、RSA的保密性
假设用户A获得了一对密钥变换(EA、DA),其中EA是可以
公布于众的加密密钥,DA是由用户A自行秘密保管的解密密
钥。当用户B要向用户A发送消息M时,B只需要找到EA,用它
对消息M进行加密,C=EA(M),然后把密文C在公共信道上传
送给A。当A收到密文C后,就用A秘密保管的解密密钥DA解
密,DA(C)=DA(EA(M))=M,恢复出明文M。利用上述加密解密
过程可使用户A和B之间达到保密传输。因为即使有窃听者获
得了密文C,但是他没有解密密钥DA,所以不能恢复出明文M
例如:
如果用户A取p=7,q=71则n=pq=3337,!(n)(p-1)(q-1)=46×
70=3220随机选取加密密钥e=79,则d=79-1。公开e和n,将d保
密,隐藏p和q。设用户B要发给A的信息为m=688,用户B对m
进行如下加密:c=68879mod3337=1570然后将密文c发给用户A
用户A则利用保密的解密密钥进行如下解密:15701019mod3337=
688=m。
虽然这解决了用户A和B之间的保密传输,但是并没有解
决可靠性,当A收到密文C时,并不能确定密文C就是用户B
发来得。因为主动攻击的扰乱者也是知道用户A的加密密钥的
因此扰乱者可以冒充B发一条假消息给A,这时A是无法判断
该消息是否B发来的。这个问题可以利用数字签名来解决。
3、RSA数字签名方案
3.1公钥加密体制的数字签名原理
其原理是:用户B用你的私钥来"加密"一组信息,用户A用公钥来解密,如果"解密"成功,说明这组信息就是用户B加密
的,用户B无法否认这个事实,这就是数字签名。
假设用户B获得了一对密钥变换(EB、DB),其中EB是可以公
布于众的加密密钥,DB是由用户B自行秘密保管的解密密钥。
当用户B要向用户A发送消息M时,如果用户B首先用自己保
管的解密密钥DB作变换,C'=DB(M),然后把C'传送给A,当A
收到密文C'后,可以用B的公开密钥EB作逆变换,EB(C')=EB
(DB(M))=M,恢复出原始信息M。这样A就可以判断该消息一
定是B发来的,因为只有B才知道秘密密钥DB,除B外,任何
人都不能仿造信息C',因此C'可以作为用户B的数字签名,A可
以通过EB来验证B的合法性,B对消息C'的确定性也是无法否
认的。这样的应用只解决了消息的可靠性,可以防止第三者插
入、伪造和篡改消息,但是并不能解决消息M的保密性,因为除
了A以外,其他人也能收到,并恢复消息M。
3.2保密性和可靠性的解决方案
为了同时解决信息的保密性和可靠性这两个问题,我们可
以对消息作如下处理:
用户A和B分别获得了各自的密钥对(EA、DA)和(EB、DB),
如果B要向A发送一条消息M,则可以先把消息M用B的秘
密密钥DB处理,再用A的公开密钥EA加密,即C=EA(DB(M)),
然后把C发送给A,A收到信息C后,先用自己的秘密密钥DA
解C,再用B的公开密钥EB恢复,即
EB(DA(C))=EB(DA(EA(DB(M))))=EB(DB(M))=M。
把这两种方法如此地结合起来,用于加密信息,这样就可以
到达人们预期的目的。使公共信道上传输的信息,即具有保密
性,有具有可靠性,即可以防止第三者的被动窃取,又可以防止
第三者的主动破坏,同时还具有认可和公证的能力。
4、RSA安全性分析
RSA的安全性依赖于大数分解的难度,目前因子分解速度
最快的算法,其时间复杂性为exp(sqrt(n)1n1n(n))。若和为100位
的十进制数,这样为200位十进制数,按每秒107次运算的超高
速计算机,也要108年才能破解。因此,在一定有效期内,RSA数字
签名是安全可靠的。2002年成功分解了158位的十进制数,故
选取的素数p和q应该是长度为100的十进制数(相当于332
位二进制数)。为了达到长期安全应该至少使用1024位。
RSA的安全性受到的最大威胁就是整数素因子分解技术的
发展,如果因素分解技术有了突破性发展,那么RSA的破解将会
变得非常简单,可以直接计算出私钥。
5、结束语
数字签名有很多实现方法,目前广泛应用的主要有Hash签
名,DSS签名,RSA签名,ElGamal签名。其中RSA签名是最流行
的一种数字签名算法,尽管数字签名技术还不够完善,如签名后
的文件可能被接收者重复使用,公开密钥加密算法的效率相当
低,不易用于长文件的加密等。我们可以把RSA算法与其他算
法(如DES算法)结合起来使用,既提高了他它的运行速度,又保
证了一定的安全性。随着Internet的快速发展及其算法的不断改
进和完善,其应用领域会日益广泛,有着广阔的发展前景。
数字签名的三种方法
“发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字摘要的值也将发生变化。不同的文件将得到不同的数字摘要。 一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。”
数字签名:
发送方用自己的密钥对报文X进行Encrypt(编码)运算,生成不可读取的密文Dsk,然后将Dsk传送给接收方,接收方为了核实签名,用发送方的公用密钥进行Decrypt(解码)运算,还原报文。
数字签名的实现过程
该签名的三种方法有:RSA签名算法、DSA签名算法、ECDSA签名算法。
1、RSA签名算法。该算法的数学理论是根据大素数因子分化难题,是最盛行的一种签名算法,其安全性取决于大数的因子分化难解性。
2、DSA签名算法。该算法的数学理论是根据整数有限域离散对数难题,其安全强度和速度均低于RSA算法。
3、ECDSA签名算法。该算法相比前两者在密钥对生成方式上存在差别。
数字签名包括签名过程和验证签名过程,实现步骤分别为 签名的实现过程将原文做HASH,再用私钥加密,得到签名值。
验证签名的实现过程将签名值用公钥解密,取得HASH2,再将原文做HASH1,最后将两个HASH做比较,一样就验证通过,否则不通过。
好了,关于“数字教你写签名”的话题就讲到这里了。希望大家能够对“数字教你写签名”有更深入的了解,并且从我的回答中得到一些启示。