CN111615810A - 获取数字签名的数据的计算机实现方法和系统 - Google Patents

获取数字签名的数据的计算机实现方法和系统 Download PDF

Info

Publication number
CN111615810A
CN111615810A CN201980007985.1A CN201980007985A CN111615810A CN 111615810 A CN111615810 A CN 111615810A CN 201980007985 A CN201980007985 A CN 201980007985A CN 111615810 A CN111615810 A CN 111615810A
Authority
CN
China
Prior art keywords
data
participants
share
digital signature
alice
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.)
Pending
Application number
CN201980007985.1A
Other languages
English (en)
Inventor
C·S·赖特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from GBGB1800706.2A external-priority patent/GB201800706D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of CN111615810A publication Critical patent/CN111615810A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3257Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Emergency Protection Circuit Devices (AREA)

Abstract

公开了一种获得数字签名的数据的方法。该方法包括从多个第一参与者中的至少一个第一参与者向至少一个第二参与者发送第一数据(e2),其中,第一数据基于至少一个所述第一参与者可访问的第二数据(e),并且第二数据对于第二参与者或每个所述第二参与者是不可访问的。从至少一个所述第二参与者接收第一数据的数字签名(s1),以及由多个第一参与者处理第一数据的数字签名以提供第二数据的数字签名(s)的共享,其中,所述第二数据的数字签名通过阈值数量的所述共享是可访问的,并且对于少于所述阈值数量的共享是不可访问的。

Description

