签名算法怎么来的?

作者&投稿:俟伟 (若有异议请与网页底部的电邮联系)
现有的签名算法都有哪些?有什么异同~

根据个人了解并结合部分文章介绍,签名大致分为如下几种:
1、【公务签】,也称商务签名,这属于正规场合的签名,在行楷或者行书之间加强调其风格,适合在公众场合签名,特点是易辨认,一般用于签署公文等正规正式场合;
2、【书法签】,讲究书法美感,设计主要来自行书和草书的结合设计,容易认识,大方,适合在任何场合签名;
3、【防伪签】,该签法实用性不是很强,别人不容易认识,有正面防和反面防伪之分,正面防伪即把一个签名加入一些特别的符号,如日期,字母等,反面防伪则是把名字倒写,正面看不懂,反面才能看清楚,虽实用性不强,但视觉效果不错,因由防伪设计,所以较适合一些特殊场合使用。
4、【趣味签】,把名字设计成动物、植物、山水等图案或者其他特定形式,增加签名的趣味性,一般用于非正式场合。

这几种签名的共同点是都具有简洁、艺术、动感等特点。其实,只要满足于易写、易认、个性、动感这几个条件的签名就是一个好的签名。希望我分析的对你有所帮助。

数字签名就是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。用这几个字符串来代替书写签名或印章,起到与书写签名或印章同样的法律效用。国际社会已开始制定相应的法律、法规,把数字签名作为执法的依据。

