CN116865972B - 一种基于陷门哈希运算的区块链数据处理方法 - Google Patents

一种基于陷门哈希运算的区块链数据处理方法 Download PDF

Info

Publication number
CN116865972B
CN116865972B CN202310706974.0A CN202310706974A CN116865972B CN 116865972 B CN116865972 B CN 116865972B CN 202310706974 A CN202310706974 A CN 202310706974A CN 116865972 B CN116865972 B CN 116865972B
Authority
CN
China
Prior art keywords
hash
data
trapdoor
access control
original data
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
Application number
CN202310706974.0A
Other languages
English (en)
Other versions
CN116865972A (zh
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.)
Changsha University
Original Assignee
Changsha University
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 Changsha University filed Critical Changsha University
Priority to CN202310706974.0A priority Critical patent/CN116865972B/zh
Publication of CN116865972A publication Critical patent/CN116865972A/zh
Application granted granted Critical
Publication of CN116865972B publication Critical patent/CN116865972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/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/3218Cryptographic 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
    • H04L9/3221Cryptographic 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 interactive zero-knowledge proofs
    • 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/40Network security protocols
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种基于陷门哈希运算的区块链数据处理方法,将属性集合T与私钥关联,构建基于属性集合T的陷门哈希私钥,利用公钥生成与陷门哈希私钥相匹配的陷门哈希公钥;以陷门哈希公钥对区块链中的原始数据m进行哈希运算,在哈希运算过程中设定访问控制策略,生成与访问控制策略相关联的哈希值;利用该陷门哈希私钥对原始数据m进行哈希变换,将原始数据m替换为数据m′,输出数据m′的哈希值及用于验证数据m′哈希值的第二辅助参数。本申请提供的处理方法可以应用于区块链中实现对原始数据的删除或修改。

Description

