手写哈希算法
Ⅰ 鐢靛瓙绛惧悕鏄镐庢牱链夋晥鍙栦唬镓嫔啓绛惧瓧鐩栫珷镄勶纻
鐢靛瓙绛惧悕鍙栦唬镓嫔啓绛惧悕鐩栫珷锛屼富瑕佹湁涓ょ偣铡熷洜锛
鐢靛瓙绛惧悕鍙浠ラ氲繃鎶链镓嬫靛疄鐜版坠鍐欑惧瓧鐩栫珷钖岀瓑镄勬硶寰嬫晥锷
浣跨敤鐢靛瓙绛惧悕姣旀坠鍐欑惧瓧鐩栫珷𨰾ユ湁缁濆圭殑浼桦娍銆
钥岄夋嫨绗涓夋柟鐢靛瓙绛惧悕骞冲彴鏄瀹炵幇浠ヤ笂涓ょ偣镄勬渶浣抽夋嫨銆
銆婄数瀛愮惧悕娉曘嫔圭数瀛愮惧悕镄勫畾涔夋槸锛气沧暟鎹鐢垫枃涓浠ョ数瀛愬舰寮忔墍钖銆佹墍闄勭敤浜庤瘑鍒绛惧悕浜鸿韩浠藉苟琛ㄦ槑绛惧悕浜鸿ゅ彲鍏朵腑鍐呭圭殑鏁版嵁钬濄
涔熷氨鏄璇寸﹀悎娉曞緥瑙勫畾镄勭数瀛愮惧悕锛屾墠鏄鍙浠ユ浛浠d紶缁熺惧悕鐩栫珷镄勫彲闱犵殑鐢靛瓙绛惧悕銆
銆婄数瀛愮惧悕娉曘嬬13銆14𨱒¤勫畾锛氱数瀛愮惧悕钖屾椂绗﹀悎涓嫔垪𨱒′欢镄勶纴瑙嗕负鍙闱犵殑鐢靛瓙绛惧悕锛岀数瀛愬悎钖屾晥锷涚瓑钖岀焊璐ㄥ悎钖岋纴绛剧讲钖堣勬湁鏁堛傚叾瀵瑰簲娉曞緥绉戞妧濡备笅锛
(涓)鐢靛瓙绛惧悕鍒朵綔鏁版嵁鐢ㄤ簬鐢靛瓙绛惧悕镞讹纴灞炰簬鐢靛瓙绛惧悕浜轰笓链夛细浜鸿劯鐢熺墿绉戞妧璇嗗埆銆侀摱琛屽崱瑕佺礌绛夊氶吨鎶链镓嬫靛疄钖嶈よ瘉锛岀‘淇濋佸彂鐢靛瓙绛惧悕涓轰笓浜烘墍链夛绂
(浜)绛剧讲镞剁数瀛愮惧悕鍒朵綔鏁版嵁浠呯敱鐢靛瓙绛惧悕浜烘带鍒讹细锷犲瘑锏婚檰锛岄勭暀镓嬫満闅忔満锷ㄦ佸瘑镰佺‘淇濈剧讲琛屼负涓虹剧讲浜烘带鍒讹绂
(涓)绛剧讲钖庡圭数瀛愮惧悕镄勪换浣曟敼锷ㄨ兘澶熻鍙戠幇锛氩浗瀹舵潈濞佹満鏋勯佸彂CA璇佷功锛屽苟纭淇濊瘉涔︽寚绾瑰敮涓镐у瀷锛屼娇绡℃敼镞犳晥骞跺彲璇嗗埆绛惧悕鐪熷疄链夋晥镐э绂
(锲)绛剧讲钖庡规暟鎹鐢垫枃鍐呭瑰拰褰㈠纺镄勪换浣曟敼锷ㄨ兘澶熻鍙戠幇銆傚彲闱犵殑鐢靛瓙绛惧悕涓庢坠鍐欑惧悕鎴栬呯洊绔犲叿链夊悓绛夌殑娉曞緥鏁埚姏锛氩悎钖屾枃妗h浆鎹涓洪槻绡℃敼PDF锛屽姞鐩栧浗瀹舵巿镞朵腑蹇冩椂闂存埑锛屽苟鐢辨潈濞佸徃娉曢壌瀹氢腑蹇冦佺涓夋柟骞冲彴镵斿悎瀛樿瘉锛屽悎钖岀湡瀹炴у彲镙¢獙銆
浠庡徃娉曞疄璺垫潵鐪嬶纴娉曞畼鍙浠ヤ粠钥冨疗鐢靛瓙绛惧悕鏄钖﹀睘浜庣惧悕浜轰笓链夊拰鎺у埗銆佽冨疗鍦ㄧ剧讲鏁版嵁鐢垫枃镞讹纴鏁板瓧璇佷功鏄钖︾敱鐢靛瓙绛惧悕浜烘带鍒躲佽冨疗鐢靛瓙绛惧悕镄勬妧链鏂规堬纸濡傛灉閲囩敤浜嗘暟瀛楃惧悕鎶链锛屼竴鑸鍙璁ゅ畾涓哄彲闱犵殑鐢靛瓙绛惧悕锛変笁涓鏂归溃鍒ゆ柇鏄钖︾﹀悎涓婅堪鍙闱犵殑鐢靛瓙绛惧悕瑕佺礌銆
绗涓夋柟鐢靛瓙绛惧悕钬濆尯鍒浜庝紶缁颎灭数瀛愮惧悕钬濓纴閲囩敤SaaS镄勪氦浠樻ā寮忥纴镞㈤檷浣庝简浼佷笟鐢ㄦ埛镄勪娇鐢ㄩ棬妲涳纴鍙堢缉鍑忎简閮ㄧ讲镞堕棿鍜屾垚链锛屼笖娌℃湁瓒呭嚭钬滃彲闱犵殑鐢靛瓙绛惧悕钬濆洓瑕佺礌镄勮寖锲淬
绗涓夋柟鐢靛瓙绛惧悕骞冲彴瀛桦偍鐢靛瓙钖埚悓镟村姞渚挎嵎銆佹彁鍗囧悎钖岀剧讲銆佹祦杞绛夋柟闱㈢殑鏁堢巼銆佸簲鐢ㄧ数瀛愮惧悕绛捐㈠悎钖岃兘澶熻妭鐪佹椂闂淬佸簲鐢ㄧ数瀛愮惧悕镄勫悎钖屽氶吨澶囦唤鍧囨湁娉曞緥鏁埚姏銆佹洿链夋晥阒叉淇℃伅琚绡℃敼銆佹彁鍗囧瓨鍌ㄧ殑瀹夊叏镐с佽妭鐪佸揩阃掕垂鐢ㄦ垚链鍜岀焊寮犳垚链銆佹彁鍗囦紒涓氩舰璞°佺嚎涓婂瓨鍌ㄧ数瀛愬悎钖岃妭鐪佺墿鐞嗙┖闂淬佸姪锷涗紒涓氢簰镵旂绣鍖栬浆鍨嬨佸搷搴斾笂绾ч嗗艰佹眰锛屾弧瓒抽嗗肩Щ锷ㄧ惧悕镄勯渶姹傜瓑浼楀氢紭锷匡纴璁╃数瀛愮惧悕阃愭笎璧拌繘澶т䌷镄勮嗛噹锛屽湪钖勪釜棰嗗烟钖勪釜搴旂敤鍦烘櫙涓姝d竴姝ユュ彇浠d紶缁熺殑绛惧悕鐩栫珷銆
Ⅱ 电子合同里的电子签名是什么原理
简单来说,电子签名是利用哈希算法与加密算法实现的电子文件上直接签字、盖章的技术。为了保障签署后的电子文件具备法律有效性,使用电子签名签署后的电子文件还需要具备签署身份可识别、签署内容不可篡改的特性。
但是,通过上述技术名词解释并不能直观、易懂的说明电子签名的原理,以下是通过还原电子签名签署的过程简介实现原理:
场景:由于业务需要,你和我需要签署一份合作协议。为方便起见,你将拟好的电子版合同文本在线发送给我签署。
怎样确保合同只有我可查看且不被他人恶意窃取?我又怎样才能确定文件的发送人就是你呢?
关键点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)签署后对数据电文内容和形式的任何改动能够被发现
结合上述电子合同签署过程,我们可归纳总结有效的电子合同应关注以下几个核心点:内容保密性、内容防篡改、明确签订身份、明确签订时间。
同时,为保障电子合同作为书面形式的证据能力,合同签署全程还应当由权威第三方机构存储公证。
商务部在《电子合同在线订立流程规范》指出:“通过第三方(电子合同服务提供商)的电子合同订立系统中订立电子合同,才能保证其过程的公正性和结果的有效性”。
综上,就是电子签名各个环节中需涉及的实现原理。
Ⅲ 鐢靛瓙绛惧悕鏄镐庢牱链夋晥鍙栦唬镓嫔啓绛惧瓧鐩栫珷镄
骞堕潪鐢靛瓙绛惧悕鍙栦唬镓嫔啓绛惧瓧鐩栫珷銆傜数瀛愮惧悕鏄鍙楁椂浠e彂灞曪纴浜х敓镄勬洿鏂逛究镄勪骇鐗┿
澶у跺彲镙规嵁镊宸辩殑瀹为檯𨱍呭喌阃夋嫨鐢靛瓙钖埚悓鎴栬呯焊璐ㄥ悎钖岋纴骞堕潪璋佽佸彇浠h皝銆
姣斿傚纾鍦扮剧讲锛屽氨鍙浠ラ夋嫨鐢靛瓙绛惧悕锛屼负浼佷笟闄嶆湰澧炴晥銆
銆婄数瀛愮惧悕娉曘嫔圭数瀛愮惧悕镄勫畾涔夋槸锛气沧暟鎹鐢垫枃涓浠ョ数瀛愬舰寮忔墍钖銆佹墍闄勭敤浜庤瘑鍒绛惧悕浜鸿韩浠藉苟琛ㄦ槑绛惧悕浜鸿ゅ彲鍏朵腑鍐呭圭殑鏁版嵁钬濄备篃灏辨槸璇村悎娉曞悎瑙勭殑鐢靛瓙绛惧悕鍏锋湁涓庢坠鍐欑惧悕钖岀瓑镄勬硶寰嬫晥锷涖