CN111221569B - 文档更新方法和服务器 - Google Patents
文档更新方法和服务器 Download PDFInfo
- Publication number
- CN111221569B CN111221569B CN202010014151.8A CN202010014151A CN111221569B CN 111221569 B CN111221569 B CN 111221569B CN 202010014151 A CN202010014151 A CN 202010014151A CN 111221569 B CN111221569 B CN 111221569B
- Authority
- CN
- China
- Prior art keywords
- homomorphic
- updated
- subfiles
- node server
- split
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文档更新方法和服务器,方法包括:依据待更新内容信息生成同态计算函数和同态参数,待更新内容信息为对比原始文档和待更新文档获得的信息;依据待更新内容信息确定待更新子文件的标识,待更新子文件是分割子文件中待更新的文件,分割子文件是对原始文档进行分割获得的文件;依据同态计算函数、参数加密结果、待更新子文件对应的标识和编号,生成更新参数,参数加密结果是采用同态加密公钥对同态参数进行同态加密获得的结果;发送更新参数至区块链网络中,以使存储节点服务器根据更新参数更新存储节点服务器存储的分割子文件。提高了工作效率,避免资源的浪费。
Description
技术领域
本发明涉及计算机应用技术领域,具体涉及一种文档更新方法和服务器。
背景技术
软件文档或者源代码文档是指与软件***及其软件工程过程有关联的文本。软件文档的类型包括软件需求文档,设计文档,测试文档和用户手册等。其中的需求文档、设计文档和测试文档一般是在软件开发过程中由开发者撰写的,而用户手册等非过程类文档是由专门的非技术类写作人员撰写的。软件文档能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中能够指导、帮助开发人员对软件进行更新,同时,在软件更新及测试的过程中,对应的软件文档也需要同步更新。
通常,在软件文档的更新过程中,都需要对软件文档的内容进行加密,以保证更新内容的安全性;而在对加密后的软件文档的内容进行再次更新时,必须重新上传该软件文档的全部内容至服务器,对于只需更新部分章节的软件文档,这样操作就降低了工作效率,同时也造成了资源的浪费。
发明内容
为此,本发明提供一种文档更新方法和服务器,以解决现有技术中由于对加密后的软件文档的内容进行再次更新时,必须重新将软件文档的全部内容上传至服务器而导致的工作效率低下、浪费资源的问题。
为了实现上述目的,本发明第一方面提供一种文档更新方法,方法包括:依据待更新内容信息生成同态计算函数和同态参数,待更新内容信息为对比原始文档和待更新文档获得的信息;依据待更新内容信息确定待更新子文件的标识,待更新子文件是分割子文件中待更新的文件,分割子文件是对原始文档进行分割获得的文件;依据同态计算函数、参数加密结果、待更新子文件对应的标识和编号,生成更新参数,参数加密结果是采用同态加密公钥对同态参数进行同态加密获得的结果;发送更新参数至区块链网络中,以使存储节点服务器根据更新参数更新存储节点服务器存储的分割子文件。
在一些实施方式中,在根据待更新内容信息生成同态计算函数步骤之前,还包括:对原始文档进行分割,获得N个分割子文件,并为分割子文件分配对应的标识和编号,N为大于或等于1的整数;建立N个分割子文件与哈希树结构除根节点外所有叶子节点之间的映射关系;采用同态加密公钥分别对N个分割子文件进行同态加密,并将获得的N个加密后的分割子文件传送至区块链网络中,以使存储节点服务器存储分割子文件,同态加密公钥是根据同态密钥生成算法生成的秘钥。
在一些实施方式中,在发送更新参数至区块链网络中,以使存储节点服务器根据更新参数更新存储节点服务器存储的分割子文件步骤之后,还包括:从区块链网络中,获取到存储节点服务器存储的分割子文件、分割子文件对应的编号和分割子文件对应的哈希树的叶子节点的值;将叶子节点的值根据编号依次相加,获得加和结果,编号是连续的数字;使用同态加密私钥对加和结果进行同态解密,获得更新后的文档,同态加密私钥是根据同态密钥生成算法生成的秘钥。
在一些实施方式中,哈希树的根节点的值是将哈希树包括的所有叶子节点的值相加获得的值,叶子节点的值是使用同态加密公钥对分割子文件进行同态加密获得的值,且,叶子节点的值是将其下属的所有子叶子节点的值按照编号顺序依次相加获得的值。
在一些实施方式中,依据待更新内容信息生成同态计算函数步骤,包括:根据待更新内容信息生成同态计算函数和同态参数,同态计算函数和同态参数满足如下规则:使用同态计算函数,对分割子文件和对应的同态参数进行计算,获得与分割子文件对应的待更新子文件。
为了实现上述目的,本发明第二方面提供一种文档更新方法,方法包括:从区块链网络中获取到用户节点服务器发送的更新参数,更新参数包括同态计算函数、参数加密结果,待更新子文件对应的标识和编号,参数加密结果是用户节点服务器采用同态加密公钥对待更新子文件对应的同态参数进行同态加密获得的结果,待更新子文件是分割子文件中待更新的文件,分割子文件是对原始文档进行分割获得的文件;根据同态加密计算函数,对更新参数进行计算,获得待更新子文件;根据标识和编号,使用待更新子文件更新本地存储的分割子文件。
在一些实施方式中,根据同态加密计算函数,对更新参数进行计算,获得待更新子文件步骤,包括:根据同态加密计算函数对更新参数进行计算,获得计算结果;采样同态加密私钥,对计算结果进行同态解密,获得待更新子文件,同态加密私钥是根据同态密钥生成算法生成的秘钥。
在一些实施方式中,在从区块链网络中获取到用户节点服务器发送的更新参数步骤之前,还包括:从区块链网络中获取到用户节点服务器发送的N个加密后的分割子文件,加密后的分割子文件是用户节点服务器采用同态加密公钥对分割子文件进行同态加密获得的文件,且N个分割子文件与除根节点外的哈希树的所有叶子节点之间存在映射关系,N为大于或等于1的整数;分别对N个加密后的分割子文件进行同态解密,对应获得N个分割子文件;根据存储空间的容量,从N个分割子文件中选择M个分割子文件存储至本地,存储空间的容量大于文件存储容量,文件存储容量是将M个分割子文件的文件大小相加获得的容量,M为大于或等于1的整数,且M小于或等于N。
为了实现上述目的,本发明第三方面提供一种用户节点服务器,包括:函数生成模块,用于根据待更新内容信息生成同态计算函数和同态参数,待更新内容信息为对比原始文档和待更新文档获得的信息;确定模块,用于根据待更新内容信息确定待更新子文件的标识,待更新子文件是分割子文件中待更新的文件,分割子文件是对原始文档进行分割获得的文件;更新参数生成模块,用于依据同态计算函数、参数加密结果、待更新子文件对应的标识和编号,生成更新参数,参数加密结果是采用同态加密公钥对同态参数进行同态加密获得的结果;
发送模块,用于发送更新参数至区块链网络中,以使存储节点服务器根据更新参数更新存储节点服务器存储的分割子文件。
为了实现上述目的,本发明第四方面提供一种存储节点服务器,包括:获取模块,用于从区块链网络中获取到用户节点服务器发送的更新参数,更新参数包括同态计算函数、参数加密结果,待更新子文件对应的标识和编号,参数加密结果是用户节点服务器采用同态加密公钥对待更新子文件对应的同态参数进行同态加密获得的结果,待更新子文件是分割子文件中待更新的文件,分割子文件是对原始文档进行分割获得的文件;计算模块,用于根据同态加密计算函数,对更新参数进行计算,获得待更新子文件;更新模块,用于根据标识和编号,使用待更新子文件更新本地存储的分割子文件。
本发明具有如下优点:通过对比原始文档和待更新文档,获得待更新内容信息,使得能够根据待更新内容信息生成同态计算函数和同态参数,再依据待更新内容信息确定待更新子文件的标识,将同态计算函数、采用同态加密公钥对同态参数进行同态加密获得的参数加密结果、待更新子文件的标识和对应的编号作为更新参数发送至区块链网络中,使得存储节点服务器能够接收到该更新参数,并根据该更新参数更新对应的分割子文件,避免了将待更新文档的全部内容都上传至服务器才能更新原始文档,只需更新存储节点服务器存储的待更新子文件就可以完成对原始文档的更新,提高了工作效率,避免资源的浪费。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。
图1为本发明第一实施方式中提供的一种文档更新方法流程图。
图2为本发明第二实施方式中提供的一种文档更新方法流程图。
图3为本发明第三实施方式中提供的一种文档更新方法流程图。
图4为本发明第四实施方式中提供的一种基于区块链技术的文档更新方法流程图。
图5为本发明第五实施方式中提供的一种采用Markle哈希树的文档更新方法流程图。
图6为本发明第五实施方式中提供的Markle哈希树的分支结构图。
图7为本发明第六实施方式中提供的一种用户节点服务器的组成方框图。
图8为本发明第七实施方式中提供的一种存储节点服务器的组成方框图。
在附图中:
4010:用户节点服务器 4020:存储节点服务器
4021:存储节点服务器A 4022:存储节点服务器B
701:生成模块 702:确定模块
703:发送模块 801:获取模块
802:计算模块 803:更新模块
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明的第一实施方式涉及一种文档更新方法。用于提高文档更新的效率,避免资源的浪费。
下面对本实施方式中的文档更新方法的实现细节进行具体的说明,以下内容仅为方便理解本方案的实现细节,并非实施本方案的必须。
图1为本实施方式中的文档更新方法的流程图,该方法可用于用户节点服务器。该方法可包括如下步骤。
在步骤101中,依据待更新内容信息生成同态计算函数和同态参数。
其中,待更新内容信息为对比原始文档和待更新文档获得的信息。
例如,需要将原始文档c更新为待更新文档c+时,对比原始文档c和待更新文档c+,可获知待更新内容信息包括原始文档c的第一章和第四章的内容,则依据第一章和第四章的内容,生成同态计算函数f和同态参数ca。具体实现时,其中的同态计算函数f和同态参数ca满足如下关系:f(c,ca)=c+。即使用同态计算函数f,对原始文件c和对应的同态参数ca进行计算,可获得与该原始文档c对应的待更新文档c+。
在步骤102中,依据待更新内容信息确定待更新子文件的标识。
其中,待更新子文件是分割子文件中待更新的文件,分割子文件是对原始文档进行分割获得的文件。例如,将原始文档A分割为5份,即可获得5个分割子文件:A1、A2、A3、A4和A5。若依据待更新内容信息确定需要更新分割子文件A2和分割子文件A3,则待更新子文件即为分割子文件A2和分割子文件A3,对应的待更新子文件的标识就是A2和A3。
在步骤103中,依据同态计算函数、参数加密结果、待更新子文件对应的标识和编号,生成更新参数。
需要说明的是,参数加密结果是采用同态加密公钥对同态参数进行同态加密获得的结果,其中的同态加密公钥是根据同态密钥生成算法生成的秘钥。
在步骤104中,发送更新参数至区块链网络。
当区块链网络中的存储节点服务器通过区块链网络获取到用户节点服务器发送的更新参数时,会根据该更新参数更新存储节点服务器存储的分割子文件。使得存储节点服务器上存储的分割子文件是最新的子文件,方便后续用户节点获取最新的子文件。
在一些实施方式中,根据待更新内容信息生成同态计算函数和同态参数,同态计算函数和同态参数满足如下规则:使用同态计算函数,对分割子文件和对应的同态参数进行计算,获得与分割子文件对应的待更新子文件。
例如,分割子文件A1对应的同态参数是ca1,分割子文件A2对应的同态参数是ca2,则使用同态计算函数f对分割子文件A1对应的同态参数是ca1,获得待更新子文件A1+,即满足以下关系:f(A1,ca1)=A1+;同样地,使用同态计算函数f对分割子文件A2对应的同态参数是ca2,获得待更新子文件A2+,也需满足以下关系:f(A2,ca2)=A2+。
在本实施方式中,通过对比原始文档和待更新文档,获得待更新内容信息,使得能够根据待更新内容信息生成同态计算函数和同态参数,再依据待更新内容信息确定待更新子文件的标识,将同态计算函数、采用同态加密公钥对同态参数进行同态加密获得的参数加密结果、待更新子文件的标识和对应的编号作为更新参数发送至区块链网络中,使得存储节点服务器能够接收到该更新参数,并根据该更新参数更新对应的分割子文件,避免了将待更新文档的全部内容都上传至服务器才能更新原始文档,只需更新存储节点服务器存储的待更新子文件就可以完成对原始文档的更新,提高了工作效率,避免资源的浪费。
本发明的第二实施方式涉及一种文档更新方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:建立Markle哈希树来与各个分割子文档之间的映射关系,提高更新文档的更新效率。
图2为本实施方式中文档更新方法的流程图,该方法可用于用户节点服务器。该方法可包括如下步骤。
在步骤201中,对原始文档进行分割,获得N个分割子文件,并为分割子文件分配对应的标识和编号。
其中,N为大于或等于1的整数。例如,对原始文档C进行分割,分割为n个分割子文件,对应获得每个分割子文件的标识和分割编号:C1、C2、C3、……、Cn,并且C=C1+C2+C3+…+Cn。
在步骤202中,建立N个分割子文件与哈希树结构除根节点外所有叶子节点之间的映射关系。
需要说明的是,其中的映射关系包括:哈希树的根节点的值是将哈希树包括的所有叶子节点的值相加获得的值,叶子节点的值是使用同态加密公钥对分割子文件进行同态加密获得的值,且,叶子节点的值是将其下属的所有子叶子节点的值按照编号顺序依次相加获得的值。
例如,原始文档C被分成n个分割子文件,对应获得每个分割子文件的标识和分割编号:C1、C2、C3、……、Cn,并且C=C1+C2+C3+…+Cn。在该Markle哈希树中,Markle哈希树的每个叶子节点的值是使用同态加密公钥对对应的分割子文件进行同态加密获得的值,例如,每个叶子节点分别对应记录了Enc(C1)、Enc(C2)、Enc(C3)…Enc(Cn),其中,Enc(C1)表示用户节点服务器4010使用同态加密公钥对分割子文件C1进行同态加密的值,Enc(C2)表示用户节点服务器4010使用同态加密公钥对分割子文件C2进行同态加密的值,Enc(C3)表示用户节点服务器4010使用同态加密公钥对分割子文件C3进行同态加密的值,……,Enc(Cn)表示用户节点服务器4010使用同态加密公钥对分割子文件Cn进行同态加密的值。并且,该Markle哈希树的根节点的值是将Markle哈希树包括的所有叶子节点的值(即Enc(C1)、Enc(C2)、Enc(C3)…Enc(Cn))相加获得的值,任何一个叶子节点的值是将其下属的所有子叶子节点的值按照分割编号顺序依次相加获得的值。
在步骤203中,采用同态加密公钥分别对N个分割子文件进行同态加密,并将获得的N个加密后的分割子文件传送至区块链网络。
当区块链网络至的存储节点服务器,从区块链网络中获取到用户节点服务器发送的N个加密后的分割子文件后,会根据自己的本地存储空间大小,选择其中的一个或者多个分割子文件进行存储。
例如,N等于7时,即用户节点服务器将原始文档C分割为7个不同的分割子文件,分别是B1、B2、B3、B4、B5、B6和B7:第一存储节点服务器可能选择分割子文件B1、B2和B3进行存储;第二存储节点服务器可能选择分割子文件B4、B5、B6和B7进行存储。
在步骤204中,依据待更新内容信息生成同态计算函数和同态参数。
在步骤205中,依据待更新内容信息确定待更新子文件的标识。
在步骤206中,依据同态计算函数、参数加密结果、待更新子文件对应的标识和编号,生成更新参数。
在步骤207中,发送更新参数至区块链网络。
需要说明的是,本实施例中的步骤204~207,与第一实施方式中的步骤101~104的内容相同,在此不再赘述。
在一个具体实现中,在步骤207之后,还可以包括:从区块链网络中,获取到存储节点服务器存储的分割子文件、分割子文件对应的编号和分割子文件对应的哈希树的叶子节点的值;将叶子节点的值根据编号依次相加,获得加和结果,编号是连续的数字;使用同态加密私钥对加和结果进行同态解密,获得更新后的文档,同态加密私钥是根据同态密钥生成算法生成的秘钥。
当用户节点服务器在完成了一次或多次文档的更新后,希望获取到最新的文档时,会根据分割子文件与哈希树之间的映射关系,从区块链网络中的各个存储节点服务器上,下载每一个存储节点服务器存储的最新的分割子文件分割子文件对应的编号和分割子文件对应的哈希树的叶子节点的值;然后将所有的连续编号一次相加,获得该哈希树的根节点的值,该根节点的值与最新的文档相对应,则只需对该根节点的值进行处理,例如,使用同态加密私钥对该根节点的值进行同态解密,即可获得最新的文档。
具体获取更新文档时,也可以只获取原始文档更新最多的几个章节,或用户需求的对应的章节。例如,若需要更新原始文档的第1章和第8章,第1章对应的分割子文件为C3、C4、C5,第8章对应的分割子文件为C26、C27,那么用户节点服务器4010就需要对这两章内容进行分别处理,每个章节组成一个独立的小Markle哈希树,这两棵Markle哈希树的根节点的值分别是Enc(C3+)+Enc(C4+)+Enc(C5+)和Enc(C26+)+Enc(C27+),然后用户节点服务器4010使用自己的同态加密私钥进行计算,获得Dec(Enc(C3+)+Enc(C4+)+Enc(C5+)),即可得到第1章的最新文档。同样地,用户节点服务器4010使用自己的同态加密私钥进行计算,获得Dec(Enc(C26+)+Enc(C27+)),即可得到第8章的最新文档。
在本实施方式中,通过根据哈希树的结构,将分割子文件与哈希树中除根节点外所有叶子节点之间建立映射关系,使得用户节点服务器能够根据哈希树更快捷的找到待更新子文件,加快了文档更新的速度,提高了工作效率,避免资源的浪费。使得用户在获取最新文档时,能够更快捷方便,提升用户体验度。
本发明的第三实施方式涉及一种文档更新方法。图3为本实施方式中文档更新方法的流程图,该方法可用于存储节点服务器。该方法可包括如下步骤。
在步骤301中,从区块链网络中获取到用户节点服务器发送的更新参数。
其中,更新参数包括同态计算函数、参数加密结果,待更新子文件对应的标识和编号,参数加密结果是用户节点服务器采用同态加密公钥对待更新子文件对应的同态参数进行同态加密获得的结果,待更新子文件是分割子文件中待更新的文件,分割子文件是对原始文档进行分割获得的文件。
在步骤302中,根据同态加密计算函数,对更新参数进行计算,获得待更新子文件。
在一些实施方式中,根据同态加密计算函数对更新参数进行计算,获得计算结果;采样同态加密私钥,对计算结果进行同态解密,获得待更新子文件,同态加密私钥是根据同态密钥生成算法生成的秘钥。
需要说明的是,存储节点服务器所使用的同态加密私钥,与用户节点服务器所使用的的同态加密公钥是对应的,只有对应的存储节点服务器才能获取到用户节点服务器发送的更新参数,进而获得待更新子文件,提升文件信息在传输过程中的安全性。
在步骤303中,根据标识和编号,使用待更新子文件更新本地存储的分割子文件。
需要说明的是,每个存储节点服务器都只获取与其本地存储的分割子文件的标识和编号一致的待更新子文件,使得待更新子文件能够在存储节点服务器上能够被更新,方便用户节点服务器快捷的获取到最新的分割子文件。例如,依据分割子文件C3的标识和分割编号,存储节点服务器会查找本地存储的分割子文件,获得与该标识和分割编号一致的分割子文件,再将存储节点服务器本地存储的分割子文件C3更新为待更新子文件C3+。
在本实施方式中,通过存储节点服务器从区块链网络中获取到用户节点服务器发送的更新参数,使用同态加密计算函数对更新参数进行计算,获得待更新子文件,进而根据该待更新子文件对应的标识和编号,查找本地存储的分割子文件,使用待更新子文件更新本地存储的分割子文件,保证存储的分割子文件都是最新的,方便用户节点服务器在更新文档时,能够快速的获取到最新的文档,提高工作效率,提升用户体验度。
在一些实施方式中,在步骤301之前,还可以包括如下步骤:
在步骤3011中,从区块链网络中获取到用户节点服务器发送的N个加密后的分割子文件。
其中,加密后的分割子文件是用户节点服务器采用同态加密公钥对分割子文件进行同态加密获得的文件,且N个分割子文件与除根节点外的哈希树的所有叶子节点之间存在映射关系,N为大于或等于1的整数;
在步骤3012中,分别对N个加密后的分割子文件进行同态解密,对应获得N个分割子文件。
在步骤3013中,根据存储空间的容量,从N个分割子文件中选择M个分割子文件存储至本地,
其中,存储空间的容量大于文件存储容量,文件存储容量是将M个分割子文件的文件大小相加获得的容量,M为大于或等于1的整数,且M小于或等于N。例如,某个存储节点服务器的存储空间的容量是30M,当该存储节点服务器从区块链网络中获取到多个分割子文件时,可能获取到如下大小的分割子文件,5M的分割子文件C1、15M的分割子文件C2、10M的分割子文件C3、20M的分割子文件C4等等,但该存储节点服务器最多只能存储30M大小的文件,因此,该存储节点服务器选择分割子文件C1、分割子文件C2和分割子文件C3进行存储,舍弃了分割子文件C4等其他分割子文件。
在本实施方式中,通过对N个加密后的分割子文件进行同态解密,对应获得N个分割子文件,进而根据存储节点服务器自身的存储空间的容量,选择合适的分割子文件进行存储,保证分割子文件的完整性,方便用户节点服务器灵活的获取对应的分割子文件,提升文档更新的速度,提高工作效率。
本发明的第四实施方式涉及一种文档更新方法。图4为本实施方式中基于区块链技术的文档更新方法流程图。当文档的大小不超过预设阈值时,则不对文档进行分割,即分割子文件的个数是1。具体地,通过用户节点服务器4010和存储节点服务器4020组成文档更新***,并且该文档更新***通过区块链网络来进行通信。文档更新步骤如下。
在步骤401中,用户节点服务器4010根据同态密钥生成算法生成同态加密公钥和同态加密私钥。例如,假设该文档为c。用户节点服务器4010准备好文档c后,对该文档c进行同态加密,获得文档c的同态加密结果Enc(c)。
在步骤402中,用户节点服务器4010使用自己的区块链私钥对Enc(c)进行签名,并将签名后的Enc(c)广播到区块链网络中。
在步骤403中,当用户节点服务器4010需要将该文档c更新为文档c+时,对比文档c和文档c+,获得待更新内容信息,再根据该待更新内容信息生成同态计算函数f和同态参数ca,该生成同态计算函数f和同态参数ca满足如下关系:f(c,ca)=c+。即使用同态计算函数f,对原文档c和对应的同态参数ca进行计算,可获得更新后的文档c+。
在步骤404中,用户节点服务器4010根据文档c的标识、同态计算函数f和同态加密结果Enc(ca),生成更新参数。然后使用用户节点服务器4010的区块链私钥对该更新参数进行签名,并发送签名后的更新参数到区块链网络中。
其中,同态加密结果Enc(ca)是用户节点服务器4010对同态参数ca进行同态加密获得的结果。
在步骤405中,存储文档c的存储节点服务器4020在接收到步骤404中发送的签名后的更新参数后,对该签名的私钥进行验证,在验证通过后,存储节点服务器4020使用同态加密计算函数对更新参数进行处理,获得并存储计算结果至本地,即存储文档c++至本地。
其中,同态加密计算函数可表示为c++=Evaluate(f,Enc(c),Enc(ca);其中,f表示同态计算函数,Enc(c)表示对文档c进行同态加密获得的结果,Enc(ca)表示对同态参数ca进行同态加密获得的结果,ca表示同态参数,c++表示存储在存储节点服务器4020上的更新后的文档。
在步骤406中,当用户节点服务器4010想从区块链网络中获取更新后的文档时,可从存储节点服务器4020上将文档c++下载到用户节点服务器4010本地,然后,使用同态解密算法函数对文档c++进行计算,获得Dec(c++),由于同态加密的特点,c++应该等于Enc(c+),Dec(c++)应该等于c+;即可获得更新后的文档c+。
在本实施方式中,通过对比原始文档和待更新文档,获得待更新内容信息,使得能够根据待更新内容信息生成同态计算函数和同态参数,再依据待更新内容信息确定待更新子文件的标识,将同态计算函数、采用同态加密公钥对同态参数进行同态加密获得的参数加密结果、待更新子文件的标识和对应的编号作为更新参数发送至区块链网络中,使得存储节点服务器能够接收到该更新参数,并根据该更新参数更新对应的分割子文件,避免了将待更新文档的全部内容都上传至服务器才能更新原始文档,只需更新存储节点服务器存储的待更新子文件就可以完成对原始文档的更新,提高了工作效率,避免资源的浪费。
本发明的第五实施方式涉及一种文档更新方法。图5为采用Markle哈希树的文档更新方法流程图。当文档的大小超过了预设阈值时,则对文档进行分割,获得N个分割子文件,并建立Markle哈希树与N个分割子文件之间的映射关系,提升文档更新的效率。具体地,通过用户节点服务器4010、存储节点服务器A4021和存储节点服务器B4022等多个存储节点服务器组成文档更新***,并且该文档更新***通过区块链网络来进行通信。文档更新步骤如下。
在步骤501中,用户节点服务器4010根据同态密钥生成算法生成同态加密公钥和同态加密私钥,例如,假设该文档为C,用户节点服务器4010将文档C通过Markle哈希树进行碎片化获得N个分割子文件。
例如,图6为Markle哈希树的分支结构图,其中,文档C被分成n个分割子文件,对应获得每个分割子文件的标识和分割编号:C1、C2、C3、……、Cn,并且C=C1+C2+C3+…+Cn。在该Markle哈希树中,Markle哈希树的每个叶子节点的值是使用同态加密公钥对对应的分割子文件进行同态加密获得的值,例如,每个叶子节点分别对应记录了Enc(C1)、Enc(C2)、Enc(C3)…Enc(Cn),其中,Enc(C1)表示用户节点服务器4010使用同态加密公钥对分割子文件C1进行同态加密的值,Enc(C2)表示用户节点服务器4010使用同态加密公钥对分割子文件C2进行同态加密的值,Enc(C3)表示用户节点服务器4010使用同态加密公钥对分割子文件C3进行同态加密的值,……,Enc(Cn)表示用户节点服务器4010使用同态加密公钥对分割子文件Cn进行同态加密的值。并且,该Markle哈希树的根节点的值是将Markle哈希树包括的所有叶子节点的值(即Enc(C1)、Enc(C2)、Enc(C3)…Enc(Cn))相加获得的值,任何一个叶子节点的值是将其下属的所有子叶子节点的值按照分割编号顺序依次相加获得的值。
在步骤502中,用户节点服务器4010使用自己的区块链私钥分别对Enc(C1)、Enc(C2)、Enc(C3)…Enc(Cn)进行签名,获得并发送签名后的Enc(C1)、签名后的Enc(C2)、签名后的Enc(C3)、……签名后的Enc(Cn)到区块链网络中。
在步骤503中,存储节点服务器A4021和存储节点服务器B4022分别接收到502步骤中的各个签名后的并经过同态加密的分割子文件C1、C2、C3、……、Cn,然后对分别对签名后的Enc(c1)、签名后的Enc(c2)、签名后的Enc(c3)、……签名后的Enc(cn)的私钥签名进行验证,如果验证通过,再根据自己的本地存储空间大小,选择其中的一个或者多个分割子文件进行存储。
例如,n等于7,存储节点服务器A4021选择分割子文件C1、C2、C3进行存储;存储节点服务器B4022选择分割子文件C4、C5、C6、C7进行存储。
在步骤504中,当用户节点服务器4010需要将文档C更新为文档C+时,将文档C+与步骤501中的各个分割子文件C1、C2、C3、……、Cn进行对比,得知更新的部分只涉及到分割子文件C3和C6,只需将分割子文件C3更新为待更新子文件C3+,将分割子文件C6更新为待更新子文件C6+即可。用户节点服务器4010根据分割子文件C3和待更新子文件C3+之间的差别,以及分割子文件C6和待更新子文件C6+之间的差别,生成同态计算函数f和同态参数ca,该同态计算函数f和同态参数ca满足以下关系:f(C3,ca3)=C3+;f(C6,ca6)=C6+。
在步骤505中,用户节点服务器4010将同态参数ca3和同态参数ca6分别进行同态加密,获得同态加密结果Enc(ca3)和Enc(ca6),后,根据同态计算函数f、Enc(ca3)、文档分割子文件C3的标识和分割编号生成第一更新参数,再使用用户节点服务器4010自己的区块链私钥对该第一更新参数进行签名,发送签名后的第一更新参数到区块链网络中;同时,根据同态计算函数f、Enc(ca6)、分割子文件C6的标识和分割子文件的分割编号生成第二更新参数,再使用用户节点服务器4010自己的区块链私钥对该第二更新参数进行签名,发送签名后的第二更新参数到区块链网络中。使得存储了分割子文件C3和分割子文件C6的存储节点服务器能够分别获取到第一更新参数和第二更新参数。
在步骤506中,存储节点服务器A4021从区块链网络中获取到经过用户节点服务器4010的私钥签名后的第一更新参数,首先会对第一更新参数的私钥签名进行验证。在验证通过时,获得第一更新参数,即同态计算函数f、Enc(ca3)、分割子文件C3的标识和分割编号;然后,会运行同态加密计算函数C3++=Evaluate(f,Enc(C3),Enc(ca3)进行计算,获得待更新子文件C3++,然后,使用同态解密算法函数对待更新子文件C3++进行计算,获得Dec(C3++),由于同态加密的特点,C3++应该等于Enc(C3+),Dec(C3++)应该等于C3+;即可获得更新后的待更新子文件C3+;依据分割子文件C3的标识和分割编号,将本地存储的分割子文件C3更新为待更新子文件C3+。
同时,存储节点服务器B4022从区块链网络中获取到经过用户节点服务器4010的私钥签名后的第二更新参数,首先会对第二更新参数的私钥签名进行验证。在验证通过时,获得第二更新参数,即同态计算函数f、Enc(ca6)、分割子文件C6的标识和分割编号;然后,会运行同态加密计算函数C6++=Evaluate(f,Enc(C6),Enc(ca6)进行计算,获得待更新子文件C6++,然后,使用同态解密算法函数对待更新子文件C6++进行计算,获得Dec(C6++),由于同态加密的特点,C6++应该等于Enc(C6+),Dec(C6++)应该等于C6+;即可获得更新后的待更新子文件C6+;依据分割子文件C6的标识和分割编号,将本地存储的分割子文件C6更新为待更新子文件C6+。
在步骤507中,当该用户节点服务器4010想从区块链网络中获取更新后的文档时,用户节点服务器4010可以从不同的存储节点服务器来获取所有分割子文件的经过同态加密的存储值。然后,将这些存储值按照Markle哈希树的叶子节点的规律来排列,依次相加,得到整个Markle哈希树的根节点的值;用户节点服务器4010利用自己的同态加密私钥对根节点的值进行同态解密,得到最新的文档。
同样的,若用户节点服务器4010只需要更新原始文档的几个章节(例如,原始文档的前100页,或更新第三章和第六章等),则只需依据分割子文件的标识和分割编号,从区块链网络中的各个存储节点服务器上,下载需要更新的文档部分,然后将这些待更新子文件按照Markle树的组合方式进行组合,即可获得需要更新的文档章节。
例如,更新后的文档的第三章存储在存储节点服务器A4021上,即分割子文件C3+;更新后的文档的第六章存储在存储节点服务器B4022上,即分割子文件C6+;则用户节点服务器4010只需要从存储节点服务器A4021上,下载获得分割子文件C3+;从存储节点服务器B4022上,下载获得分割子文件C6+。再依据分割子文件的标识和分割编号,对应的更新原始文档的章节即可。
需要注意的是,若分割编号不是连续数字时,各个分割子文件的同态加密结果不可以直接相加,需要分别进行处理。例如,若需要更新原始文档的第1章和第12章,第1章对应的分割子文件为C3、C4、C5,第12章对应的分割子文件为C26、C27,那么用户节点服务器4010就需要对这两章内容进行分别处理,每个章节组成一个独立的小Markle哈希树,这两棵Markle哈希树的根节点的值分别是Enc(C3+)+Enc(C4+)+Enc(C5+)和Enc(C26+)+Enc(C27+),然后用户节点服务器4010使用自己的同态加密私钥进行计算,获得DeC(Enc(C3+)+Enc(C4+)+Enc(C5+)),即可得到第1章的最新文档。同样地,用户节点服务器4010使用自己的同态加密私钥进行计算,获得Dec(Enc(C26+)+Enc(C27+)),即可得到第12章的最新文档。
在本实施方式中,根据哈希树的结构,将分割子文件与哈希树中除根节点外所有叶子节点之间建立映射关系,使得用户节点服务器能够根据哈希树更快捷的找到待更新子文件,加快了文档更新的速度,提高了工作效率,避免资源的浪费。使得用户在获取最新文档时,能够更快捷方便,提升用户体验度。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的第六实施方式涉及一种用户节点服务器,该服务器的具体实施可参见第一实施方式的相关描述,重复之处不再赘述。值得说明的是,本实施方式中的服务器的具体实施也可参见第二实施方式的相关描述,还可以参见第四实施方式中的相关描述,但不局限于以上三个实施例,其他未说明的实施例也在本服务器的保护范围之内。
如图7所示,该用户节点服务器主要包括:函数生成模块701用于根据待更新内容信息生成同态计算函数和同态参数,待更新内容信息为对比原始文档和待更新文档获得的信息;确定模块702用于根据待更新内容信息确定待更新子文件的标识,待更新子文件是分割子文件中待更新的文件,分割子文件是对原始文档进行分割获得的文件;更新参数生成模块703用于依据同态计算函数、参数加密结果、待更新子文件对应的标识和编号,生成更新参数,参数加密结果是采用同态加密公钥对同态参数进行同态加密获得的结果;发送模块704用于发送更新参数至区块链网络中,以使存储节点服务器根据更新参数更新存储节点服务器存储的分割子文件。
本发明的第七实施方式涉及一种存储节点服务器,该服务器的具体实施可参见第三实施方式的相关描述,重复之处不再赘述。值得说明的是,本实施方式中的服务器的具体实施也可参见第四实施方式中的相关描述,但不局限于以上两个实施例,其他未说明的实施例也在本服务器的保护范围之内。
如图8所示,该存储节点服务器主要包括:获取模块801用于从区块链网络中获取到用户节点服务器发送的更新参数,更新参数包括同态计算函数、参数加密结果,待更新子文件对应的标识和编号,参数加密结果是用户节点服务器采用同态加密公钥对待更新子文件进行同态加密获得的结果,待更新子文件是分割子文件中待更新的文件,分割子文件是对原始文档进行分割获得的文件;计算模块802用于根据同态计算函数,对参数加密结果进行计算,获得待更新子文件;更新模块803用于根据标识和编号,使用待更新子文件更新本地存储的分割子文件。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (9)
1.一种文档更新方法,其特征在于,所述方法包括:
依据待更新内容信息生成同态计算函数和同态参数,所述待更新内容信息为对比原始文档和待更新文档获得的信息;
依据所述待更新内容信息确定待更新子文件的标识,所述待更新子文件是分割子文件中待更新的文件,所述分割子文件是对原始文档进行分割获得的文件;
依据所述同态计算函数、参数加密结果、所述待更新子文件对应的标识和编号,生成更新参数,所述参数加密结果是采用同态加密公钥对所述同态参数进行同态加密获得的结果;
发送所述更新参数至区块链网络中,以使存储节点服务器根据所述更新参数更新所述存储节点服务器存储的分割子文件;
其中,在所述根据待更新内容信息生成同态计算函数步骤之前,还包括:
对所述原始文档进行分割,获得N个所述分割子文件,并为所述分割子文件分配对应的标识和编号,N为大于或等于1的整数;
建立所述N个分割子文件与哈希树结构除根节点外所有叶子节点之间的映射关系;
采用同态加密公钥分别对所述N个分割子文件进行同态加密,并将获得的N个加密后的分割子文件传送至区块链网络中,以使存储节点服务器存储所述分割子文件,所述同态加密公钥是根据同态密钥生成算法生成的秘钥。
2.根据权利要求1所述的方法,其特征在于,在所述发送更新参数至区块链网络中,以使存储节点服务器根据所述更新参数更新所述存储节点服务器存储的分割子文件步骤之后,还包括:
从区块链网络中,获取到存储节点服务器存储的所述分割子文件、所述分割子文件对应的编号和所述分割子文件对应的哈希树的叶子节点的值;
将所述叶子节点的值根据所述编号依次相加,获得加和结果,所述编号是连续的数字;
使用同态加密私钥对所述加和结果进行同态解密,获得更新后的文档,所述同态加密私钥是根据同态密钥生成算法生成的秘钥。
3.根据权利要求2所述的方法,其特征在于,所述哈希树的根节点的值是将所述哈希树包括的所有叶子节点的值相加获得的值,所述叶子节点的值是使用同态加密公钥对所述分割子文件进行同态加密获得的值,且,所述叶子节点的值是将其下属的所有子叶子节点的值按照编号顺序依次相加获得的值。
4.根据权利要求1所述的方法,其特征在于,所述依据待更新内容信息生成同态计算函数步骤,包括:
根据待更新内容信息生成同态计算函数和同态参数,所述同态计算函数和同态参数满足如下规则:
使用所述同态计算函数,对所述分割子文件和对应的所述同态参数进行计算,获得与所述分割子文件对应的待更新子文件。
5.一种文档更新方法,其特征在于,所述方法包括:
从区块链网络中获取到用户节点服务器发送的更新参数,所述更新参数包括同态计算函数、参数加密结果,待更新子文件对应的标识和编号,所述参数加密结果是所述用户节点服务器采用同态加密公钥对所述待更新子文件对应的同态参数进行同态加密获得的结果,所述待更新子文件是分割子文件中待更新的文件,所述分割子文件是对原始文档进行分割获得的文件;
根据同态加密计算函数,对所述更新参数进行计算,获得所述待更新子文件;
根据所述标识和所述编号,使用所述待更新子文件更新本地存储的分割子文件;
其中,在生成同态计算函数步骤之前,还包括:
对所述原始文档进行分割,获得N个所述分割子文件,并为所述分割子文件分配对应的标识和编号,N为大于或等于1的整数;
建立所述N个分割子文件与哈希树结构除根节点外所有叶子节点之间的映射关系;
采用同态加密公钥分别对所述N个分割子文件进行同态加密,并将获得的N个加密后的分割子文件传送至区块链网络中,以使存储节点服务器存储所述分割子文件,所述同态加密公钥是根据同态密钥生成算法生成的秘钥。
6.根据权利要求5所述的方法,其特征在于,所述根据同态加密计算函数,对所述更新参数进行计算,获得所述待更新子文件步骤,包括:
根据所述同态加密计算函数对所述更新参数进行计算,获得计算结果;
采样同态加密私钥,对所述计算结果进行同态解密,获得所述待更新子文件,所述同态加密私钥是根据同态密钥生成算法生成的秘钥。
7.根据权利要求5或6所述的方法,其特征在于,在所述从区块链网络中获取到用户节点服务器发送的更新参数步骤之前,还包括:
从区块链网络中获取到所述用户节点服务器发送的N个加密后的分割子文件,所述加密后的分割子文件是所述用户节点服务器采用同态加密公钥对所述分割子文件进行同态加密获得的文件,且所述N个分割子文件与除根节点外的哈希树的所有叶子节点之间存在映射关系,N为大于或等于1的整数;
分别对所述N个加密后的分割子文件进行同态解密,对应获得N个所述分割子文件;
根据存储空间的容量,从所述N个分割子文件中选择M个所述分割子文件存储至本地,所述存储空间的容量大于文件存储容量,所述文件存储容量是将M个所述分割子文件的文件大小相加获得的容量,M为大于或等于1的整数,且M小于或等于N。
8.一种用户节点服务器,其特征在于,包括:
函数生成模块,用于根据待更新内容信息生成同态计算函数和同态参数,所述待更新内容信息为对比原始文档和待更新文档获得的信息;
确定模块,用于根据所述待更新内容信息确定待更新子文件的标识,所述待更新子文件是分割子文件中待更新的文件,所述分割子文件是对原始文档进行分割获得的文件;
更新参数生成模块,用于依据所述同态计算函数、参数加密结果、所述待更新子文件对应的标识和编号,生成更新参数,所述参数加密结果是采用同态加密公钥对所述同态参数进行同态加密获得的结果
发送模块,用于发送更新参数至区块链网络中,以使存储节点服务器根据所述更新参数更新所述存储节点服务器存储的分割子文件;
其中,在所述根据待更新内容信息生成同态计算函数步骤之前,还包括:
对所述原始文档进行分割,获得N个所述分割子文件,并为所述分割子文件分配对应的标识和编号,N为大于或等于1的整数;
建立所述N个分割子文件与哈希树结构除根节点外所有叶子节点之间的映射关系;
采用同态加密公钥分别对所述N个分割子文件进行同态加密,并将获得的N个加密后的分割子文件传送至区块链网络中,以使存储节点服务器存储所述分割子文件,所述同态加密公钥是根据同态密钥生成算法生成的秘钥。
9.一种存储节点服务器,其特征在于,包括:
获取模块,用于从区块链网络中获取到用户节点服务器发送的更新参数,所述更新参数包括同态计算函数、参数加密结果,待更新子文件对应的标识和编号,所述参数加密结果是所述用户节点服务器采用同态加密公钥对所述待更新子文件对应的同态参数进行同态加密获得的结果,所述待更新子文件是分割子文件中待更新的文件,所述分割子文件是对原始文档进行分割获得的文件;
计算模块,用于根据同态加密计算函数,对所述更新参数进行计算,获得所述待更新子文件;
更新模块,用于根据所述标识和所述编号,使用所述待更新子文件更新本地存储的分割子文件;
其中,在生成同态计算函数步骤之前,还包括:
对所述原始文档进行分割,获得N个所述分割子文件,并为所述分割子文件分配对应的标识和编号,N为大于或等于1的整数;
建立所述N个分割子文件与哈希树结构除根节点外所有叶子节点之间的映射关系;
采用同态加密公钥分别对所述N个分割子文件进行同态加密,并将获得的N个加密后的分割子文件传送至区块链网络中,以使存储节点服务器存储所述分割子文件,所述同态加密公钥是根据同态密钥生成算法生成的秘钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014151.8A CN111221569B (zh) | 2020-01-07 | 2020-01-07 | 文档更新方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014151.8A CN111221569B (zh) | 2020-01-07 | 2020-01-07 | 文档更新方法和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221569A CN111221569A (zh) | 2020-06-02 |
CN111221569B true CN111221569B (zh) | 2023-07-25 |
Family
ID=70831030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010014151.8A Active CN111221569B (zh) | 2020-01-07 | 2020-01-07 | 文档更新方法和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221569B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112686004B (zh) * | 2020-12-30 | 2023-04-11 | 海南大学 | 基于区块链的单份文档多接口编辑方法 |
CN112929464B (zh) * | 2021-02-22 | 2022-06-24 | 中国电子信息产业集团有限公司第六研究所 | 标识解析方法、装置、***、动态适配器及可读存储介质 |
CN115470506B (zh) * | 2022-10-28 | 2023-03-10 | 山东华翼微电子技术股份有限公司 | 一种基于同态映射的安全文件***实现方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110417781A (zh) * | 2019-07-30 | 2019-11-05 | 中国工商银行股份有限公司 | 基于区块链的文档加密管理方法、客户端及服务器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196429B (zh) * | 2011-04-27 | 2014-08-06 | 暨南大学 | 一种无线传感器网络中加密数据的融合方法 |
US8635465B1 (en) * | 2012-03-28 | 2014-01-21 | Emc Corporation | Counter-based encryption of stored data blocks |
CN105320899B (zh) * | 2014-07-22 | 2018-01-09 | 北京大学 | 一种面向用户的云存储数据完整性保护方法 |
US9729312B2 (en) * | 2015-04-28 | 2017-08-08 | The United States Of America As Represented By The Secretary Of The Navy | System and method for high-assurance data storage and processing based on homomorphic encryption |
US10554385B2 (en) * | 2015-09-04 | 2020-02-04 | Nec Corporation | Method for providing encrypted data in a database and method for searching on encrypted data |
CN107770154B (zh) * | 2017-09-22 | 2019-08-27 | 中国科学院信息工程研究所 | 基于云存储的区块链可靠数据存储方法、终端及*** |
CN108777613A (zh) * | 2018-06-01 | 2018-11-09 | 杭州电子科技大学 | 物联网中传感信息虚拟服务的数据分块安全存储方法 |
CN109615378B (zh) * | 2019-01-24 | 2021-06-15 | 上海点融信息科技有限责任公司 | 基于区块链的安全多方计算方法、装置及可读存储介质 |
CN109861829B (zh) * | 2019-03-15 | 2021-10-26 | 上海海事大学 | 支持动态更新的云数据公正审计***及其审计方法 |
CN110276684B (zh) * | 2019-05-20 | 2021-04-23 | 创新先进技术有限公司 | 结合交易类型和事件函数类型的收据存储方法和节点 |
CN110390212B (zh) * | 2019-07-31 | 2021-09-24 | 中国工商银行股份有限公司 | 基于区块链的供货监控方法、节点装置 |
-
2020
- 2020-01-07 CN CN202010014151.8A patent/CN111221569B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110417781A (zh) * | 2019-07-30 | 2019-11-05 | 中国工商银行股份有限公司 | 基于区块链的文档加密管理方法、客户端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111221569A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221569B (zh) | 文档更新方法和服务器 | |
US10439804B2 (en) | Data encrypting system with encryption service module and supporting infrastructure for transparently providing encryption services to encryption service consumer processes across encryption service state changes | |
US20160127131A1 (en) | Distributed Validation of Digitally Signed Electronic Documents | |
US10484170B2 (en) | Custom encryption function for communications between a client device and a server device | |
Gnatyuk et al. | Secure hash function constructing for future communication systems and networks | |
CN112800445B (zh) | 一种用于密文数据的前后向安全和可验证的布尔查询方法 | |
US11050745B2 (en) | Information processing apparatus, authentication method, and recording medium for recording computer program | |
US9501646B2 (en) | Program verification apparatus, program verification method, and computer readable medium | |
JP6239213B1 (ja) | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム | |
JP6120961B2 (ja) | 特定フォーマットを有する代替データの生成および検証 | |
CN115225409B (zh) | 基于多备份联合验证的云数据安全去重方法 | |
CN110830261B (zh) | 加密方法、装置、计算机设备及存储介质 | |
EP2286610B1 (en) | Techniques for peforming symmetric cryptography | |
JP5970193B2 (ja) | 検索システム、検索方法および検索プログラム | |
KR20140148295A (ko) | 브로드캐스트 암호화 방법 및 시스템 | |
KR20200039979A (ko) | 순서 노출 암호화를 위한 장치 및 방법 | |
CN115589316A (zh) | 一种数据加密传输方法、装置、电子设备及存储介质 | |
CN110611674B (zh) | 不同计算机***之间的协议交互方法、***及存储介质 | |
KR102192594B1 (ko) | 신뢰기관이 없는 다중 클라이언트 환경의 순서 노출 암호화를 위한 장치 및 방법 | |
CN114143098A (zh) | 数据存储方法和数据存储装置 | |
Athavale et al. | One-way cryptographic hash function securing networks | |
WO2015107561A1 (ja) | 検索システム、検索方法および検索プログラム | |
Shen et al. | Improved collision detection of MD5 using sufficient condition combination | |
TW202119229A (zh) | 能夠安全地存取及刪除資料的資料管理方法及系統 | |
CN116405319B (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 |