一种基于陷门哈希运算的区块链数据处理方法
技术领域
本申请属于密码学技术领域,具体涉及一种基于陷门哈希运算的区块链数据处理方法。
背景技术
在区块链系统中,不同用户(节点)对数据计算哈希值后,将得到的哈希值放到某个区块中存储,每个区块的实际哈希值h2都包含了前一个区块的哈希值h1(即有h2=H(m2,m1)),这种哈希值层层包含与嵌套的方式保证了任意一个区块的哈希值都是难以修改的。
随着用户对数据安全与隐私保护的要求越来越高,需要赋予用户对数据进行删除或修改的权限,这种要求在集中式数据存储环境(如云计算)中是较容易实现的,但是在区块链系统中,不存在集中的数据保管者,用户数据是存放在区块链上的,而这些数据通过哈希的方式保证了难以修改,因此无法满足用户对数据进行删除或修改的需求。
因此,实有必要提供一种基于陷门哈希运算的区块链数据处理方法以解决上述问题。
发明内容
本申请提供一种基于陷门哈希运算的区块链数据处理方法,可以应用于区块链中实现对原始数据的删除或修改。
为了解决上述技术问题,本申请是这样实现的:
一种基于陷门哈希运算的区块链数据处理方法,其特征在于,包括如下步骤:
S1:初始化系统,生成系统公开参数,并利用所述系统公开参数生成相匹配的公钥和私钥;
S2:设定属性集合T,将所述属性集合T与所述私钥关联,构建基于所述属性集合T的陷门哈希私钥,利用所述公钥生成与所述陷门哈希私钥相匹配的陷门哈希公钥;
S3:以所述陷门哈希公钥对区块链中的原始数据m进行哈希运算,在哈希运算过程中设定访问控制策略,生成与访问控制策略相关联的哈希值及用于验证原始数据m哈希值的第一辅助参数,所述访问控制策略用于表征对原始数据m进行哈希变换的权限,满足所述访问控制策略才可对原始数据m进行哈希变换;
S4:判断陷门哈希私钥所关联的属性是否满足所述哈希值所关联的访问控制策略,若是,则利用该陷门哈希私钥对原始数据m进行哈希变换,将原始数据m替换为数据m′,对数据m′进行哈希运算,输出数据m′的哈希值及用于验证数据m′哈希值的第二辅助参数。
优选的,所述步骤S1具体包括如下过程:
S11:运行双线性群生成算法GGen(λ)→(G,GT,e,p),输入安全参数λ,输出阶为素数p的双线性群G、GT,其中,e:G×G→GT表示映射函数,将群G中的元素映射到群GT中;运行非交互式零知识证明的初始化算法NIZKGen(λ)→CRS,输入安全参数λ,输出公共参数CRS以用于生成证明及验证;选择抗碰撞哈希函数H:{0,1}*→Zp,其中,Zp表示阶为p的整数域;
所述系统公开参数表示为:PP=(G,GT,e,p,g,u,h,w,v,CRS,H),其中,g,u,h,w,v属于群G中的任意元素;
S12:选择随机数α,k∈Zp,计算:SK0=gαuk,SK1=gk
S13:输出公钥PK=e(g,g)α,私钥SK=(SK0,SK1)。
优选的,所述步骤S2具体包括如下步骤:
S21:选择随机秘密数x∈Zp,计算y=gx,以及关于(x,y)的零知识证明:πpk←NIZK{(x):t=gx};
S22:选择随机数t∈Zp,设定属性集合T,对属性集合T中的每一个属性Atti∈Zp,选择随机数yi∈Zp,计算:
K0=SK0wt=gαukwt;K1=SK1=gk;K2=gt
S23:输出陷门哈希公钥PKCH及陷门哈希私钥SLCH,分别表示为:
PKCH=(t,πpk,PK)=(t,πpk,e(g,g)α);
优选的,所述步骤S3具体包括如下过程:
S31:选择随机数δ∈Zp,计算b=gδ以及关于(δ,b)的零知识证明:πB←NIZK{(δ):b=gδ};
S32:选择随机数r∈Zp,对于给定的原始数据m计算M=H(m);a=yrgδM;d=yr及关于(r,d)的零知识证明:πD←NIZK{(r):d=yr},其中,H(m)表示对数据m进行哈希运算;
S33:设置访问控制结构生成线性秘密分割方案LSSS(A,ρ),其中,A表示l行n列的矩阵,ρ表示映射函数,ρ(i)表示将矩阵A中第i行映射为访问控制结构中的一个属性;
S34:选择随机数s∈Zp,以及n-1个随机数k2,k3,...,kn∈Zp,组成向量S=(s,k2,k3,...,kn),计算矩阵A的每一行Aj(1≤j≤l)与向量S的内积:λj=AjS;
S35:选择l个随机元素τ,τ2,...,τl∈Zp,计算:
C0=F(r)e(g,g)αs;C1=gs;C2=us
式中,F(·)表示可逆的编码函数,将整数域Zp中的元素映射到群FT中;
得到加密密文CT=(C0,C1,C2,{Ej,1,Ej,2,Ej,3});
S36:输出原始数据m的哈希值CH=(a,b,πB)及用于验证原始数据m哈希值的第一辅助参数Aug=(d,CT,πD,δ)。
优选的,所述步骤S4具体包括如下过程:
S41:根据线性秘密分割方案LSSS的线性特性,找到常数ωj∈Zp,使得∑j∈JωjAj=(1,0,…,0),其中J={j:ρ(j)∈S},计算:
S42:计算F(r)=C0/B,最后恢复出r,r=F-1(r);
S43:选择原始数据m需要替换成的数据m′,计算M=H(m)、M′=H(m′)、d′=yr′及关于(r′,d′)的零知识证明:πD′←NIZK{(r′):d′=yr′},其中,H(m′)表示对数据m′进行哈希运算;
S44:输出数据m′的哈希值CH′=CH=(a,b,πB)及用于验证数据m′哈希值的第二辅助参数Aug′=(d′,CT′,πD′)。
本申请的有益效果在于:
(1)允许用户调用算法自行生成公私钥,不需要由中心平台生成,实现了密钥的去中心化生成;
(2)利用陷门哈希运算,实现了对区块链中原始数据的修改,在修改的同时可以保持修改前后数据的哈希值不变;
(3)基于属性集合生成陷门哈希私钥,使得只有属性满足指定访问控制策略的哈希私钥可以进行哈希变换,将哈希值对应的原始数据替换成新的数据,可以实现哈希变换的灵活控制。
附图说明
图1表示本申请提供的一种基于陷门哈希运算的区块链数据处理方法的流程图。
具体实施方式
下面将结合本申请实施例,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请结合参阅图1,本发明提供一种基于陷门哈希运算的区块链数据处理方法,包括如下步骤:
S1:初始化系统,生成系统公开参数,并利用所述系统公开参数生成相匹配的公钥和私钥。
所述步骤S1具体包括如下步骤:
S11:运行双线性群生成算法GGen(λ)→(G,GT,e,p),输入安全参数λ,输出阶为素数p的双线性群G、GT,其中,e:G×G→GT表示映射函数,将群G中的元素映射到群GT中;运行非交互式零知识证明的初始化算法NIZKGen(λ)→CRS,输入安全参数λ,输出公共参数CRS以用于生成证明及验证;选择抗碰撞哈希函数H:{0,1}*→Zp,其中,Zp表示阶为p的整数域;
所述系统公开参数表示为:PP=(G,GT,e,p,g,u,h,w,v,CRS,H),其中,g,u,h,w,v属于群G中的任意元素;
S12:选择随机数α,k∈Zp,计算:SK0=gαuk,SK1=gk
S13:输出公钥PK=e(g,g)α,私钥SK=(SK0,SK1)。
零知识证明指是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。非交互式零知识证明是指证明者在不与验证者交互的情况下输出对某个论断的证明,如:π←NIZK{(x):R(x,w)=1};验证者可以在不知道有关x任何有用消息的情况下验证关系R(x,w)=1是成立的。
抗碰撞哈希函数具备两个基本特性:单向性和抗碰撞性。单向性指从哈希函数的输入可以轻易推导出输出,但从输出推导出输入则非常困难。抗碰撞性指不能找到两个不同的输入,使得它们的哈希函数输出值相等。哈希算法输入可以为任意字符串,输出为指定的域。
公钥PK及私钥SK的由用户调用算法自行生成,不需要由中心平台生成,实现了密钥的去中心化生成。
S2:设定属性集合T,将所述属性集合T与所述私钥关联,构建基于所述属性集合T的陷门哈希私钥,利用所述公钥生成与所述陷门哈希私钥相匹配的陷门哈希公钥。
所述步骤S2具体包括如下步骤:
S21:选择随机秘密数x∈Zp,计算y=gx,以及关于(x,y)的零知识证明:πpk←NIZK{(x):y=gx};
S22:选择随机数t∈Zp,设定属性集合T,对属性集合T中的每一个属性Atti∈Zp,选择随机数ti∈Zp,计算:
K0=SK0wt=gαukwt;K1=SK1=gk;K2=gt
S23:输出陷门哈希公钥PKCH及陷门哈希私钥SKCH,分别表示为:
PKCH=(y,πpk,PK)=(y,πpk,e(g,g)α);
所述陷门哈希公钥PKCH对外公布,所述陷门哈希私钥SKCH由用户秘密保管。利用上述算法可以为同一个陷门哈希公钥PKCH生成不同的陷门哈希私钥SKCH,这些不同的陷门哈希私钥SKCH共享相同的秘密数x,但是各自关联的属性集合不同,其密钥分量K0,K1,K2,也完全不同,不同的陷门哈希私钥SKCH可以分发至不同的用户。
所述属性集合T可以由原始数据m的拥有者针对数据使用者的属性进行设定,通过该种方式,原始数据m的拥有者可以为不同的数据使用者生成不同的陷门哈希私钥SKCH。同时秘密数x作为陷门,使得拥有陷门哈希私钥SKCH的用户均可以利用各自的陷门哈希私钥SKCH解密还原出原始数据m,实现原始数据m的分享与传播。
S3:以所述陷门哈希公钥对区块链中的原始数据m进行哈希运算,在哈希运算过程中设定访问控制策略,生成与访问控制策略相关联的哈希值及用于验证原始数据m哈希值的第一辅助参数,所述访问控制策略用于表征对原始数据m进行哈希变换的权限,满足所述访问控制策略才可对原始数据m进行哈希变换。
所述步骤S3具体包括如下过程:
S31:选择随机数δ∈Zp,计算b=gδ以及关于(δ,b)的零知识证明:πB←NIZK{(δ):b=gδ};
S32:选择随机数r∈Zp,计算M=H(m)、a=yrgδM、d=yr以及关于(r,d)的零知识证明:πD←NIZK{(r):d=yr},其中,H(m)表示对数据m进行哈希运算;
S33:设置由多个属性组成的访问控制结构生成线性秘密分割方案LSSS(A,ρ),其中,A表示l行n列的矩阵,ρ表示映射函数,ρ(i)表示将矩阵A中第i行映射为访问控制结构中的一个属性;
S34:选择随机数s∈Zp,以及n-1个随机数k2,k3,...,kn∈Zp,组成向量S=(s,k2,k3,...,kn),计算矩阵A的每一行Aj(1≤j≤l)与向量S的内积λj=AjS;
S35:选择l个随机元素τ,τ2,...,τl∈Zp,计算:
C0=F(r)e(g,g)αs;C1=gδ;C2=us
式中,F(·)表示可逆的编码函数,将整数域Zp中的元素映射到群GT中;
得到加密密文CT=(C0,C1,C2,{Ej,1,Ej,2,Ej,3});
S36:输出原始数据m的哈希值CH=(a,b,πB)及用于验证原始数据m哈希值的第一辅助参数Aug=(d,CT,πD,δ)。
所述访问控制策略是由与门“AND”和或门“OR”以及属性组成的布尔表达式。例如,在区块链中存储的是交易信息,访问控制结构/>=(“属性1:投资者”)OR(“属性2:投资管理公司”AND“属性3:投资顾问张三”),该访问控制策略/>表明,必须具备“投资者”这一属性,或者同时具备“投资管理公司”及“投资顾问张三”这两个属性的用户才能获得对原始数据m进行哈希变换的权限。当用户的属性为“投资管理公司”及“投资顾问李四”时,则不能获得对原始数据m进行哈希变换的权限。
所述访问控制策略通过线性秘密分割方案LSSS(A,ρ)进行表达,矩阵A每一行对应一个属性,ρ表示将矩阵A中行映射到访问控制结构中属性上的函数,例如ρ(1)=“投资者”表示所述矩阵A中第1行对应了属性“投资者”。
哈希值CH计算完成后,需要验证其是否属于原始数据m在陷门哈希公钥PKCH下的哈希值,首先需要非交互式零知识证明检查πpk、πB、πD的有效性,检查有效之后,判断等式a=dbM是否成立;若成立,则表明哈希值CH属于原始数据m在陷门哈希公钥PKCH下的哈希值;若不成立,则表明哈希值CH不属于原始数据m在陷门哈希公钥PKCH下的哈希值。验证的过程属于公开验证,即任何用户都可以验证哈希值的正确性,不需要输入任何秘密信息。
S4:判断陷门哈希私钥所关联的属性是否满足所述哈希值所关联的访问控制策略,若是,则利用该陷门哈希私钥对原始数据m进行哈希变换,将原始数据m替换为数据m′,对数据m′进行哈希运算,输出数据m′的哈希值及用于验证数据m′哈希值的第二辅助参数。
所述步骤S4具体包括如下过程:
S41:根据线性秘密分割方案LSSS的线性特性,找到常数ωj∈Zp,使得∑j∈JωjAj=(1,0,…,0),其中J={j:ρ(j)∈S},计算:
S42:计算F(r)=C0/B,最后恢复出r,r=F-1(r);
S43:选择原始数据m需要替换成的数据m′,计算M=H(m)、M′=H(m′)、d′=yr′及关于(r′,d′)的零知识证明:πD′←NIZK{(r′):d′=yr′},其中,H(m′)表示对数据m′进行哈希运算;
S44:输出数据m′的哈希值CH′=CH=(a,b,πB)及用于验证数据m′哈希值的第二辅助参数Aug′=(d′,CT′,πD′)。
哈希变换的过程需要输入陷门哈希私钥SKCH,因此哈希变换算法只能由拥有陷门哈希私钥SKCH的用户执行。
在执行哈希变换之前,需要先验证用户的身份,即验证陷门哈希私钥SKCH所关联的属性集合T是否满足哈希值所关联的访问控制策略,只有在满足的条件下,才能执行哈希变换过程,解密出随机数r,进而输出变换后的辅助参数Aug′。该种方式变换之前不需要预先知道用户的身份,可以实现哈希变换的灵活控制。
在哈希变换过程中,原始数据m被替换为数据m′,二者的哈希值保持不变,变换完成后,同样需要验证哈希值CH′是否属于数据m′在陷门哈希公钥PKCH下的哈希值,首先需要非交互式零知识证明检查πD′的有效性,检查有效之后,判断等式a=d′bM′是否成立;若成立,则表明哈希值CH属于数据m′在陷门哈希公钥PKCH下的哈希值;若不成立,则表明哈希值CH不属于数据m′在陷门哈希公钥PKCH下的哈希值。验证的过程同样属于公开验证,即任何用户都可以验证哈希值的正确性,不需要输入任何秘密信息。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (5)