数字签名算法分析与Hash签名

  序:这篇文章我用了近一周的时间完成,其中涉及到的RSA算法已经在上一篇《公钥密码体系》中详细的介绍过,目前数字签名中人们使用很多的还是512位与1024位的RSA算法。
  

  摘要: 数字签字和认证机构是电子商务的核心技术。数字签名作为目前Internet中电子商务重要的技术,不断地进行改进,标准化。本文从数字签名的意义出发,详细介绍了数字签名中涉及到的内容与算法,并自行结合进行改进。
  
  关键词:Internet 公钥加密 Hash函数 电子商务 加密 数字签名 
  
  数字签名简介
  
  我们对加解密算法已经有了一定理解,可以进一步讨论"数字签名"(注意不要与数字认证混淆)的问题了,即如何给一个计算机文件进行签字。数字签字可以用对称算法实现,也可以用公钥算法实现。但前者除了文件签字者和文件接受者双方,还需要第三方认证,较麻烦;通过公钥加密算法的实现方法,由于用秘密密钥加密的文件,需要靠公开密钥来解密,因此这可以作为数字签名,签名者用秘密密钥加密一个签名(可以包括姓名、证件号码、短信息等信息),接收人可以用公开的、自己的公开密钥来解密,如果成功,就能确保信息来自该公开密钥的所有人。
  
  公钥密码体制实现数字签名的基本原理很简单,假设A要发送一个电子文件给B,A、B双方只需经过下面三个步骤即可:
  
  1. A用其私钥加密文件,这便是签字过程
  
  2. A将加密的文件送到B
  
  3. B用A的公钥解开A送来的文件
  
  这样的签名方法是符合可靠性原则的。即:
  
  签字是可以被确认的,
  签字是无法被伪造的,
  签字是无法重复使用的,
  文件被签字以后是无法被篡改的,
  签字具有无可否认性,
  数字签名就是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。用这几个字符串来代替书写签名或印章,起到与书写签名或印章同样的法律效用。国际社会已开始制定相应的法律、法规,把数字签名作为执法的依据。
  
  数字签名的实现方法
  
  实现数字签名有很多方法,目前数字签名采用较多的是公钥加密技术,如基于RSA Data Security公司的PKCS(Public Key Cryptography Standards)、DSA(Digital Signature Algorithm)、x.509、PGP(Pretty Good Privacy)。1994年美国标准与技术协会公布了数字签名标准(DSS)而使公钥加密技术广泛应用。同时应用散列算法(Hash)也是实现数字签名的一种方法。
  
  非对称密钥密码算法进行数字签名
  
  算法的含义:
  
  非对称密钥密码算法使用两个密钥:公开密钥和私有密钥,分别用于对数据的加密和解密,即如果用公开密钥对数据进行加密,只有用对应的私有密钥才能进行解密;如果用私有密钥对数据进行加密,则只有用对应的公开密钥才能解密。
  
  使用公钥密码算法进行数字签名通用的加密标准有: RSA,DSA,Diffie-Hellman等。
  
  签名和验证过程:
  
  发送方(甲)首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用私有密钥对数字签名进行加密后附在报文之后一同发出。
  
  接收方(乙)用发送方的公开密钥对数字签名进行解密交换,得到一个数字签名的明文。发送方的公钥可以由一个可信赖的技术管理机构即认证中心(CA)发布的。
  
  接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个数字签名进行对比,如果相同,则证明签名有效,否则无效。
  
  这种方法使任何拥有发送方公开密钥的人都可以验证数字签名的正确性。由于发送方私有密钥的保密性,使得接受方既可以根据结果来拒收该报文,也能使其无法伪造报文签名及对报文进行修改,原因是数字签名是对整个报文进行的,是一组代表报文特征的定长代码,同一个人对不同的报文将产生不同的数字签名。这就解决了银行通过网络传送一张支票,而接收方可能对支票数额进行改动的问题,也避免了发送方逃避责任的可能性。
  
  对称密钥密码算法进行数字签名
  
  算法含义
  
  对称密钥密码算法所用的加密密钥和解密密钥通常是相同的,即使不同也可以很容易地由其中的任意一个推导出另一个。在此算法中,加、解密双方所用的密钥都要保守秘密。由于计算机速度而广泛应用于大量数据如文件的加密过程中,如RD4和DES,用IDEA作数字签名是不提倡的。
  
  使用分组密码算法数字签名通用的加密标准有:DES,Tripl-DES,RC2,RC4,CAST等。
  
  签名和验证过程
  
  Lamport发明了称为Lamport-Diffle的对称算法:利用一组长度是报文的比特数(n)两倍的密钥A,来产生对签名的验证信息,即随机选择2n个数B,由签名密钥对这2n个数B进行一次加密交换,得到另一组2n个数C。
  
  发送方从报文分组M的第一位开始,依次检查M的第I位,若为0时,取密钥A的第i位,若为1则取密钥A的第i+1位;直至报文全部检查完毕。所选取的n个密钥位形成了最后的签名。
  
  接受方对签名进行验证时,也是首先从第一位开始依次检查报文M,如果M的第i位为0时,它就认为签名中的第i组信息是密钥A的第i位,若为1则为密钥A的第i+1位;直至报文全部验证完毕后,就得到了n个密钥,由于接受方具有发送方的验证信息C,所以可以利用得到的n个密钥检验验证信息,从而确认报文是否是由发送方所发送。
  
  这种方法由于它是逐位进行签名的,只有有一位被改动过,接受方就得不到正确的数字签名,因此其安全性较好,其缺点是:签名太长(对报文先进行压缩再签名,可以减少签名的长度);签名密钥及相应的验证信息不能重复使用,否则极不安全。
  
  结合对称与非对称算法的改进
  
  对称算法与非对称算法各有利弊,所以结合各自的优缺点进行改进,可以用下面的模块进行说明:
  
  Hash算法进行数字签名
  
  Hash算法也称作散列算法或报文摘要,Hash算法将在数字签名算法中详细说明。
  
  Hash算法数字签字通用的加密标准有: SHA-1,MD5等。
  
  数字签名算法  
  
  数字签名的算法很多,应用最为广泛的三种是: Hash签名、DSS签名、RSA签名。这三种算法可单独使用,也可综合在一起使用。数字签名是通过密码算法对数据进行加、解密变换实现的,常用的HASH算法有MD2、MD5、SHA-1,用DES算法、RSA算法都可实现数字签名。但或多或少都有缺陷,或者没有成熟的标准。
  
  Hash签名
  
  Hash签名是最主要的数字签名方法,也称之为数字摘要法(digital digest)、数字指纹法(digital finger print)。它与RSA数字签名是单独的签名不同,该数字签名方法是将数字签名与要发送的信息紧密联系在一起,它更适合于电子商务活动。将一个商务合同的个体内容与签名结合在一起,比合同和签名分开传递,更增加了可信度和安全性。下面我们将详细介绍Hash签名中的函数与算法。

