CN115868141A - 用于数字签名的单轮多方计算的技术 - Google Patents

用于数字签名的单轮多方计算的技术 Download PDF

Info

Publication number
CN115868141A
CN115868141A CN202180046678.1A CN202180046678A CN115868141A CN 115868141 A CN115868141 A CN 115868141A CN 202180046678 A CN202180046678 A CN 202180046678A CN 115868141 A CN115868141 A CN 115868141A
Authority
CN
China
Prior art keywords
data
secret
secret share
offline
signature
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
CN202180046678.1A
Other languages
English (en)
Inventor
丹·亚德林
本·里瓦
阿龙·纳文
列夫·帕赫曼诺夫
乔纳森·卡茨
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.)
PayPal Inc
Original Assignee
PayPal Inc
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
Application filed by PayPal Inc filed Critical PayPal Inc
Publication of CN115868141A publication Critical patent/CN115868141A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/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
    • 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

Abstract

一种用于对数据进行数字签名的系统和方法。一种方法包括:由第一设备基于由第一设备选择的秘密密钥生成至少一个第一秘密份额,其中,第一设备相对于第二设备是离线的;由第一设备使用至少一个秘密份额对数据进行部分签名,其中,该数据是从第二设备接收的,而没有在第一设备和第二设备之间建立直接通信;以及将经部分签名的数据从第一设备发送到第二设备,其中,第二设备使用经部分签名的数据生成签名数据,其中,签名数据对应于公钥,该公钥是基于至少一个第一秘密份额和由第二设备生成的至少一个第二秘密份额而生成的。

Description