1.一种基于陷门哈希运算的区块链数据处理方法,其特征在于,包括如下步骤:
S1:初始化系统,生成系统公开参数,并利用所述系统公开参数生成相匹配的公钥和私钥;
S2:设定属性集合T,将所述属性集合T与所述私钥关联,构建基于所述属性集合T的陷门哈希私钥,利用所述公钥生成与所述陷门哈希私钥相匹配的陷门哈希公钥;
S3:以所述陷门哈希公钥对区块链中的原始数据m进行哈希运算,在哈希运算过程中设定访问控制策略,生成与访问控制策略相关联的哈希值及用于验证原始数据m哈希值的第一辅助参数,所述访问控制策略用于表征对原始数据m进行哈希变换的权限,满足所述访问控制策略才可对原始数据m进行哈希变换,所述访问控制策略是由与门“AND”和或门“OR”以及属性组成的布尔表达式,所述访问控制策略/>通过线性秘密分割方案LSSS(A,ρ)进行表达,矩阵A每一行对应一个属性,ρ表示将矩阵A中行映射到访问控制结构中属性上的函数;
S4:判断陷门哈希私钥所关联的属性是否满足所述哈希值所关联的访问控制策略,若是,则利用该陷门哈希私钥对原始数据m进行哈希变换,将原始数据m替换为数据m′,对数据m′进行哈希运算,输出数据m′的哈希值及用于验证数据m′哈希值的第二辅助参数。
2.根据权利要求1所述的基于陷门哈希运算的区块链数据处理方法,其特征在于,所述步骤S1具体包括如下过程:
S11:运行双线性群生成算法输入安全参数λ,输出阶为素数p的双线性群G、GT,其中,e:G×G→GT表示映射函数,将群G中的元素映射到群GT中;运行非交互式零知识证明的初始化算法NIZKGen(λ)→CRS,输入安全参数λ,输出公共参数CRS以用于生成证明及验证;选择抗碰撞哈希函数H:{0,1}*→Zp,其中,Zp表示阶为p的整数域;
所述系统公开参数表示为:其中,属于群G中的任意元素;
S12:选择随机数α,计算:/>
S13:输出公钥私钥/>
3.根据权利要求2所述的基于陷门哈希运算的区块链数据处理方法,其特征在于,所述步骤S2具体包括如下步骤:
S21:选择随机秘密数计算/>以及关于(x,y)的零知识证明:
S22:选择随机数设定属性集合T,对属性集合T中的每一个属性/>选择随机数/>计算:
S23:输出陷门哈希公钥PKCH及陷门哈希私钥SKCH,分别表示为:
4.根据权利要求3所述的基于陷门哈希运算的区块链数据处理方法,其特征在于,所述步骤S3具体包括如下过程:
S31:选择随机数计算/>以及关于(δ,b)的零知识证明:/>
S32:选择随机数对于给定的原始数据m计算/> 及关于(r,d)的零知识证明:/>其中,H(m)表示对数据m进行哈希运算;
S33:设置访问控制结构生成线性秘密分割方案LSSS(A,ρ),其中,A表示/>行n列的矩阵,ρ表示映射函数,ρ(i)表示将矩阵A中第i行映射为访问控制结构中的一个属性;
S34:选择随机数以及n-1个随机数/>组成向量计算矩阵A的每一行/>与向量S的内积:/>
S35:选择个随机元素/>计算:
式中,F(·)表示可逆的编码函数,将整数域Zp中的元素映射到群GT中;
得到加密密文
S36:输出原始数据m的哈希值及用于验证原始数据m哈希值的第一辅助参数/>
5.根据权利要求4所述的基于陷门哈希运算的区块链数据处理方法,其特征在于,所述步骤S4具体包括如下过程:
S41:根据线性秘密分割方案LSSS的线性特性,找到常数使得其中/>计算:
S42:计算最后恢复出r,/>
S43:选择原始数据m需要替换成的数据m′,计算 及关于(r′,d′)的零知识证明:/> 其中,H(m′)表示对数据m′进行哈希运算;
S44:输出数据m′的哈希值及用于验证数据m′哈希值的第二辅助参数/>
CN202310706974.0A 2023-06-15 2023-06-15 一种基于陷门哈希运算的区块链数据处理方法 Active CN116865972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310706974.0A CN116865972B (zh) 2023-06-15 2023-06-15 一种基于陷门哈希运算的区块链数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310706974.0A CN116865972B (zh) 2023-06-15 2023-06-15 一种基于陷门哈希运算的区块链数据处理方法

Publications (2)

Publication Number Publication Date
CN116865972A CN116865972A (zh) 2023-10-10
CN116865972B true CN116865972B (zh) 2024-01-30

Family

ID=88218151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310706974.0A Active CN116865972B (zh) 2023-06-15 2023-06-15 一种基于陷门哈希运算的区块链数据处理方法

Country Status (1)

Country Link
CN (1) CN116865972B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274481A (zh) * 2018-08-01 2019-01-25 中国科学院数据与通信保护研究教育中心 一种区块链的数据可追踪方法
CN110417556A (zh) * 2019-07-02 2019-11-05 北京交通大学 区块链中的加密及签章验证方法
CN111262709A (zh) * 2020-01-17 2020-06-09 铜陵学院 基于陷门哈希函数的无证书签密系统及方法
CN112804272A (zh) * 2021-04-15 2021-05-14 北京安码科技有限公司 变色龙哈希函数的碰撞计算方法及可裁剪区块链账本结构

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11329825B2 (en) * 2018-12-17 2022-05-10 Insights Network System and method for authenticating user identity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274481A (zh) * 2018-08-01 2019-01-25 中国科学院数据与通信保护研究教育中心 一种区块链的数据可追踪方法
CN110417556A (zh) * 2019-07-02 2019-11-05 北京交通大学 区块链中的加密及签章验证方法
CN111262709A (zh) * 2020-01-17 2020-06-09 铜陵学院 基于陷门哈希函数的无证书签密系统及方法
CN112804272A (zh) * 2021-04-15 2021-05-14 北京安码科技有限公司 变色龙哈希函数的碰撞计算方法及可裁剪区块链账本结构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Guohao Zhou, Xuan Ding, Member, IEEE,, Haoxuan Han, and Ao Zhu.Fine-Grained Redactable Blockchain Using Trapdoor-Hash.IEEE INTERNET OF THINGS JOURNAL.2023,全文. *
基于陷门哈希函数的无证书签密方案;束红;;淮南师范学院学报(02);全文 *