签名算法都是由各种加密算法拓展延伸出来的,SHA1-RSA就是RSA签名算法中的一种,其中的hash函数部分采用了SHA1hash函数算法。

苹果证书和算法的加密机制所以没有带签名的IPA不能安装到手机上,山猪签通过模拟电脑上的签名环境实现在手机上签名安装,将证书的加密方式一起模拟到程序里面实现在手机上直接安装原理就是这样的,百度上,搜索可以找到山猪签

是为了防止有人篡改数据,服务器接收到签名后会验证签名是否正确

代表他很爱你~‘


最新亚洲球队世界排名榜前十 国际足联世界排名怎么算法的
国际足联世界排名怎么算法的国际足联世界排名于1993年首次公布,是一个反映各国国家队在某一时期内的成绩所建立的数学模型。其计算与公布规则经历过数次更改,从最初的直接按照比赛胜负关系来排定名次;再到后来对各项比赛采取分级制度,不同层级的比赛有不同的计分权重;直至最新的规则中还加入了“比赛...

美国2022年大学排名出炉,usnews是怎么评的?
此外,usnews还会对数据进行一些调整,比如对录取率进行标准化处理,以消除不同大学招生政策的影响。3. 公开透明usnews的排名算法是公开透明的。它不仅公布了哪些数据被纳入排名考量,还对数据加权的方法进行了详细的解释。除此之外,usnews还对大学排名进行分类,比如“全美前100名大学”、“本科教学排名前...

快速排名到底是怎么回事,是点击点上去的吗
上面就是整个完整的点击算法流程,另外要补充一句就是由于搜索引擎的更新周期不同,所以一般来说排名最好是前三十名开始进行点击效果最佳。看完了这些,我相信很多朋友都用过市面上很多快速排名软件,但是为何效果有些好有些不好呢,其实说到底就在于那款软件的点击算法是否非常完善,上述的步骤一旦有任何一个点没有完善...

程序员掌握的核心算法大学生快来学
其他:计数排序(必学)、希尔排序对干十大算法的学习,假如你不大懂的话,那么我还是挺推荐你去看书的,因为看了书,你可能不仅仅知道这个算法怎么写,还能知道他是怎么来的。推荐书籍是《算法第四版》,这本书讲的很详细,而且配了很多图演示,还是挺好懂的。 3、搜索与回溯算法 贪心算法(必学) 启发式搜索算法:A*寻...

罗斯密码是怎么一种加密算法?
罗斯密码是第一次世界大战期间由一位名为阿米尔·罗斯的瑞士军官发明的一种密码算法。罗斯密码使用一个密钥和一个明文,将明文转换为密文。罗斯密码的加密方法非常简单,首先将密钥写在明文下方,然后用明文的每个字母加上密钥字母对应的字母的值(A对应1,B对应2,以此类推),如果相加结果超过Z(即26)...

哈希算法的来源?发明者?
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进哈希函数是一个数学方程式,它可用文本(如电子邮件信息)来生成称为信息摘要的代码。著名的哈希函数如:MD4,MD5,SHS。用于数字鉴别的哈希函数必须有特定的属性,使它在密码使用方面有足够的安全性。尤其是,下面的内容一定不能被...

身份证检验码的算法中的加权因子怎么来的?
网上可以找到很多身份证15位转18位到公式,特别是第18位,每位都乘以不同的加权因子,并求和再除以11,这条公式怎么来的?这17个加权因子又是谁根据什么定的?这些问题,可以从国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》找到答案。加权因子是国家标准GB11643-1999《公民身份...

【深度知识】区块链之加密原理图示(加密,签名)
ECDSA 则主要是采用ECC算法怎么来做签名, ECDH 则是采用ECC算法怎么生成对称秘钥。以上三者都是对ECC加密算法的应用。而现实场景中,我们往往会采用混合加密(对称加密,非对称加密结合使用,签名技术等一起使用)。 ECIES 就是底层利用ECC算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。

电子签名技术的原理是什么?是怎样保障防篡改的?
电子签名技术的核心是数字签名。数字签名并非是书面签名的数字图像化,而是通过密码技术对电子文档进行电子形式的签名。实际上人们可以否认曾对一个文件签过名,且笔迹鉴定的准确率并非 100%,但却难以否认一个数字签名。因为数字签名的生成需要使用私有密钥,其对应的公开密钥则用以验证签名,再加上目前已有...

生辰八字的算法
生辰八字的算法 生辰八字的算法,八字,又名四柱,或称八字四柱,属于命理学中的其中一科,八字算命是以一个人的出生年月日时的资料来推算个人的命运。下面是关于生辰八字的算法的介绍!生辰八字的算法1 生辰八字的算法 想要算自己的生辰八字,首先要明白什么是干支历。干支历就是用天干地支来表示年...

印台区18611029758: 电子签名原理是什么? -
解命氯化: 简单来说,电子签名是利用哈希算法与加密算法实现的电子文件上直接签字、盖章的技术.为了保障签署后的电子文件具备法律有效性,使用电子签名签署后的电子文件还需要具备签署身份可识别、签署内容不可篡改的特性. 但是,通过上述技...

印台区18611029758: 什么是数字签名算法 -
解命氯化: 数字签名的算法是根据某种计算方式,结合文件或者其他元素,算出一个固定的数值,这个数值可以确保文件并没有被篡改 .

印台区18611029758: 数字签名的原理?
解命氯化: 数字签名(Digital Signature)技术是不对称加密算法的典型应用.数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性.数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证.在公钥与私钥管理方面,数字签名应用与加密邮件PGP技术正好相反.在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密.

印台区18611029758: 简述数字签名的原理 -
解命氯化: 3. 数字签名采用了双重加密的方法来实现防伪、防赖.其原理为: 1、被发送文件用SHA编码加密产生128bit的数字摘要. 2、发送方用自己的私用密钥对摘要再加密,这就形成了数字签名 3、将原文和加密的摘要同时传给对方 (4) 对方用发送方的公共密钥对摘要解密,同时对收到的文件用SHA编码加密产生又一摘要.(5) 将解密后的摘要和收到的文件在接收方重新加密产生的摘要相互对比.如两者一致,则说明传送过程中信息没有被破坏或篡改过.否则不然.

印台区18611029758: RSA加密算法是什么时候产生的?是公开的算法吗? -
解命氯化: 这个几句话说不清楚,我也不想打字,到百度百科给你复制个....RSA 开放分类: 网络、电脑、计算机、安全、算法 RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作. RSA是被研究得最广泛的公钥算法,从提出到现在...

印台区18611029758: 急!!!数字签名使用的条件 -
解命氯化: 数字签名的要求: 特征: .它必须能验证签名者、签名日期和时间. .它必须能认证被签的捎息内容. .签名应能由第三方仲裁,以解决争执. 因此,数字签名具有认证功能. 根据这些特征,数字签名应满足下列条件: .签名必须是与消息相关的二进制位串. .签名必须使用发送方某些独有的信息,以防伪造和否认. .产生数字签名比较容易. .识别和验证签名比较容易. .伪造数字签名在计算上是不可行的.无论是从给定的数字签名伪造消息,还是从给定 的消息伪造数字签名,在计算上都是不可行的. .保存数字签名的拷贝是可行的.

印台区18611029758: 数字签名大致包含哪两个算法?
解命氯化: 数字签名大致包含两个算法:一个是签署,使用私密钥匙处理信息或信息的哈希值而产生签章;另一个是验证,使用公开钥匙验证签章的真实性

印台区18611029758: 什么是数字签名? -
解命氯化: 简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换.这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造.它是对电子形...

印台区18611029758: RSA为什么能实现数字签名 -
解命氯化: 数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明.数字签名是非对称密钥加密技术与数字摘要技术的应用.数字签名了的文件的完整性是很容易...

印台区18611029758: 谁给个关于公开密钥数字签名算法(签名)介绍?
解命氯化: DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它是另一种公开密钥算法,它不能用作加密,只用作数字签名.DSA使用公开密钥,为接受者验证数据的完整性和数据发送者的身份.它也可用于由第三方去确定签名和所签数据的真实性.DSA算法的安全性基于解离散对数的困难性,这类签字标准具有较大的兼容性和适用性,成为网络安全体系的基本构件之一.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网