㈠ 对称加密、非对称加密、数字签名
通信双方使用同一个密钥,不同算法工作。数据发送方使用密钥和加密算法对数据进行加密,数据接收方使用密钥和解密算法对密文进行解密,还原数据。
基本模型如下图所示。
通信双方使用不同的密钥,相同的算法工作。数据发送方持有公钥,数据接收方持有私钥。公钥由数据接收方通过网络发送给数据发送方。数据发送方通过加密算法和公钥对数据进行加密,数据接收方通过加密算法和私钥对密文进行解密,还原数据。
基本模型如下图所示。
数字签名是安卓 APK 校验安装包是否被篡改、损坏的有效手段。数字签名采用了非对称加密 + Hash 两种技术。具体原理参见下图,主要是以下几步。
㈡ 数字签名中的密钥(公钥、私钥)
CA:
发放和管理数字证书的权威机构,电子商务交易中受信任的第三方,主要负责公钥体系中公钥的合法性检验。
非对称加密算法
非对称加密算法需要两个密钥:公钥(publickey)和私钥(privatekey),用公钥揭秘私钥加密的数据,用私钥揭秘公钥加密的数据。
RSA:
一种广泛使用的非对称加密算法。
公钥:
密钥对中公开的部分。
私钥:
非公开的部分。
摘要:
对任何输入报文数据生成固定长度的摘要,主要通过HASH函数
签名:
使用自己的私钥对摘要加密
发送方
1.生成摘要
2.生成签名
3.拼接数据
4.发送数据
接受方
1.解密接受到的数据
2.分离数据
3.计算摘要
4.完整性验证
㈢ 电子签名原理是什么
简单来说,电子签名是利用哈希算法与加密算法实现的电子文件上直接签字、盖章的技术。为了保障签署后的电子文件具备法律有效性,使用电子签名签署后的电子文件还需要具备签署身份可识别、签署内容不可篡改的特性。
但是,通过上述技术名词解释并不能直观、易懂的说明电子签名的原理,以下是通过还原电子签名签署的过程简介实现原理:
场景:由于业务需要,你和我需要签署一份合作协议。为方便起见,你将拟好的电子版合同文本在线发送给我签署。
怎样确保合同只有我可查看且不被他人恶意窃取?我又怎样才能确定文件的发送人就是你呢?
关键点1:公钥私钥登场
为了满足电子合同内容保密性和发送人认证的要求,我们了解到非对称加密的加密方式。
非对称加密:具有唯一对应的一对秘钥,一个公钥一个私钥,公钥所有人可见,而私钥仅自己可见。
非对称加密具有这样的特性:用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。
发送合同时,你将拟好的电子合同使用自己的私钥加密后发送;接收合同时,如果能够使用你的公钥解密,则说明这份文件就是你发送的。
但是,我怎么才能知道你的公钥呢?
关键点2:政府出了个CA来帮忙
我了解到,政府授权了一个权威机构叫CA,可以提供网络身份认证的服务。
CA(Certificate Authority):全称证书管理机构,即数字证书的申请、签发及管理机关。其主要功能为:产生密钥对、生成数字证书、分发密钥、密钥管理等。
数字证书:是由CA机构颁发的证明,它包含公钥、公钥拥有者名称、CA的数字签名、有效期、授权中心名称、证书序列号等信息,可以通俗为理解个人或企业在“网络身份证”。
我向CA机构申请获取你的公钥,使用它对电子合同解密,解密成功则说明发送人就是你。文件发送人的身份确认了,那怎么保障电子合同传输过程中未被篡改呢?
关键点3:哈希兄弟出场
有技术人员推荐了哈希算法(摘要算法),可以证明电子合同传输过程中是否被篡改。
哈希算法:通过加密算法将文本内容生成为一段代码,即信息摘要,其主要特征是加密过程不需要密钥,经加密的数据无法被反向还原。也就是说,只有两份完全相同的合同经过相同的哈希算法才能得到相同的摘要。
发送合同时,你将电子合同原文和经哈希运算的摘要一起发送给我接收合同时,通过对合同原文进行同样的哈希运算得到新的摘要,对比两组摘要是否一致即可证明我接收的文件是否被篡改
但是,如果传输过程中文件原文与摘要同时被替换了怎么办?
关键点4:对称加密来帮忙
除了上述的哈希算法、非对称加密、CA,为确保合同由发送到接收满足三个要求,即:由你发送、只能发给我、不能被篡改,我们还需要应用新的加密方式:对称加密。
对称加密:采用单钥密码系统的加密方法,信息的加密和解密只能使用同一个密码。
发送文件时:
1、你通过哈希运算得到原文摘要并使用私钥对其加密,得到你的数字签名,再将数字签名和合同原文进行对称加密,得到密文A——对原文加密
2、再通过CA获得我的公钥,对上述步骤中对称加密的秘钥进行非对称加密,即我的“数字信封”——对秘钥加密
3、将密文A和我的数字信封一起发送给我
数字签名:用哈希算法提取出源文件的摘要并用发送人的私钥进行加密后的内容。
数字信封:用接收方的公钥加密对称秘钥”,这就叫“给乙的数字信封。
接收文件时:
1、我使用自己的私钥解密数字信封得到对称秘钥——能解开,说明是发给我的
2、再使用对称秘钥解密密文A,得到带有你的数字签名的原文
3、使用你的公钥解密你的数字签名,得到签名中的原文摘要——能解开,说明发送者是你
4、使用相同的摘要算法获取原文摘要并与解密签名中的摘要对比——摘要一致,则说明原文没有被篡改
除了文件内容不可篡改,精确记录签署时间固定合同生效期限也十分重要,网络环境中怎样怎么确保合同签署时间不可篡改呢?
关键点5:时间戳来证明
我又请教了专家,原来我们国家还有专门确定时间的法定授时中心,它可以在我们签署的文件上加盖“时间印迹”,即时间戳。
时间戳(time-stamp):书面签署文件的时间是由签署人自己写上,而数字时间戳则由第三方认证单位(DTS)添加,以DTS收到文件的时间为依据,更精准、更有公信力。
至此,我们签合同的时间精准记录、合同内容不可篡改、双方身份也真实有效,这下没问题了!但是,签署完的电子合同怎么存储呢?不管是哪一方签署,日后产生纠纷都难免对合同存储期间的安全性产生质疑。
关键点6:找个权威第三方来存证
听说有专门的第三方电子数据存证机构,可以保存已签署的电子合同数据,当用户双方对合同内容产生争议时可申请出具具有公信力的证明。
合同签署的最后一个问题:存储问题也解决了!但唯一不足之处就是:签署过程太麻烦!为保障电子合同有效性,我们用到了非对称加密、哈希运算、时间戳等技术,还要CA机构、公证处等机构协助;
怎样更简单快捷地签一份有效的电子合同呢?
关键点7:选择可靠的第三方电子合同平台
根据《电子签名法》规定,使用可靠的电子签名签署的电子合同具备与手写签字或盖章的纸质合同同等的法律效力。
根据《电子签名法》规定,符合下列条件的,视为可靠的电子签名:
1)电子签名制作数据用于电子签名时,属于电子签名人专有
2)签署时电子签名制作数据仅由电子签名人控制
3)签署后对电子签名的任何改动能够被发现
4)签署后对数据电文内容和形式的任何改动能够被发现
结合上述电子合同签署过程,我们可归纳总结有效的电子合同应关注以下几个核心点:内容保密性、内容防篡改、明确签订身份、明确签订时间。
同时,为保障电子合同作为书面形式的证据能力,合同签署全程还应当由权威第三方机构存储公证。
商务部在《电子合同在线订立流程规范》指出:“通过第三方(电子合同服务提供商)的电子合同订立系统中订立电子合同,才能保证其过程的公正性和结果的有效性”。
综上,就是电子签名各个环节中需涉及的实现原理。
㈣ “数字签名技术采用的是公钥体制,它是用私钥进行加密”的对不
对。
公钥体制是数字签名的基础,数字签名就是使用数字证书的私钥对数据的摘要加密,以保证数据的完整性、真实性和不可抵赖。
㈤ 什么是数字签名 数字签名的介绍
1、数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
2、它是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。
㈥ 数字签名的作用和功能是什么
功能:保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。
作用:数字签名的文件的完整性是很容易验证的(不需要骑缝章,骑缝签名,也不需要笔迹专家),而且数字签名具有不可抵赖性(不可否认性)。
数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。
如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
(6)数字签名用谁的密钥加密扩展阅读:
发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要。
接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
在密文背景下,抵赖这个词指的是不承认与消息有关的举动(即声称消息来自第三方)。消息的接收方可以通过数字签名来防止所有后续的抵赖行为,因为接收方可以出示签名给别人看来证明信息的来源。
数字签名算法依靠公钥加密技术来实现的。在公钥加密技术里,每一个使用者有一对密钥:一把公钥和一把私钥。公钥可以自由发布,但私钥则秘密保存;还有一个要求就是要让通过公钥推算出私钥的做法不可能实现。
㈦ “数字签名技术采用的是公钥体制,它是用私钥进行加密”的对不
对。
公钥体制是数字签名的基础,数字签名就是使用数字证书的私钥对数据的摘要加密,以保证数据的完整性、真实性和不可抵赖。
㈧ 简述数字签名的原理
数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。
它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。
(8)数字签名用谁的密钥加密扩展阅读:
数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。
因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字摘要的值也将发生变化。不同的文件将得到不同的数字摘要。 一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。”
数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
㈨ 进行加密和数字签名的公钥算法是下列哪个
A。
RSA是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, Adi Shamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。
RSA算法易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。
(9)数字签名用谁的密钥加密扩展阅读:
公钥加密系统允许任何人在发送信息时使用私钥进行加密,接收信息时使用公钥解密。当然,接收者不可能百分之百确信发送者的真实身份,而只能在密码系统未被破译的情况下才有理由确信。
传输数据的双方都总希望确认消息未在传输的过程中被修改。加密使得第三方想要读取数据十分困难,然而第三方仍然能采取可行的方法在传输的过程中修改数据。一个通俗的例子就是同形攻击:回想一下,还是上面的那家银行从它的分行向它的中央管理系统发送格式为(a,b)的指令,其中a是账号,而b是账户中的金额。