CN115499135B - 一种基于对称密码的环签名方法及系统 - Google Patents
一种基于对称密码的环签名方法及系统 Download PDFInfo
- Publication number
- CN115499135B CN115499135B CN202211116279.0A CN202211116279A CN115499135B CN 115499135 B CN115499135 B CN 115499135B CN 202211116279 A CN202211116279 A CN 202211116279A CN 115499135 B CN115499135 B CN 115499135B
- Authority
- CN
- China
- Prior art keywords
- circuit
- block cipher
- zero knowledge
- knowledge proof
- assertion
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000007781 pre-processing Methods 0.000 claims abstract description 26
- 238000004088 simulation Methods 0.000 claims abstract description 11
- 238000005516 engineering process Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000013515 script Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 description 9
- 150000003839 salts Chemical class 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 235000021178 picnic Nutrition 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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/3255—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种基于对称密码的环签名方法及系统,其属于网络空间安全技术领域,所述方案包括:获取分组密码电路,并对电路进行预处理;将分组密码电路分解为第一分组密码电路和第二分组密码电路;输入消息后,对所述第一分组密码电路应用零知识证明,第二分组密码电路基于预先选择的随机数,采用重新随机化技术将所述第二分组密码电路划分为N个断言分支,并根据对应断言分支是否有证据分别应用零知识证明和模拟器模拟证明,生成最终签名;其中,每个断言分支对应一位环成员的公钥;所述零知识证明采用1‑out‑of‑N的零知识证明,N为环成员数量,签名者证明知道环成员中某位成员公钥所对应的私钥。
Description
技术领域
本公开属于网络空间安全技术领域,尤其涉及一种基于对称密码的环签名方法及系统。
背景技术
环签名是一类可提供签名者身份隐私保护的数字签名方案,允许用户选择成员组成群体(环)并代表该群体匿名签署消息,具有不可伪造性与匿名性。这种特性使环签名可以广泛的应用于匿名电子选举、电子货币、电子政务、密钥分配、安全多方计算等。随着量子计算技术的飞速发展,抗量子计算的环签名方案备受关注,其中Katz、Kolesnikov与Wang(参见Jonathan Katz,Vladimir Kolesnikov,and Xiao Wang.Improved Non-InteractiveZero Knowledge with Applications to Post-Quantum Signatures.In ACM SIGSACConference on Computer and Communications Security,pp.525–537.ACM Press,2018.)改进了后量子数字签名Picnic所基于的零知识证明技术,提出了一种基于对称密码的环签名方案(KKW环签名),其安全性仅依赖于对称密码,但是该环签名方案存在签名长度较大的问题,制约了其在实际应用中的性能。
发明内容
基于现有技术存在的问题,本公开提供了一种基于对称密码的环签名及系统,所述方案通过对分组密码电路进行分解,采用1-out-of-N的零知识证明对分解后的电路进行相应处理,相对于现有的KKW环签名方法,本公开所述方案在环成员数量小于32的条件下,可显著降低环签名长度。
根据本公开实施例的第一个方面,提供了一种基于对称密码的环签名方法,包括:
步骤1:获取分组密码电路,并对电路进行预处理;
步骤2:将分组密码电路分解为第一分组密码电路和第二分组密码电路;
步骤3:输入消息后,对所述第一分组密码电路应用零知识证明,第二分组密码电路基于预先选择的随机数,采用重新随机化技术将所述第二分组密码电路划分为N个断言分支,并根据对应断言分支是否有证据分别应用零知识证明和模拟器模拟证明,生成最终签名;
其中,每个断言分支对应一位环成员的公钥;所述零知识证明采用1-out-of-N的零知识证明,N为环成员数量,签名者证明知道环成员中某位成员公钥所对应的私钥。
进一步的,所述获取分组密码电路,并对电路进行预处理,具体为:采用预处理“MPC-in-the-head”协议,所述协议分为预处理阶段和在线阶段两个阶段,在预处理阶段为在线阶段生成相关数据,并将电路分解为两部分。
进一步的,所述预处理阶段为整个电路的每条输入线路和所有乘法门的输出线路分配随机掩码,并为每个虚拟参与方分配对应的随机掩码份额;如果门电路是异或门,每个参与方在本地计算掩码份额的异或;如果门电路是乘法门,每个参与方的输入线路拥有两个掩码份额,并且为参与方设置辅助信息。
进一步的,所述在线阶段运行虚拟的安全多方计算协议,每个参与方都持有含掩码的输入值以及各自的掩码份额;如果门电路是异或门,每个参与方自行计算线路的输出结果;如果门电路是乘法门,每个参与方计算份额,对所有参与方通过公开各自份额重构,得到电路最终输出结果。
进一步的,所述步骤3具体为:采用“MPC-in-the-head”协议对第一分组密码电路进行计算,并对其输出进行掩码重新随机化,以进一步完成零知识证明;同时,对于步骤3中证明者没有证据的断言分支,证明者固定挑战,运行模拟器进行相关计算得到证明脚本;对于具有证据的电路,进行零知识证明,最终签名生成。
进一步的,所述第二分组密码电路规模显著小于所获取的原分组密码电路。
根据本公开实施例的第二个方面,提供了一种基于对称密码的环签名系统,包括:
预处理模块,其被配置为:获取分组密码电路,并对电路进行预处理;将分组密码电路分解为第一分组密码电路和第二分组密码电路;
证明模块,其被配置为:输入消息后,对所述第一分组密码电路应用零知识证明,第二分组密码电路基于预先选择的随机数,采用重新随机化技术将所述第二分组密码电路划分为N个断言分支,并根据对应断言分支是否有证据分别应用零知识证明和模拟器模拟证明,生成最终签名;
其中,每个断言分支对应一位环成员的公钥;所述零知识证明采用1-out-of-N的零知识证明,N为环成员数量,签名者证明知道环成员中某位成员公钥所对应的私钥。
根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于对称密码的环签名方法。
根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于对称密码的环签名方法。
与现有技术相比,本公开的优势为:
(1)本公开提供了一种基于对称密码的环签名及系统,所述方案通过对分组密码电路进行分解,采用1-out-of-N的零知识证明对分解后的电路进行相应处理,相对于现有的KKW环签名方法,本公开所述方案在环成员数量较小的情况下,具有更小的签名长度,特别是在环成员数量小于32的条件下,本公开所述方案长度仅为KKW环签名方案的1/3,能够显著降低环签名长度。
(2)本公开所述环签名方案适用于存在匿名需求的场景,如在匿名交易、匿名投票等,系统内成员使用其他成员的公钥信息自发组成环,对相关信息进行环签名,将签名及所签署的信息公开后,其他人可验证签名,并确认签名由系统内某位成员生成,但无法确认具体由哪一位成员生成,能够有效保证系统内成员的隐私。
附图说明
构成本实施例的一部分的说明书附图用来提供对本实施例的进一步理解,本实施例的示意性实施例及其说明用于解释本实施例,并不构成对本实施例的不当限定。
图1为本公开实施例中所述的签名者进行签名的流程图;
图2为本公开实施例中所述的验证者进行验证的流程图;
图3为本公开实施例中所述的签名者执行电路的结构图;
图4为本公开实施例中所述的环签名流程图;
图5为本公开实施例中所述的进行优化的二叉树结构图。
具体实施方式:
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
实施例1:
本实施例的目的是提供一种基于对称密码的环签名方法。
一种基于对称密码的环签名方法,包括:
步骤1:获取分组密码电路,并对电路进行预处理;
步骤2:将分组密码电路分解为第一分组密码电路和第二分组密码电路;
步骤3:输入消息后,对所述第一分组密码电路应用零知识证明,第二分组密码电路基于预先选择的随机数,采用重新随机化技术将所述第二分组密码电路划分为N个断言分支,并根据对应断言分支是否有证据分别应用零知识证明和模拟器模拟证明,生成最终签名;
其中,每个断言分支对应一位环成员的公钥;所述零知识证明采用1-out-of-N的零知识证明,N为环成员数量,签名者证明知道环成员中某位成员公钥所对应的私钥。
进一步的,所述获取分组密码电路,并对电路进行预处理,具体为:采用预处理“MPC-in-the-head”协议,所述协议分为预处理阶段和在线阶段两个阶段,在预处理阶段为在线阶段生成相关数据,并将电路分解为两部分。
进一步的,所述预处理阶段为整个电路的每条输入线路和所有乘法门的输出线路分配随机掩码,并为每个虚拟参与方分配对应的随机掩码份额;如果门电路是异或门,每个参与方在本地计算掩码份额的异或;如果门电路是乘法门,每个参与方的输入线路拥有两个掩码份额,并且为参与方设置辅助信息。
进一步的,所述在线阶段运行虚拟的安全多方计算协议,每个参与方都持有含掩码的输入值以及各自的掩码份额;如果门电路是异或门,每个参与方自行计算线路的输出结果;如果门电路是乘法门,每个参与方计算份额,对所有参与方通过公开各自份额重构,得到电路最终输出结果。
进一步的,所述步骤3具体为:采用零知识证明对第一分组密码电路进行计算,并对计算后的第一分组密码电路进行掩码重新随机化;同时,对于证明者没有证据的断言分支,证明者固定挑战,运行模拟器进行相关计算得到证明脚本;对于具有证据的电路,进行零知识证明,最终签名生成。
进一步的,所述第二分组密码电路规模显著小于所获取的原分组密码电路。
具体的,为了便于理解,以下结合附图对本实施例所述方法进行详细说明:
本实施例提供了预处理阶段在Katz、Kolesnikov与Wang的预处理“MPC-in-the-head技术(KKW协议)”基础上,结合分组密码结构特点,将分组密码电路分解为第一分组密码电路和第二分组密码电路两部分;定义分组密码其中第一分组密码电路f1(x)=y1,令C表示F对应的电路,第一分组密码电路C(1)表示f1对应的电路,第二分组密码电路C(2)表示f2对应的电路,f2对应电路C(2)规模显著小于C;对于N个断言(C,y1),(C,y2),…,(C,yN),证明者只知道其中的一个证据wt使得C(wt)=yt,t∈[N]。在构造环签名时,yi对应成员i的公钥,wi为对应私钥,其中i∈[N],签名者即为证明者。
本实施例中提出的基于对称密码的环签名方案在输入签名消息m后,首先运行KKW协议至电路C(1)计算结束,对于N-1个没有证据的断言分支,通过模拟器来执行C(2)的固定挑战的电路证明,并保证输出的模拟证明脚本和断言的一致性,其中固定挑战由签名者随机选取。对于具有证据的断言分支,则正确执行C(2)的电路零知识证明。令zα表示电路C在输入w后线路α对应的值,签名者的输入掩码为λα∈{0,1},计算得到电路的含掩码的输入值/>签名者在把带掩码的输入值运行至C(2)的输入电路时,对相关掩码进行重新随机化,对于签名者没有证据的N-1个断言分支,签名者随机选择挑战并运行模拟器完成后续零知识证明脚本的生成,将每个断言分支运行至断言所对应的输出结果;对于签名者具有证据的断言分支,签名者根据证据运行零知识证明得到对应的证明脚本。在收到验证者发来的挑战后,签名者根据自己为N-1个断言分支选择的挑战和收到的总挑战,计算出自己具有证据的断言分支对应的挑战,再计算对应断言分支的证明脚本,其中总挑战利用Fiat-Shamir转换方法生成。最终,N个断言分支的证明(包括承诺、挑战、消息)共同构成了关于消息m的环签名。
本实施例中利用的预处理“MPC-in-the-head”协议分为两个阶段:预处理阶段和在线阶段。
具体的,预处理阶段为整个电路的每条输入线路和所有乘法门的输出线路分配随机掩码,同时为每个“虚拟”参与方分配对应的随机掩码份额(假设共有n个“虚拟”参与方);将每个电路门的输入线路记为α和β,输出线路记为γ;其中:
1、若该电路门是异或门,每个“虚拟”参与方可以独自计算掩码份额的异或,即
2、若该电路门是乘法门,每个“虚拟”参与方的输入线路拥有两个掩码份额[λα]、[λβ],为每个参与方随机生成份额[λα,β]在协议执行阶段使用。利用该方式随机生成的掩码份额并不能保证等式的成立,因此为了确保份额{λα,β}的正确性,需要为最后一个参与方设置辅助信息aux,满足
每个虚拟参与方拥有一个长度为κ比特的种子{seedi∈{0,1}κ}i∈[n],每个参与方用自己的种子seedi生成执行多方安全计算协议时需要的随机数和掩码份额,最后一个参与方额外拥有辅助信息auxn;在签名过程中,保留计算得到对应的随机掩码值/>利用随机掩码值/>和seedΔ计算得到不同环签名成员的输入随机掩码;环签名运行C(2)电路证明,利用seedΔ生成N次C(2)电路证明执行用到的随机掩码差值{Δ(u)}u∈[N],第u次执行的输入随机掩码为/>每个参与方利用/>生成第u次执行的输入掩码份额/>为了确保份额/>的正确性,需为最后一个参与方指定辅助比特corr,满足/>将辅助比特corr存入auxn中。设state表示参与方在预处理阶段的状态信息,针对前n-1个参与方,令{statei=seedi}i∈[1,...,n-1],用于协议执行时生成/>针对第n个参与方,令staten=seedn||auxn,用于协议执行时生成[λα]n和[λα,β]n。
在线阶段,假设每个虚拟参与方都持有各自的掩码份额以及带掩码的输入值假设两条输入线路为α和β,分别对应带掩码的输入值/>和/>输出线路为γ,每个参与方需要计算出线路的输出结果/>签名者模拟运行安全多方计算协议:
1、如果门电路是异或门,每个参与方可本地计算
2、如果门电路是乘法门,每个参与方计算[λγ]。所有参与方通过公开各自份额[s]重构得到s,由于/>和可以得到/>在得到电路最终输出结果/>后,可以通过公开对应λγ来验证zγ的正确性。
环签名的在线阶段计算带掩码的输入值将/>发送给每个虚拟参与方;对于每个门电路,按照上述计算方式执行C(1)电路证明至/>再根据seedΔ计算电路C(2)的重新随机化之后的输入值。分别对有证据和无证据的断言分支进行不同的电路C(2)的证明。对于具有证据的断言分支的证明,继续上述门电路的计算方式完成电路C(2)证明;对于没有证据的断言分支的证明,运行模拟器将输入值计算至对应的断言所要求的输出值,完成电路C(2)证明。
进一步的,以下从具体实施例的角度对本实施例所述的环签名方案进行详细说明:
令表示一种分组密码算法,其中/>表示密钥空间,/>表示明文空间,/>表示密文空间。在本方案中,明文固定为全0比特串,此时,该分组密码电路表示为C(·)=Enc(·,0)。
环签名方案包括以下三个算法,分别为密钥生成算法、签名算法与验证算法。
密钥生成算法:输入安全参数κ,生成随机数计算y=C(w)。输出验证公钥pk=y,签名私钥sk=w。
签名算法:假设环大小为N,签名用户为S,是第t∈[N]个环成员。如图1所示,签名用户S输入签名私钥sk,消息message,环上所有用户的公钥{pki}{i∈N},执行以下步骤。
S1、承诺阶段:
S11、签名者S均匀随机的生成salt∈{0,1}k和伪随机生成器种子seedΔ∈{0,1}k。
S12、对于每个实例j∈[M]:
S12a、签名者S均匀随机的生成伪随机生成器主种子并利用生成:
(seedj,1,rj,1),…,(seedj,n,rj,n),
…,
S12b、签名者S根据上述KKW方法计算针对i∈[n-1],令statej,i=seedj,i;令statej,n=seedj,n||auxj,n。
S12c、签名者S利用seedΔ生成
S12d、签名者S利用为C(2)电路的每条输入线路生成/>
(1)针对所有u∈[N],i∈[n-1],签名者S利用为C(2)电路的每条输入线路生成随机掩码份额/>并计算/>满足/> 并根据上述KKW方法计算/>
(2)针对所有u∈[N],i∈[n-1],令令/>
S12e、针对每个i∈[n],签名者S计算comj,i=Com(statej,i,rj,i,salt),其中Com为承诺方案。
S12f、针对所有u∈[N],i∈[n],计算
S12g、签名者S利用{statej,i}i∈[n]按照以下方式执行:
(1)对于电路C的每一条输入线路α,利用seedj,i生成掩码{λj,α}。
(2)计算包含掩码的输入值即/>其中wα表示w对应电路C的输入线路α的值。
(3)根据C(1)的KKW电路证明在线阶段,运行n个参与方的安全多方计算协议每个参与方生成消息msgsj,i。
(4)令执行完C(1)电路后的中间值为 其中zj,α,inter为计算C(w)过程中线路α产生的中间状态值,λj,α,inter为线路α的掩码值)。
S12h、签名者S按照以下方式执行C(2)电路证明在线阶段:
(1)对于u=t,计算掩码后的C(2)电路输入值即/>根据C(2)电路的KKW在线证明,利用/>和/>运行n个参与方的安全多方计算协议/>每个参与方生成消息/>
(2)对于每个u≠t,t∈[N],计算掩码后的C(2)电路输入值即选择一个随机挑战/>利用/>和/>模拟C(2)电路的KKW在线证明,计算至对应的断言所要求的输出值。令/>记作由模拟算法Simπ输出的用户Pi的消息。
S12i、签名者S利用杂凑函数H计算
和
S12j、签名者S计算ht=H(h1,…,hM),h′t=H(h′1,…,h′M)和
S2、挑战阶段:
S21、签名者S计算生成一个均匀随机的大小为τ的集合C∈[M]和P={pj}j∈C(其中pj∈[n])。
S3、响应阶段:签名者S将签名σ发送给验证者V,其中σ包含以下内容:
(1)salt、seedΔ和
(2)对于j∈[M]/C,签名者S发送h′j,t。
(3)对于j∈C,签名者S发送和其中/>
(4)对于j∈C和u∈[N],签名者S发送和
验证算法:输入公钥pk,消息message及签名σ,
如图2所示,验证者V将进行以下检查,所有检查都通过则验证成功:
(1)对于j∈[M],用seedΔ计算
(2)对于j∈C,
1)验证者V检查
2)验证者V利用{statej,i,rj,i}i≠pj和salt计算{comj,i}i≠pj。
3)对于u∈[N],验证者V利用和salt计算/>然后计算/>
(3)对于j∈[M]/C,验证者V用salt和/>计算hj,然后计算ht=H(h1,…,hM)。
(4)对于j∈C,
1)验证者V利用 和/>模拟n个参与方执行多方安全计算协议/>计算得到/>和带掩码的中间状态/>
2)对于u∈[N],验证者V利用重随机化的带掩码的中间状态/>和/>模拟n个参与方执行多方安全计算协议/>计算得到和输出结果y′u。检查yu是否等于y′u,并计算/>
3)验证者V计算h′=H(h′1,…,h′M)。
(5)验证者V检查H(h,h′)=h*。
如图3所示,签名者在每轮签名的实例中,执行包含n个虚拟参与方输入和输出,并且每个输入线路都有一个掩码份额。每次执行的电路中包含若干异或门或乘法门,每个门电路如上所述方式具体执行。
图4展示了本公开环签名流程图,签名中首先执行C(1)电路,在对相关掩码进行重随机化后执行N次C(2)电路,其中签名者对具有的证据的断言分支正常进行零知识证明,对没有证据的N-1个断言分支进行模拟器模拟证明,生成环签名。
图5展示了本公开采用的二叉树结构图,假设隐藏的种子为seed5,如果不采用二叉树的结构进行优化,则需要发送除了seed5的7个种子;采用二叉树结构进行优化后,只需要发送seed6、seed14、seed78总共3个种子;利用这样的结构可以减小环签名大小。
本公开提供的环签名方案适用于存在匿名需求的场景,如在匿名投票场景中,机构内成员对投票信息进行环签名,并通过可信机构公布签名信息和投票结果,其他参与方验证签名时,仅可确认投票者(签名者)为机构内成员,无法确认具体投票者;本方案在环尺寸较小的情况下,与KKW环签名方案(安全参数128bit)相比,具有更小的签名长度,如表1所示为签名长度对比表。
表1:签名对比
实施例2:
本实施例的目的是提供一种基于对称密码的环签名系统。
一种基于对称密码的环签名系统,包括:
预处理模块,其被配置为:获取分组密码电路,并对电路进行预处理;将分组密码电路分解为第一分组密码电路和第二分组密码电路;
证明模块,其被配置为:输入消息后,对所述第一分组密码电路应用零知识证明,第二分组密码电路基于预先选择的随机数,采用重新随机化技术将所述第二分组密码电路划分为N个断言分支,并根据对应断言分支是否有证据分别应用零知识证明和模拟器模拟证明,生成最终签名;
其中,每个断言分支对应一位环成员的公钥;所述零知识证明采用1-out-of-N的零知识证明,N为环成员数量,签名者证明知道环成员中某位成员公钥所对应的私钥。
进一步的,本实施例所述系统与实施例一中所述方法相对应,其技术细节在实施例一中进行了详细描述,故此处不再赘述。
实施例3:
本实施例的目的是提供一种电子设备。
一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现实施例一中所述的一种基于对称密码的环签名方法。
实施例4:
本实施例的目的是提供一种非暂态计算机可读存储介质。
一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一中所述的一种基于对称密码的环签名方法。
以上所述仅为本实施例的优选实施例,并不用于限制本实施例,对于本领域的技术人员,本实施例可以有各种更改和变化。凡在本实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实施例的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
Claims (9)
1.一种基于对称密码的环签名方法,其特征在于,包括:
步骤1:获取分组密码电路,并对电路进行预处理;
步骤2:将分组密码电路分解为第一分组密码电路和第二分组密码电路;
步骤3:输入消息后,对所述第一分组密码电路应用零知识证明,第二分组密码电路基于预先选择的随机数,采用重新随机化技术将所述第二分组密码电路划分为N个断言分支,并根据对应断言分支是否有证据分别应用零知识证明和模拟器模拟证明,生成最终签名;
其中,每个断言分支对应一位环成员的公钥;所述零知识证明采用1-out-of-N的零知识证明,N为环成员数量,签名者证明知道环成员中某位成员公钥所对应的私钥;
所述步骤3具体为:采用“MPC-in-the-head”协议对第一分组密码电路进行计算,并对其输出进行掩码重新随机化,以进一步完成零知识证明;同时,对于证明者没有证据的断言分支,证明者固定挑战,运行模拟器进行相关计算得到证明脚本;对于具有证据的电路,进行零知识证明,最终签名生成;
进一步的,所述对于证明者没有证据的断言分支,证明者固定挑战,运行模拟器进行相关计算得到证明脚本;对于具有证据的电路,进行零知识证明,最终签名生成,具体包括:基于对称密码的环签名方案在输入签名消息m后,首先运行“MPC-in-the-head”协议至第一分组密码电路计算结束,对于N-1个没有证据的断言分支,通过模拟器来执行第二分组密码电路的固定挑战的电路证明,并保证输出的模拟证明脚本和断言的一致性,其中固定挑战由签名者随机选取;对于具有证据的断言分支,则正确执行第二分组密码电路的电路零知识证明。
2.如权利要求1所述的一种基于对称密码的环签名方法,其特征在于,所述获取分组密码电路,并对电路进行预处理,具体为:采用预处理“MPC-in-the-head”协议,所述协议分为预处理阶段和在线阶段两个阶段,在预处理阶段为在线阶段生成相关数据,并将电路分解为两部分。
3.如权利要求2所述的一种基于对称密码的环签名方法,其特征在于,所述预处理阶段为整个电路的每条输入线路和所有乘法门的输出线路分配随机掩码,并为每个虚拟参与方分配对应的随机掩码份额;如果门电路是异或门,每个参与方在本地计算掩码份额的异或;如果门电路是乘法门,每个参与方的输入线路拥有两个掩码份额,并且为参与方设置辅助信息。
4.如权利要求2所述的一种基于对称密码的环签名方法,其特征在于,所述在线阶段运行虚拟的安全多方计算协议,每个参与方都持有含掩码的输入值以及各自的掩码份额;如果门电路是异或门,每个参与方自行计算线路的输出结果;如果门电路是乘法门,每个参与方计算份额,对所有参与方通过公开各自份额重构,得到电路最终输出结果。
5.如权利要求1所述的一种基于对称密码的环签名方法,其特征在于,所述第二分组密码电路规模显著小于所获取的原分组密码电路。
6.一种基于对称密码的环签名系统,其特征在于,包括:
预处理模块,其被配置为:获取分组密码电路,并对电路进行预处理;将分组密码电路分解为第一分组密码电路和第二分组密码电路;
证明模块,其被配置为:输入消息后,对所述第一分组密码电路应用零知识证明,第二分组密码电路基于预先选择的随机数,采用重新随机化技术将所述第二分组密码电路划分为N个断言分支,并根据对应断言分支是否有证据分别应用零知识证明和模拟器模拟证明,生成最终签名;
其中,每个断言分支对应一位环成员的公钥;所述零知识证明采用1-out-of-N的零知识证明,N为环成员数量,签名者证明知道环成员中某位成员公钥所对应的私钥;
具体为:采用“MPC-in-the-head”协议对第一分组密码电路进行计算,并对其输出进行掩码重新随机化,以进一步完成零知识证明;同时,对于证明者没有证据的断言分支,证明者固定挑战,运行模拟器进行相关计算得到证明脚本;对于具有证据的电路,进行零知识证明,最终签名生成;
进一步的,所述对于证明者没有证据的断言分支,证明者固定挑战,运行模拟器进行相关计算得到证明脚本;对于具有证据的电路,进行零知识证明,最终签名生成,具体包括:基于对称密码的环签名方案在输入签名消息m后,首先运行“MPC-in-the-head”协议至第一分组密码电路计算结束,对于N-1个没有证据的断言分支,通过模拟器来执行第二分组密码电路的固定挑战的电路证明,并保证输出的模拟证明脚本和断言的一致性,其中固定挑战由签名者随机选取;对于具有证据的断言分支,则正确执行第二分组密码电路的电路零知识证明。
7.如权利要求6所述的一种基于对称密码的环签名系统,其特征在于,所述获取分组密码电路,并对电路进行预处理,具体为:采用预处理“MPC-in-the-head”协议,所述协议分为预处理阶段和在线阶段两个阶段,在预处理阶段为在线阶段生成相关数据,并将电路分解为两部分。
8.一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5任一项所述的一种基于对称密码的环签名方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一项所述的一种基于对称密码的环签名方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211116279.0A CN115499135B (zh) | 2022-09-14 | 2022-09-14 | 一种基于对称密码的环签名方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211116279.0A CN115499135B (zh) | 2022-09-14 | 2022-09-14 | 一种基于对称密码的环签名方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115499135A CN115499135A (zh) | 2022-12-20 |
CN115499135B true CN115499135B (zh) | 2024-04-12 |
Family
ID=84467969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211116279.0A Active CN115499135B (zh) | 2022-09-14 | 2022-09-14 | 一种基于对称密码的环签名方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499135B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413078A (zh) * | 2018-11-07 | 2019-03-01 | 沈阳工业大学 | 一种基于标准模型下群签名的匿名认证方案 |
CN109586896A (zh) * | 2018-11-14 | 2019-04-05 | 陕西师范大学 | 一种基于哈希前缀树的数据完整性验证方法 |
CN111342973A (zh) * | 2020-02-27 | 2020-06-26 | 中南民族大学 | 一种安全的pki与ibc之间的双向异构数字签名方法 |
CN111886829A (zh) * | 2018-03-23 | 2020-11-03 | 区块链控股有限公司 | 用于去信任零知识或有支付的计算机实现的系统及方法 |
CN113132104A (zh) * | 2019-12-30 | 2021-07-16 | 中国科学院软件研究所 | 一种主动安全的ecdsa数字签名两方生成方法 |
CN113591160A (zh) * | 2021-07-30 | 2021-11-02 | 山东大学 | 一种基于对称密码的状态数字签名方法及系统 |
CN113875188A (zh) * | 2019-05-24 | 2021-12-31 | 区块链控股有限公司 | 哈希函数攻击 |
CN114095181A (zh) * | 2021-11-29 | 2022-02-25 | 贵州亨达集团信息安全技术有限公司 | 一种基于国密算法的门限环签名方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL268145B2 (en) * | 2017-01-23 | 2023-09-01 | Syed Kamran Hasan | Universal connections bchain e3a |
GB201711878D0 (en) * | 2017-07-24 | 2017-09-06 | Nchain Holdings Ltd | Computer - implemented system and method |
GB2578864B (en) * | 2018-09-24 | 2022-09-21 | Metrarc Ltd | Trusted ring |
-
2022
- 2022-09-14 CN CN202211116279.0A patent/CN115499135B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111886829A (zh) * | 2018-03-23 | 2020-11-03 | 区块链控股有限公司 | 用于去信任零知识或有支付的计算机实现的系统及方法 |
CN109413078A (zh) * | 2018-11-07 | 2019-03-01 | 沈阳工业大学 | 一种基于标准模型下群签名的匿名认证方案 |
CN109586896A (zh) * | 2018-11-14 | 2019-04-05 | 陕西师范大学 | 一种基于哈希前缀树的数据完整性验证方法 |
CN113875188A (zh) * | 2019-05-24 | 2021-12-31 | 区块链控股有限公司 | 哈希函数攻击 |
CN113132104A (zh) * | 2019-12-30 | 2021-07-16 | 中国科学院软件研究所 | 一种主动安全的ecdsa数字签名两方生成方法 |
CN111342973A (zh) * | 2020-02-27 | 2020-06-26 | 中南民族大学 | 一种安全的pki与ibc之间的双向异构数字签名方法 |
CN113591160A (zh) * | 2021-07-30 | 2021-11-02 | 山东大学 | 一种基于对称密码的状态数字签名方法及系统 |
CN114095181A (zh) * | 2021-11-29 | 2022-02-25 | 贵州亨达集团信息安全技术有限公司 | 一种基于国密算法的门限环签名方法及系统 |
Non-Patent Citations (2)
Title |
---|
基于TCM的智能电表隐私保护协议;赵佳;刘吉强;唐宏;;北京交通大学学报;20161015(05);全文 * |
边缘计算隐私保护研究进展;周俊;沈华杰;林中允;曹珍富;董晓蕾;;计算机研究与发展;20201009(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115499135A (zh) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210119769A1 (en) | Computer-implemented system and method for exchange of data | |
Groth et al. | Sub-linear zero-knowledge argument for correctness of a shuffle | |
JP5925969B2 (ja) | 2パーティ秘匿関数計算向けの入力整合性検証 | |
CN111342962B (zh) | 一种验证密文消息范围的方法和系统 | |
Williamson | The aztec protocol | |
Diamond | Many-out-of-many proofs and applications to anonymous zether | |
Gong et al. | Analysis and comparison of the main zero-knowledge proof scheme | |
CN115065463B (zh) | 一种隐私保护的神经网络预测系统 | |
CN111010285A (zh) | 一种适用于轻量级客户端的sm2两方协同签名方法及介质 | |
Benhamouda et al. | Threshold Cryptography as a Service (in the Multiserver and YOSO Models) | |
EP3379408B1 (en) | Updatable random functions | |
CN114640436A (zh) | 一种基于隐私保护的分组统计参数计算方法、装置 | |
CN113591160B (zh) | 一种基于对称密码的状态数字签名方法及系统 | |
Zheng et al. | SecDR: Enabling secure, efficient, and accurate data recovery for mobile crowdsensing | |
Backes et al. | A framework for constructing single secret leader election from MPC | |
CN113420886A (zh) | 纵向联邦学习模型的训练方法、装置、设备及存储介质 | |
CN117291258A (zh) | 一种基于函数秘密共享的神经网络训练推理方法和系统 | |
CN115499135B (zh) | 一种基于对称密码的环签名方法及系统 | |
Hajny et al. | Privacy ABCs: Now Ready for Your Wallets! | |
Zhang et al. | Verifier-local revocation group signatures with backward unlinkability from lattices | |
CN112995189B (zh) | 一种基于隐私保护的公开验证矩阵乘法正确性的方法 | |
Zhou et al. | Overview of Zero-Knowledge Proof and Its Applications in Blockchain | |
CN114358323A (zh) | 联邦学习环境中基于第三方高效皮尔森系数计算方法 | |
CN113780552A (zh) | 一种双向隐私保护的安全多方计算方法 | |
Wang et al. | zkfl: Zero-knowledge proof-based gradient aggregation for federated learning |
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 |