获取数字签名的数据的计算机实现方法和系统
技术领域
本发明大体涉及数据和基于计算机的资源的安全性。更具体地,本发明涉及加密货币和密码学,并且还涉及椭圆曲线密码学、椭圆曲线数字签名算法(ECDSA)和阈值密码学。本发明可以用于与区块链实现的加密货币(诸如(例如)比特币)相关地获得益处,但在这方面不受限制,并且可以具有更广泛的适用性。在一个实施例中,本发明可以被描述为提供针对盲无经销商阈值(blind dealerless thresholds)的分发协议。
背景技术
在本文档中,我们使用术语“区块链”来包括电子的基于计算机的分布式分类账(ledger)的所有形式。这些包括基于共识的区块链和交易链技术、许可的和未被许可的分类账、共享分类账及其变型。尽管已经提出并开发了其他区块链实现方式,但是区块链技术最广为人知的应用是比特币分类帐。尽管为了方便和说明的目的在本文中可能提及比特币,但是应当注意,本发明不限于与比特币区块链一起使用,并且替代的区块链实现和协议落入本发明的范围内。术语“用户”在本文中可以指人或者基于处理器的资源。
区块链是一种点对点的电子分类帐,实现为基于计算机的去中心化的分布式系统,该系统由区块组成,而区块又由交易组成。每个交易是一种数据结构,该数据结构对区块链系统中参与者之间的数字资产控制权的转移进行编码,并包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,因此区块被链接在一起来创建所有交易的永久、不可更改的记录,这些交易自其开始就已经写入区块链。交易包含嵌入到其输入和输出中的称为脚本的小程序,这些小程序指定如何以及由谁可以访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
为了将交易写入区块链,必须对其进行“验证”。网络节点(矿工)执行工作以确保每笔交易有效,而无效交易则被网络拒绝。安装在节点上的软件客户端通过执行其锁定和解锁脚本来对未花费的交易输出(unspent transaction,UTXO)执行该验证工作。如果锁定和解锁脚本的执行评估为真,则该交易有效,并将该交易写入区块链。因此,为了将交易写入区块链,必须:i)由接收交易的第一节点验证该交易–如果交易经过验证,则该节点将其中继到网络中的其他节点;ii)将该交易添加到矿工建造的新区块中;以及iii)该交易被挖掘,即,被添加到过去交易的公共分类帐中。
尽管区块链技术因使用加密货币实现方式而被广泛了解,但数字企业家已经开始探索使用比特币所基于的加密安全系统以及可以存储在区块链上的数据这两者以实现新系统。如果区块链可以用于不限于加密货币领域的自动化任务和过程,那将是非常有利的。这样的方案将能够利用区块链的好处(例如,事件的永久性、防篡改记录、分布式处理等),同时在其应用中具有更多用途。
去中心化的概念是比特币方法学的基础。与分布式或中心化系统不同,去中心化系统具有以下优势:没有单点故障。因此,它们提供了更高级别的安全性和弹性(resilience)。通过使用诸如椭圆曲线密码学和ECDSA等已知的密码技术,可以进一步增强该安全性。
然而,尽管在提交本申请时,比特币协议本身已被证明可以抵抗任何重大攻击,但存在对补充比特币网络或建立在比特币网络之上的交易所和钱包的攻击。随着比特币价值的增加,标准的中心化系统中可能会发生更多事件,例如涉及Mt Gox和Bitfinex的那些事件。
发明内容
因此,需要一种进一步增强这种系统的安全性的方案。本发明提供了这样的优点以及其他。
本发明提供了如所附权利要求书中所限定的方法和系统。
根据本发明,可以提供一种获得数字签名的数据的方法,该方法包括:-
从多个第一参与者中的至少一个第一参与者向至少一个第二参与者发送第一数据,其中,所述第一数据基于至少一个所述第一参与者可访问的第二数据,并且其中,所述第二数据对于第二参与者或每个所述第二参与者是不可访问的;
从至少一个所述第二参与者接收所述第一数据的数字签名;以及
由多个所述第一参与者处理所述第一数据的所述数字签名以提供所述第二数据的数字签名的共享,其中,所述第二数据的所述数字签名通过阈值数量的所述共享是可访问的,并且对于少于所述阈值数量的共享是不可访问的。
通过由多个第一参与者处理第一数据的数字签名以提供第二数据的数字签名的共享,其中,第二数据的所述数字签名通过阈值数量的共享是可访问的,并且对于少于阈值数量的共享是不可访问的,这提供了改进的安全性的优点,因为第二参与者无法访问第二数据,但是对第一数据进行签名并使得能够提供第二数据的数字签名,同时通过阈值设置进一步提高了安全性。这提供了以下优点:第一参与者可以指派第二参与者为用于对消息(例如,区块链交易)签名的私钥的保管者,同时防止第二参与者能够未经授权使用密钥,因为第二参与者不可访问第二数据。
所述第二数据的所述数字签名的每个所述共享可以包括通过联合随机秘密共享(JRSS)在多个所述第一参与者之间共享的多个第一秘密值的共享。
通过提供无经销商的秘密值共享方案,这提供了提高安全性的优点,在该方案中,第一参与者共同选择第一秘密值,从而避免了单一经销商形式的系统的弱点。
所述第二数据的所述数字签名的每个所述共享可以包括通过联合零秘密共享(JZSS)在所述多个第一参与者之间共享的至少一个第一掩码(masking)共享。
所述第一数据可以通过所述第一数据的共享来生成,使得所述第一数据通过阈值数量的所述共享是可访问的,并且对于少于所述阈值数量的共享是不可访问的。
所述第一数据的每个所述共享可以包括通过联合随机秘密共享(JRSS)在所述多个所述第一参与者之间共享的多个所述第一秘密值的共享。
所述第一数据的每个所述共享可以包括通过联合零秘密共享(JZSS)在所述多个第一参与者之间共享的至少一个第二掩码共享。
该方法还可以包括基于所述第二秘密值从至少一个所述第二参与者接收第三数据。
这提供了帮助从第一数据的数字签名生成第二数据的数字签名的优点。
第一数据的数字签名可以通过在多个所述第二参与者之间共享的所述第一数据的所述数字签名的共享来生成,其中,所述第一数据的所述数字签名通过阈值数量的所述共享是可访问的,并且对于少于所述阈值数量的所述共享是不可访问的。
所述第一数据的所述数字签名的每个所述共享可以包括通过联合随机秘密共享(JRSS)在多个所述第二参与者之间共享的多个第二秘密值的共享。
所述第一数据的所述数字签名的每个所述共享可以包括通过联合零秘密共享(JZSS)在所述多个所述第二参与者之间共享的至少一个第三掩码共享。
第二数据可以是消息。
第二数据可以是消息的哈希值。
第一数据可以是区块链交易。
至少一个所述数字签名可以基于具有同态性质的密码系统。
至少一个所述数字签名可以基于椭圆曲线密码系统。
本发明还提供一种系统,包括:
处理器;以及
包括可执行指令的存储器,该可执行指令由于被处理器执行而使系统执行本文所述的计算机实现的方法的任何实施例。
本发明还提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,该可执行指令由于被计算机系统的处理器执行而使计算机系统至少执行本文所述的计算机实现的方法的实施例。
附图说明
本发明的这些和其他方面将从本文描述的实施例变得显而易见并参考这些实施例而阐明。现在将仅通过示例的方式并参考附图来描述本发明的实施例,附图中:
图1是体现本发明的盲签名分发系统的示意图;以及
图2是示出其中可以实现各种实施例的计算环境的示意图。
具体实施方式
概述
在本申请中,描述了与比特币完全兼容的基于阈值的无经销商盲签名分发系统。该系统建立在组签名方案之上,该组签名方案不同于部署在比特币钱包中的传统个人签名系统,并且添加了新系统,该新系统设计为允许消息的分布式阈值盲签名。这样部署的系统是可扩展的和鲁棒的,容忍错误和恶意攻击者。该系统支持经销商系统和无经销商系统两者,并支持以分发的无限灵活组合进行部署。
盲签名方案允许在不了解消息内容的情况下对消息进行签名。在比特币中,这包括在不了解被委托了哪些地址或密钥的情况下而担当比特币私钥的受托人的能力。
结合阈值签名方案,其中文档可以由阈值数量的参与者有效地数字签名,但不能由少于阈值数量的参与者有效地数字签名,这允许比特币私钥的持有者创建信任系统,在该信任系统中,消息可以由管理地址的一方在不知道维护的量的情况下签名。因此,第二位参与者爱丽丝(一定量的比特币的所有者)可以利用第一位参与者鲍勃来以不允许鲍勃知道爱丽丝控制多少比特币的方式存储爱丽丝的密钥。爱丽丝可以向盲地址发送更多(或从其他方接收),而鲍勃无法发现爱丽丝持有和控制多少比特币(或与此有关的比特币地址)。
在与阈值系统结合时,爱丽丝可以让多方共同行动,而无需:
1)了解其他盲方的身份
2)以即使一方不再可用也允许她访问自己的资金的方式在几个系统上保护她的比特币。
由于阈值盲密钥导致涉及使用盲签名的签名的消息,因此,各方无法合谋访问爱丽丝的资金,即使他们也可以访问其他方的身份并获得足够数量的阈值共享以能够对消息进行盲签名,因为此消息仅在非盲进入标准ECDSA比特币签名的交易中时才有效。
阈值盲化技术(threshold blinding technique)还通过以下增加了基本系统的安全性:地址添加了能被注入的随机性,有助于抵御错误的RNG(随机数生成器)。盲签名方可以充当密钥托管人或保管者。这可以用作主密钥的备份以防主密钥丢失,或者可以作为备份以添加第二层授权和控制。在将几个独立方用作信任保护者时,使用几个系统或操作者允许具有增加的冗余性以及增加的安全性的类似RAID的密钥管理系统。
在比特币的现有实现中,支付方钱包可能丢失、损坏或被盗。那么资金将丢失或无法收回。硬件加密货币钱包可能受到损害或丢失。在本申请描述的系统中,硬件系统可以分为多个部分,并且硬件装置可以被安全地移动或重新创建。在本申请中,使用以下符号:
Figure BDA0002578629980000061
标准ECDSA值适用:
w=s-1 mod n
u1=e.w mod n
u2=r.w mod n
x=u1G+u2DA
所有标准ECDSA规则均适用。可以构造线性变换,使得:
s=x.e+b
该关系用在使要签名的消息盲化中。现在,第二参与者(爱丽丝)可以签名盲消息以代替要使用的消息,维护消息并仅发送盲消息哈希。
1)爱丽丝向第一参与者鲍勃发送消息的盲哈希
2)鲍勃签名“盲哈希”,将签名的值返回爱丽丝
3)爱丽丝对鲍勃的值“去盲化(un-blind)”以获得签名。这可以用来重构有效的比特币交易
阈值盲化可以通过以下方式可扩展地完成:
1)爱丽丝的密钥被分割
2)鲍勃的值被分割
3)鲍勃和爱丽丝的密钥被分割
4)爱丽丝和鲍勃的密钥完整但是用于盲化的值被划分
让爱丽丝在范围[1,(n-1)]内选择值α。接下来,计算:
β=hash(α+1)
γ=hash(α+β)
δ=hash(α+γ)
如果β是阈值,则爱丽丝可被视为Tu个方的组,其中,A1到ATv是爱丽丝的分片或阈值版本,特定实例表示为Ai。在此,α是使用算法#1选择的,下面将对其进行详细说明。
先前的工作
沙米尔秘密共享方案(Shamir Secret Sharing Scheme,SSSS)
Shamir(1979年)首先引入了一种基于经销商的秘密共享方案,该方案允许对密钥进行分布式管理。与该方案相关的问题源自必须信任无法被验证的经销商。该方案的这种形式与本申请中公开的系统完全兼容,并且可以用于通过本文所述的过程创建的各个密钥片(key slice)的组分布。
联合随机秘密共享(Joint Random Secret Sharing,JRSS)(Pedersen,1992年)
该过程的既定目标是创建一种方法,在该方法中,一组参与者可以集体共享秘密,而任何参与者都不知道该秘密。每个参与者选择随机值作为其本地秘密,并使用SSSS向该组分发从该随机值得出的值。然后,每个参与者添加从参与者收到的所有共享,包括其自己的共享。该总和是联合随机秘密共享。单个诚实参与者提供的随机性足以维护组合的秘密值的机密性。即使所有(n-1)个其他参与者有意选择非随机秘密值,该状态也保持为真。
联合零秘密共享(Joint Zero Secret Sharing,JZSS)(Ben-Or,1988年)
JZSS类似于JRSS,不同之处在于每个参与者共享0作为随机值的替代。使用此技术产生的共享有助于消除JRSS算法中的任何潜在弱点。
Desmedt[1987年]引入了面向组的密码学的概念。该过程允许参与者以仅允许参与者的选定子集解密消息的方式将消息发送给一组人。在系统中,如果发送者必须知道使用公钥的成员,则称成员是已知的;如果该组有独立于成员而保存的单个公钥,则该组是匿名的。本申请中公开的系统集合了这两种方法,并且允许已知和匿名的发送者和签名者同时存在于一个组中。
盲签名(Chaum,1982年)
盲签名允许一方以安全的方式为另一方创建有效的签名,而签名者从未查看过该消息。在该系统中,只有签名者才能生成有效的签名,而要被签名的消息的所有者可以确保他们的消息没有被更改并且分发正确,从而允许他们在诸如比特币内使用的系统中赎回其资金。此外,该系统是无法想象的在于,除了请求应用签名的各方之外,没有一方可以得出盲化的和去盲化的值和签名对之间的关系。
将盲签名包含在阈值系统中允许在签名者无法将所有权链接到比特币地址的比特币协议中对消息进行签名。这样,签名人既不能确定他们所保护的一方持有的资金量,也不能确定转移的量。这种额外的隐私级别增加了额外的安全性,因为不再可能在保护密钥的阈值组内进行合谋以盗窃资金。由于需要知道哪些盲密钥将与哪些存款相关联,所以这变得不可行。在对等组中,可以构建这样的系统,其中成员的阈值组用来保护其他成员的密钥。在该方案中,一组存款人均将在其他成员之间分割签名功能,以使没有成员知道该组中其他成员的持有份额(holdings)。
该方案也可以用于其他形式的消息交换,从而允许分布式对等组维护所有成员的隐私,同时不能够透露与该组成员有关的敏感信息。
方法与实现
本实施例的协议可以基于私钥的分层推导,使用椭圆曲线密码学(ECC)加密参与者之间需要发送的秘密信息,在这种情况下,将所有消息整理到发送给所有用户的单个数据包中既可行又可取,以便可以在必要时针对可能受损或敌对的参与者进行验证。
签名生成是由协调参与者p(c)提出。默认情况下,任何密钥片都可以充当协调参与者,并且要求取决于协议的单独实现。下面记录了使用的算法,随后的部分将详细介绍它们的部署。
创建无经销商盲ECDSA阈值密钥
在本实施例的系统中,限定了第一参与者Alice(i)的所有权组。该组是将使用一组第二参与者Bob(i)组或系统的能力而被盲签名的私钥的有益控制者。
爱丽丝组
首先,去盲化的阈值组Alice(i)以随机数的形式选择一组第一秘密值。
Figure BDA0002578629980000091
在[1,(n-1)]内
该组具有以Tu为阈值的Tv个成员,使得Aai是秘密Aa的第i个成员的分片。
算法1-密钥生成-对于算法1的更详细版本,请参见下面的附录
域参数(曲线,基数n,生成器G)
输入:N/A
输出:盲密钥共享Aa1,..Aai,Ab1,…Abi,Ac1…Aci,Ad1…Adi
使用算法1,爱丽丝组的成员可以参与JRSS的Tv中的Tu个阈值交换。在此,需要爱丽丝的Tv个成员中的阈值数量Tu个成员来创建或使用第二秘密值Aa
类似地,JRSS过程与算法1一起使用来创建其他第二秘密值,利用Abi创建Ab、利用Aci创建Ac和利用Adi创建Ad
可以使用相同的阈值组(u,v)来使用和创建每个值,或者可以使用单独的阈值和成员来划分和创建每个值。
在该系统中,各个秘密Aai、Abi、Aci和Adi仅使用一次。如果需要再次使用这些值,则使用下面将更详细描述的算法2以使用JZSS变型重新共享秘密。
算法2更新私钥-对于算法2的更详细版本,请参见下面的附录
输入:参与者Pi的私钥Aa、Ab、Ac、Ad的共享,分别表示为Aai、Abi、Aci、Adi
输出:参与者Pi的新私钥共享A’ai、A’bi、A’ci、A’di
在仅存在单个爱丽丝组的理想情况下(仅一组共享(Tu,Tv)),该过程需要Tv个广播作为值。
Aai、Abi、Aci、Adi每个可以在单个广播消息中发送。
鲍勃组
第一参与者的鲍勃组Bob(i)被限定为签名组。该组具有(Tu',Tv')或需要的Tv'个总成员中的Tu'个成员,以便共享和使用第一秘密值(Bp,Bq),其中,Bp和Bq是重新创建的盲值,由鲍勃组用来为爱丽丝组签名盲消息。
算法4–鲍勃组的盲密钥
1)鲍勃组的成员Bob(i)以随机数的形式选择一组第二秘密值:
Figure BDA0002578629980000101
2)鲍勃组计算以下值
a)BP=(Bp-1.G)
b)BQ=(Bq.Bp-1.G)
在此,BP是使用算法3的变型计算的,算法3在本申请的附录中更详细地描述。
3)生成掩码共享–
bai←Zq使用JRSS
bbi,bci←Zq 2利用JZSS
4)广播–
αi=Bpi.bai+bbi modq
βi=G×bai
5)χ=Interpolate(αi,...,αTv)
[=Bp.bamod q]
其中,运算Interpolate(αi,…,αTv)表示通过共享αi恢复在参与者之间共享的秘密值。
6)δ=Exp-Interpolate(βi,...,βTv)
=G x ba
其中,运算Exp-Interpolate(βi,…,βTv)表示通过共享βi恢复在参与者之间共享的椭圆曲线点秘密值。
7)((Bp-1.ba -1)x ba x G)=δxχ-1
Figure BDA0002578629980000111
[=G x Bp-1]
这是点函数,我们可以使用(Bp-1 x G)作为修改后的算法1中的输入。
8)使用Bqi,即,Bq的共享,以及来自步骤(7)的(Bp-1.G),Bob(i)的每
个成员将广播:
fi=Bqi x(Bp-1.G)
9)BQ=Exp-Interpolate(f1,...,fTv)
Figure BDA0002578629980000112
[Bq.Bp-1G]
10)两个EC点BP和BQ以第三数据的形式发送到爱丽丝组。秘密交换可以用来维护机密性,例如,如国际专利申请WO2017/145016中所公开的那样实现。
要被盲化的阈值消息
接下来,Alice(i)组使用来自Bob(i)组的值来计算一个值,该值可以安全地发布,因为,已经使用(5)对其进行了盲化。
算法5–爱丽丝(单个组)
爱丽丝从Bob(i)组的先前广播中知道BP和BQ。
爱丽丝通过计算秘密值而开始:
AK=(Ac.Aa)-1 BP
这如下进行:
1)创建掩码共享:
Mai使用JZSS,因此利用JZSS,
Figure BDA0002578629980000121
2)Alice(i)广播值:
i=(Aci.Aai)+Mai modq
Figure BDA0002578629980000122
[=Ac.Aa modq]
3)现在,Alice(i)组计算Aμ,其中
Aμ=Interpolate(Aμ1,…,AμTv)mod q
=Ac.Aa modq
因此,Aμ -1=(Ac.Aa)-1
4)Ak=Aμ -1 BP
Figure BDA0002578629980000123
[=(Ac.Aa)-1×BP]
接下来,Alice(i)组计算盲化的B公钥。
AT=(Aa.AK(x))-1(AbG+BQ+Ad.Ac -1×BP]
其中,AK(x)表示椭圆曲线点AK的x坐标
鲍勃组不知道AT或AK,并且在不发现Aa、Ab、Ac和Ad的情况下,无法确定任何他的值或努力是否在去向和来自AT和相关比特币地址的任何资金转移中涉及到。如果爱丽丝组将这些保留为安全阈值,则鲍勃或任何其他方永远不会知道爱丽丝的详细信息。
现在,爱丽丝可以在比特币地址的标准创建中使用公钥AT,并且即使鲍勃在帮助签名交易中发挥了作用,爱丽丝也将进一步模糊使Bob(i)确定她的地址的任何能力。
算法6–爱丽丝计算公钥
1)生成掩码共享:
使用JRSS,
Figure BDA0002578629980000131
2)生成掩码共享:
使用JZSS,
Figure BDA0002578629980000132
3)计算:
i=(Aai.AK(x))
Figure BDA0002578629980000133
[=Aa.AK(x)modq]
向所有Alice(i)成员广播Aμi
(其中,AK(x)是点AK的x坐标)
4)使用算法1计算(Ab.G)。
这里,Afi=G×Abi
向所有Alice(i)成员广播Afi
(Ab.G)=Exp-Interpolate(Afi,...AfTv)
Figure BDA0002578629980000134
[=Ab×G]
5)计算[Aa.AK(x)]-1
首先,取Aμ
现在,Aμ=Interpolate(Aμi,…,AμTv)mod q
Figure BDA0002578629980000135
[=Aa.AK(x)]
因此,这可用于稍后计算[AaA K(x)]-1
6)首先使用与算法4中相同的方法计算值(AC -1.BP)。
7)这用于计算值(Ad.Ac -1.BP)
8)生成掩码共享:
使用JRSS,Mdi←Zq
使用JZSS,
Figure BDA0002578629980000136
9)将值广播到Alice(i)组:
αi=Aci.Mdi+Mei modq
βi=BP×Mdi
10)χ=Interpolate(αi,...,αTV)
Figure BDA0002578629980000141
[=(Ac.Md)mod q]
11)δ=Exp-Interpolate(β1,…βTV)
Figure BDA0002578629980000142
[=BP×Md]
12)(Ac -1.BP)=χ-1
Figure BDA0002578629980000143
[=(BP×Ac -1)]
返回Ac -1.BP作为曲线BP上的点。这用作算法1中的输入。
13)使用Adi和EC点(Ac -1.BP),Alice(i)的每个成员广播:
fi=Adi×(Ac -1 BP)
14)Ad.Ac -1.BP=Exp-Interpolate(f1,...,fTv)
Figure BDA0002578629980000144
[=(Ad.Ac -1.BP)]
15)现在存在用于计算公钥AT的所有部分。使用以下公式计算:
AT=(Aa.AK(x))-1.(Ab.G+BQ+Ad.Ac -1 BP)
=Aa -1 AK(x) -1(Ab+Bq Bp-1+Ad Ac-1 Bp-1)G (1)
即:
算法(5.4)×[(6.4)+BQ+(6.14)],其返回EC点AT,AT用作盲化的公钥。
创建比特币地址
以标准方式转换该公钥以创建比特币地址:
AT=AT(x,y)
1)使用AT(y)的奇偶位和完整AT(x)坐标表示公钥。
2)对公钥进行哈希两次
a)使用SHA256
b)使用RIPEMD160
3)在前添加(Prepend)版本号(这是比特币地址版本号)。如果协议是标准的,则使用版本01。如果要使用P2SH,则也可以使其版本为03。
4)将校验和附加到来自(3)的版本化公钥哈希的尾部。校验和是从(3)返回的值的双SHA256哈希的前4个字节。
5)BASE58对在(4)中创建的值进行编码。这是标准格式的比特币地址,并且Alice(i)组可能收到对此地址的支付,并且此地址将按照此时的任何普通比特币地址显示。
除非爱丽丝泄漏值Aa,Ab,Ac&Ad,否则包括鲍勃在内的任何一方都无法看到谁拥有AT的地址。
即使这些值被泄漏,Alice(i)也不必让其他人知道这些值与Bob(i)签名组有关。如果爱丽丝具有不良的RNG,她仍然是安全的,因为Bob(i)可以将随机性注入该过程中。
阈值组中的盲化的签名。
要签名消息,需要花费比特币,或者要签名任何其他消息(例如匿名主机上的电子邮件),Alice(i)组需要具有消息或交易的哈希e=h(m)。利用消息(或交易)和签名的哈希,Alice(i)可以重构消息(交易)并从比特币公钥AT和关联的比特币基础58地址赎回资金。
算法3签名生成-对于算法3的详细版本,请参见下面的附录
域参数:曲线,基数n,生成器G
输入:要签名的消息e=H(m)
私钥共享
Figure BDA0002578629980000151
输出:签名
Figure BDA0002578629980000152
对于e=H(m)
爱丽丝通过不让Bob(i)知道消息(交易)的内容来维护隐私。因此Bob(i)不会发现他正在签名与AT有关的消息,Alice(i)使哈希值盲化。
算法7–盲化哈希
爱丽丝以第二数据的盲化版本的形式创建第一数据,即哈希运算后的消息(交易)e。
这里e2=Aa.e+Ab(modq)。如下创建:
1)首先Alice(i)使用JZSS生成掩码共享Mai←Zq
2)Alice(i)将发送值Av(i)=Aa(i)e+Ab(i)+Ma(i)modq
Alice(i)将值Av(i)发送给可以对该值集合进行插值的其他爱丽丝成员
3)e2=Interpolate(Av1,...,Avv)
=Aa.e+Ab modq
4)e2被广播到Bob(i)组。这将使用加密的通道来完成,其中,鲍勃验证爱丽丝的身份。例如,这可以通过国际专利申请WO2017/145016中公开的布置来实现。此处,爱丽丝对于签名向鲍勃支付,并通过封闭的加密会话通道进行交换。
如果鲍勃接收来自非爱丽丝方的消息并对该消息进行签名,则该值不能被去盲化,因此保持安全。即使鲍勃有付款和记录,他也没有有关签名的爱丽丝交易的信息,因为该值e2是盲化的,并且爱丽丝没有向鲍勃发送该消息,而只发送盲化的哈希。
现在,鲍勃组对盲化的哈希进行签名,然后将其(即,第一数据的数字签名)返回给爱丽丝。
Bob(i)正在创建消息s1=Bp.e2+Bqmodq
s1将会返回给爱丽丝,并且s1是签名的盲化版本。
为此,Bob(i)使用算法8来从其阈值组签名并向Alice(i)返回s1
算法8
s1=Bp.e2+Bqmodq
1)Bob(i)使用JZSS创建掩码共享。
使用JZSS,
Figure BDA0002578629980000161
2)Bob(i)广播
Bsi=Bp(i).e2+Bq(i)+Mb(i)mod q
3)s1=Interpolate(Bs1,...,BsTv)
Figure BDA0002578629980000162
[=Bp.e2+Bq modq]
4)Bob(i)向Alice(i)发送s1,盲化的s1签名值
现在,爱丽丝拥有签名的盲化的s1部分以及作为(AK(x))的r部分
Alice(i)可以使用阈值去盲化方法以使用算法9从盲化的s1值恢复s签名值,即,第二数据的数字签名。
算法9
Alice(i)想要从s1盲化部分获得去盲化的s签名分量(signature component)。她通过计算s=Ac.s1+Ad(modq)来进行。
为此,Alice(i):
1)使用JZSS创建哈希共享
利用JZSS,
Figure BDA0002578629980000171
2)Alice(i)向所有其他爱丽丝成员广播
si=Ac(i)s1+Ad(i)+Ma(i)
3)s=Interpolate(s1,…sTv)
Figure BDA0002578629980000172
[=Ac.s1+Ad(modq)]
现在,Alice(i)组中的每一方都具有(AK(x),s),该(AK(x),s)是有效的ECDSA签名,并且可以使用公钥AT或相关的比特币地址照常在比特币协议中被验证。
S可以被示出是e的有效ECDSA签名,如下。
扩展s
s=Acs1+Ad=Ac(Bpe2+Bq)+Ad
=Ac Bp(Aa e+Ab)+Ac Bq+Ad=Ac Bp Aa e+Ac Bp Ab+Ac Bq+Ad
=(Ac Bp Aa)(e+Aa -1[Ab+Bq Bp-1+Ad Ac -1 Bp-1)
但是从上面的等式1,对应于公钥AT的私钥dA
Aa -1 AK(x) -1(Ab+Bq Bp-1+Ad Ac -1 Bp-1)
由此,接下来是
s=(Ac Bp Aa)[e+AK(x) dA]=k-1[e+AK(x) dA],其中,k=(Ac Bp Aa)-1,从中可以看出s是e的有效ECDSA签名,并且通过公钥AT被验证。
伴随消息的此签名将能够形成标准的比特币交易,其中,如果其被广播到比特币网络,则Alice(i)可以赎回资金。
Bob(i)将不具有关于爱丽丝已经使用了哪个地址的任何信息。
他将既不会知道比特币地址,也不会知道交易金额,也不会知道其被发送到何处。
即使Bob(i)拥有并保护密钥,但是他也不了解交易。
安全性考虑
Benger等(2014年)提供了使用闪存和重载方法进行ECDSA私钥恢复的一个示例。这种情况只是针对系统RAM和缓存的攻击的一个示例。这些方法使得在重构私钥时使用诸如沙米尔SSS[1979]等程序是不够的。此外,在其中重构私钥的任何情况下,都会引入对信任的要求。在这种情况下,有必要依赖于持有私钥的实体的系统和过程。即使受信任方不是恶意的,也有必要依赖其过程。从最近的许多妥协(compromises)中可以看出,这种对重构私钥的依赖为攻击提供了途径。
由于既是现有ECDSA实现的直接替代品,又是完全透明的并且与当前比特币协议兼容,因此其实现不需要硬分叉或软分叉,并且该实现与任何当前交易都没有区别。本发明可以将个人视为单独的参与者,从而允许具有恢复功能的密钥的组签名。例如,可以使用四个密钥片来实现二选二方案(a two of two scheme),其中,在线钱包提供商或交易所维护两个密钥片,终端用户维护两个分片。交易所和用户分别具有在其密钥片上的二选二过程,然后在需要时将它们彼此结合用于消息的安全签名。
在该方案中,组Bob(i)可以至少查看从Alice(i)提供的消息的哈希。
1.由于Bob(i)的成员不能共同或独立地知道值Aa或者Ab,因此该组的任何成员都无法确定e2是否为消息哈希e的盲化版本。
2.同样,Bob(i)也不了解值Ac或者Ad,因此无法确定签名值s和s1之间的关系。
3.以在计算Rabin()签名时使用的类似的方式,Bob(i)无法轻易确定值AaAc。在椭圆曲线离散对数问题的假设下,Bob(i)无法确定AT(x)与椭圆曲线点BP之间的关系。
4.以类似的方式,Bob(i)不了解值BP或者BQ是否已在构造Alice(i)组公钥AT(x,y)中使用。
5.在此,一旦Alice(i)已经广播了去盲化消息,与交易关联的公钥的值保持模糊。如果Alice(i)延迟广播从Bob(i)接收到的盲消息签名,则在比特币块中包括许多其他交易意味着除了Alice(i)拥有签名的消息并有可能在收到签名的消息后交易它之外Bob(i)无法确定更多。
6.外部任何一方都不需要具有任何有关Alice(i)和Bob(i)之间的交易的信息,因此可以提高这些方之间的隐私级别。
此过程的有效结果是,可能代表或可能不代表整个组的Alice(i)成员的阈值组能够向监护(Guardian)组Bob(i)进行发送,该监护组Bob(i)组可以帮助签名交易或其他消息,同时Alice(i)提供的消息的内容保持隐藏。
只要Alice(i)保持处于其对消息的发送具有合理可信度的位置,并且系统内的消息量(例如比特币)仍保持显著高于零,Bob(i)就无法确定可能来自Alice(i)的消息。
在该方案中,重要的是Alice(i)当对不同的哈希值进行签名时不重复使用参数Aa&Ab。如果将这些值与不同的值e一起重复使用,则这将使得能够计算导致Bob(i)能够将模糊的哈希e2与广播消息e的原始哈希值链接起来的信息。这是由于添加进一步的线性等式导致了以下情况:Bob(i)可以对Aa&Ab之间的关系插值,从而可以对消息e插值。结果是,Bob(i)将能够在区块链上搜索该值e,并链接到相应的Alice(i)组公钥AT(x,y),以及可能链接到与该组关联的其他得出的公钥。
以类似的方式,重要的是Alice(i)不要重复使用参数Ac&Ad,因为这将导致Bob(i)能够计算由Alice(i)使用的盲化的签名和已发布的签名之间的关系,并因此以类似于重复使用参数Aa&Ab的方式搜索区块链,从而使他能够确定Alice(i)组的公钥AT(x,y)。
类似地,由Bob(i)生成的参数Bp&Bq和BP&BQ不应该被重复使用,没有这些参数,Alice(i)就无法创建由Bob(i)创建的盲化签名的伪造品,因此也不能去盲化将看起来是由公钥AT(x,y)生成的这样的签名。由于值Bp&Bq是由Bob(i)例如通过国际专利申请WO2017/145016中公开的布置使用得到的密钥方案计算的,因此,Bp&Bq的每个值对于由Alice(i)生成的每个消息都是唯一的,并且在无冲突哈希算法的假设下,使用该服务的任何一方将拥有从不重复使用的对于每个消息生成的他们自己的Bp&Bq的版本。
本发明通过引入组签名过程来增强加密货币所寻求实现的。容错签名系统添加分布式密钥创建系统的耦合消除了所有中心化和信任要求。许多系统的发展将需要信任。此外,引入隐式去中心化系统允许创建更鲁棒和弹性的协议。ECDSA[Johnson,2001]和Shamir的SSS[Shamir,1979]之间的兼容性允许引入一种使用新的可验证秘密共享方案扩展比特币的系统。该系统远比Feldman[Feldman,1987]或Pedersen[Pedersen,1992]派生的任何系统都高效,同时不损失任何安全性。
引入扩展了Chaum(1982)的工作的阈值签名盲化导致了即使在基于网络的交易所中也不需要存在受信方的情况。这样,可以维护真实形式的匿名数字现金或资产转移系统,甚至可以将其链接到安全的私人投票系统中。
在本申请中,公开了一种扩展比特币功能而不需要改变基本协议的系统。使用本发明的系统:
1.选择或分发密钥机密不再需要受信的第三方,
2.可以创建不依赖第三方信任的分布式银行交易系统,
3.每个成员或成员组可以独立地验证所持有的秘密密钥的共享与所通知的比特币地址和公钥相对应,
4.存在刷新私钥片的协议,以减轻窃听和相关攻击的影响,以及
5.交易和消息的组签名不需要受信的第三方。
6.第三方可以维护阈值组中密钥的完整性。该组签名者不会知道在他们的保护下持有多少比特币或其他资产。由于这是阈值系统,如果签名组的一些成员不可用,则其他成员仍然能够盲签名交易,从而允许移动受保护的资金。
由于在本发明的系统中敏感数据从不会出现在存储器中,所以它解决了许多现存的安全风险。此外,它允许基于交易所的系统、网络钱包和其他形式的商务的分发。在此系统中,分层阈值组可以与其他分层阈值组交互以确保密钥随时间的完整性。在这种情况下,可以创建允许在给定事件上转移资金的方案。这样的情况将包括可以被控制和保护的遗嘱和财产转让,从而允许在各种情况中恢复密钥。
现在转向图2,提供了可用于实践本公开的至少一个实施例的计算装置2600的说明性简化框图。在各种实施例中,计算装置2600可以用于实现以上示出和描述的任何系统。例如,计算装置2600可以被配置为用作数据服务器、网络服务器、便携式计算装置、个人计算机或任何电子计算装置。如图2所示,计算装置2600可以包括具有一个或多个级别的高速缓冲存储器和存储器控制器的一个或多个处理器(统称为2602),处理器可以被配置为与包括主存储器2608和永久储存器2610的存储子系统2606通信。如图所示,主存储器2608可以包括动态随机存取存储器(DRAM)2618和只读存储器(ROM)2620。存储子系统2606和高速缓存存储器2602可以用于存储信息,例如与本公开中所描述的与交易和区块相关联的细节。处理器2602可用于提供本公开中所描述的任何实施例的步骤或功能。
处理器2602还可以与一个或多个用户界面输入装置2612、一个或多个用户界面输出装置2614以及网络接口子系统2616通信。
总线子系统2604可以提供用于使计算装置2600的各个组件和子系统能够按预期彼此通信的机制。尽管总线子系统2604被示意性地示出为单个总线,但是总线子系统的替代实施例可以利用多个总线。
网络接口子系统2616可以提供到其他计算装置和网络的接口。网络接口子系统2616可以用作从不同于计算装置2600的其他系统接收数据以及向其发送数据的接口。例如,网络接口子系统2616可以使数据技术人员能够将装置连接至网络,使得数据技术员可以在位于远程位置(例如,数据中心)的同时,将数据传输到该装置并从该装置接收数据。
用户界面输入装置2612可以包括一个或多个用户输入装置,例如,键盘;诸如集成鼠标、轨迹球、触摸板或图形输入板的定点装置;扫描仪;条形码扫描仪;合并到显示器中的触摸屏;诸如语音识别系统、麦克风等音频输入装置;以及其他类型的输入装置。通常,术语“输入装置”的使用旨在包括用于将信息输入到计算装置2600的所有可能类型的装置和机制。
一个或多个用户界面输出装置2614可以包括显示子系统、打印机或诸如音频输出装置等非可视显示器。显示子系统可以是阴极射线管(CRT)、诸如液晶显示器(LCD)、发光二极管(LED)显示器或投影仪的平板装置或其他显示装置。通常,术语“输出装置”的使用旨在包括用于从计算装置2600输出信息的所有可能类型的装置和机制。一个或多个用户界面输出装置2614可以用于例如呈现用户界面以有助于用户与执行所描述的过程及其中的变型的应用的交互,当这样的交互是适当的时。
存储子系统2606可以提供计算机可读存储介质,该计算机可读存储介质用于存储可以提供本公开的至少一个实施例的功能的基本编程和数据构造。应用程序(程序,代码模块,指令)当由一个或多个处理器执行时可以提供本公开的一个或多个实施例的功能,并且可以被存储在存储子系统2606中。这些应用程序模块或指令可以由一个或多个处理器2602执行。另外,存储子系统2606可以提供用于存储根据本公开使用的数据的存储库。例如,主存储器2608和高速缓冲存储器2602可以为程序和数据提供易失性存储。永久储存器2610可以为程序和数据提供永久性(非易失性)存储,并且可以包括闪存、一个或多个固态驱动器、一个或多个磁性硬盘驱动器、一个或多个具有相关的可移动介质的软盘驱动器、一个或多个具有相关的可移动介质的光驱(例如,CD-ROM或DVD或Blue-Ray)驱动器,以及其他类似的存储介质。这样的程序和数据可以包括用于执行如本公开中所描述的一个或多个实施例的步骤的程序以及与本公开中所描述的交易和区块相关联的数据。
计算装置2600可以是各种类型,包括便携式计算机装置、平板计算机、工作站或以下描述的任何其他装置。另外,计算装置2600可以包括可以通过一个或多个端口(例如,USB、耳机插孔、闪电连接器等)连接到计算装置2600的另一装置。可以连接到计算装置2600的装置可以包括被配置为接受光纤连接器的多个端口。因此,该装置可以被配置为将光信号转换为电信号,该电信号可以通过将装置连接至计算装置2600的端口传输以进行处理。由于计算机和网络不断变化的性质,对图2中所描绘的计算装置2600的描述仅旨在作为具体示例用于说明该装置的优选实施例的目的。具有比图2中描绘的系统更多或更少的组件的许多其他配置是可能的。
应当注意,上述实施例说明而不是限制本发明,并且本领域技术人员将能够设计许多替代实施例而不脱离由所附权利要求限定的本发明的范围。在权利要求中,括号中的任何附图标记都不应解释为对权利要求的限制。单词“包括”和“包含”等不排除任何权利要求或整个说明书中列出的元素或步骤之外的元素或步骤的存在。在本说明书中,“包括(comprise)”是指“包括(include)或由……组成(consist of)”,“包括(comprising)”是指“包括(including)或由……组成(consisting of)”。元素的单数形式并不排除此类元素的复数形式,反之亦然。本发明可以通过包括几个不同元件的硬件以及通过适当编程的计算机来实现。在列举几个装置的装置权利要求中,这些装置中的几个可以由一个且相同的硬件来实施。在互不相同的从属权利要求中记载某些手段的事实并不表示不能有利地使用这些手段的组合。
附录
算法1密钥生成
域参数(曲线,基数n,生成器G)
输入:N/A
输出:盲密钥共享αA(1)A(2),...,αA(i),...,αA(m)
对于来自(m)个参与者的l个分片的阈值,构建盲密钥段αA(i),该盲密钥段与参与者(i)和被任命为参与者(h)的(m-1)个参与者相关联,参与者(h)是与参与者(i)交换秘密以签名盲密钥的另一方。
·在该方案中,m是参与者总数,其中,l≤m,因此,i=m-1
·因此,存在(l+1,m)-阈值共享方案。
算法1的方法如下:
1)(j)中的每个参与者p(i)都与所有其他参与者交换ECC公钥(或在该实现中,为比特币地址)。该地址是组身份地址,不需要用于任何其他目的。
应当注意,这是例如在国际专利申请WO2017/145016中公开的派生地址,并且是基于来自其中公开的过程的每个参与者之间的共享值的密钥。
2)每个参与者p(i)以对所有其他方都不知道的方式选择具有随机系数的(k-1)次多项式fi(x)。
该函数受被选择为多项式自由项的参与者的秘密
Figure BDA0002578629980000234
的约束。该值未共享。使用派生的私钥计算该值。
fi(h)被限定为函数f(x)的结果,函数f(x)由参与者p(i)为了点(x=h)处的值而选择,参与者p(i)的基本等式被限定为函数:
Figure BDA0002578629980000231
在该等式中,a0是每个参与者p(i)的秘密,并且不被共享。
因此,每个参与者p(i)都有秘密保存的函数fi(x),该函数表示为(k-1)次多项式,其中自由项
Figure BDA0002578629980000232
被限定为参与者的秘密的,使得:
Figure BDA0002578629980000233
3)每个参与者使用如上所述的P(h)的公钥1加密到参与者P(h)的fi(h),
Figure BDA0002578629980000241
并交换P(h)的值用于解密。
应该注意的是,对于任何基本点G,
Figure BDA0002578629980000242
因此,对于可以表示为(b,b1,b2,...)的任何整数集B:{bi∈Zn},如果bG=[b1G+b2G+...]mod p,则b=[b1+b2+...]mod n。此外,如果bG=[b1b2...]mod p,则b=[b1b2...]modn。
鉴于Zn是字段,并且可以对被选择为ECC私钥的值有效进行拉格朗日插值取模n,存在得出的结论是Shamir的秘密共享方案SSSS[5]可以在Zn上实现的条件。
4)每个参与者P(i)向所有参与者广播以下值。
Figure BDA0002578629980000243
Figure BDA0002578629980000244
与上式中的变量h相关联的值可以是参与者P(h)的位置,使得如果参与者P(h)表示方案中的第三参与者,则h=3,或同等地可以表示参与者使用的ECC公钥的值为整数。存在对于任一实现的使用案例和场景。在后一种实现中,该值h={1,...,j}将由映射到单个参与者的使用的公钥的值的阵列代替。
5)每个参与者P(h≠i)验证接收到的共享与从每个其他参与者接收到的共享的一致性。即:
Figure BDA0002578629980000245
fi(h)G与参与者的共享一致。
6)每个参与者P(h≠i)验证该参与者(P(h≠i))拥有并接收到的共享与其他接收到的共享一致:
Figure BDA0002578629980000246
如果不一致,则参与者拒绝协议并重新开始。
7)现在,参与者p(i)将其共享dA(i)计算为:
Figure BDA0002578629980000251
其中,SHARE(p(i))∈Zn并且dA(j)
以及
其中:
Figure BDA0002578629980000256
返回(dA(i),QA)
现在,参与者p(i)将将共享用在计算签名中。可以由任何参与者或在收集签名过程中充当协调者的一方p(c)来担任此角色。参与者p(c)可以变化,并且不需要在每次尝试时都是同一方以收集足够多的共享来签名交易。
因此,在不知道其他参与者的共享的情况下已经创建了私钥共享
Figure BDA0002578629980000252
Figure BDA0002578629980000253
算法2更新私钥
输入:私钥dA的参与者Pi的共享,表示为dA(i)
输出:参与者Pi的新私钥共享dA(i)‘。
算法2可以用于更新私钥以及向协议中添加随机性。
无需重构甚至没有计算出的私钥存在,就可以执行层次子密钥的重新计算。通过这种方式,可以构建比特币地址和私钥片的层次结构,这些层次结构在正确部署时将消除过去发生的任何大规模欺诈或数据库盗窃。
1)每个参与者选择受0作为其自由项的约束的(k-1)次随机多项式。这类似于算法1,但是参与者必须验证所有其他参与者的选定秘密为零。
应该注意的是:
Figure BDA0002578629980000254
其中,0是椭圆曲线上无穷大的点。
使用该等式,所有活动的参与者验证函数:
Figure BDA0002578629980000255
类比参见Feldman(1987)。
生成零共享:
Figure BDA0002578629980000261
2)
Figure BDA0002578629980000262
3)返回:dA(i)
该算法的结果是与原始私钥关联的新密钥共享。此算法的一种变型使得能够增加第一算法的随机性或参与重新共享练习,这得到新的密钥片而无需更改比特币地址。以此方式,本发明的协议允许组在不改变基础私钥的情况下附加地掩蔽私钥共享。此过程可用于在不更改基础比特币地址和私钥的情况下,最大程度地减少与继续使用和部署各个密钥共享相关的任何潜在密钥泄漏。
算法3签名生成
域参数:曲线、基数n、生成器G
输入:要签名的消息e=H(m)
私钥共享
Figure BDA0002578629980000263
输出:签名
Figure BDA0002578629980000264
对于e=H(m)
A)分布式密钥生成
1)使用算法1生成临时密钥共享:
Figure BDA0002578629980000265
2)使用算法1生成掩码共享:
αi←Zn
3)使用算法2生成掩码共享:
Figure BDA0002578629980000266
B)签名生成
4)e=H(m)验证消息m的哈希
5)广播
Figure BDA0002578629980000271
以及
ωi=G×αi
6)
Figure BDA0002578629980000272
Figure BDA0002578629980000273
[=Dkαmod n]
7)θ=Exp-Interpolate(ω1,...,ωn)
Figure BDA0002578629980000274
[=G×α]
8)计算(Rx,Ry),其中,rx,y=(Rx,Ry)=θ×μ-1
Figure BDA0002578629980000275
9)r=rx=Rx mod n
如果r=0,则重新开始(即,从初始分发开始)
10)广播Si=Dk(i)(e+DA(i)r)+Ci mod n
11)S=Interpolate(si,...,sn)mod n
如果s=0,从头开始重做算法3(A.1)。
12)返回(r,s)
13)在比特币中,利用(r,s)对重构交易以形成标准交易。
参考资料
1)Bar-Ilan,J.Beaver,“Non-Cryptographic Fault-Tolerant Computing in aConstant Number of Rounds(恒定轮数中的非密码容错计算)”,第八届PODC的Proc.,第201-209页,1989年。
2)Berlekamp,Elwyn R.(1968),Algebraic Coding Theory(代数编码理论),McGraw–Hill,纽约,NY。
3)Benger,N.,van de Pol,J.,Smart,N.P.,Yarom,Y.:“Ooh Aah...Just aLittle Bit(哦,啊……只是一点点)”:A Small Amount of Side Channel Can Go a LongWay(少量的旁通道可以走很长一段路),在:Batina,L.,Robshaw,M.(编)CryptographicHardware and Embedded Systems(密码硬件和嵌入式系统)|CHES 2014,LNCS,8731卷,第75-92页。Springer(2014)4)Ben-Or,M.,Goldwasser,S.,Wigderson,A.:“Completenesstheorems for noncryptographic fault-tolerant distributed computation(非密码容错分布式计算的完备性定理)”,在:Proceedings of the Twentieth Annual ACMSymposium on Theory of Computing(第二十届ACM年度计算机理论研讨会论文集),第1-10页,STOC’88,ACM,New York,NY,USA(1988年)
5)BIP 65OP_CHECKLOCKTIMEVERIFY https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
6)Chaum,David(1983),“Blind signatures for untraceable payments(无法追踪支付的盲签名)”(PDF),Advances in Cryptology Proceedings of Crypto,82(3):199–203。
7)Chen T.S.Huang G.S.Liu T.P.和Chung Y.F(2002),“Digital SignatureScheme Resulted from Identification Protocol for Elliptic Curve Cryptosystem(椭圆曲线密码系统识别协议的数字签名方案)”,Proceedings of IEEE TENCON’02,第192-195页
8)Chinnici M.(1995),“CUDA Based Implementation of ParallelizedPollard’s rho algorithm for Menezes A.and Vanstone S.Elliptic Curve Systems(Menezes A.和Vanstone S.椭圆曲线系统的基于CUDA的并行Pollard rho算法的实现)”,Proposed IEEE P1363 Standard,第142页。
9)Chwei-Shyong Tsai,Min-Shiang Hwang,pei-ChenSung,“Blind SignatureScheme Based on Elliptic Curve Cryptography(基于椭圆曲线密码术的盲签名方案)”(http://mshwang.ccs.asia.edu.tw/www/myjournal/P191.pdf.)
10)Dawson,E.;Donovan,D.(1994),“The breadth of Shamir's secret-sharingscheme(Shamir秘密共享方案的广度)”,Computers&Security,13:第69–78页
11)Desmedt.Yuo(1987),“Society and Group Oriented Cryptography:A NewConcept(面向社会和群体的密码学:一个新概念)”,在A Conference on the Theory andApplications of Cryptographic Techniques on Advances in Cryptology(关于密码学进展的密码技术的理论和应用会议)(CRYPTO'87),Carl Pomerance(编).Springer-Verlag,London,UK,UK,120-127
12)ElGamal T.(1985),“A Public-Key Cryptosystem and a Signature SchemeBased on Discrete Logarithms(公钥密码系统和基于离散对数的签名方案)”,IEEETransactions on Information Theory,第31卷,第469-472页。
13)Feldman.P.“A practical scheme for non-interactive verifiablesecret sharing(一种用于非交互式可验证秘密共享的实用方案)”,Proceedings of the28th IEEE Annual Symposium on Foundations of Computer Science(第28届IEEE计算机科学基础年度研讨会论文集),1987年,第427-437页。
14)Gennaro,R.,Jarecki,S.,Krawczyk,H.,Rabin,T.:“Robust threshold DSSsignatures(稳健阈值DSS签名)”,在:Proceedings of the 15th Annual InternationalConference on Theory and Application of Cryptographic Techniques(第十五届国际密码技术理论与应用国际会议论文集),第354–371页,EUROCRYPT’96,SpringerVerlag,Berlin,Heidelberg(1996)
15)Ibrahim,M.,Ali,I.,Ibrahim,I.,El-sawi,A.:“A robust thresholdelliptic curve digital signature providing a new verifiable secret sharingscheme(提供了一种新的可验证的秘密共享方案的稳健阈值椭圆曲线数字签名)”,在:Circuits and Systems,2003 IEEE 46th Midwest Symposium on,卷1,第276–280页(2003)
16)Johnson,D.,Menezes,A.,Vanstone,S.:“The elliptic curve digitalsignature algorithm(ecdsa)(椭圆曲线数字签名算法(ecdsa))”,InternationalJournal of Information Security(国际信息安全杂志)1(1),36–63(2001)
17)Chakraborty,Kalyan&Mehta,Jay(2011)“A Stamped Blind SignatureScheme based on Elliptic Curve Discrete Logarithm Problem(基于椭圆曲线离散对数问题的冲压盲签名方案)”(http://ijns.femto.com.tw/contents/ijns-v14-n6/ijns-2012-v14-n6-p316-319.pdf)
18)Kapoor,Vivek,Vivek Sonny Abraham,和Ramesh Singh.,“Elliptic CurveCryptography(椭圆曲线密码学)”Ubiquity 2008,no.May(2008):1-8
19)Knuth,D.E.(1997),“The Art of Computer Programming,II:SeminumericalAlgorithms(计算机编程的艺术,II:半数值算法)”(第3版),Addison-Wesley,第505页.
20)Koblitz,N.“An Elliptic Curve Implementation of the Finite FieldDigital Signature Algorithm(有限域数字签名算法的椭圆曲线实现)”,在:Advances inCryptology(密码学进展)––Crypto'98.Lecture Notes in Computer Science(计算机科学讲义),第1462卷,第327-337页,1998,Springer-Verlag
21)Liu C.L.(1968),“Introduction to Combinatorial Mathematics(组合数学导论)”,纽约:McGraw-Hill。
22)National Institute of Standards and Technology(国家标准技术研究院):FIPS PUB 186-4:“Digital Signature Standard(数字签名标准)”(DSS)(2003)23)Pedersen,T.:“Non-interactive and information-theoretic secure verifiablesecret sharing(非交互式和信息论安全可验证的秘密共享)”,在:Feigenbaum,J.(编)Advances in Cryptology(密码学进展)—CRYPTO’91,LNCS,第576卷,第129–140页,Springer(1992)
24)Rabin T.&Ben-Or.M.(1989)“Verifiable secret sharing and multipartyprotocols with honest majority(诚实可信的可验证秘密共享和多方协议)”,在:Proc.21st ACM Symposium on Theory of Computing,第73--85页,1989
25)Shamir,Adi(1979),“How to share a secret(如何共享秘密)”,Communications of the ACM,22(11),第612–613页
26)Wright,C.&Savanah,S.(2016)“Determining a common secret for twoBlockchain nodes for the secure exchange of information(确定用于安全地交换信息的两个区块链节点的公共秘密)”,“申请号:15087315”,2016,n.pag.UK