用于数字签名的单轮多方计算的技术
相关申请的交叉引用
本申请要求于2020年9月14日提交的、美国非临时申请号17/019,807的权益,其内容通过引用并入本文。
技术领域
本公开总体上涉及密码数字签名,并且更具体地涉及用于密码数字签名的多方计算。
背景技术
在密码学中,数字签名通常使用密钥来实现。数字签名是一组用于验证消息内容真实性的算法和协议。每个实体的身份由私钥/公钥对的公钥确定。只有私钥的所有者才能对消息进行签名。随着数字资产成为现代生活中越来越重要的一部分,数字签名的使用越来越多。
利用区块链技术的数字货币和其他技术的使用越来越多,因此面临不断演变的需求。区块链是一种不断增长的分布式电子账本,包括数据块。区块链的副本由对等网络中的对等设备维护,该对等网络通常由数千个对等体组成,并由参与交易的潜在数百万用户使用。由于整个区块链的副本由每个对等体维护,因此不需要单一的集中式系统来维护记录。
许多区块链用途涉及对要记录在区块链上的交易数据进行数字签名。因此,确保数字签名技术的安全变得越来越重要。此外,随着这些用途受到监管,上述对实施方式中的灵活性的需求将变得更加重要。
存在一些涉及离线设备的解决方案。这些解决方案在灵活性方面面临挑战。作为典型数字货币实施方式的示例,“冷”钱包(即,无法经由互联网或类似网络访问私钥的钱包)比“热”钱包(即,可经由互联网访问私钥的钱包)更不容易受到网络攻击。然而,由于无法经由互联网访问冷钱包私钥,因此用户必须能够物理访问存储私钥的系统,以便在将交易传输到区块链之前对交易进行签名。在企业环境中,这还需要向某些受信任的员工授予对冷钱包的访问权限。但是,此访问权的管理不当可能会导致损失。
随着对数字签名需求的增加,对部署数字签名机制的灵活性的需求也越来越大。除了用户偏好和需求之外,数字签名在其中运行的各种现实世界场景也在不断演变。监管、许可、报告和其他要求可能会改变数字签名机制的需求。例如,一些国家对使用数字资产工作的机构制定了适当要求,该要求详细说明了在线资产(例如,可经由互联网访问密钥的资产)和离线资产(例如,无法经由互联网访问密钥的资产)必须如何平衡。
离线存储资产降低了资产被诸如黑客之类的外部恶意实体不当访问的可能性。然而,离线系统更难控制和确保这些系统是最新的。因此,当资产保持离线时,会引入新的操作风险。
因此,提供将克服上述挑战的解决方案将是有利的。
发明内容
本公开的若干示例实施例的发明内容如下。提供该发明内容是为了方便读者以提供对此类实施例的基本理解,并不完全限定本公开的范围。该发明内容不是所有预期实施例的详尽概述,并且既不旨在识别所有实施例的关键或重要元素,也不旨在描述任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个实施例的一些概念,作为稍后呈现的更详细描述的前序。为方便起见,本文中可以使用术语“一些实施例”或“某些实施例”来指代本公开的单个实施例或多个实施例。
本文公开的某些实施例包括一种用于对数据进行数字签名的方法。该方法包括:由多个设备中的第一设备基于由第一设备选择的秘密密钥生成至少一个第一秘密份额,多个设备包括第一设备和第二设备,其中第一设备至少相对于第二设备是离线的;由第一设备使用至少一个秘密份额对数据进行部分签名,其中数据是从第二设备接收的,而没有在第一设备和第二设备之间建立直接通信;以及将经部分签名的数据从第一设备发送到第二设备,而没有在第一设备和第二设备之间建立直接通信,其中第二设备使用经部分签名的数据生成签名数据,其中签名数据对应于公钥,其中公钥是基于包括至少一个第一秘密份额和至少一个第二秘密份额的多个秘密份额而生成的,其中至少一个第二秘密份额是由第二设备生成的。
本文公开的某些实施例还包括一种非暂态计算机可读介质,其上存储有指令,使处理电路执行过程,该过程包括:由多个设备中的第一设备基于由第一设备选择的秘密密钥生成至少一个第一秘密份额,多个设备包括第一设备和第二设备,其中第一设备至少相对于第二设备是离线的;由第一设备使用至少一个秘密份额对数据进行部分签名,其中数据是从第二设备接收的,而没有在第一设备和第二设备之间建立直接通信;以及将经部分签名的数据从第一设备发送到第二设备,而没有在第一设备和第二设备之间建立直接通信,其中第二设备使用经部分签名的数据生成签名数据,其中签名数据对应于公钥,其中公钥是基于包括至少一个第一秘密份额和至少一个第二秘密份额的多个秘密份额而生成的,其中至少一个第二秘密份额是由第二设备生成的。
本文公开的某些实施例还包括一种用于对数据进行数字签名的系统。该系统包括:处理电路;和存储器,存储器包含指令,该指令在由处理电路执行时,将系统配置为:基于由系统选择的秘密密钥生成至少一个第一秘密份额,其中系统是多个设备中的第一设备,多个设备包括第一设备和第二设备,其中第一设备至少相对于第二设备是离线的;使用至少一个秘密份额对数据进行部分签名,其中数据是从第二设备接收的,而没有在第一设备和第二设备之间建立直接通信;以及将经部分签名的数据发送到第二设备,而没有在第一设备和第二设备之间建立直接通信,其中第二设备使用经部分签名的数据生成签名数据,其中签名数据对应于公钥,其中公钥是基于包括至少一个第一秘密份额和至少一个第二秘密份额的多个秘密份额而生成的,其中至少一个第二秘密份额是由第二设备生成的。
附图说明
本文公开的主题在说明书所附随的权利要求中被特别指出和明确要求保护。所公开的实施例的前述和其他目的、特征和优点将结合附图通过以下详细描述而显而易见。
图1A-图1B是用于描述各种公开的实施例的网络图。
图2是示出根据所公开的实施例的用于对所使用的部分离线交易进行签名的方法的序列图。
图3是示出根据实施例的用于使用单轮多方计算协议对数据进行签名的方法的流程图。
图4是示出根据实施例的用于经由多方计算来保护数字签名的方法的流程图。
图5是根据实施例的参与者设备的示意图。
具体实施方式
重要的是要注意,本文公开的实施例仅是本文创新教导的许多有利用途的示例。通常,在本申请的说明书中做出的陈述不一定限制各自要求保护的实施例中的任何实施例。此外,一些陈述可能适用于一些发明特征,但不适用于其他特征。通常,除非另有说明,否则单数元素可以是复数,反之亦然,而不失一般性。在附图中,相同的附图标记在多个视图中指代相同的部分。
各种公开的实施例包括用于数字签名的单轮多方计算的方法和系统。更具体地,数据在单轮签名操作期间由离线设备部分签名。一个或多个其他设备各自对数据进行部分签名,从而完成签名并生成可以例如上传的签名数据。因此,签名过程中涉及的与离线设备的交互量被最小化。此外,一些公开的实施例可以支持由离线设备使用无状态协议。
在一个实施例中,数字签名包括密钥生成阶段和签名阶段。在密钥生成阶段期间,数字签名的各方进行交互以生成新的公钥。在签名阶段期间,各方进行交互以使用他们各自的份额对数据进行签名。在另外的实施例中,数字签名还包括预处理阶段。在预处理阶段期间,各方进行交互以生成要在签名阶段中使用的相关数据(其中为每个未来的签名操作存储一个信息包)。这个预处理阶段可以根据需要执行多次。
在一个实施例中,数据签名的一方或多方是相对于一个或多个网络离线的离线设备,即,离线设备未连接到互联网或其他网络(例如,气隙设备)。更具体地,离线设备至少相对于份额生成和数字签名的至少一些其他参与者可访问的网络是离线的。在签名阶段期间与离线设备的交互发生在单轮交互期间。在单轮交互中,由另一参与设备将数据发送给离线设备,基于发送的数据对离线设备执行计算以便对数据进行部分签名,以及将经部分签名的数据从离线设备发送给其他参与设备。
根据所公开的实施例,当设备未直接或通过其他系统或设备间接连接到网络时,该设备相对于该网络是离线的。当第一设备和第二设备未通过任何网络或网络组合通信连接时,第一设备相对于第二设备是离线的。
在示例实施方式中,离线设备相对于互联网并且相对于连接到互联网的设备可访问的任何网络是离线的。在另一示例实施方式中,多个离线设备可以相互连接,并且每个离线设备相对于其他在线设备是离线的。在又一示例实施方式中,参与MPC的所有设备可以相对于互联网是离线的,并且至少一些设备相对于彼此是离线的。
在各种实施例中,所公开的实施例可以应用于无密钥多方计算协议,例如但不限于转让给共同受让人的第16/404,218号美国专利申请中描述的用于使用多方数字签名确保数字签名的协议,其内容通过引用并入本文。与基于密钥的解决方案相比,这样的实施例在最大化灵活性的同时提高了安全性。
所公开的实施例提供了通常与使用“冷”钱包或其密钥离线的其他数字资产相关联的益处,而没有这样的方法的至少一些常见缺点。由于所公开的实施例与数字签名的多方计算方法兼容,所公开的实施例可以提供可用性,同时最小化面临的安全风险。更具体地,所公开的单轮协议允许对离线资产进行数字签名,从而保护数字资产免受未经授权的访问尝试。此外,可以在用户所在地点对资产进行签名,从而消除使用第三方服务进行签名的任何需要。
此外,所公开的实施例提供了一种多方计算协议,该多方计算协议最小化对数据进行安全签名所需的轮数。如上所述,涉及“冷”设备(即,存储不能经由互联网直接或间接访问的密钥的设备)的实现方式需要与冷设备进行手动交互。这可能是费时且费力的,这使得不期望频繁使用冷设备。因此,所公开的实施例通过减少离线设备需要参与多方计算的次数来缓解这一挑战。
图1A示出了用于描述各种公开的实施例的示例网络图100A。在示例网络图100A中,在线设备140经由网络110与在线平台150通信。网络110可以是但不限于无线网络、蜂窝或有线网络、局域网(LAN)、广域网(WAN)、城域网(MAN)、互联网、万维网(WWW)、类似网络及其任何组合。
在线设备140和离线设备120中的每一者可以是但不限于个人计算机、膝上型电脑、平板计算机、智能手机、可穿戴计算设备或任何其他能够接收和显示通知的设备。离线设备120可以配置有任何种类的参与数字签名的软件,例如但不限于服务器侧、客户端侧等。离线设备120存储的数据可以存储在硬件安全模块(未示出)中,即没有中央处理单元的存储模块。
在一个示例实施方式中,为了便于传输到离线设备120,将待签名的数据从在线设备140传输到中间数据存储(DS)设备130。
中间数据存储设备130存储信息并允许向离线设备120传输数据或从离线设备120传输数据。因此,中间数据存储设备130是不需要连接到网络110以传输此类数据的任何数据传输机制。中间数据存储设备130可以是但不限于外部硬盘驱动器、存储器卡、快速响应(QR)码、通用串行总线(USB)密钥、统一资源定位符(URL)、声音生产者(例如,被配置为发出声音的调制解调器)、单向链路(例如,光学、数字或模拟单向链路)、打印纸和相机、扫描仪、它们的组合等。中间数据存储设备130没有以其他方式通信连接到网络110,并且仅在不与离线设备120通信时才通信连接到在线设备140。在一些实施方式中,可以利用多个中间数据存储设备(未示出)。
在各种实施方式中,中间数据存储设备130被配置用于与接收设备(即,数据被传输到的设备)进行单向通信。作为非限制性示例,可以使用半双工系统(未示出)来实现这种单向通信。替代地或连接地,中间数据存储设备130可以被配置用于双向通信,例如但不限于使用蓝牙或其他无线技术标准。具体而言,当与离线设备通信时,中间数据存储设备130可以利用单向通信。
在一些实施方式中,根据所公开的实施例从在线设备140传输到离线设备120的所有数据是使用离线设备120已知的公钥被部分签名或加密的。为此,在一个实施例中,离线设备120被配置为尝试使用公钥来解密或验证传入的通信。在另一实施例中,从在线设备140传输的传入数据可以包括从离线设备120接收的最后消息的哈希值(hash)。为此,离线设备120可以被配置为对照传输到在线设备140的最新数据的哈希值来检查传入数据中的哈希值,以便确认传入数据是从同一设备接收的。包括先前消息的哈希值允许验证消息是从同一发送者接收的并且因此是安全的。具体而言,这可以在密钥生成涉及多轮通信时执行。
应当注意,在一些实施例中,参与签名协议的所有设备可以相对于诸如互联网的网络是离线的。在这样的实施例中,可以通过将签名的交易数据从离线设备之一传输到在线设备来上传签名的交易数据,例如经由中间存储设备。
图1B示出了示例网络图100B,示例网络图100B图示了可以与多个离线设备一起使用的潜在网络配置。在示例网络图100B中,离线设备120相对于一个或多个参与者设备160是离线的,并且在线设备140被配置为将签名数据上传到在线平台150但不一定是签名的参与者。
参与者设备160为签名的其他参与者。为此,经由中间数据存储设备130在离线设备120和一个或多个参与者设备160之间传输数据。任何或所有参与者设备160可以相对于网络110是离线的。
应当注意,为了简单起见,在图1B中示出了单个中间数据存储设备130,但是在其他实施方式中,可以使用不同的中间数据存储设备在离线设备120和每个参与者设备160之间传输数据,参与者设备160可以经由不同的中间数据存储设备将签名数据传输到在线设备140,或这两者。
还应注意,图1A-图1B中描绘的组件的布置仅是用于说明目的的示例,但公开的实施例可以同样适用于组件的其他布置。例如,在一些实施方式中,离线设备120可以连接到一些网络(例如,私有本地网络)而不是其他网络(例如,互联网)。具体而言,根据所公开的实施例,离线设备120不连接到参与签名协议的至少一些其他设备可访问的任何网络。因此,在一些实施方式中,设备120不需要是气隙设备。
在各种所公开的实施例中,离线设备120不直接或间接连接到互联网或以其他方式暴露于在线设备140可访问的(一个或多个)网络,但所公开的实施例不一定限于该实施方式。此外,离线设备与参与签名的至少一些其他设备间接通信,即,不建立直接通信或以其他方式建立到那些在线设备的连接。为此,在各种所公开的实施例中,使用一个或多个中间数据存储设备来将数据传输到离线设备和从离线设备传输数据。
此外,应当注意,根据所公开的实施例,多个在线设备、多个离线设备或这两者可以是所公开的数字签名过程的参与者。同样,在不脱离本公开的范围的情况下,可以经由多个中间数据存储设备在离线设备和在线设备之间传输数据。仅出于简单的目的示出了单个在线设备、单个离线设备和单个中间数据存储设备。
上文关于图1A描述的组件之间的交互现在关于图2进一步解释。图2是示出离线设备120、中间数据存储设备130、在线设备140和在线平台150之间的通信的时序图。
在210,离线设备120被配置为执行所公开的实施例的相关部分。具体而言,离线设备120被配置为使得其可以参与秘密生成(例如,密钥、份额或这两者)和本文所述的单轮数字签名。在示例实施方式中,在210的配置可以包括在离线设备120上安装软件。
在220,在线设备140和在线平台150之间发起需要数字签名的过程。作为非限制性示例,该过程可以是交易,例如要添加到区块链的交易,并且数据可以是交易数据。检查数据是否符合一个或多个签名策略。该过程可能还需要确定签名是否满足一个或多个签名策略。
在230,当数据满足所有适用的签名策略时,将数据传输到中间数据存储设备130。在240,将数据从中间数据存储设备130传输到离线设备120。在250,在离线设备120上对数据进行验证和部分签名。在260,将经部分签名的数据传输到中间数据存储设备130。
在270,将经部分签名的数据从中间数据存储设备130传输到在线设备140。在280,由在线设备140将经部分签名的数据上传到在线平台150。在290,经由在线平台150将经部分签名的数据存储、记录或以其他方式最终确定。在一些实施例中,290包括将经部分签名的数据添加到诸如区块链(未示出)之类的分布式账本。
应该注意的是,图2仅为示例,设备之间的通信不限于图2所示的特定通信。如上所述,所公开的签名过程可以在所有离线设备(例如,关于互联网或其他网络离线的所有设备)之间进行。在这些和其他实施方式中,发起需要数字签名的过程的设备实际上可能不参与签名过程,而是可能只是用于上传签名数据的中转者(conduit)。
图3是示出根据实施例的用于使用单轮多方计算协议来对数据进行签名的方法的示例流程图300。在一个实施例中,该方法由参与签名的设备执行,例如图1A-图1B的参与者设备160之一或离线设备120、在线设备140。
在S310,选择第一设备秘密密钥skA。在一个实施例中,S310还可以包括将对基于第一设备秘密密钥skA计算出的值skA·G的承诺(commitment)、第一设备秘密密钥skA的非交互式零知识证明(NIZKPoK)或这两者发送给签名的其他参与者。每个其他参与者选择秘密密钥。在一个实施例中,由参与者选择的秘密密钥是从同一组中选择的。
由签名各方为份额生成选择唯一的“会话ID”。会话ID可以被表示为由参与签名的参与者设备选择的随机字符串的函数。当在份额生成期间任何参与者需要随机预言机(random oracle)时,可以使用诸如但不限于HMAC函数之类的函数来实例化随机预言机。用于实例化随机预言机的函数可以基于会话ID和对所使用的协议唯一的字符串来实例化。
在一个实施例中,签名的至少一个参与者相对于签名的其他参与者是离线的。作为非限制性示例,这样的参与者可以是图1A-图1B的离线设备120。离线设备120相对于签名的其他参与者是离线的,使得离线设备120无法经由一个或多个网络(例如但不限于互联网)与签名的其他参与者进行通信。为此,在一个实施例中,经由例如一个或多个中间存储设备发送承诺。
在S320,从数据签名的另一参与者接收对基于由签名的另一参与者选择的第二秘密密钥skB计算出的值的承诺以及关于第二秘密密钥skB的NIZKPoK。作为非限制性示例,可以使用Fiat-Shamir启发式(Fiat-Shamir heuristic)来创建这样的NIZKPoK。参与者进行交互以例如基于不经意传输或同态加密来设置安全乘法协议。在一个实施例中,承诺是经由例如一个或多个中间存储设备接收的。
在S330,将对基于第一秘密密钥skA计算出的值的解除承诺(decommitment)以及第一秘密密钥skA的NIZKPoK发送给数据签名的另一参与者。另一参与者存储安全乘法协议设置的结果。在一个实施例中,经由例如一个或多个中间存储设备来发送解除承诺和NIZKPoK。
在S340,存储公钥和秘密份额。该公钥与由数据签名的其他参与者生成的公钥相同,并且可以被计算为例如skA·skB·G或(skA+skB)·G。秘密份额包括安全乘法协议设置的秘密输出和离线设备秘密密钥skA
每个公钥是由一方基于该方相应的秘密份额生成的,从而使用与公钥相对应的秘密份额对数据进行部分签名。由于这种对应关系,秘密份额具有以下性质:如果秘密份额要由单个系统组装(根据各种公开的实施例,这是不可能的,因为份额不在系统之间显露),则可以使用公钥来验证秘密份额。
在S350,使用在S340生成的秘密份额对数据进行部分签名。在一个实施例中,签名可以遵循下面关于图4进一步描述的过程。对数据进行部分签名,使得(一个或多个)离线设备提供整体签名的一部分,其中整体签名包括与参与签名的各方各自的秘密份额相对应的签名部分。
在另一实施例中,签名协议可以进一步允许支持确定性密钥推导过程,例如BIP32非硬化推导。为此,在这样的实施例中,由数字签名的每一方生成的签名是进一步基于经由确定性密钥生成器确定的值δ来生成的,其中值δ为所有各方已知的。在一些实施方式中,S350可以包括使用推导公钥(作为原始公钥的预定函数)来检查所得到的签名,以便根据所公开的实施例来验证公钥是使用来自一个或多个离线设备的数据生成的。签名的任何或所有其他方都可以执行类似的检查以独立验证公钥。推导公钥可以被计算为例如sk A·skB·G+δ·G或(sk A·sk B)·G+δ·G,其中δ是根据BIP32标准定义的。
还应注意,在一个实施例中,秘密份额可以以与公钥一致的方式被轮换(rotate)。这种轮换可以在希望更新其秘密份额的任何两方或更多方之间执行。轮换包括通过每一方轮换份额来创建新份额,这些新份额共同形成与该方先前创建的份额相同的私钥,并且可以包括但不限于生成推导份额或独立生成新份额。
还应该注意的是,为了简单起见,图3的步骤被描绘为单个过程,但是至少一些步骤可以与其他步骤在时间上分开地执行。具体而言,在S350的数据签名可以在与其他步骤S310到S340分开的时间下发生。
另外,在一些实施方式中,图3的至少一些步骤可以被串联或并行执行多次。例如,当存在数字签名的多个其他参与者时,可以多次执行用于确定密钥和秘密份额的步骤,从而可以确定多个秘密份额。在这方面,还应该注意的是,每一方会生成其各自的秘密份额,并且没有任何一方知道将用于对数据进行签名的整套份额。作为非限制性示例,如果客户SDK和MPC服务提供商系统将存储份额,则至少创建两个份额。作为另一非限制性示例,如果四个系统将存储份额,则至少创建四个份额。每一方的系统单独地且独立于其他系统创建一个或多个份额。
图4是示出根据实施例的用于经由MPC来保护数字签名的方法的示例流程图400。在一个实施例中,参与并执行图4的方法的系统之一是离线设备120。
在S410,接收对消息进行签名的请求。该请求可以从例如用户设备接收。请求至少包括要签名的数据(例如,比特币交易数据)。
在S420,确定是否已经满足签名策略的要求,如果是,则继续执行S430;否则,执行终止(未示出)或继续S410(示出)。签名策略包括用于验证真实性的规则,如果签名被批准,则验证方(例如,服务提供商)的系统将使用其各自的份额来对交易进行签名。签名策略还可以包括如上文所述的附加要求。为此,S440可以包括与其他系统进行通信以例如提示其他用户提供对交易的认证和批准。
在S430,将秘密份额用于对数据进行签名。在一个实施例中,如上文关于图3所述的,创建秘密份额。
签名包括使用份额来运行MPC协议作为交互式签名过程的一部分。交互式签名过程包括每个系统使用其各自的份额来运行MPC协议。在一个实施例中,由每个系统使用数字签名算法(例如,ECDSA/EdDSA/Schnorr)的分布式实施方式对数据进行部分签名,从而永远不会在任何系统上重建完整的私钥。在另外的实施例中,在签名期间,每个系统的份额的任何部分都不会显露给其他系统。作为非限制性示例,这样的数字签名算法可以是ECDSA、爱德华兹曲线数字签名算法(EdDSA)、Schnorr等。协议的安全性可以基于加密假设(例如,离散日志)来证明。为此,数字签名算法可以利用附加同态加密方案和有效的零知识证明来证明关于来自不同有限群的元素的陈述,而不传达关于元素的其他信息。
在另一实施例中,S430还包括执行密钥推导作为签名步骤的一部分而不单独地推导实际密钥。在这种情况下,各方可以利用直接使用原始密钥的份额而推导的密钥的份额对消息进行签名。
在一个实施例中,参与签名的一个或多个系统至少相对于其他系统是离线的(即,未连接到网络,或者更具体地,未连接到其他系统使用的(一个或多个)网络)),并且在包括离线系统的签名的一部分期间只需要一轮交互。需要注意的是,即使存储份额的系统在线,份额也可以离线存储。例如,份额可以本地存储在系统上无法通过网络访问的位置,使得份额不能通过网络访问。
为此,在另外的实施例中,S430包括:接收包括离线设备签名所需的数据的消息,使用离线设备秘密份额对数据进行签名,以及将该消息发送给其他参与者之一以完成签名(例如,通过添加其他方的另外签名、将签名数据上传到在线平台、这两者等)。离线设备的这种签名在单轮中执行,即一个消息被传输到离线设备,而一个消息从离线设备传输。如上所述,可以经由使用中间数据存储设备来完成向离线设备传输数据和从离线设备传输数据。
利用一个或多个离线方在单轮中执行部分签名允许最小化离线设备的交互,最小化离线份额的暴露,或这两者。此外,通过利用中间存储设备与离线设备进行通信,可以在不将离线设备暴露于与其他设备相同的网络的情况下传输交互式签名过程所需的数据。
在一些实施例中,系统之一是离线的,除了在少量轮次的交互期间(例如,低于预定阈值)。在那些轮次的交互中,离线系统从其他系统接收聚合消息。每个聚合消息包括用于由所有其他系统提供的数字签名算法的分布式实施方式的信息。交互轮次的结果可以用于多个签名操作,每个签名操作只需要与离线设备进行单轮交互。换句话说,通过发送包含离线系统所需的所有信息的聚合消息,离线系统可以参与签名而不需要多轮交互。如上所述,当处理离线设备时,这样轮次的交互特别麻烦,因为数据必须间接传输(例如,通过中间数据存储设备)。
所公开的实施例也可以用于提供这样的经验证的加密备份。为此,在一个实施例中,每一方使用公钥加密方案(例如,RSA)对其秘密份额进行加密,并且使用零知识证明来证明其加密了正确的值。作为非限制性示例,各方可以使用附加份额来生成签名密钥,如下所示:第i方选择数字xi并发布xiG,其中G是用于数字签名的椭圆曲线中的生成器。要注意,基于所使用的数字签名的安全性,在给定xG时x是隐藏的。数字签名的公钥将为x1G+x2G+…=(x1+x2+…)G。另外,第i方在备份加密的公钥下对xi进行加密,并且用零知识证明来证明xiG和加密备份中使用的是同一xi。
应当注意,在一个实施例中,任何份额的任何部分都不会被显露给在任何时间生成那些份额的系统之外的任何系统。换句话说,每个系统维护自己的份额,并且不向其他参与系统或其他外部系统提供或以其他方式显露份额。由于份额不会显露给其他系统,因此潜在的私钥无法被重建并用于欺诈性地对交易进行签名。
应当注意,可以使用相同的密钥重复该方法,因为相同的密钥可以用于对多个消息进行签名。
图5是根据实施例的参与者设备500的示例示意图。参与者设备500包括耦合到存储器520的处理电路510和存储设备530。在一个实施例中,参与者设备500的组件可以经由总线540通信地连接。根据所公开的实施例,图1的离线设备120、图1的在线设备140或这两者可以被配置为参与者设备500。
处理电路510可以被实现为一个或多个硬件逻辑组件和电路。例如但不限于,可以使用的说明性类型的硬件逻辑组件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、图形处理单元(GPU)、张量处理单元(TPU)、通用微处理器、微控制器、数字信号处理器(DSP)等或可以执行对信息的计算或其他操纵的任何其他硬件逻辑组件。
存储器520可以是易失性(例如,随机存取存储器等)、非易失性(例如,只读存储器、闪存等)或其组合。
在一种配置中,用于实现本文公开的一个或多个实施例的软件可以存储在存储设备530中。在另一种配置中,存储器520被配置为存储这样的软件。软件应被广义地解释为任何类型的指令,无论是指软件、固件、中间件、微码、硬件描述语言或其它。指令可以包括代码(例如,源代码格式、二进制代码格式、可执行代码格式或任何其他合适的代码格式)。这些指令在由处理电路510执行时使处理电路510执行本文描述的各种过程。
存储设备530可以是磁存储设备、光存储设备等,并且可以被实现为例如闪存或其他存储器技术、光盘-只读存储器(CD-ROM)、数字多功能盘(DVD)、或可以用于存储所需信息的任何其他介质。
应当理解,本文描述的实施例不限于图5所示的特定架构,并且在不脱离所公开的实施例的范围的情况下,可以同样使用其他架构。具体而言,图5中所示的离线设备120是没有任何网络接口的气隙设备。然而,在一些实施方式中,离线设备120可以包括网络接口。
本文公开的各种实施例可以被实现为硬件、固件、软件或其任何组合。此外,该软件优选地被实现为有形地体现在程序存储单元或计算机可读介质上的应用程序,该程序存储单元或计算机可读介质由部分或某些设备和/或设备的组合组成。应用程序可以上传到包括任何合适架构的机器并由其执行。优选地,机器在具有诸如一个或多个中央处理单元(“CPU”)、存储器和输入/输出接口之类的硬件的计算机平台上实现。计算机平台还可以包括操作系统和微指令代码。本文描述的各种过程和功能可以是微指令代码的一部分或应用程序的一部分,或者它们的任何组合,它们可以由CPU执行,无论这样的计算机或处理器是否被明确地示出。此外,各种其他外围单元可以连接到计算机平台,例如附加数据存储单元和打印单元。此外,非暂态计算机可读介质是除了暂态传播信号之外的任何计算机可读介质。
本文中引用的所有示例和条件语言旨在用于教学目的,以帮助读者理解所公开实施例的原理和发明人为促进本领域发展而贡献的概念,并且应被解释为不限于此类具体引用的示例和条件。此外,本文中列举所公开实施例的原理、方面和实施例及其具体示例的所有陈述旨在涵盖其结构和功能等同物两者。此外,此类等同物旨在包括当前已知的等同物以及未来开发的等同物两者,即无论结构如何,执行相同功能的任何开发的元件。
应当理解,本文中使用诸如“第一”、“第二”等名称对元素的任何引用通常不限制那些元素的数量或顺序。相反,这些名称通常在本文中用作区分两个或更多个元素或元素实例的方便方法。因此,引用第一元素和第二元素并不意味着那里只能使用两个元素或第一元素必须以某种方式在第二元素之前。此外,除非另有说明,否则一组元素包括一个或多个元素。
如本文所用,短语“至少一个”后跟项目列表意味着可以单独使用任何所列项目,或者可以使用两个或更多个所列项目的任何组合。例如,如果系统被描述为包括“A、B和C中的至少一个”,则该系统可以包括仅A;仅B;仅C;2A;2B;2C;3A;A和B组合;B和C组合;A和C组合;A、B和C组合;2A和C组合;A、3B和2C组合;等等。

