CN113609510B - 一种基于分布式存储的大数据加密传输方法与装置 - Google Patents
一种基于分布式存储的大数据加密传输方法与装置 Download PDFInfo
- Publication number
- CN113609510B CN113609510B CN202111139280.0A CN202111139280A CN113609510B CN 113609510 B CN113609510 B CN 113609510B CN 202111139280 A CN202111139280 A CN 202111139280A CN 113609510 B CN113609510 B CN 113609510B
- Authority
- CN
- China
- Prior art keywords
- message digest
- digest value
- string
- character string
- candidate
- 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 124
- 230000005540 biological transmission Effects 0.000 title claims abstract description 86
- 238000004364 calculation method Methods 0.000 claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000003780 insertion Methods 0.000 claims abstract description 24
- 230000037431 insertion Effects 0.000 claims abstract description 24
- 238000012795 verification Methods 0.000 claims description 40
- 238000000354 decomposition reaction Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Images
Classifications
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Abstract
本申请揭示一种基于分布式存储的大数据加密传输方法,获取来自于同一个用户端的多个数据传输请求;分别对各自的置换字符串序列进行消息摘要计算,以得到多个第一消息摘要值集合;得到多个初始字符串集合;进行合并处理,以得到一个不完全字符串;得到多个第二消息摘要值,再得到多个差值;进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合;进行多次候补字符串插入处理,得到多个完全字符串集合;分别进行消息摘要计算,以得到多个第三消息摘要值集合;对多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端,实现了在保障大数据的安全性的前提下,减少了密钥的数量。
Description
技术领域
本申请涉及到大数据领域,特别是涉及到一种基于分布式存储的大数据加密传输方法与装置。
背景技术
大数据可以用分布式存储的方案实现数据的异地存储,这有利于减少大数据存储的压力与成本。由于医院及医学院一般是分布式设置的(每个区域必然有各自的医院),因此适合采用分布式存储的大数据技术。但采用分布式存储时,当需要传输数据时,若采用加密传输技术,则会出现密钥过多的情况,因为分布式存储必然导致存储终端数量增多,而在传统技术的加密传输过程中,密钥的数量与存储终端的数量成正比,因此不利于密钥的管理及密文的解密;而若不采用加密传输技术,则大数据的安全性难以保障。
发明内容
本申请提出一种基于分布式存储的大数据加密传输方法,同时应用于多个存储终端,包括:
S1、分别获取来自于同一个用户端的多个数据传输请求;其中,每个数据传输请求均携带有一个不同的置换字符串序列、一个不同的元素合并方法和一个相同的验证用消息摘要值,所述验证用消息摘要值是对预存于用户端的密钥进行消息摘要计算得到的,所述元素合并方法用于将由多个元素构成的序列合并为一个字符串;
S2、采用预设的消息摘要算法,分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;其中,每个第一消息摘要值集合均由多个第一消息摘要值构成;
S3、从各自的元素合并方法中,获取每一个元素被合并的字符位置,并根据每一个元素被合并的字符位置,从每一个消息摘要值中分别选出多个字符以构成一个初始字符串,进而得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;其中,每个初始字符串集合均包括多个初始字符串,每个初始字符串中的所有字符均保留原有的字符位置;
S4、根据所述元素合并方法,对处于同一个初始字符串集合的所有元素进行合并处理,以得到一个不完全字符串,进而得到对应于所述多个初始字符串集合的多个不完全字符串;其中,每个不完全字符串的总位数均小于所述消息摘要算法输出的消息摘要值的总位数;
S5、分别调取与所述多个存储终端分别对应的多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以对应得到多个第二消息摘要值,再获取所述消息摘要算法输出的消息摘要值的第一总位数,并分别统计所述多个不完全字符串的多个第二总位数,根据公式:差值=第一总位数-第二总位数,以得到与所述多个不完全字符串的对应的多个差值;
S6、根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合;其中,每个候补字符串均由连续的字符构成,每个候补字符串的位数等于对应的差值;
S7、进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的不完全字符串中,从而得到由多个完全字符串构成的完全字符串集合,进而得到与所述多个候补字符串集合分别对应的多个完全字符串集合;
S8、对一个完全字符串集合中的元素分别进行消息摘要计算,以得到由多个第三消息摘要值构成的第三消息摘要值集合,进而得到与所述多个完全字符串集合对应的多个第三消息摘要值集合;其中,每个第三消息摘要值均是对一个完全字符串进行消息摘要计算得到的;
S9、判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值;
S10、若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则分别根据所述多个数据传输请求,确定多个需要传输的数据;
S11、将所述指定第三消息摘要值对应的完全字符串作为密钥,分别对所述多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端。
其中,所述分别获取来自于同一个用户端的多个数据传输请求的步骤S1之前,包括:
S001、用户端调取预设的密钥,并对密钥进行消息摘要计算,以得到验证用消息摘要值;
S002、调取所述多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以得到多个第四消息摘要值;其中,每个固有信息仅存在于用户端与一个存储终端中;
S003、将密钥与所述多个第四消息摘要值分别进行对比,以从每个第四消息摘要值中均选出一个相同字符串,从而对应得到多个相同字符串;其中,每个相同字符串与密钥中的相同位置的字符串相同;
S004、复制密钥,以得到与所述多个相同字符串的数量相同的多个密钥,并从多个密钥中分别删除一个相同字符串,从而对应得到多个中间密钥;
S005、采用预设的多个划分方法,对所述多个中间密钥分别进行划分处理,以得到多个中间序列;
S006、随机生成多个暂时字符串序列,并对所述多个暂时字符串序列中的每个字符串均进行消息摘要计算,以得到多个暂时消息摘要值集合;
S007、根据预设的字符串截取方法,从同一个暂时消息摘要值集合中的第一个暂时消息摘要值中截取出一号字符串,从第二个暂时消息摘要值中截取出二号字符串,直至从最后一个暂时消息摘要值中截取出最后一号字符串,从而得与一个暂时消息摘要值集合对应的一个暂时序列,进而得到与所述多个暂时消息摘要值集合对应的多个暂时序列;
S008、判断所述多个暂时序列与所述多个中间序列是否分别对应相同;
S009、若所述多个暂时序列与所述多个中间序列分别对应相同,则将每个暂时字符串序列均记为置换字符串序列;
S010、将一个所述划分方法和一个对应的所述字符串截取方法,记为一个元素合并方法。
其中,所述根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合的步骤S6中,一个第二消息摘要值的拆分次数N=P-t+1;其中,P为第一总位数,t为差值;
所述进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的不完全字符串中,从而得到由多个完全字符串构成的完全字符串集合,进而得到与所述多个候补字符串集合分别对应的多个完全字符串集合的步骤S7中,每个候补字符串进行多次插入处理的次数Q=N(R+1);其中,R为第二总位数。
其中,验证用消息摘要值、第一消息摘要值、第二消息摘要值和第三消息摘要值均是采用相同的摘要算法计算得到。
其中,所述判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值的步骤S9之后,包括:
S91、若各自的第三消息摘要值集合中不均存在指定第三消息摘要值,则进行存储终端间的相互通信,以确定所述指定第三消息摘要值的数量;
S92、判断所述指定第三消息摘要值的数量是否大于预设的数量阈值;
S93、若所述指定第三消息摘要值的数量不大于预设的数量阈值,则向用户端发送密钥错误的报文,以要求用户端核实密钥的正确性。
本申请提供一种基于分布式存储的大数据加密传输装置,同时应用于多个存储终端,包括:
数据传输请求获取单元,用于分别获取来自于同一个用户端的多个数据传输请求;其中,每个数据传输请求均携带有一个不同的置换字符串序列、一个不同的元素合并方法和一个相同的验证用消息摘要值,所述验证用消息摘要值是对预存于用户端的密钥进行消息摘要计算得到的,所述元素合并方法用于将由多个元素构成的序列合并为一个字符串;
第一消息摘要值生成单元,用于采用预设的消息摘要算法,分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;其中,每个第一消息摘要值集合均由多个第一消息摘要值构成;
初始字符串集合生成单元,用于从各自的元素合并方法中,获取每一个元素被合并的字符位置,并根据每一个元素被合并的字符位置,从每一个消息摘要值中分别选出多个字符以构成一个初始字符串,进而得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;其中,每个初始字符串集合均包括多个初始字符串,每个初始字符串中的所有字符均保留原有的字符位置;
不完全字符串生成单元,用于根据所述元素合并方法,对处于同一个初始字符串集合的所有元素进行合并处理,以得到一个不完全字符串,进而得到对应于所述多个初始字符串集合的多个不完全字符串;其中,每个不完全字符串的总位数均小于所述消息摘要算法输出的消息摘要值的总位数;
第二消息摘要值生成单元,用于分别调取与所述多个存储终端分别对应的多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以对应得到多个第二消息摘要值,再获取所述消息摘要算法输出的消息摘要值的第一总位数,并分别统计所述多个不完全字符串的多个第二总位数,根据公式:差值=第一总位数-第二总位数,以得到与所述多个不完全字符串的对应的多个差值;
候补字符串集合生成单元,用于根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合;其中,每个候补字符串均由连续的字符构成,每个候补字符串的位数等于对应的差值;
候补字符串插入单元,用于进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的不完全字符串中,从而得到由多个完全字符串构成的完全字符串集合,进而得到与所述多个候补字符串集合分别对应的多个完全字符串集合;
第三消息摘要值生成单元,用于对一个完全字符串集合中的元素分别进行消息摘要计算,以得到由多个第三消息摘要值构成的第三消息摘要值集合,进而得到与所述多个完全字符串集合对应的多个第三消息摘要值集合;其中,每个第三消息摘要值均是对一个完全字符串进行消息摘要计算得到的;
指定第三消息摘要值判断单元,用于判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值;
需要传输的数据确定单元,用于若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则分别根据所述多个数据传输请求,确定多个需要传输的数据;
加密传输单元,用于将所述指定第三消息摘要值对应的完全字符串作为密钥,分别对所述多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端。
本申请的基于分布式存储的大数据加密传输方法与装置,分别获取来自于同一个用户端的多个数据传输请求;分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;进行合并处理,以得到一个不完全字符串,进而得到对应于所述多个初始字符串集合的多个不完全字符串;对应得到多个第二消息摘要值,再根据公式:差值=第一总位数-第二总位数,以得到多个差值;进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合;进行多次候补字符串插入处理,得到多个完全字符串集合;分别进行消息摘要计算,以得到多个第三消息摘要值集合;若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则对多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端,实现了在保障大数据的安全性的前提下,减少了密钥的数量。
附图说明
图1 为本申请一实施例的基于分布式存储的大数据加密传输方法的流程示意图;
图2 为本申请一实施例的基于分布式存储的大数据加密传输装置的结构示意框图;
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例1:
参照图1,本实施例提供一种基于分布式存储的大数据加密传输方法,同时应用于多个存储终端,包括:
S1、分别获取来自于同一个用户端的多个数据传输请求;其中,每个数据传输请求均携带有一个不同的置换字符串序列、一个不同的元素合并方法和一个相同的验证用消息摘要值,所述验证用消息摘要值是对预存于用户端的密钥进行消息摘要计算得到的,所述元素合并方法用于将由多个元素构成的序列合并为一个字符串;
S2、采用预设的消息摘要算法,分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;其中,每个第一消息摘要值集合均由多个第一消息摘要值构成;
S3、从各自的元素合并方法中,获取每一个元素被合并的字符位置,并根据每一个元素被合并的字符位置,从每一个消息摘要值中分别选出多个字符以构成一个初始字符串,进而得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;其中,每个初始字符串集合均包括多个初始字符串,每个初始字符串中的所有字符均保留原有的字符位置;
S4、根据所述元素合并方法,对处于同一个初始字符串集合的所有元素进行合并处理,以得到一个不完全字符串,进而得到对应于所述多个初始字符串集合的多个不完全字符串;其中,每个不完全字符串的总位数均小于所述消息摘要算法输出的消息摘要值的总位数;
S5、分别调取与所述多个存储终端分别对应的多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以对应得到多个第二消息摘要值,再获取所述消息摘要算法输出的消息摘要值的第一总位数,并分别统计所述多个不完全字符串的多个第二总位数,根据公式:差值=第一总位数-第二总位数,以得到与所述多个不完全字符串的对应的多个差值;
S6、根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合;其中,每个候补字符串均由连续的字符构成,每个候补字符串的位数等于对应的差值;
S7、进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的不完全字符串中,从而得到由多个完全字符串构成的完全字符串集合,进而得到与所述多个候补字符串集合分别对应的多个完全字符串集合;
S8、对一个完全字符串集合中的元素分别进行消息摘要计算,以得到由多个第三消息摘要值构成的第三消息摘要值集合,进而得到与所述多个完全字符串集合对应的多个第三消息摘要值集合;其中,每个第三消息摘要值均是对一个完全字符串进行消息摘要计算得到的;
S9、判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值;
S10、若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则分别根据所述多个数据传输请求,确定多个需要传输的数据;
S11、将所述指定第三消息摘要值对应的完全字符串作为密钥,分别对所述多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端。
本申请中的分布式存储,指的是数据被分散在多个存储终端进行存储,这些存储终端可异地,从而不需要集中在某一地点。
本申请提及同时应用于多个存储终端,是指本申请的方案是同时在多个存储终端中被执行的。本申请中的加密技术可为非对称加密技术,或者为对称加密技术。当为非对称加密技术时,本申请中涉及的密钥由于是对数据进行加密处理的,因此该密钥是密钥对中的公钥,这是毫无疑问的。当为对称加密技术时,由于加密与解密过程采用的是相同的密钥,因此本申请的密钥的含义也是毫无疑问的。
本申请的特点在于,每个存储终端接收到的数据传输请求携带的信息不同,即每个数据传输请求均携带有一个不同的置换字符串序列、一个不同的元素合并方法和一个相同的验证用消息摘要值,但是每个存储终端即将用来加密的密钥必须相同。注意,最终用来加密的密钥未体现在数据传输请求携带的信息中,或者说,未完全体现在数据传输请求携带的信息中,因此在数据传输请求的发送过程中,不会造成密钥的失窃,这是后续加密数据传输得以实现的一个基础。
虽然每个存储终端接收到的数据传输请求携带的信息不同,但是它们却能够根据携带的不同信息,再结合各个存储终端的固有信息,还原出一个相同的密钥,从而根据这个相同密钥进行数据加密并传输,从而减少了密钥的数量。其中,不变的信息即为固有信息,而固有信息仅存储于用户端与存储终端中,并不体现在传输过程中,因此安全性较高,并且固有信息是可以重复利用的,而密钥可以更换,这是本申请的另一个特点。
之所以数据传输请求携带的信息不同,而各个存储终端仍然能够生成同一个密钥,这与数据传输请求携带的信息的生成过程有关,这将结合实施步骤进行解释。另外,本申请的密钥还原过程需要进行遍历计算,其计算的次数与所述消息摘要算法输出的消息摘要值的第一总位数、不完全字符串的第二总位数相关,但无论如何,在现有的设备中,消息摘要的计算速度是极快的,因此遍历计算的耗时极短,是可以接受的代价。而若存在意图暴力破解的其他终端,其消耗的算力远高于此,因此能够保证密钥的安全性。
分别获取来自于同一个用户端的多个数据传输请求;其中,每个数据传输请求均携带有一个不同的置换字符串序列、一个不同的元素合并方法和一个相同的验证用消息摘要值,所述验证用消息摘要值是对预存于用户端的密钥进行消息摘要计算得到的,所述元素合并方法用于将由多个元素构成的序列合并为一个字符串;采用预设的消息摘要算法,分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;其中,每个第一消息摘要值集合均由多个第一消息摘要值构成;从各自的元素合并方法中,获取每一个元素被合并的字符位置,并根据每一个元素被合并的字符位置,从每一个消息摘要值中分别选出多个字符以构成一个初始字符串,进而得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;其中,每个初始字符串集合均包括多个初始字符串,每个初始字符串中的所有字符均保留原有的字符位置。
以某个密钥UVWXYZ为例,其中的大写字母均为连续的字符构成,其位数例如为1024位或者256位等等(当然,若仅以密钥UVWXYZ为例,其对应的密钥的位数可能较少,例如为128位或者更少,但实际应用时,密钥UVWXYZ会以更长的方式呈现,例如以20元素的方式呈现,因此对应的位数更多,这是为了使单个元素对应的字符位数不会过多)。此时的一个数据传输请求可能携带有一个置换字符串序列、一个元素合并方法和一个验证用消息摘要值,该置换字符串具有这样的特点,其元素有5个,即具有5个置换字符串,这5个置换字符串进行消息摘要计算后,得到的5个置换字符串分别包括U、V、W、Y、Z,但是不包括X,而X将体现在固有信息上,其对应的元素合并方法即为,将第一个置换字符串中的与U相对应字符位置的字符提取出来,从而构成U,同理得到V、W、Y、Z,进而能够得到UVWYZ。
需要注意的是,元素合并方法中,被合并的字符位置可以是连续的,例如第一至第八个连续字符,被定为第一个合并的字符串的一部分,但也可以是分隔开的,例如第一、第三、第十一个字符,被定为第一个合并字符串的一部分。而保留原有的字符位置,是为了利于将提取出来的初始字符串继续构建为不完全字符串。此时,不同初始字符串中的字符位置应当不同,当然,这是指处于同一个初始字符串集合中的不同初始字符串。
在上述例子中,元素合并方法即为将不同置换字符串中某些位数的字符提取出来,并保留位置,并且由于已保留位置,则很容易进行合并,从而得到不完全字符串。并且,提取的字符总数量必然小于密钥的总位数,也小于消息摘要算法输出的总位数(本申请中消息摘要算法输出的总位数优选等于密钥的总位数),这也是不完全字符串中不完全的含义。
通过上述的密钥与置换字符串序列、元素合并方法的关联关系可知,能够得到多个不同的携带信息(指数据传输请求的携带信息),并且数量极多,能够匹配大数据的大数量的数据存储终端。而仅由携带信息本身,无法还原出真正的密钥。
消息摘要算法,是能够将任意位数的输入转化为指定位数的输出的算法,并且这种转化具有不可逆且唯一的特性,即输入A导致B输出,但是无法通过B输出逆推回A输入,而且A与B具有唯一对应性,除了A之后,任意其他的输入均无法得到B输出。本申请得以实施,即是利用了消息摘要算法的这种特点。而验证用消息摘要值是对正确的密钥进行消息摘要计算得到的,因此在后续步骤中若计算得到了密钥(即正确的完全字符串),其消息摘要的计算结果应当等于验证用消息摘要值,这也是验证用消息摘要值的由来。
本申请中消息摘要值是由一定位数的二进制字符串构成的,同样,密钥也是由一定位数的二进制字符串构成的。本申请中的元素,指的是一个序列中的组成单元,例如对于一个置换字符串序列,其由三十个置换字符串构成,那么对其而言,一个置换字符串就是一个元素。
第一消息摘要值集合是生成初始字符串集合的基础,正确密钥中的部分字符,是与初始字符串相同的。而这种相同的方式,通过元素合并方法进行限定。元素合并方法需要确定哪些字符将被合并,并且以保留原有的字符位置进行合并。
举例而言,若消息摘要算法的输出为256位,某个置换字符串序列具有10个元素(实际上可以更多),那么第一个元素被抽取第一位、第十一位、二十一位…;第二个元素被抽取第二位、第十二位、二十二位…;…;第十个元素被抽取第十位、第二十位、三十位…,从而得到十个初始字符串,并且各自保留了原有的字符位置。需要注意的是,这十个初始字符串的总数量将小于256位。
根据所述元素合并方法,对处于同一个初始字符串集合的所有元素进行合并处理,以得到一个不完全字符串,进而得到对应于所述多个初始字符串集合的多个不完全字符串;其中,每个不完全字符串的总位数均小于所述消息摘要算法输出的消息摘要值的总位数;分别调取与所述多个存储终端分别对应的多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以对应得到多个第二消息摘要值,再获取所述消息摘要算法输出的消息摘要值的第一总位数,并分别统计所述多个不完全字符串的多个第二总位数,根据公式:差值=第一总位数-第二总位数,以得到与所述多个不完全字符串的对应的多个差值;根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合;其中,每个候补字符串均由连续的字符构成,每个候补字符串的位数等于对应的差值。
由于保留了字符位置,因此合并为不完全字符串就易于执行。而得到的不完全字符串少于消息摘要算法的位数。
固有信息指的是仅存于存储终端与用户端中的信息(不同存储终端的固有信息不同,固有信息是对存储终端而言的),其可以通过离线传输的方式,例如采用移动硬盘等物理介质,而不经由网络传输的方式实现仅存于存储终端与用户端。之所以这样描述,其目的在于强调固有信息的重要性,并且不能采用普通的传输技术进行传输,以防止信息泄漏。而固有信息本身,并不重要,其可以以任意形式存在(例如任意位数的字符串),因为本申请利用的是与其唯一对应的消息摘要值。如前文对消息摘要算法的描述可知,输入与输出有唯一对应性,因此固有信息与相应输出的第二消息摘要值也有唯一对应性。而第二消息摘要值的一部分,也是正确密钥的一部分。而将这一部分找出来的方式,本申请需要进行多次计算,并通过验证用消息摘要的验证才行。
具体地,先获取所述消息摘要算法输出的消息摘要值的第一总位数,并分别统计所述多个不完全字符串的多个第二总位数,根据公式:差值=第一总位数-第二总位数,以得到与所述多个不完全字符串的对应的多个差值。本申请中,不完全字符串中正确密钥的一部分,而另一部分来自于第二消息摘要值中连续的字符串。因此,先计算出差值,以确定第二消息摘要值中连续的字符串的位数,进而才能够进行拆解,得到候补字符串,再将全部的候补字符串构建成候补字符串集合。例如第二消息摘要值的前几位为100111100011101,差值等于10,则第一个候补字符串为1001111000,第二个为0011110001,依此类推。一个候补字符串集合中的候补字符串数量为第一总位数减去差值加一。
进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的不完全字符串中,从而得到由多个完全字符串构成的完全字符串集合,进而得到与所述多个候补字符串集合分别对应的多个完全字符串集合;对一个完全字符串集合中的元素分别进行消息摘要计算,以得到由多个第三消息摘要值构成的第三消息摘要值集合,进而得到与所述多个完全字符串集合对应的多个第三消息摘要值集合;其中,每个第三消息摘要值均是对一个完全字符串进行消息摘要计算得到的;判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值;若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则分别根据所述多个数据传输请求,确定多个需要传输的数据;将所述指定第三消息摘要值对应的完全字符串作为密钥,分别对所述多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端。
候补字符串与不完全字符串均是正确密钥的一部分,但如何将这两部分字符串构成正确密钥,其具体过程是未知的,因此需要进行多次尝试。其尝试的次数与消息摘要算法输出的位数成正比,也与候补字符串的位数相关。但无论如何,其尝试次数是有限的,并且数值较小,因此数据存储终端耗时短。
另外,本申请中对应二字的描述,与多个数据存储终端相关,并且由于多个数据存储终端之间未进行通信(在未提及进行通信之前,是未发生信息交互的),因此对于特定的数据存储终端而言,对应只能是指其具有的数据之间的对应,例如一个数据存储终端中的候补字符串,只能与其计算出的不完全字符串对应。
完全字符串集合中理应具有正确的密钥,但暂时无法得知哪个完全字符串是正确的,因此需要对其进行消息摘要计算,以得到多个第三消息摘要值集合,再利用前述的验证用消息摘要值,判断是否生成了正确的密钥。生成了正确的密钥的依据为,正确的密钥的消息摘要计算结果只能等于验证用消息摘要值,因此若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则表明找到了正确的密钥,并且根据第三消息摘要值与完全字符串的对应关系,即可反向找出正确的密钥,再采用现有的数据加密技术进行加密传输即可。需要注意的是,虽然本申请利用了消息摘要计算找出了被消息摘要算法计算的正确密钥,但这与消息摘要无法逆运算的特性并不违背。
实施例2:
本实施例与实施例1的不同之处仅在于,在本实施例中,所述分别获取来自于同一个用户端的多个数据传输请求的步骤S1之前,包括:
S001、用户端调取预设的密钥,并对密钥进行消息摘要计算,以得到验证用消息摘要值;
S002、调取所述多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以得到多个第四消息摘要值;其中,每个固有信息仅存在于用户端与一个存储终端中;
S003、将密钥与所述多个第四消息摘要值分别进行对比,以从每个第四消息摘要值中均选出一个相同字符串,从而对应得到多个相同字符串;其中,每个相同字符串与密钥中的相同位置的字符串相同;
S004、复制密钥,以得到与所述多个相同字符串的数量相同的多个密钥,并从多个密钥中分别删除一个相同字符串,从而对应得到多个中间密钥;
S005、采用预设的多个划分方法,对所述多个中间密钥分别进行划分处理,以得到多个中间序列;
S006、随机生成多个暂时字符串序列,并对所述多个暂时字符串序列中的每个字符串均进行消息摘要计算,以得到多个暂时消息摘要值集合;
S007、根据预设的字符串截取方法,从同一个暂时消息摘要值集合中的第一个暂时消息摘要值中截取出一号字符串,从第二个暂时消息摘要值中截取出二号字符串,直至从最后一个暂时消息摘要值中截取出最后一号字符串,从而得与一个暂时消息摘要值集合对应的一个暂时序列,进而得到与所述多个暂时消息摘要值集合对应的多个暂时序列;
S008、判断所述多个暂时序列与所述多个中间序列是否分别对应相同;
S009、若所述多个暂时序列与所述多个中间序列分别对应相同,则将每个暂时字符串序列均记为置换字符串序列;
S010、将一个所述划分方法和一个对应的所述字符串截取方法,记为一个元素合并方法。
从而生成了多个置换字符串序列、多个元素合并方法、和一个验证用消息摘要值分别构成的多个携带信息。此时的执行主体为用户端。本申请之所以能够用多个不同的携带信息还原出一个密钥,就是因为不同的携带信息是采取上述步骤生成的。而密钥可以是预先生成的,也可以是即时生成的,对此不作限制。并且在暂时字符串序列的生成过程中,需要进行多次随机生成,这是因为并不是所有的字符串序列均能满足要求,而生成的暂时字符串序列应当满足的要求是,其生成的多个暂时序列与所述多个中间序列分别对应相同。而暂时序列是对暂时字符串序列进行消息摘要计算,再进行字符串截取后得到的,因此还需要将所述字符串截取方法与划分方法记下,以作为一个元素合并方法。其中的划分方法可为任意可行方法,例如将第一位至第t位划为第一部分,第t+2位至第2t位划为第二部分…。
同样的,字符串截取方法也可为任意可行方法,甚至可以与划分方法相同或相似,例如也将第一位至第t位划为第一个字符串,第t+2位至第2t位划为第二个字符串…。虽然对字符串截取方法和划分方法看似没有限定,但是需要保证得到的暂时序列满足要求:所述多个暂时序列与所述多个中间序列分别对应相同。另外,随机生成多个暂时字符串序列需要的次数与划分方法的粒度与截取方法的粒度有关,划分的越细,截取的越细,则越容易生成满足要求的暂时字符串序列,但安全性有所下降。由于多个时字符串序列的生成是没有依据的,并且也是不能有依据的(这是因为消息摘要算法输出与输入除了唯一关联特性之外,没有更多的关系),因此也只能采用随机法进行生成,再用后续步骤判断其是否满足要求。正如前所述,消息摘要算法的耗时短,因此生成合适的多个暂时字符串序列的耗时是能够接受的。
进一步地,所述根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合的步骤S6中,一个第二消息摘要值的拆分次数N=P-t+1;其中,P为第一总位数,t为差值;
所述进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的不完全字符串中,从而得到由多个完全字符串构成的完全字符串集合,进而得到与所述多个候补字符串集合分别对应的多个完全字符串集合的步骤S7中,每个候补字符串进行多次插入处理的次数Q=N(R+1);其中,R为第二总位数。
从而以牺牲部分算力的代价,提高了信息安全性。结合步骤S7与步骤S6,要计算的次数为Q乘以N=(P-t+1)×N(R+1),假设N约为一千,Q约为一千时,则总计算次数为十万次左右。十万次的消息摘要计算,这相对于某些区块链中的区块链节点的算力而言(可达万亿每秒的级别),耗时与消耗的算力是可以接受的。而若采用暴力破解的方式,需要的次数远高于十万次(是指数级别的差异)。
进一步地,验证用消息摘要值、第一消息摘要值、第二消息摘要值和第三消息摘要值均是采用相同的摘要算法计算得到。
实施例3:
本实施例与实施例1或2的不同之处仅在于,在本实施例中,所述判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值的步骤S9之后,包括:
S91、若各自的第三消息摘要值集合中不均存在指定第三消息摘要值,则进行存储终端间的相互通信,以确定所述指定第三消息摘要值的数量;
S92、判断所述指定第三消息摘要值的数量是否大于预设的数量阈值;
S93、若所述指定第三消息摘要值的数量不大于预设的数量阈值,则向用户端发送密钥错误的报文,以要求用户端核实密钥的正确性。
理论上,遍历得到的多个完整字符串中,一定存在一个与正确密钥相同的完整字符串,因此其对应的消息摘要值也应等于验证用消息摘要值。若各自的第三消息摘要值集合中不均存在指定第三消息摘要值,则可能存在的问题可能是,某些存储终端获取的携带信息不全,或者用户端发送的携带信息错误。因此先行存储终端间的相互通信,以确定所述指定第三消息摘要值的数量。注意,此时并不进行消息摘要或者正确密钥或者完整字符串的传输,这是为了保证安全性,而仅是确定指定第三消息摘要值的数量。若指定第三消息摘要值的数量较多,例如仅有一个存储终端未找出正确的密钥,则可能是该存储终端出现了问题(例如丢失了固有信息);若所述指定第三消息摘要值的数量不大于预设的数量阈值,则大概率是用户端出现了问题,因此向用户端发送密钥错误的报文,以要求用户端核实密钥的正确性。
本申请的基于分布式存储的大数据加密传输方法,分别获取来自于同一个用户端的多个数据传输请求;分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;进行合并处理,以得到一个不完全字符串,进而得到对应于所述多个初始字符串集合的多个不完全字符串;对应得到多个第二消息摘要值,再根据公式:差值=第一总位数-第二总位数,以得到多个差值;进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合;进行多次候补字符串插入处理,得到多个完全字符串集合;分别进行消息摘要计算,以得到多个第三消息摘要值集合;若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则对多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端,实现了在保障大数据的安全性的前提下,减少了密钥的数量。
实施例4:
参照图2,本实施例提供一种用于实现实施例1-3任一项所述方法的基于分布式存储的大数据加密传输装置,同时应用于多个存储终端,包括:
数据传输请求获取单元10,用于分别获取来自于同一个用户端的多个数据传输请求;其中,每个数据传输请求均携带有一个不同的置换字符串序列、一个不同的元素合并方法和一个相同的验证用消息摘要值,所述验证用消息摘要值是对预存于用户端的密钥进行消息摘要计算得到的,所述元素合并方法用于将由多个元素构成的序列合并为一个字符串;
第一消息摘要值生成单元20,用于采用预设的消息摘要算法,分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;其中,每个第一消息摘要值集合均由多个第一消息摘要值构成;
初始字符串集合生成单元30,用于从各自的元素合并方法中,获取每一个元素被合并的字符位置,并根据每一个元素被合并的字符位置,从每一个消息摘要值中分别选出多个字符以构成一个初始字符串,进而得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;其中,每个初始字符串集合均包括多个初始字符串,每个初始字符串中的所有字符均保留原有的字符位置;
不完全字符串生成单元40,用于根据所述元素合并方法,对处于同一个初始字符串集合的所有元素进行合并处理,以得到一个不完全字符串,进而得到对应于所述多个初始字符串集合的多个不完全字符串;其中,每个不完全字符串的总位数均小于所述消息摘要算法输出的消息摘要值的总位数;
第二消息摘要值生成单元50,用于分别调取与所述多个存储终端分别对应的多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以对应得到多个第二消息摘要值,再获取所述消息摘要算法输出的消息摘要值的第一总位数,并分别统计所述多个不完全字符串的多个第二总位数,根据公式:差值=第一总位数-第二总位数,以得到与所述多个不完全字符串的对应的多个差值;
候补字符串集合生成单元60,用于根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合;其中,每个候补字符串均由连续的字符构成,每个候补字符串的位数等于对应的差值;
候补字符串插入单元70,用于进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的不完全字符串中,从而得到由多个完全字符串构成的完全字符串集合,进而得到与所述多个候补字符串集合分别对应的多个完全字符串集合;
第三消息摘要值生成单元80,用于对一个完全字符串集合中的元素分别进行消息摘要计算,以得到由多个第三消息摘要值构成的第三消息摘要值集合,进而得到与所述多个完全字符串集合对应的多个第三消息摘要值集合;其中,每个第三消息摘要值均是对一个完全字符串进行消息摘要计算得到的;
指定第三消息摘要值判断单元90,用于判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值;
需要传输的数据确定单元100,用于若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则分别根据所述多个数据传输请求,确定多个需要传输的数据;
加密传输单元110,用于将所述指定第三消息摘要值对应的完全字符串作为密钥,分别对所述多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端。
在一个实施方式中,所述分别获取来自于同一个用户端的多个数据传输请求之前,包括:
用户端调取预设的密钥,并对密钥进行消息摘要计算,以得到验证用消息摘要值;
调取所述多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以得到多个第四消息摘要值;其中,每个固有信息仅存在于用户端与一个存储终端中;
将密钥与所述多个第四消息摘要值分别进行对比,以从每个第四消息摘要值中均选出一个相同字符串,从而对应得到多个相同字符串;其中,每个相同字符串与密钥中的相同位置的字符串相同;
复制密钥,以得到与所述多个相同字符串的数量相同的多个密钥,并从多个密钥中分别删除一个相同字符串,从而对应得到多个中间密钥;
采用预设的多个划分方法,对所述多个中间密钥分别进行划分处理,以得到多个中间序列;
随机生成多个暂时字符串序列,并对所述多个暂时字符串序列中的每个字符串均进行消息摘要计算,以得到多个暂时消息摘要值集合;
根据预设的字符串截取方法,从同一个暂时消息摘要值集合中的第一个暂时消息摘要值中截取出一号字符串,从第二个暂时消息摘要值中截取出二号字符串,直至从最后一个暂时消息摘要值中截取出最后一号字符串,从而得与一个暂时消息摘要值集合对应的一个暂时序列,进而得到与所述多个暂时消息摘要值集合对应的多个暂时序列;
判断所述多个暂时序列与所述多个中间序列是否分别对应相同;
若所述多个暂时序列与所述多个中间序列分别对应相同,则将每个暂时字符串序列均记为置换字符串序列;
将一个所述划分方法和一个对应的所述字符串截取方法,记为一个元素合并方法。
在一个实施方式中,所述根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合中,一个第二消息摘要值的拆分次数N=P-t+1;其中,P为第一总位数,t为差值;
所述进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的不完全字符串中,从而得到由多个完全字符串构成的完全字符串集合,进而得到与所述多个候补字符串集合分别对应的多个完全字符串集合中,每个候补字符串进行多次插入处理的次数Q=N(R+1);其中,R为第二总位数。
在一个实施方式中,验证用消息摘要值、第一消息摘要值、第二消息摘要值和第三消息摘要值均是采用相同的摘要算法计算得到。
在一个实施方式中,所述判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值之后,包括:
若各自的第三消息摘要值集合中不均存在指定第三消息摘要值,则进行存储终端间的相互通信,以确定所述指定第三消息摘要值的数量;
判断所述指定第三消息摘要值的数量是否大于预设的数量阈值;
若所述指定第三消息摘要值的数量不大于预设的数量阈值,则向用户端发送密钥错误的报文,以要求用户端核实密钥的正确性。
其中上述单元分别用于执行的操作与前述实施方式的基于分布式存储的大数据加密传输方法的步骤一一对应,在此不再赘述。
本申请的基于分布式存储的大数据加密传输装置,分别获取来自于同一个用户端的多个数据传输请求;分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;进行合并处理,以得到一个不完全字符串,进而得到对应于所述多个初始字符串集合的多个不完全字符串;对应得到多个第二消息摘要值,再根据公式:差值=第一总位数-第二总位数,以得到多个差值;进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合;进行多次候补字符串插入处理,得到多个完全字符串集合;分别进行消息摘要计算,以得到多个第三消息摘要值集合;若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则对多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端,实现了在保障大数据的安全性的前提下,减少了密钥的数量。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于分布式存储的大数据加密传输方法,其特征在于,同时应用于多个存储终端,包括:
S1、分别获取来自于同一个用户端的多个数据传输请求;其中,每个数据传输请求均携带有一个不同的置换字符串序列、一个不同的元素合并方法和一个相同的验证用消息摘要值,所述验证用消息摘要值是对预存于用户端的密钥进行消息摘要计算得到的,所述元素合并方法用于将由多个元素构成的序列合并为一个字符串;
S2、采用预设的消息摘要算法,分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;其中,每个第一消息摘要值集合均由多个第一消息摘要值构成;
S3、从各自的元素合并方法中,获取每一个元素被合并的字符位置,并根据每一个元素被合并的字符位置,从每一个消息摘要值中分别选出多个字符以构成一个初始字符串,进而得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;其中,每个初始字符串集合均包括多个初始字符串,每个初始字符串中的所有字符均保留原有的字符位置;
S4、根据所述元素合并方法,对处于同一个初始字符串集合的所有元素进行合并处理,以得到一个第一字符串,进而得到对应于所述多个初始字符串集合的多个第一字符串;其中,每个第一字符串的总位数均小于所述消息摘要算法输出的消息摘要值的总位数;
S5、分别调取与所述多个存储终端分别对应的多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以对应得到多个第二消息摘要值,再获取所述消息摘要算法输出的消息摘要值的第一总位数,并分别统计所述多个第一字符串的多个第二总位数,根据公式:差值=第一总位数-第二总位数,以得到与所述多个第一字符串的对应的多个差值;
S6、根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合;其中,每个候补字符串均由连续的字符构成,每个候补字符串的位数等于对应的差值;
S7、进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的第一字符串中,从而得到由多个第二字符串构成的第二字符串集合,进而得到与所述多个候补字符串集合分别对应的多个第二字符串集合;其中,每个第二字符串的总位数均等于密钥的总位数;
S8、对一个第二字符串集合中的元素分别进行消息摘要计算,以得到由多个第三消息摘要值构成的第三消息摘要值集合,进而得到与所述多个第二字符串集合对应的多个第三消息摘要值集合;其中,每个第三消息摘要值均是对一个第二字符串进行消息摘要计算得到的;
S9、判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值;
S10、若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则分别根据所述多个数据传输请求,确定多个需要传输的数据;
S11、将所述指定第三消息摘要值对应的第二字符串作为密钥,分别对所述多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端。
2.根据权利要求1所述的基于分布式存储的大数据加密传输方法,其特征在于,所述分别获取来自于同一个用户端的多个数据传输请求的步骤S1之前,包括:
S001、用户端调取预设的密钥,并对密钥进行消息摘要计算,以得到验证用消息摘要值;
S002、调取所述多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以得到多个第四消息摘要值;其中,每个固有信息仅存在于用户端与一个存储终端中;
S003、将密钥与所述多个第四消息摘要值分别进行对比,以从每个第四消息摘要值中均选出一个相同字符串,从而对应得到多个相同字符串;其中,每个相同字符串与密钥中的相同位置的字符串相同;
S004、复制密钥,以得到与所述多个相同字符串的数量相同的多个密钥,并从多个密钥中分别删除一个相同字符串,从而对应得到多个中间密钥;
S005、采用预设的多个划分方法,对所述多个中间密钥分别进行划分处理,以得到多个中间序列;
S006、随机生成多个暂时字符串序列,并对所述多个暂时字符串序列中的每个字符串均进行消息摘要计算,以得到多个暂时消息摘要值集合;
S007、根据预设的字符串截取方法,从同一个暂时消息摘要值集合中的第一个暂时消息摘要值中截取出一号字符串,从第二个暂时消息摘要值中截取出二号字符串,直至从最后一个暂时消息摘要值中截取出最后一号字符串,从而得与一个暂时消息摘要值集合对应的一个暂时序列,进而得到与所述多个暂时消息摘要值集合对应的多个暂时序列;
S008、判断所述多个暂时序列与所述多个中间序列是否分别对应相同;
S009、若所述多个暂时序列与所述多个中间序列分别对应相同,则将每个暂时字符串序列均记为置换字符串序列;
S010、将一个所述划分方法和一个对应的所述字符串截取方法,记为一个元素合并方法。
3.根据权利要求1所述的基于分布式存储的大数据加密传输方法,其特征在于,所述根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合的步骤S6中,一个第二消息摘要值的拆分次数N=P-t+1;其中,P为第一总位数,t为差值;
所述进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的第一字符串中,从而得到由多个第二字符串构成的第二字符串集合,进而得到与所述多个候补字符串集合分别对应的多个第二字符串集合的步骤S7中,每个候补字符串进行多次插入处理的次数Q=N(R+1);其中,R为第二总位数。
4.根据权利要求1所述的基于分布式存储的大数据加密传输方法,其特征在于,验证用消息摘要值、第一消息摘要值、第二消息摘要值和第三消息摘要值均是采用相同的摘要算法计算得到。
5.根据权利要求1所述的基于分布式存储的大数据加密传输方法,其特征在于,所述判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值的步骤S9之后,包括:
S91、若各自的第三消息摘要值集合中不均存在指定第三消息摘要值,则进行存储终端间的相互通信,以确定所述指定第三消息摘要值的数量;
S92、判断所述指定第三消息摘要值的数量是否大于预设的数量阈值;
S93、若所述指定第三消息摘要值的数量不大于预设的数量阈值,则向用户端发送密钥错误的报文,以要求用户端核实密钥的正确性。
6.一种基于分布式存储的大数据加密传输装置,其特征在于,同时应用于多个存储终端,包括:
数据传输请求获取单元,用于分别获取来自于同一个用户端的多个数据传输请求;其中,每个数据传输请求均携带有一个不同的置换字符串序列、一个不同的元素合并方法和一个相同的验证用消息摘要值,所述验证用消息摘要值是对预存于用户端的密钥进行消息摘要计算得到的,所述元素合并方法用于将由多个元素构成的序列合并为一个字符串;
第一消息摘要值生成单元,用于采用预设的消息摘要算法,分别对各自的置换字符串序列中的每个元素进行消息摘要计算,以得到多个第一消息摘要值集合;其中,每个第一消息摘要值集合均由多个第一消息摘要值构成;
初始字符串集合生成单元,用于从各自的元素合并方法中,获取每一个元素被合并的字符位置,并根据每一个元素被合并的字符位置,从每一个消息摘要值中分别选出多个字符以构成一个初始字符串,进而得到对应于所述多个第一消息摘要值集合的多个初始字符串集合;其中,每个初始字符串集合均包括多个初始字符串,每个初始字符串中的所有字符均保留原有的字符位置;
第一字符串生成单元,用于根据所述元素合并方法,对处于同一个初始字符串集合的所有元素进行合并处理,以得到一个第一字符串,进而得到对应于所述多个初始字符串集合的多个第一字符串;其中,每个第一字符串的总位数均小于所述消息摘要算法输出的消息摘要值的总位数;
第二消息摘要值生成单元,用于分别调取与所述多个存储终端分别对应的多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以对应得到多个第二消息摘要值,再获取所述消息摘要算法输出的消息摘要值的第一总位数,并分别统计所述多个第一字符串的多个第二总位数,根据公式:差值=第一总位数-第二总位数,以得到与所述多个第一字符串的对应的多个差值;
候补字符串集合生成单元,用于根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合;其中,每个候补字符串均由连续的字符构成,每个候补字符串的位数等于对应的差值;
候补字符串插入单元,用于进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的第一字符串中,从而得到由多个第二字符串构成的第二字符串集合,进而得到与所述多个候补字符串集合分别对应的多个第二字符串集合;其中,每个第二字符串的总位数均等于密钥的总位数;
第三消息摘要值生成单元,用于对一个第二字符串集合中的元素分别进行消息摘要计算,以得到由多个第三消息摘要值构成的第三消息摘要值集合,进而得到与所述多个第二字符串集合对应的多个第三消息摘要值集合;其中,每个第三消息摘要值均是对一个第二字符串进行消息摘要计算得到的;
指定第三消息摘要值判断单元,用于判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值;
需要传输的数据确定单元,用于若各自的第三消息摘要值集合中均存在指定第三消息摘要值,则分别根据所述多个数据传输请求,确定多个需要传输的数据;
加密传输单元,用于将所述指定第三消息摘要值对应的第二字符串作为密钥,分别对所述多个需要传输的数据进行加密处理以得到多个加密数据,并将所述多个加密数据传输至所述用户端。
7.根据权利要求6所述的基于分布式存储的大数据加密传输装置,其特征在于,所述分别获取来自于同一个用户端的多个数据传输请求之前,包括:
用户端调取预设的密钥,并对密钥进行消息摘要计算,以得到验证用消息摘要值;
调取所述多个固有信息,并对所述多个固有信息分别进行消息摘要计算,以得到多个第四消息摘要值;其中,每个固有信息仅存在于用户端与一个存储终端中;
将密钥与所述多个第四消息摘要值分别进行对比,以从每个第四消息摘要值中均选出一个相同字符串,从而对应得到多个相同字符串;其中,每个相同字符串与密钥中的相同位置的字符串相同;
复制密钥,以得到与所述多个相同字符串的数量相同的多个密钥,并从多个密钥中分别删除一个相同字符串,从而对应得到多个中间密钥;
采用预设的多个划分方法,对所述多个中间密钥分别进行划分处理,以得到多个中间序列;
随机生成多个暂时字符串序列,并对所述多个暂时字符串序列中的每个字符串均进行消息摘要计算,以得到多个暂时消息摘要值集合;
根据预设的字符串截取方法,从同一个暂时消息摘要值集合中的第一个暂时消息摘要值中截取出一号字符串,从第二个暂时消息摘要值中截取出二号字符串,直至从最后一个暂时消息摘要值中截取出最后一号字符串,从而得与一个暂时消息摘要值集合对应的一个暂时序列,进而得到与所述多个暂时消息摘要值集合对应的多个暂时序列;
判断所述多个暂时序列与所述多个中间序列是否分别对应相同;
若所述多个暂时序列与所述多个中间序列分别对应相同,则将每个暂时字符串序列均记为置换字符串序列;
将一个所述划分方法和一个对应的所述字符串截取方法,记为一个元素合并方法。
8.根据权利要求6所述的基于分布式存储的大数据加密传输装置,其特征在于,所述根据所述多个差值,对每个第二消息摘要值均进行多次符号拆解处理,以拆解出由多个候补字符串构成的候补字符串集合,进而得到与所述多个第二消息摘要值分别对应的多个候补字符串集合中,一个第二消息摘要值的拆分次数N=P-t+1;其中,P为第一总位数,t为差值;
所述进行多次候补字符串插入处理,以将一个候补字符串作为一个整体插入一个对应的第一字符串中,从而得到由多个第二字符串构成的第二字符串集合,进而得到与所述多个候补字符串集合分别对应的多个第二字符串集合中,每个候补字符串进行多次插入处理的次数Q=N(R+1);其中,R为第二总位数。
9.根据权利要求6所述的基于分布式存储的大数据加密传输装置,其特征在于,验证用消息摘要值、第一消息摘要值、第二消息摘要值和第三消息摘要值均是采用相同的摘要算法计算得到。
10.根据权利要求6所述的基于分布式存储的大数据加密传输装置,其特征在于,所述判断各自的第三消息摘要值集合中是否均存在指定第三消息摘要值,以使得指定第三消息摘要值等于所述验证用消息摘要值之后,包括:
若各自的第三消息摘要值集合中不均存在指定第三消息摘要值,则进行存储终端间的相互通信,以确定所述指定第三消息摘要值的数量;
判断所述指定第三消息摘要值的数量是否大于预设的数量阈值;
若所述指定第三消息摘要值的数量不大于预设的数量阈值,则向用户端发送密钥错误的报文,以要求用户端核实密钥的正确性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111139280.0A CN113609510B (zh) | 2021-09-28 | 2021-09-28 | 一种基于分布式存储的大数据加密传输方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111139280.0A CN113609510B (zh) | 2021-09-28 | 2021-09-28 | 一种基于分布式存储的大数据加密传输方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609510A CN113609510A (zh) | 2021-11-05 |
CN113609510B true CN113609510B (zh) | 2021-12-24 |
Family
ID=78343245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111139280.0A Active CN113609510B (zh) | 2021-09-28 | 2021-09-28 | 一种基于分布式存储的大数据加密传输方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609510B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166095A (zh) * | 2002-04-17 | 2008-04-23 | 微软公司 | 基于公开密钥加密的数据存储和数据检索 |
US9025770B1 (en) * | 2007-06-28 | 2015-05-05 | Trend Micro Incorporated | Dynamic encryption arrangement with a wireless device and methods therefor |
CN104935783A (zh) * | 2015-06-15 | 2015-09-23 | 北京邮电大学 | 一种安全的主动式图像篡改检测方法及装置 |
CN105323754A (zh) * | 2014-07-29 | 2016-02-10 | 北京信威通信技术股份有限公司 | 一种基于预共享密钥的分布式鉴权方法 |
CN109639413A (zh) * | 2018-12-10 | 2019-04-16 | 四川大学 | 一种基于移动自组网的区块链系统 |
CN110337665A (zh) * | 2018-11-27 | 2019-10-15 | 阿里巴巴集团控股有限公司 | 用于信息保护的系统和方法 |
CN110543548A (zh) * | 2019-08-20 | 2019-12-06 | 国网江苏省电力有限公司电力科学研究院 | 物联网设备通信内容的多关键词快速匹配方法及匹配系统 |
CN110968881A (zh) * | 2019-12-03 | 2020-04-07 | 浪潮卓数大数据产业发展有限公司 | 一种基于人工智能的系统认证及数据加密方法 |
CN111064561A (zh) * | 2019-12-11 | 2020-04-24 | 北京雍鼎智能科技有限公司 | 消息加密方法及装置 |
CN111079128A (zh) * | 2019-12-11 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
CN111709038A (zh) * | 2020-05-07 | 2020-09-25 | 北京中科凡语科技有限公司 | 文件加密解密方法、分布式存储系统、设备及存储介质 |
CN111917630A (zh) * | 2020-07-08 | 2020-11-10 | 北京艾智侠科技有限责任公司 | 数据传输方法、装置、存储介质及电子装置 |
CN112000853A (zh) * | 2020-07-31 | 2020-11-27 | 天翼电子商务有限公司 | 设备唯一标识的生成/反馈方法、介质及客户端、服务端 |
CN112613760A (zh) * | 2020-12-26 | 2021-04-06 | 西安科锐盛创新科技有限公司 | 基于区块链技术的产品质量评定方法及系统 |
CN113300842A (zh) * | 2021-05-26 | 2021-08-24 | 清创网御(北京)科技有限公司 | 一种提高对称加密算法安全性的方法 |
CN113377294A (zh) * | 2021-08-11 | 2021-09-10 | 武汉泰乐奇信息科技有限公司 | 一种基于二值化数据转换的大数据存储方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495036B2 (en) * | 2008-10-24 | 2013-07-23 | Microsoft Corporation | Blob manipulation in an integrated structured storage system |
-
2021
- 2021-09-28 CN CN202111139280.0A patent/CN113609510B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166095A (zh) * | 2002-04-17 | 2008-04-23 | 微软公司 | 基于公开密钥加密的数据存储和数据检索 |
US9025770B1 (en) * | 2007-06-28 | 2015-05-05 | Trend Micro Incorporated | Dynamic encryption arrangement with a wireless device and methods therefor |
CN105323754A (zh) * | 2014-07-29 | 2016-02-10 | 北京信威通信技术股份有限公司 | 一种基于预共享密钥的分布式鉴权方法 |
CN104935783A (zh) * | 2015-06-15 | 2015-09-23 | 北京邮电大学 | 一种安全的主动式图像篡改检测方法及装置 |
CN110337665A (zh) * | 2018-11-27 | 2019-10-15 | 阿里巴巴集团控股有限公司 | 用于信息保护的系统和方法 |
CN109639413A (zh) * | 2018-12-10 | 2019-04-16 | 四川大学 | 一种基于移动自组网的区块链系统 |
CN110543548A (zh) * | 2019-08-20 | 2019-12-06 | 国网江苏省电力有限公司电力科学研究院 | 物联网设备通信内容的多关键词快速匹配方法及匹配系统 |
CN110968881A (zh) * | 2019-12-03 | 2020-04-07 | 浪潮卓数大数据产业发展有限公司 | 一种基于人工智能的系统认证及数据加密方法 |
CN111064561A (zh) * | 2019-12-11 | 2020-04-24 | 北京雍鼎智能科技有限公司 | 消息加密方法及装置 |
CN111079128A (zh) * | 2019-12-11 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
CN111709038A (zh) * | 2020-05-07 | 2020-09-25 | 北京中科凡语科技有限公司 | 文件加密解密方法、分布式存储系统、设备及存储介质 |
CN111917630A (zh) * | 2020-07-08 | 2020-11-10 | 北京艾智侠科技有限责任公司 | 数据传输方法、装置、存储介质及电子装置 |
CN112000853A (zh) * | 2020-07-31 | 2020-11-27 | 天翼电子商务有限公司 | 设备唯一标识的生成/反馈方法、介质及客户端、服务端 |
CN112613760A (zh) * | 2020-12-26 | 2021-04-06 | 西安科锐盛创新科技有限公司 | 基于区块链技术的产品质量评定方法及系统 |
CN113300842A (zh) * | 2021-05-26 | 2021-08-24 | 清创网御(北京)科技有限公司 | 一种提高对称加密算法安全性的方法 |
CN113377294A (zh) * | 2021-08-11 | 2021-09-10 | 武汉泰乐奇信息科技有限公司 | 一种基于二值化数据转换的大数据存储方法和装置 |
Non-Patent Citations (1)
Title |
---|
一种基于加密算法分析的PKI身份认证方案;王舜燕等;《鄂州大学学报》;20051130(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113609510A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dodis et al. | Correcting errors without leaking partial information | |
CN111510281B (zh) | 一种同态加密方法及装置 | |
DK2361462T3 (en) | METHOD FOR GENERATING an encryption / decryption | |
Yasuda et al. | New packing method in somewhat homomorphic encryption and its applications | |
KR19990082665A (ko) | 공통키 통신방법 | |
US8180048B2 (en) | Method and system for computational transformation | |
Issa et al. | Maximal leakage minimization for the Shannon cipher system | |
Barman et al. | A novel secure key-exchange protocol using biometrics of the sender and receiver | |
Gligoroski et al. | Cryptcoding-Encryption and Error-Correction Coding in a Single Step. | |
Bhat et al. | Fuzzy extractor and chaos enhanced elliptic curve cryptography for image encryption and authentication | |
US20020136400A1 (en) | R-conversion encryption method and system | |
CN113297619A (zh) | 基于可扩展精度双混沌哈希和RSA的Mysql敏感数据保护系统 | |
CN113609510B (zh) | 一种基于分布式存储的大数据加密传输方法与装置 | |
US7280663B1 (en) | Encryption system based on crossed inverse quasigroups | |
JP2001282103A (ja) | 暗号化方法 | |
Murugan | An efficient algorithm on quantum computing with quantum key distribution for secure communication | |
Tian et al. | Privacy-preserving biometric-based remote user authentication | |
Guo et al. | Secure and efficient nearest neighbor query for an outsourced database | |
CN110941815A (zh) | 一种新型密码 | |
CN114500006B (zh) | 查询请求的处理方法及装置 | |
Umamaheswaran et al. | An algorithm for encrypting/decrypting textual messages | |
Kinganga et al. | HRS-3K: A Hybrid Encryption System Based on Matrix Computation and RSA With Disordered alphabet in ℤ/44ℤ | |
Guan et al. | A light-weight bit commitment protocol based on unpredictable channel noise | |
Alimomeni | New notions of secrecy and user generated randomness in Cryptography | |
CN114024665A (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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A method and device for encrypted transmission of big data based on distributed storage Effective date of registration: 20231225 Granted publication date: 20211224 Pledgee: Guanggu Branch of Wuhan Rural Commercial Bank Co.,Ltd. Pledgor: WUHAN TALENT INFORMATION TECHNOLOGY CO.,LTD. Registration number: Y2023980073991 |