Claims (17)

1.一种获得数字签名的数据的方法,所述方法包括:
从多个第一参与者中的至少一个第一参与者向至少一个第二参与者发送第一数据,其中,所述第一数据基于至少一个所述第一参与者能够访问的第二数据,并且其中,所述第二数据对于所述第二参与者或每个所述第二参与者是不能够访问的;
从至少一个所述第二参与者接收所述第一数据的数字签名;以及
由多个所述第一参与者处理所述第一数据的所述数字签名以提供所述第二数据的数字签名的共享,其中,所述第二数据的所述数字签名通过阈值数量的所述共享是能够访问的,并且对于少于所述阈值数量的共享是不能够访问的。
2.根据权利要求1所述的方法,其中,所述第二数据的所述数字签名的每个所述共享包括通过联合随机秘密共享JRSS在多个所述第一参与者之间共享的多个第一秘密值的共享。
3.根据权利要求2所述的方法,其中,所述第二数据的所述数字签名的每个所述共享包括通过联合零秘密共享JZSS在所述多个第一参与者之间共享的至少一个第一掩码共享。
4.根据前述权利要求中的任一项所述的方法,其中,通过所述第一数据的共享而生成所述第一数据,使得所述第一数据通过阈值数量的所述共享是能够访问的,并且对于少于所述阈值数量的共享是不能够访问的。
5.根据权利要求4所述的方法,其中,所述第一数据的每个所述共享包括通过联合随机秘密共享JRSS在所述多个所述第一参与者之间共享的多个所述第一秘密值的共享。
6.根据权利要求5所述的方法,其中,所述第一数据的每个所述共享包括通过联合零秘密共享JZSS在所述多个第一参与者之间共享的至少一个第二掩码共享。
7.根据前述权利要求中的任一项所述的方法,还包括:从至少一个所述第二参与者接收基于所述第二秘密值的第三数据。
8.根据前述权利要求中的任一项所述的方法,其中,通过在多个所述第二参与者之间共享的所述第一数据的所述数字签名的共享来生成所述第一数据的数字签名,其中,所述第一数据的所述数字签名通过阈值数量的所述共享是能够访问的,并且对于少于所述阈值数量的所述共享是不能够访问的。
9.根据权利要求8所述的方法,其中,所述第一数据的所述数字签名的每个所述共享包括通过联合随机秘密共享JRSS在多个所述第二参与者之间共享的多个第二秘密值的共享。
10.根据权利要求9所述的方法,其中,所述第一数据的所述数字签名的每个所述共享包括通过联合零秘密共享JZSS在所述多个所述第二参与者之间共享的至少一个第三掩码共享。
11.根据前述权利要求中的任一项所述的方法,其中,所述第二数据是消息。
12.根据权利要求1至10中的任一项所述的方法,其中,所述第二数据是消息的哈希值。
13.根据前述权利要求中的任一项所述的方法,其中,所述第一数据是区块链交易。
14.根据前述权利要求中任一项所述的方法,其中,至少一个所述数字签名基于具有同态性质的密码系统。
15.根据权利要求14所述的方法,其中,至少一个所述数字签名基于椭圆曲线密码系统。
16.一种计算机实现的系统,包括:
处理器;以及
包括可执行指令的存储器,所述可执行指令由于处理器的执行而使该系统执行根据权利要求1至15中任一项的计算机实现的方法的任何实施方式。
17.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令由于被计算机系统的处理器执行而使计算机系统至少执行根据权利要求1至15中任一项所述的方法的实施方式。
CN201980007985.1A 2018-01-16 2019-01-10 获取数字签名的数据的计算机实现方法和系统 Pending CN111615810A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IB2018050264 2018-01-16
GBGB1800706.2A GB201800706D0 (en) 2018-01-16 2018-01-16 Computer implemented method and system
IBPCT/IB2018/050264 2018-01-16
GB1800706.2 2018-01-16
PCT/IB2019/050178 WO2019142075A1 (en) 2018-01-16 2019-01-10 Computer implemented method and system for obtaining digitally signed data

Publications (1)

Publication Number Publication Date
CN111615810A true CN111615810A (zh) 2020-09-01

Family

ID=65139055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980007985.1A Pending CN111615810A (zh) 2018-01-16 2019-01-10 获取数字签名的数据的计算机实现方法和系统

Country Status (9)

Country Link
US (2) US11838426B2 (zh)
EP (2) EP4002759A1 (zh)
JP (2) JP7316283B2 (zh)
KR (1) KR20200108343A (zh)
CN (1) CN111615810A (zh)
SG (1) SG11202006382VA (zh)
TW (2) TWI813616B (zh)
WO (1) WO2019142075A1 (zh)
ZA (1) ZA202005041B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089178B2 (en) * 2016-02-29 2018-10-02 International Business Machines Corporation Developing an accurate dispersed storage network memory performance model through training
JP7101031B2 (ja) * 2018-04-13 2022-07-14 株式会社bitFlyer Blockchain ブロックチェーン・ネットワーク及びそのための確定方法
FR3085215B1 (fr) * 2018-08-21 2020-11-20 Maxim Integrated Products Dispositifs et procedes de masquage d'operations de cryptographie ecc
EP3696670A1 (en) * 2019-02-13 2020-08-19 UVUE Limited Distributed computation system and method of operation thereof
EP3955110A1 (en) 2020-08-12 2022-02-16 UVUE Limited Distributed computing system and method of operation thereof
GB2610559A (en) * 2021-09-07 2023-03-15 Licensing Ag Nchain Generating shared cryptographic keys
CN114499894B (zh) * 2022-04-01 2022-09-09 南京金宁汇科技有限公司 区块链网络中的文件存储、读取方法及存储读取系统
CN114726542B (zh) * 2022-04-08 2024-04-09 中国再保险(集团)股份有限公司 一种基于隐私求交的数据传输方法及装置
CN115131029A (zh) * 2022-06-28 2022-09-30 蚂蚁区块链科技(上海)有限公司 基于区块链的数字文件签署方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064351A1 (en) * 1999-11-22 2004-04-01 Mikurak Michael G. Increased visibility during order management in a network-based supply chain environment
CN103609059A (zh) * 2010-09-20 2014-02-26 安全第一公司 用于安全数据共享的系统和方法
WO2015160839A1 (en) * 2014-04-17 2015-10-22 Hrl Laboratories, Llc A method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ecdsa) based digital signatures with proactive security
US9489522B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security
CN106296138A (zh) * 2016-08-09 2017-01-04 西安电子科技大学 基于部分盲签名技术的比特币支付系统及其方法
CN106452737A (zh) * 2010-08-11 2017-02-22 安全第公司 用于安全多租户数据存储的系统和方法
CN106789095A (zh) * 2017-03-30 2017-05-31 腾讯科技(深圳)有限公司 分布式系统及消息处理方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4018370B2 (ja) 2001-10-30 2007-12-05 株式会社東芝 署名分散システム、プログラム及び方法
JP3910529B2 (ja) 2002-12-06 2007-04-25 株式会社エヌ・ティ・ティ・データ 電子投票システム
KR20030008182A (ko) 2002-12-24 2003-01-24 학교법인 한국정보통신학원 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 방법
EP1571777A1 (en) 2004-03-02 2005-09-07 France Telecom Electronic voting process using fair blind signatures
JP4249171B2 (ja) 2005-10-17 2009-04-02 日本電信電話株式会社 匿名アプリケーション格納方法及びシステム及び利用者装置及び発行装置及びデータ提供装置及びコンピュータ読み取り可能な記録媒体
US20110213975A1 (en) 2010-03-01 2011-09-01 Alessandro Sorniotti Secret interest groups in online social networks
AU2012347452A1 (en) * 2011-12-09 2014-06-26 Echarge2 Corporation Systems and methods for using cipher objects to protect data
CN102647423B (zh) * 2012-04-12 2016-04-06 熊楚渝 一种数字签章及印鉴的鉴别方法及系统
US9722776B2 (en) * 2012-06-21 2017-08-01 Microsoft Technology Licensing, Llc Homomorphic signatures and network coding signatures
US9049011B1 (en) * 2012-08-15 2015-06-02 Washington State University Secure key storage and distribution
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
JP6267658B2 (ja) 2015-01-09 2018-01-24 日本電信電話株式会社 署名生成装置、署名システム、署名生成方法、およびプログラム
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
LT3268914T (lt) 2016-02-23 2018-11-12 nChain Holdings Limited Bendros paslapties, skirtos saugiems informacijos mainams, nustatymas ir hierarchiniai determinuoti kriptografiniai raktai
US10476888B2 (en) 2016-03-23 2019-11-12 Georgia Tech Research Corporation Systems and methods for using video for user and message authentication
US10447467B2 (en) 2016-05-04 2019-10-15 International Business Machines Corporation Revocable PKI signatures
US10193895B2 (en) * 2016-05-18 2019-01-29 Abdulrahman Alhothaily System and method for remote authentication with dynamic usernames
CN106127079B (zh) 2016-07-15 2019-04-12 中电长城网际系统应用有限公司 一种数据共享方法及装置
US20180203916A1 (en) * 2017-01-19 2018-07-19 Acquire Media Ventures Inc. Data clustering with reduced partial signature matching using key-value storage and retrieval
US9753964B1 (en) * 2017-01-19 2017-09-05 Acquire Media Ventures, Inc. Similarity clustering in linear time with error-free retrieval using signature overlap with signature size matching
US10521616B2 (en) * 2017-11-08 2019-12-31 Analog Devices, Inc. Remote re-enrollment of physical unclonable functions
US10929125B2 (en) * 2017-12-28 2021-02-23 Microsoft Technology Licensing, Llc Determining provenance of files in source code projects
US11288740B2 (en) * 2017-12-29 2022-03-29 Intel Corporation Securing distributed electronic wallet shares

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064351A1 (en) * 1999-11-22 2004-04-01 Mikurak Michael G. Increased visibility during order management in a network-based supply chain environment
CN106452737A (zh) * 2010-08-11 2017-02-22 安全第公司 用于安全多租户数据存储的系统和方法
CN103609059A (zh) * 2010-09-20 2014-02-26 安全第一公司 用于安全数据共享的系统和方法
US9489522B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security
WO2015160839A1 (en) * 2014-04-17 2015-10-22 Hrl Laboratories, Llc A method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ecdsa) based digital signatures with proactive security
CN106296138A (zh) * 2016-08-09 2017-01-04 西安电子科技大学 基于部分盲签名技术的比特币支付系统及其方法
CN106789095A (zh) * 2017-03-30 2017-05-31 腾讯科技(深圳)有限公司 分布式系统及消息处理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EMMANUEL BRESSON: "Threshold Ring Signatures and Applications to Ad-hoc Groups", SPRINGER-VERLAG BERLIN HEIDELBERG *
HM SUN: "Threshold proxy signatures", IEE PROC.-COMPUTERS&DIGITAL TECHNIQUES, vol. 146, no. 5, pages 259 - 263, XP006013184, DOI: 10.1049/ip-cdt:19990647 *
姚前;: "理解央行数字货币:一个系统性框架", 中国科学:信息科学, no. 11 *