Claims (19)

1.一种用于对数据进行数字签名的方法,包括:
由多个设备中的第一设备基于由所述第一设备选择的秘密密钥生成至少一个第一秘密份额,所述多个设备包括所述第一设备和第二设备,其中,所述第一设备至少相对于所述第二设备是离线的;
由所述第一设备使用所述至少一个秘密份额对数据进行部分签名,其中,该数据是从所述第二设备接收的,而没有在所述第一设备和所述第二设备之间建立直接通信;以及
将经部分签名的数据从所述第一设备发送到所述第二设备,而没有在所述第一设备和所述第二设备之间建立直接通信,其中,所述第二设备使用所述经部分签名的数据生成签名数据,其中,所述签名数据对应于公钥,其中,所述公钥是基于包括所述至少一个第一秘密份额和至少一个第二秘密份额的多个秘密份额而生成的,其中,所述至少一个第二秘密份额是由所述第二设备生成的。
2.根据权利要求1所述的方法,其中,在与多个其他设备中的其他设备的单轮交互中由所述第一设备对所述数据进行部分签名。
3.根据权利要求1所述的方法,其中,由于由所述第一设备对所述数据进行部分签名而没有向所述第二设备显露所述至少一个第一秘密份额中的任何部分,其中,由于由所述第二设备生成所述签名数据而没有向所述第一设备显露所述至少一个第二秘密份额中的任何部分。
4.根据权利要求1所述的方法,其中,所述至少一个第二秘密份额是由所述第二设备基于由所述第二设备选择的秘密密钥生成的。
5.根据权利要求1所述的方法,其中,所述数据是使用数字签名进行部分签名的,所述方法还包括:
基于所述数据、所述至少一个第一秘密份额和经由确定性密钥推导过程确定的值来生成所述数字签名,其中,经由所述确定性密钥推导过程确定的值对于所述多个设备中的每一个设备是已知的。
6.根据权利要求1所述的方法,其中,所述第一设备是缺少网络接口的气隙设备。
7.根据权利要求1所述的方法,还包括:
将所述至少一个秘密份额存储在硬件安全模块中。
8.根据权利要求1所述的方法,其中,所述数据是经由至少一个第一中间数据存储设备从所述第二设备接收的,其中,所述经部分签名的数据是经由至少一个第二中间数据存储设备被发送到所述第二设备的。
9.根据权利要求8所述的方法,其中,每个中间数据存储设备是以下项中的任何一项:外部硬盘驱动器、存储器卡、快速响应代码、通用串行总线密钥、统一资源定位符和声音。
10.一种非暂态计算机可读介质非暂态计算机可读介质,其上存储有,使处理电路执行过程,所述过程包括:
基于由所述第一设备选择的秘密密钥生成至少一个第一秘密份额,所述多个设备包括所述第一设备和第二设备,其中,所述第一设备至少相对于所述第二设备是离线的;
由所述第一设备使用所述至少一个秘密份额对数据进行部分签名,其中,该数据是从所述第二设备接收的,而没有在所述第一设备和所述第二设备之间建立直接通信;以及
将经部分签名的数据从所述第一设备发送到所述第二设备,而没有在所述第一设备和所述第二设备之间建立直接通信,其中,所述第二设备使用所述经部分签名的数据生成签名数据,其中,所述签名数据对应于公钥,其中,所述公钥是基于包括所述至少一个第一秘密份额和至少一个第二秘密份额的多个秘密份额而生成的,其中,所述至少一个第二秘密份额是由所述第二设备生成的。
11.一种用于对数据进行数字签名的系统,包括:
处理电路;以及
存储器,所述存储器包含指令,所述指令在由所述处理电路执行时,将所述系统配置为:
基于由所述系统选择的秘密密钥生成至少一个第一秘密份额,其中,所述系统是多个设备中的第一设备,所述多个设备包括所述第一设备和第二设备,其中,所述第一设备至少相对于所述第二设备是离线的;
使用所述至少一个秘密份额对数据进行部分签名,其中,该数据是从所述第二设备接收的,而没有在所述第一设备和所述第二设备之间建立直接通信;以及
将经部分签名的数据发送到所述第二设备,而没有在所述第一设备和所述第二设备之间建立直接通信,其中,所述第二设备使用所述经部分签名的数据生成签名数据,其中,所述签名数据对应于公钥,其中,所述公钥是基于包括所述至少一个第一秘密份额和至少一个第二秘密份额的多个秘密份额而生成的,其中,所述至少一个第二秘密份额是由所述第二设备生成的。
12.根据权利要求11所述的系统,其中,在与多个其他设备中的其他设备的单轮交互中由所述第一设备对所述数据进行部分签名。
13.根据权利要求11所述的系统,其中,由于由所述第一设备对所述数据进行部分签名而没有向所述第二设备显露所述至少一个第一秘密份额中的任何部分,其中,由于由所述第二设备生成所述签名数据而没有向所述第一设备显露所述至少一个第二秘密份额中的任何部分。
14.根据权利要求11所述的系统,其中,所述至少一个第二秘密份额是由所述第二设备基于由所述第二设备选择的秘密密钥生成的。
15.根据权利要求11所述的系统,其中,所述数据是使用数字签名进行部分签名的,其中,所述系统还被配置为:
基于所述数据、所述至少一个第一秘密份额和经由确定性密钥推导过程确定的值来生成所述数字签名,其中,经由所述确定性密钥推导过程确定的值对于所述多个设备中的每一个设备是已知的。
16.根据权利要求11所述的系统,其中,所述第一设备是缺少网络接口的气隙设备。
17.根据权利要求11所述的系统,其中,所述系统还被配置为:
将所述至少一个秘密份额存储在硬件安全模块中。
18.根据权利要求11所述的系统,其中,所述数据是经由至少一个第一中间数据存储设备从所述第二设备接收的,其中,所述经部分签名的数据是经由至少一个第二中间数据存储设备被发送到所述第二设备的。
19.根据权利要求18所述的系统,其中,每个中间数据存储设备是以下项中的任何一项:外部硬盘驱动器、存储器卡、快速响应代码、通用串行总线密钥、统一资源定位符和声音。
CN202180046678.1A 2020-09-14 2021-09-08 用于数字签名的单轮多方计算的技术 Pending CN115868141A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/019,807 2020-09-14
US17/019,807 US11632244B2 (en) 2020-09-14 2020-09-14 Techniques for single round multi-party computation for digital signatures
PCT/IB2021/058172 WO2022053951A1 (en) 2020-09-14 2021-09-08 Techniques for single round multi-party computation for digital signatures

Publications (1)

Publication Number Publication Date
CN115868141A true CN115868141A (zh) 2023-03-28

Family

ID=80627238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180046678.1A Pending CN115868141A (zh) 2020-09-14 2021-09-08 用于数字签名的单轮多方计算的技术

Country Status (5)

Country Link
US (2) US11632244B2 (zh)
EP (1) EP4211865A1 (zh)
CN (1) CN115868141A (zh)
AU (1) AU2021341778A1 (zh)
WO (1) WO2022053951A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938604A (zh) * 2023-09-18 2023-10-24 深圳市上融科技有限公司 一种基于多方的电子签章系统及方法与流程

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10887090B2 (en) * 2017-09-22 2021-01-05 Nec Corporation Scalable byzantine fault-tolerant protocol with partial tee support

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090040246A (ko) * 2006-08-10 2009-04-23 파나소닉 주식회사 메모리 컨트롤러, 보안 메모리 카드, 및 보안 메모리 카드시스템
US9960919B2 (en) 2013-01-08 2018-05-01 Bar-Ilan University Method for providing security using secure computation
CA2949847A1 (en) 2014-03-10 2015-09-17 Sengi Corporation System and method for secure deposit and recovery of secret data
WO2015142765A1 (en) 2014-03-17 2015-09-24 Coinbase, Inc Bitcoin host computer system
US10778439B2 (en) * 2015-07-14 2020-09-15 Fmr Llc Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems
US10581812B2 (en) * 2015-12-01 2020-03-03 Duality Technologies, Inc. Device, system and method for fast and secure proxy re-encryption
JP2019500645A (ja) 2015-12-03 2019-01-10 アンバウンド テック リミテッド 暗号プロトコルを用いたsqlベースのデータベースの保護
BR112018016234A2 (pt) 2016-02-23 2019-01-02 Nchain Holdings Ltd método implementado por computador para controlar o acesso a um recurso, sistemas baseados em computador e método para controle de acesso a uma carteira digital
US10313134B2 (en) * 2016-10-27 2019-06-04 Denso Corporation System and method for authenticating and authorizing devices
WO2018100578A1 (en) 2016-11-30 2018-06-07 Unbound Tech Ltd. A system and method of securing devices using encryption keys
GB201707168D0 (en) * 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US20190034919A1 (en) 2017-12-29 2019-01-31 Intel Corporation Securing Electronic Wallet Transactions
US10887085B2 (en) 2018-01-15 2021-01-05 Unbound Tech Ltd. System and method for controlling usage of cryptographic keys
US20190245857A1 (en) 2018-02-02 2019-08-08 Unbound Tech Ltd. Method for securing access by software modules
US11444779B2 (en) 2018-08-02 2022-09-13 Paypal, Inc. Techniques for securing application programming interface requests using multi-party digital signatures
EP3850786B1 (en) 2018-09-11 2024-04-10 Zengo Ltd. System and method for secure multi-party computation based blockchain transactions
WO2020142633A1 (en) * 2019-01-03 2020-07-09 Tokenvault, Inc. Apparatus and methods for remote controlled cold storage of digital assets using near field communication tags
US11082235B2 (en) 2019-02-14 2021-08-03 Anchor Labs, Inc. Cryptoasset custodial system with different cryptographic keys controlling access to separate groups of private keys
SG11202113362XA (en) * 2019-06-10 2021-12-30 Tzero Ip Llc Key recovery using encrypted secret shares
CN114730420A (zh) * 2019-08-01 2022-07-08 科恩巴斯公司 用于生成签名的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938604A (zh) * 2023-09-18 2023-10-24 深圳市上融科技有限公司 一种基于多方的电子签章系统及方法与流程
CN116938604B (zh) * 2023-09-18 2023-11-28 深圳市上融科技有限公司 一种基于多方的电子签章系统及方法

Also Published As

Publication number Publication date
WO2022053951A1 (en) 2022-03-17
US20220085989A1 (en) 2022-03-17
US11943346B2 (en) 2024-03-26
EP4211865A1 (en) 2023-07-19
US20230208631A1 (en) 2023-06-29
US11632244B2 (en) 2023-04-18
AU2021341778A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
US11936774B2 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
EP3732856B1 (en) System and method for decentralized-identifier authentication
EP3688930B1 (en) System and method for issuing verifiable claims
EP3721603B1 (en) System and method for creating decentralized identifiers
US20210281413A1 (en) Blockchain-based transaction method and apparatus, and remitter device
US11050549B2 (en) Blockchain-based transaction method and apparatus, and remitter device
KR102150814B1 (ko) 정보 보호를 위한 시스템 및 방법
TWI712306B (zh) 在區塊鏈網路中的跨資產交易的方法、電腦可讀儲存媒體及系統
WO2019179535A2 (en) System and method for verifying verifiable claims
KR20200066257A (ko) 정보 보호를 위한 시스템 및 방법
KR20200066260A (ko) 정보 보호를 위한 시스템 및 방법
KR20200066259A (ko) 정보 보호를 위한 시스템 및 방법
US11386426B2 (en) Invoice invalidation method and apparatus based on blockchain, and electronic device
US11943346B2 (en) Techniques for single round multi-party computation for digital signatures
JP2023504535A (ja) アイデンティティ(id)ベース公開鍵生成プロトコル
US20230237437A1 (en) Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing
Skudnov Bitcoin clients
CN112003690A (zh) 密码服务系统、方法及装置
US11770263B1 (en) Systems and methods for enforcing cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs comprising shared digital signature requirements
US11803842B2 (en) System and method for authenticating digital transaction by implementing multi-party computation protocol
Qiao Group Signatures for Preserving Anonymity in Blockchain Supply Chain Transactions

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