CN109768866B - 基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法 - Google Patents
基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法 Download PDFInfo
- Publication number
- CN109768866B CN109768866B CN201910162884.3A CN201910162884A CN109768866B CN 109768866 B CN109768866 B CN 109768866B CN 201910162884 A CN201910162884 A CN 201910162884A CN 109768866 B CN109768866 B CN 109768866B
- Authority
- CN
- China
- Prior art keywords
- signature
- algorithm
- transaction
- signed
- calculating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法,属于密码学与区块链技术领域。包括以下算法:(1)Setup:该算法用于生成方案的公共系统参数。(2)KGEN:生成用户的用于签名的私钥和验证的公钥。(3)SignFuncGen:该算法用于在客户端生成不可拆分数字签名算法。(4)Sign:该算法用于生成交易的签名值,输入为不可拆分签名算法fSigned(x),待签名的交易t。(5)Verify:该算法用于签名验证交易的签名,输入公钥Y,交易t,需求描述字符串Q,签名值<r,s,u,v,YQ>,并输出“有效”或者“无效”。本发明在白盒攻击环境下,可实现智能合约代理不可拆分数字签名。
Description
技术领域
本发明属于密码学与区块链技术领域,具体涉及椭圆曲线签名算法,应用于区块链智能合约相关的签名算法。
背景技术
伴随着区块链技术的发展,区块链技术进入了2.0时代,即智能合约时代。以以太坊为例,在该区块链网络中存在两种账户,一种是外部账户,由用户的私钥控制,另外一种称为合约账户,由智能合约代码控制。外部账户不包含代码,用户通过创建和签名一个交易来发送消息,在一个合约账户中,每次它接收到消息都会执行内部的代码,然后对内部存储读取或写入,并且发送消息给其它账户,或创建新的智能合约。
对于现有的以太坊交易,主要的安全保护措施是利用数字签名,保证了交易的身份验证,完整性,不可否认性。签名过程一般由持有私钥的外部账户执行,智能合约的功能主要是接受消息,执行代码、验证签名等。在区块链网络中还存在一些称为矿工的节点,它们通过解决具有一定工作量的工作量证明机制问题,来管理区块链网络。每一个网络节点向网络进行广播交易,这些广播出来的交易在经过矿工(在网络上的计算机)验证后,矿工可使用自己的工作证明结果来表达确认,确认后的交易会被打包到数据块中,数据块会串起来形成连续的数据块链。每一个区块链的节点都会收集所有尚未确认的交易,并将其归集到一个数据块中,矿工节点会附加一个随机调整数,并计算前一个数据块的散列运算值。挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的散列值低于某个特定的目标。
该方案建立在区块链中常用的椭圆曲线签名算法的基础上。其安全性依赖于椭圆曲线离散对数问题(ECDLP)的难解性。其中大部分基本概念,如群、域,都属于近世代数的标准概念。
相似技术(产品)简述:
在传统的移动代理电子签名方案中,代理一般会携带用户私钥进行签名,这样在签名的过程中可能会受到攻击而泄露用户私钥,采用Y.Shi,Q.Zhao,and Q.Liu,“Securemobile agents in ecommerce with forward-secure undetachable digitalsignatures,”Etri Journal,vol.37,no.3,pp.573–583,2015.;Y.Shi,J.Lin,G.Xiong,andH.Fan,“Key-insulated undetachable digital signature scheme and solution forsecure mobile agents in electronic commerce,”Mobile Information Systems,vol.2016,no.2,pp.1–18,2016.和Y.Shi and G.Xiong,“An undetachable thresholddigital signature scheme based on conic curves,”Applied Mathematics&Information Sciences,vol.7,no.2,pp.823–828,2013.三篇文献给出的任意一种不可拆分电子签名,可以在一定程度上控制签名密钥或者签名方法的泄露。可以防止攻击者在白盒攻击环境下从代理端破解签名算法,获取用户密钥。
发明内容
众所周知,数字签名技术是保证区块链交易安全的核心技术,以目前的新一代区块链技术的典型代表——以太坊为例,交易的数字签名过程一般都由持有私钥的外部账户执行,然而对于智能合约而言,其功能主要是一个匿名的代理,总是存在于区块链网络的执行环境中,总是在被一个消息或者交易调用时执行一段具体的代码。目前来看,当前的区块链交易中的用户签名方式主要有三种:(1)使用本地的连接区块链网络的客户端(Geth或Parity)签名;(2)使用如MetaMask的浏览器插件进行签名;(3)离线签名。
对于以上三种签名方式来说,都具有一定的安全问题或者便捷性问题。首先对于区块链客户端来说,不论是Geth还是Parity,它们都是可以与区块链网络上的任一节点进行通信的,然而在这些节点中,可能就存在恶意节点,但是客户端并不提供过滤恶意节点的功能,这些恶意节点可以发送任意数据到用户的主机上,这就可能会威胁到用户的账户,甚至于窃取私钥。对于Metamask等浏览器插件来说,它们会在浏览器中管理用户的区块链账户,用户的私钥会保存在浏览器中。目前来看,Metamask还存在着一些安全漏洞。在用户解锁Metamask进行区块链交易的时候,所有浏览器的其它标签页都可能读取到用户执行交易的地址,因为所有的区块链交易都是公开的,攻击者可以使用用户的地址查询到交易的详细信息,然后利用该信息伪造交易失败的弹窗界面,诱导用户重新进行交易,并暗自将交易收益地址改为攻击者自己的账户。相比前两种方式,离线签名的安全性较好,因为用户首先在一台不联网的主机上对交易进行签名,可以保证在签名生成的阶段不会受到恶意攻击,然后将签名后的交易字符串使用一台联网的主机广播至区块链网络。一些网站例如Etherscan和Infura可以提供广播的服务。但是这些网站所提供的服务也不能保证安全性,例如近来Etherscan网站也受到了黑客的攻击,该网站被黑客恶意植入了弹窗警告信息“1337,you’ve been hacked”,虽然该漏洞马上就被网站维护人员修复,但可见使用该网站的服务并不是完全安全的,可能有未知的安全漏洞,会造成用户的财产的损失。并且使用离线的签名服务步骤较为繁琐,需要在两台机器上操作(一台离线,另外一台联网),增加了操作的复杂性。
本发明的创新性在于通过特殊的算法设计,使得智能合约可以作为一个代理来替代用户进行签名,保证攻击者无法伪造签名算法,并且可以保证该签名过程在白盒攻击环境下是安全的,用户的私钥不会被恶意窃取。该签名还具有不可拆分签名的特性,代理在代表原始签名者生成数字签名时不携带签名密钥,因此密钥在调用智能合约时可以受到保护。此外可以保证用户原始需求不被篡改,即无法在修改用户需求约束条件的情况下创建新的有效的签名。
为此,本发明给出的技术方案为:
一种适用于区块链智能合约的不可拆分的数字签名方案,它包括的步骤如下:
步骤1.在每一台运行区块链客户端的计算机上,在规定好的安全级别下,即输入需要的安全参数k,运行算法1,算法定义如下:
算法1.系统初始化算法:Setup(1k),输入的k∈N(N为自然数)是一个安全参数,算法输出公共参数设置Ω=(CURVE,G,p,q,H(·))。上述中,关于安全参数1k是一个概念性说法,k就是安全指数,可以简单理解为加密系统是k位长度的,当具体实现时,视项目需求和采用的公钥加密系统(比如椭圆曲线等)而定。
在公共参数Ω中,CURVE代表所使用的椭圆曲线的方程式及其数域,G代表椭圆曲线的基点,即椭圆曲线的生成元,其阶数为质数q,满足q·G=O,O代表零点,“·”表示椭圆曲线标量点乘法。p表示椭圆曲线坐标所在的域的阶数,也为质数。H(·)是一个密码杂凑函数。
步骤2.客户端上算法1执行结束后得到了系统参数Ω,区块链中所有用户都可以得到该参数,随后每一个客户本地运行算法2,具体定义如下:
在运行完算法2后,每个用户各自妥善保管自己的私钥,其公钥可以公开在区块链网络中。
步骤3.客户端在本地将私钥x,需求描述字符串Q作为输入运行算法3,Q是客户端对交易的一种限定,比如该交易消耗的金额不能超过600以太币等各种规定。该算法将生成一个不可拆分签名函数fSigned(x)。
算法3.不可拆分签名算法生成算法SignFuncGen(x,Q)
(2)计算Z=(zx,zy)=w·G
(3)计算xQ=xw+zx
(4)计算YQ=xZ+zx·G
(5)计算u=H(Z||Q||YQ)
(6)v=w-xumodq
(7)输出fSigned(x)=<xQ,YQ,u,v>
执行完该算法后客户端将输出一个不可拆分签名函数fSigned(x)=<xQ,YQ,u,v>,该函数对应私钥x和需求描述字符串Q有唯一的<xQ,YQ,u,v>值。
步骤4.客户端调用代理签名智能合约,并将不可拆分签名函数fSigned(x)以及待签名交易t传递给智能合约,智能合约收到参数后执行算法4,代理用户对该交易进行签名。
算法4.不可拆分签名生成算法Sign(fSigned(x),t)。输入不可拆分签名函数fSigned(x),待签名交易t,算法步骤按顺序执行如下:
(1)计算e=H(t),其中H(·)是密码杂凑函数
(3)计算R=(rx,ry)=k·G
(4)计算r=rxmodq,如果r=0,返回步骤(2)
(5)从fSigned(x)中提取xQ
(6)计算s=k-1·(e+r·xQ)modq,如果s=0,返回步骤(2)
(7)从fSigned(x)中提取u,v,YQ
(8)输出签名值Sig(t)=<r,s,u,v,YQ>
步骤5.智能合约将该签名后的交易以及其签名值广播到区块链网络中去。
步骤6.签名后的交易被加入到区块链中矿工节点所维护的交易池中,之后矿工按顺序检验交易的合法性,运行算法5,验证该交易的签名。
算法5.签名验证算法Verify(Y,t,Q,<r,s,u,v,YQ>)。输入公钥Y,交易t,需求描述字符串Q,签名值<r,s,u,v,YQ>,算法步骤按顺序执行如下:
(1)检验YQ是否是椭圆曲线CURVE上的点,如果不是则签名无效,否则执行下一步
(2)检验YQ是否是椭圆曲线CURVE的零点O,如果是则签名无效,否则执行下一步
(4)计算Zv=v·G+u·Y
(5)计算uv=H(Zv||Q||YQ),其中H(·)是密码杂凑函数
(6)判断是否uv=u,如果不相等则签名无效
(7)计算e=H(t),其中H(·)是密码杂凑函数
(8)计算w=s-1modq
(9)计算u1=ewmod q和u2=rwmodq
(10)计算曲线点(x1,y1)=u1·G+u2·YQ,如果(x1,y1)=O则签名无效
(11)如果r≡x1(modq)则签名有效,否则无效
如果签名有效,则该代理交易合法,完成交易并将该交易添加到下一个区块中即可,如果签名无效,则表明该交易不合法或者代理合约不合法,则该交易无效,并不会被区块链网络所认可。
至此,整个方案的步骤结束。
通过以上技术方案,本发明在区块链网络中实现了在白盒攻击环境下,进行安全的智能合约代理不可拆分签名算法。本方案解决了目前区块链网络中没有较为安全的代理签名方案的问题。本方案中智能合约不会携带用户的私钥进行签名,保证了用户私钥的安全性,同时用户不需要自己操作客户端或浏览器插件等工具为自己的交易签名,提高了操作的便捷性,并且该方案可以保证在白盒攻击环境下用户的私钥不被窃取,安全性相比与现有的签名方案有很大的提升。同时该方案具有不可拆分签名的特性,代理在代表原始签名者生成数字签名时不携带签名密钥,因此密钥在调用智能合约时可以受到保护。此外可以保证用户原始签名不被篡改,即无法在修改用户需求约束条件的情况下创建新的有效的签名。
附图说明
图1为本发明基于椭圆曲线数字签名的区块链智能合约不可拆分签名方案的工作原理
图2为对照于图1的流程示意图
具体实施方式
图1,图2描述各算法在基于椭圆曲线数字签名的区块链智能合约不可拆分签名方案中的使用。
如图1所示,基于椭圆曲线数字签名的区块链智能合约不可拆分签名方案通常的工作原理如下。首先所有安装区块链客户端的客户节点以及矿工节点组成了一个区块链网络,代理签名的智能合约就部署在区块链客户端上。首先,在每一台运行以太坊客户端的计算机上,在规定好的安全级别下,即输入需要的安全参数k,运行Setup函数,生成全局公共参数,每一台客户端的公共参数都保持一致。以以太坊网络为例,其中使用的密码杂凑函数H(·)是KECCAK-256。椭圆曲线方程式为:y2=x3+ax+b,其中a=0,b=7。基点G=0279BE667E F9DCBBAC55A06295CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798。有限域阶数p=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFEFFFFFC2F。G的阶数q=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6AF48A03BBFD25E8C D0364141。
随后每一个客户本地运行KGEN算法生成签名的公私钥,之后每个用户各自妥善保管自己的私钥,其公钥可以公开在区块链网络中,对应该公钥生成该用户的区块链地址。然后客户端在本地将私钥x,需求描述字符串Q作为输入运行SignFuncGen,生成一个不可拆分签名函数fSigned(x)。生成该函数之后,客户端调用代理签名智能合约,并将不可拆分签名函数fSigned(x)以及待签名交易t传递给智能合约,智能合约收到参数后执行Sign算法,代理用户对该交易进行签名。智能合约将该签名后的交易以及其签名值广播到区块链网络中去。签名后的交易被加入到区块链中矿工节点所维护的交易池中,之后矿工按顺序检验交易的合法性,运行Verify算法,验证该交易的签名。如果签名有效,则该代理交易合法,完成交易并将该交易添加到下一个区块中即可,如果签名无效,则表明该交易不合法或者代理合约不合法,则该交易无效,并不会被区块链网络所认可。
如图2所示,基于椭圆曲线数字签名的区块链智能合约不可拆分签名方案包括如下六个步骤:
步骤1.在每一台运行以太坊客户端的计算机上,在规定好的安全级别下,即输入需要的安全参数k,运行Setup。
步骤2.客户端上Setup执行结束后得到了系统参数Ω,区块链中所有用户都可以得到该参数,随后每一个客户本地运行KGEN。
步骤3.客户端在本地将私钥x,需求描述字符串Q作为输入运行SignFuncGen,该算法将生成一个不可拆分签名函数fSigned(x)。
步骤4.客户端调用代理签名智能合约,并将不可拆分签名函数fSigned(x)以及待签名交易t传递给智能合约,智能合约收到参数后执行Sign,代理用户对该交易进行签名。
步骤5.智能合约将该签名后的交易以及其签名值广播到区块链网络中去。
步骤6.签名后的交易被加入到区块链中矿工节点所维护的交易池中,之后矿工按顺序检验交易的合法性,运行Verify,验证该交易的签名。
如果签名有效,则该代理交易合法,完成交易并将该交易添加到下一个区块中即可,如果签名无效,则表明该交易不合法或者代理合约不合法,则该交易无效,并不会被区块链网络所认可。至此,整个方案的步骤结束。
上述过程包含了以下五个算法:
(1)Setup:该算法用于生成方案的公共系统参数。输入一个安全参数k,k∈N(N为自然数)。该算法输出系统参数Ω。
(2)KGEN:生成用户的用于签名的私钥和用于验证的公钥。
(3)SignFuncGen:该算法用于在客户端生成不可拆分签名函数,该算法需要用户的需求约束条件Q和用户私钥x,该算法输出一个函数fSigned(x)。
(4)Sign:该算法用于生成对应交易的签名值,需要不可拆分签名函数fSigned(x)和待签名的交易t作为输入。该算法输出一个不可拆分的数字签名。
(5)Verify:该算法用于签名验证交易的不可拆分签名,输入公钥Y,交易t,需求描述字符串Q,签名值<r,s,u,v,YQ>,并输出“有效”或者“无效”。
Claims (1)
1.一种适用于区块链智能合约的不可拆分数字签名方法,它包括六个如下步骤:
步骤1.在每一台运行区块链客户端的计算机上输入需要的安全指数k,并在规定好的安全级别下运行算法1,算法定义如下:
算法1.系统初始化算法:Setup(1k),输入的k∈N是一个安全参数,N为自然数,算法输出公共参数设置Ω=(CURVE,G,p,q,H(·));
在公共参数Ω中,CURVE代表所使用的椭圆曲线的方程式及其数域,G代表椭圆曲线的基点,即椭圆曲线的生成元,其阶数为质数q,满足q·G=O,O代表零点,“·”表示椭圆曲线标量点乘法;p表示椭圆曲线坐标所在的域的阶数,也为质数;
定义:在椭圆曲线上的离散对数问题(ECDLP):给定素数阶p和椭圆曲线CURVE,对B=k·A,在已知点A,B的情况下,可以证明已知k和A计算B比较容易,而由B和A计算k则比较困难;
步骤2.算法1执行结束后得到了系统参数Ω,区块链中所有用户都可以得到该参数,随后每一个客户本地运行算法2,具体定义如下:
算法2.KGEN()
(2)Y=x·G
在运行完算法2后,每个用户得到公钥Y和私钥x;用户各自妥善保管自己的私钥,其公钥可以公开在区块链网络中;
步骤3.客户端在本地将私钥x,需求描述字符串Q作为输入运行算法3,Q是客户端对交易的一种限定;该算法将生成一个不可拆分签名函数fSigned(x);
算法3.不可拆分签名算法生成算法SignFuncGen(x,Q)
(2)计算Z=(zx,zy)=w·G
(3)计算xQ=xw+zx
(4)计算YQ=xZ+zx·G
(5)计算u=H(Z||Q||YQ),H(·)是密码杂凑函数
(6)v=w-xumodq
(7)输出fSigned(x)=<xQ,YQ,u,v>
执行完该算法后客户端将输出一个不可拆分签名函数fSigned(x)=<xQ,YQ,u,v>,该函数对应私钥x和Q有唯一的<xQ,YQ,u,v>值;
步骤4.客户端调用代理签名智能合约,并将不可拆分签名函数fSigned(x)以及待签名交易t传递给智能合约,智能合约收到参数后执行算法4,代理用户对该交易进行签名;
算法4.不可拆分签名生成算法Sign(fSigned(x),t);输入不可拆分签名函数fSigned(x),待签名交易t,算法步骤按顺序执行如下:
(1)计算e=H(t),其中H(·)是密码杂凑函数
(3)计算R=(rx,ry)=k·G
(4)计算r=rxmodq,如果r=0,返回步骤(2)
(5)从fSigned(x)中提取xQ
(6)计算s=k-1·(e+r·xQ)modq,如果s=0,返回步骤(2)
(7)从fSigned(x)中提取u,v,YQ
(8)输出签名值Sig(t)=<r,s,u,v,YQ>
步骤5.智能合约将该签名后的交易t以及其签名值Sig(t)广播到区块链网络中去;
步骤6.签名后的交易被加入到区块链中矿工节点所维护的交易池中,之后矿工按顺序检验交易的合法性,运行算法5,验证该交易的签名;
算法5.签名验证算法Verify(Y,t,Q,<r,s,u,v,YQ>);输入公钥Y,交易t,需求描述字符串Q,签名值<r,s,u,v,YQ>,算法步骤按顺序执行如下:
(1)检验YQ是否是椭圆曲线CURVE上的点,如果不是则签名无效,否则执行下一步
(2)检验YQ是否是椭圆曲线CURVE上的零点O,如果是则签名无效,否则执行下一步
(4)计算Zv=v·G+u·Y
(5)计算uv=H(Zv||Q||YQ),H(·)是密码杂凑函数
(6)判断是否uv=u,如果不相等则签名无效
(7)计算e=H(t),其中H(·)是密码杂凑函数
(8)计算w=s-1mod q
(9)计算u1=ewmod q和u2=rwmod q
(10)计算曲线点(x1,y1)=u1·G+u2·YQ,如果(x1,y1)=O则签名无效;
(11)如果r≡x1(modq)则签名有效,否则无效;
如果签名有效,则该交易合法,完成交易并将该交易添加到下一个区块中即可,如果签名无效,则表明该交易不合法或者代理合约不合法,则该交易无效,并不会被区块链网络所认可;
至此,整个方案的步骤结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910162884.3A CN109768866B (zh) | 2019-03-05 | 2019-03-05 | 基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910162884.3A CN109768866B (zh) | 2019-03-05 | 2019-03-05 | 基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109768866A CN109768866A (zh) | 2019-05-17 |
CN109768866B true CN109768866B (zh) | 2021-03-30 |
Family
ID=66457711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910162884.3A Active CN109768866B (zh) | 2019-03-05 | 2019-03-05 | 基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109768866B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233733B (zh) * | 2019-06-05 | 2022-02-01 | 同济大学 | 面向区块链智能合约的不可拆分数字签名通用构造方法 |
CN110933108B (zh) * | 2019-09-26 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 |
CN113132110B (zh) * | 2019-12-31 | 2022-11-15 | 上海证锘信息科技有限公司 | 抵抗对区块链用户私钥白盒攻击的椭圆曲线数字签名方案 |
CN112150148A (zh) * | 2020-09-24 | 2020-12-29 | 普华云创科技(北京)有限公司 | 一种基于区块链技术的企业资产保护方法与系统 |
CN112199736B (zh) * | 2020-10-12 | 2022-12-02 | 南京邮电大学 | 一种基于区块链的有序多重签名方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779704A (zh) * | 2016-12-06 | 2017-05-31 | 杭州趣链科技有限公司 | 一种基于环签名的区块链匿名交易方法 |
CN108011723A (zh) * | 2017-12-13 | 2018-05-08 | 同济大学 | 入侵回弹的不可拆分数字签名方法 |
CN108270571A (zh) * | 2017-12-08 | 2018-07-10 | 西安电子科技大学 | 基于区块链的物联网身份认证系统及其方法 |
WO2018234922A1 (en) * | 2017-06-19 | 2018-12-27 | nChain Holdings Limited | COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR TEMPORAL RELEASE ENCRYPTION ON A BLOCK CHAINS NETWORK |
CN109118102A (zh) * | 2018-08-24 | 2019-01-01 | 安徽大学 | 一种公平的基于区块链的双向组合云资源分配方法及系统 |
WO2019021106A1 (en) * | 2017-07-24 | 2019-01-31 | nChain Holdings Limited | COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR SECURE STORAGE OF A LARGE BLOCK CHAIN ON A PLURALITY OF STORAGE NODES |
CN109417465A (zh) * | 2016-02-23 | 2019-03-01 | 区块链控股有限公司 | 区块链执行的智能合约的注册和自动化管理方法 |
-
2019
- 2019-03-05 CN CN201910162884.3A patent/CN109768866B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109417465A (zh) * | 2016-02-23 | 2019-03-01 | 区块链控股有限公司 | 区块链执行的智能合约的注册和自动化管理方法 |
CN106779704A (zh) * | 2016-12-06 | 2017-05-31 | 杭州趣链科技有限公司 | 一种基于环签名的区块链匿名交易方法 |
WO2018234922A1 (en) * | 2017-06-19 | 2018-12-27 | nChain Holdings Limited | COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR TEMPORAL RELEASE ENCRYPTION ON A BLOCK CHAINS NETWORK |
WO2019021106A1 (en) * | 2017-07-24 | 2019-01-31 | nChain Holdings Limited | COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR SECURE STORAGE OF A LARGE BLOCK CHAIN ON A PLURALITY OF STORAGE NODES |
CN108270571A (zh) * | 2017-12-08 | 2018-07-10 | 西安电子科技大学 | 基于区块链的物联网身份认证系统及其方法 |
CN108011723A (zh) * | 2017-12-13 | 2018-05-08 | 同济大学 | 入侵回弹的不可拆分数字签名方法 |
CN109118102A (zh) * | 2018-08-24 | 2019-01-01 | 安徽大学 | 一种公平的基于区块链的双向组合云资源分配方法及系统 |
Non-Patent Citations (1)
Title |
---|
一个基于盲签名技术的智能合约模型;杨茜;《西南科技大学学报》;20180630;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109768866A (zh) | 2019-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768866B (zh) | 基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法 | |
CN111448579A (zh) | 量子证明区块链 | |
CN110401615B (zh) | 一种身份认证方法、装置、设备、系统及可读存储介质 | |
US9531540B2 (en) | Secure token-based signature schemes using look-up tables | |
CN111566988A (zh) | 跨越以无信任或无交易员方式操作的群组执行计算任务的计算机实现的系统和方法 | |
CN113301022B (zh) | 基于区块链和雾计算的物联网设备身份安全认证方法 | |
JP7123959B2 (ja) | 楕円曲線点乗算デバイス及び方法 | |
Chow et al. | Server-aided signatures verification secure against collusion attack | |
WO2020065633A1 (en) | Method, user device, management device, storage medium and computer program product for key management | |
CN110363509B (zh) | 一种信息保护方法及装置 | |
CN110233733B (zh) | 面向区块链智能合约的不可拆分数字签名通用构造方法 | |
CN112436938B (zh) | 数字签名的生成方法、装置和服务器 | |
CN108768975A (zh) | 支持密钥更新和第三方隐私保护的数据完整性验证方法 | |
WO2015004065A1 (en) | Electronic signature system | |
CN112532394A (zh) | 一种区块链抗签名可追踪的无证书盲签名生成方法 | |
CN110290111B (zh) | 操作权限管理方法、装置及区块链节点、存储介质 | |
CN116346328A (zh) | 一种数字签名方法、系统、设备及计算机可读存储介质 | |
CN116566626A (zh) | 环签名方法和设备 | |
JP2007312357A (ja) | データ処理装置及びその制御方法、データ処理システム、プログラム、記憶媒体 | |
CN115664655A (zh) | 一种tee可信认证方法、装置、设备及介质 | |
CN112511314B (zh) | 一种基于身份的可恢复消息盲签名生成方法 | |
CN101296076A (zh) | 一种基于ecc的数字签名方案 | |
CN108011723B (zh) | 入侵回弹的不可拆分数字签名方法 | |
Wang et al. | Analysis and Design of Identity Authentication for IoT Devices in the Blockchain Using Hashing and Digital Signature Algorithms | |
CN113505348A (zh) | 一种数据的水印嵌入方法、验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |