签名算法
签名算法是指数字签名的算法。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是通过一个单向函数,对要传送的信息进行处理得到的用以认证信息来源,并核实信息在传送过程中是否发生变化的一个字母数字串。应用最为广泛的三种签名算法是:Rabin签名、DSS签名、RSA签名。
签名算法是指数字签名的算法。数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
数字签名是通过一个单向函数,对要传送的信息进行处理得到的用以认证信息来源,并核实信息在传送过程中是否发生变化的一个字母数字串。数字签名提供了对信息来源的确定并能检测信息是否被篡改。数字签名要实现的功能是我们平常的手写签名要实现功能的扩展。平常在书面文件上签名的主要作用有两点,一是因为对自己的签名本人难以否认,从而确定了文件已被自己签署这一事实;二是因为自己的签名不易被别人模仿,从而确定了文件是真的这一事实。采用数字签名,也能完成这些功能 :
(1)确认信息是由签名者发送的;
(2)确认信息自签名后到收到为止,未被修改过。
数字签名算法有映象式和印记式两类。由于印记式的签名速度和验证速度比映象式快得多,因此印记式数字签名算法更为实用。
实现数字签名有很多方法 [2] ,数字签名采用较多的是公钥加密技术,同时应用最为广泛的三种是:Hash签名、DSA签名、RSA签名。
对称密钥密码算法进行数字签名
对称密钥密码算法所用的加密密钥和解密密钥通常是相同的,即使不同也可以很容易地由其中的任意一个推导出另一个。在此算法中,加、解密双方所用的密钥都要保守秘密。
Lamport发明了称为Lamport.Difle的对称算法:利用一组长度是报文的比特数(n)两倍的密钥A,来产生对签名的验证信息,即随机选择2n个数B,由签名密钥对这2n个数B进行一次加密交换,得到另一组2n个数C。
发送和接收的方式如下:
(1)发送
发送方从报文分组M的第一位开始,检查M的第i位:
M的第i位为0时,取密钥A的第i位;M的第i位为1时,取密钥A的第i+1位。
直至报文全部检查完毕,所选取的n个密钥位形成了最后的签名。
(2)接收
接受方对签名进行验证,从第一位开始依次检查报文M:
M的第i位为0时,签名中的第i组信息是密钥A的第i位;M的第i位为1时,签名中的第i组信息为密钥A的第i+1位。
直至报文全部验证完毕后,就得到了n个密钥,由于接受方发送验证信息c,所以可以利用得到的n个密钥检验验证信息,从而确认报文是否是由发送方所发送。
Hash签名
单向函数的概念是计算起来相对容易,但求逆却非常困难。也就是说,已知X,我们很容易计算f(X)。但已知f(X),却难于计算出X。
单向Hash函数有很多名字:压缩函数、缩短函数、消息摘要、指纹等。单向Hash函数H(M)对一则任意长度的消息进行处理,返回一个具有固定长度m的散列值h:
h=H(M),其中h的长度为m=H(M)具有以下属性:
(1)给定M,很容易计算出h,这表现了函数的快速性;
(2)给定h,很难计算出满足H(M)=h的M,这表现了函数的单向性;
(3)给定M1,很难找到一则消息M2,使得H(M1)=H(M2);
(4)h=H(M),h的每一比特都与M 的每一比特有关,并有高度敏感性。即每改变M的一比特,都将对h产生明显影响;
(5)Hash函数除了信息M 自身之外,应该基于发信方的秘密信息对信息M进行确认;
(6)输入数据M没有长度限制;
(7)对输入任何长度的M数据能够生成该输入报文固定长度的输出。
-
什么是数字签名?数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。
-
什么是公钥?公钥与私钥是通过加密算法得出的一组密钥对。公钥是公开的,通常用于加密数据、验证数字签名。
-
什么是量子力学?量子力学(Quantum Mechanics),为物理学理论,是研究物质世界微观粒子运动规律的物理学分支,主要研究原子、分子、凝聚态物质,以及原子核和基本粒子的结构、性质的基础理论。它与相对论一起构成现代物理学的理论基础。量子力学不仅是现代物理学的基础理论之一,而且在化学等学科和许多近代技术中得到广泛应用。
-
什么是量子计算机?量子计算机(quantum computer)是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。 量子计算机的特点主要有运行速度较快、处置信息能力较强、应用范围较广等。与一般计算机比较起来,信息处理量愈多,对于量子计算机实施运算也就愈加有利,也就更能确保运算具备精准性。
-
什么是椭圆签名算法?流行算法之一。该算法的重复较多,问题比较少,计算过程不可逆,即使别人得到了公钥也不能反推出私钥。同时存在签名长,效率较低的缺点。采用该算法的区块链有:BTC、ETH、EOS、TRON、ONT。
-
什么是安全多方计算?安全多方计算(英文:Secure Multi-Party Computation)的研究主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。安全多方计算是电子选举、门限签名以及电子拍卖等诸多应用得以实施的密码学基础。
-
什么是波动性?波动性被广泛用来测量资产的风险性,与潜在收益率的范围及其发生的可能性有关,是衡量资产价格在一段时间内可能发生变动的大小;与股市相比,加密货币交易市场具有更大的波动性,因此加密货币的市场价格在一天之内可能会发生极大的变化。
-
什么是DeFi?一、什么是DeFi DEFI(Decentralized Finance)是指去中心化金融,通常是指区块链中的去中心化应用程序(DApp)和去中心化交易所。DEFI技术实现了支付过程中的去中介化,不再依赖中央服务,比如说在汇款时,第三方金融机构会收取手续费作为报酬,而在DEFI应用中,直接发送到制定钱包即可,不会收取任何中介费用。因此DEFI技术多应用于支付、借贷等场合。
-
什么是地址?地址通过一系列密码算法推算形成,本质上是属于特定用户的公钥的哈希值,地址用于 在网络上交易时接收和发送数据,由一连串字母和数字的字符串组成,但也可以表示为 可扫描的二维码。
-
什么是非对称加密算法?非对称算法属于密码学范畴,是一种可以对信息进行加密和解密的算法。它的运行需要一个公钥和一个私钥,公钥用于公开给其他人,私钥需要自己保存,两个密钥可以互相加密解密。由于加密的密钥与解密的密钥不是同一把而产生了非对称性,因此被称为非对称加密。 与之对应是加密解密使用同一密钥的算法,对称加密算法。
- 热门词条
-
- 什么是云储存? 云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大的数据中心,需要数据存储托管的人,则透过向其购买或租赁存储空间的方式,来满足数据存储的需求。
- 什么是成交量? 成交量是指在某一时段内具体的交易数。它可以在分时图中绘制,包括日线图、周线图、月线图甚至是5分钟、30分钟、60分钟图中绘制。市场成交量的变化反映了资金进出市场的情况,成交量是判断市场走势的重要指标,但在国外成熟市场,成交量主要是用于印证市场走势。一般情况下,成交量大且价格上涨的股票,趋势向好。成交量持续低迷时,一般出现在熊市或股票整理阶段,市场交易不活跃。
- 什么是分散式应用程式? 分布式应用程序(DApp)是在分布式计算系统(即区块链网络)上运行的应用程序。尽管定义DApp的方法有多种,但通常将它们描述为具有以下特征的应用程序: 开源–源代码是有意向公众开放的,这意味着任何人都可以验证,使用,复制和修改代码。 去中心化–由于DApp在区块链网络上运行,因此它们不受单个实体或机构的控制。而是由多个用户(或节点)维护它们。
- 什么是固态通证? 固态通证不可转移,不可交易,只能验证。可将固态通证理解成个人身份证,你不能拿它去跟别人交换或者卖给别人。
- 什么是竞争币? 竞争币的英文名为AltCoin,Altcoin 是Bitcoin alternative的缩写,竞争币一般指除了比特币外的所有加密货币的总称。山寨币是指以比特币代码为模板,对其底层技术区块链进行了一些修改的区块链资产,其中有技术性创新或改进的又称为竞争币。比特币是一个开源项目,其源代码也作为其他的一些软件项目的基础。
- 什么是区块链? 区块链技术是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。 区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。
- 什么是软件开发初版? 常用于指软件开发的第一阶段内部测试的版本,含义与开始、第一个相近。
- 什么是边缘计算? 指将数据的处理、运行等功能服务由网络中心移至网络边缘的节点上,类似于一种分布计算,使得大量的数据能够就近处理,减少延时。
- 什么是虚拟地址? 虚拟地址是Windows程序时运行在386保护模式下,这样程序访问存储器所使用的逻辑地址称为虚拟地址,与实地址模式下的分段地址类似,虚拟地址也可以写为段:偏移量的形式,这里的段是指段选择器。
- 什么是开发者证明? 开发者证明是一个真实的、活的软件开发人员创建了一种加密货币的证据。它用于启动 新的加密货币,以防止匿名开发人员在不提供可行的加密货币的情况下收集和窃取资金。
- 猜你喜欢
-

比特币闪崩预警:15万人爆仓背后,抄底时机还是危机前兆?

比特币以太坊暴跌预警:关键支撑位失守,后市行情深度分析

币圈“降维打击”:顶级KOL集体入驻,一个群掌握所有交易信号!

ONDO暴涨34%、SOL强势反攻!比特币市占率跌破60%预示山寨季启动?

滞涨板块爆发在即!五大高潜力补涨龙头名单曝光

币圈顶级KOL实盘信号大聚合:军长、陈哥、舒琴等10余位大V最新战绩曝光

华尔街改造币圈:从ARK减持比特币到Ondo链上股票的证券化浪潮

比特币深夜暴涨突破8.2万美元!14万人爆仓5.8亿,伊朗局势引爆加密市场

区块链新手必看:从比特币钱包到以太坊智能合约的终极指南

特朗普政府重磅预告:百万比特币国家储备计划即将官宣