Also Published As

Publication number Publication date
US20240154819A1 (en) 2024-05-09
EP3741081A1 (en) 2020-11-25
TW201937899A (zh) 2019-09-16
TW202347988A (zh) 2023-12-01
WO2019142075A1 (en) 2019-07-25
KR20200108343A (ko) 2020-09-17
JP7316283B2 (ja) 2023-07-27
US11838426B2 (en) 2023-12-05
JP2023115331A (ja) 2023-08-18
TWI813616B (zh) 2023-09-01
ZA202005041B (en) 2022-03-30
US20210377050A1 (en) 2021-12-02
EP3741081B1 (en) 2021-10-13
JP2021510954A (ja) 2021-04-30
SG11202006382VA (en) 2020-08-28
EP4002759A1 (en) 2022-05-25

Similar Documents

Publication Publication Date Title
TWI822693B (zh) 產生臨界值保管庫之電腦施行方法
TWI797147B (zh) 臨界數位簽章方法及系統
JP7316283B2 (ja) デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム
JP7385580B2 (ja) デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム
CN112930660A (zh) 用于分配数字签名数据份额的计算机实现的系统和方法
CN116349203A (zh) 识别拒绝服务攻击
CN118316591A (zh) 用于转移对数字资产的控制的计算机实现的方法和系统
CN117837127A (zh) 生成数字签名
CN117223252A (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