Also Published As

Publication number Publication date
CN116865972A (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
EP3646563B1 (en) Method, system, and computer program product for determining solvency of a digital asset exchange
CN110011781B (zh) 用于交易金额加密且支持零知识证明的同态加密方法和介质
CN110457930B (zh) 策略隐藏的可追踪撤销恶意用户的属性基加密方法及系统
Wei et al. SecCloud: Bridging secure storage and computation in cloud
CN112104619B (zh) 基于外包密文属性加密的数据访问控制系统和方法
CN110414981B (zh) 一种支持ZKPs的同态加密方法和区块链交易金额加密方法
CN108881291B (zh) 一种基于分层授权机构的权重属性基加密方法
CN113159762B (zh) 基于Paillier和博弈论的区块链交易方法
CN114547643A (zh) 一种基于同态加密的线性回归纵向联邦学习方法
US20230006836A1 (en) Multi-party and multi-use quantum resistant signatures and key establishment
Thokchom et al. Privacy preserving integrity checking of shared dynamic cloud data with user revocation
Xie et al. Lattice-based dynamic group signature for anonymous authentication in IoT
Singh et al. Public integrity auditing for shared dynamic cloud data
CN112272092A (zh) 一种应用于区块链的数据编辑方法
CN118160275A (zh) 阈值签名方案
CN109743327B (zh) 基于无证书的云存储中共享数据的完整性公开验证方法
CN115514471A (zh) 利用相乘半群进行数字签名的方法和系统
EP3379408B1 (en) Updatable random functions
Alupotha et al. Aggregable confidential transactions for efficient quantum-safe cryptocurrencies
Shankar et al. Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward‐Curve Digital Signature Algorithm
Zhang et al. MEDAPs: secure multi‐entities delegated authentication protocols for mobile cloud computing
CN112434281B (zh) 一种面向联盟链的多因子身份认证方法
CN116865972B (zh) 一种基于陷门哈希运算的区块链数据处理方法
CN116319058A (zh) 一种基于区块链的属性和策略隐藏的访问控制方法
CN113507366B (zh) 一种基于格的可搜索日志盲签名方案

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant