CN101840485A - 文件混序分割存储与合成互验的方法 - Google Patents
文件混序分割存储与合成互验的方法 Download PDFInfo
- Publication number
- CN101840485A CN101840485A CN201010177099A CN201010177099A CN101840485A CN 101840485 A CN101840485 A CN 101840485A CN 201010177099 A CN201010177099 A CN 201010177099A CN 201010177099 A CN201010177099 A CN 201010177099A CN 101840485 A CN101840485 A CN 101840485A
- Authority
- CN
- China
- Prior art keywords
- file
- matrix
- magic square
- preface
- random
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 239000011159 matrix material Substances 0.000 claims description 98
- 230000008569 process Effects 0.000 claims description 38
- 238000003860 storage Methods 0.000 claims description 23
- 238000012360 testing method Methods 0.000 claims description 15
- 238000005520 cutting process Methods 0.000 claims description 14
- 239000000203 mixture Substances 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 8
- 238000013519 translation Methods 0.000 claims description 8
- 238000010189 synthetic method Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 238000005538 encapsulation Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 238000011001 backwashing Methods 0.000 claims description 4
- 230000008521 reorganization Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000010200 validation analysis Methods 0.000 abstract 3
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种文件混序分割存储与合成互验的方法,其特征在于,包括以下步骤:A:文件混序步骤;B:幻方加密步骤;C:文件恢复及互验步骤。该文件混序分割存储与合成互验的方法安全性好,效率高,且具有互验功能。使用本发明,具有以下优点,文件分割的无序性,幻方加密算法的高安全性,文件合成时的自身完整性和互完整性验证。
Description
技术领域
本发明涉及一种计算机文件分布式安全存储的方法,特别是指一种将计算机文件混序、分割、加密、分布式存储以及互验、解密、合成、还原的方法。
技术背景
随着现代技术的不断发展和进步,计算机信息的安全性,尤其是计算机文件信息的安全性越来越突出。计算机文件信息的泄密很容易造成不可估量的损失,而现有的计算机文件存储技术存在严重的缺陷,难以达到计算机文件保密的目的,因此需要解决针对计算机文件安全存储的问题。现在常用的计算机文件保护措施是将文件直接加密存储在计算机或者移动存储设备中,但是当存有涉密文件的设备丢失后,当中的涉密文件的破解就只剩下时间问题了,因此这种防泄密措施并不具有较高的安全性能。
另外,还有一种保护措施就是将文件按顺序先分割成若干个部分再存储在几个不同的设备上,当需要使用时,再将文件还原成分割前的状态。这种方案一股常用移动载体来存储分割后的各部分文件。虽然这样从一定程度上提高了涉密文件的安全性,但是这种措施存在一个致命的问题,就是因为文件是按顺序分割的,虽然攻击者可能只获得了分割后的一部分文件,但是当攻击者破解了这一部分文件后,该部分文件所包含的秘密还是会泄露。
另外,当分割后的一部分文件被恶意修改之后,现有产品都没有进行报警,通知用户文件已经被改动,也就是缺少对文件进行的自身完整性检测和互完整性检测,这样会导致最终合成的文件出现错误,更严重者可能因攻击者伪造秘密信息而造成决策失误等。
发明内容
本发明的目的是提出一种文件混序分割存储与合成互验的方法,该文件混序分割存储与合成互验的方法安全性好,效率高,且具有互验功能。
本发明的技术解决方案如下:
一种文件混序分割存储与合成互验的方法,其特征在于,包括以下步骤:
A:文件混序步骤;
B:幻方加密步骤;
C:文件恢复及互验步骤;
所述的文件混序步骤为:
步骤1:位置确定:
将源码文件F以字符为单位存入一个16*n的矩阵L,n为字符数,矩阵L中的元素表示为ai,j,其中i=1,2,3,...,16;j=1,2,...,n;
步骤2:设定文件分块数x;
步骤3:产生x个16阶的随机幻方Ml,l=1,2,3,...,x;将产生的第一个随机幻方的首行中的元素存入集合H=(h1,h2,...h16);
步骤4:位置混序:
首先确定集合Ke:
将步骤1中的矩阵L分为16个集合Ke,e=1,2,3,...,16,,每个集合Ke的首元素对应矩阵L中第一行的元素a1,j,j=1,2,3,...,16;
当e=2k+1,k=0,1,2,3,...,7时,Ke中首元素后面的其他元素为矩阵L中以该首元素所在的主对角线上的所有元素;
当e=2m,m=1,2,3,...,8时,Ke中首元素后面的其他元素为矩阵L中以该首元素所在的副对角线上的所有元素;
然后,将Ke向左或向右平移hi个单位,其中hi为集合H中的元素;
当e=2k+1,k=0,1,2,3,...,7时,将Ke中的元素向右平移hi个单位;
当e=2m,m=,1,2,3,...,7时,将Ke中的元素向左平移hi个单位;
最后,将Ke中新的元素对应回原来矩阵的位置,得到一个混序的矩阵;
步骤5:文件分割:
将步骤4的位置混序后的文件按顺序分割为x个子文件Fj,其中j=1,2,3,…,x;
所述的幻方加密步骤为:
步骤1:先将分割后的文档Fj转换成ASCII码,再将其转换成二进制;从而构造成明文矩阵Wl,l=1,2,3,…x;
步骤2;将明文矩阵Wl对应的幻方Ml中的每个元素转换为二进制值,再将明文矩阵Wl中的每个元素与幻方Ml中对应的元素的二进制值进行异或运算,得到第一次密文矩阵Ul;
步骤3:将第一次密文矩阵Ul的元素采用幻方Ml作为调序规则进行调序,即将幻方中每个元素的数值所对应的密文矩阵中该数值号的元素调序到幻方中该元素的位置,得到第二次密文矩阵Ul *,由Ul *组成密文分块Fj *,加密完成;
所述的文件恢复及互验步骤为:
步骤1:将密文分块Fj *运用SHA2-256算法生成一个记录Fj *特征的256位0-1序列hj,即为散列值hj;
步骤2:将所产生的x个随机幻方Ml进行模和运算得到互完整性校验矩阵M2;
步骤3:用得到的0-1序列hj对随机幻方Ml进行洗牌得到认证矩阵Ml*,具体操作为:从一组具有内部数学关系的可校验的n1个有序数字序列中按序随机抽取其中约一半数字,按先后次序排成一组数字序列,并将该序列置于所剩数字序列之后,构成一个新的数字序列,称该数字序列重组过程为随机洗牌过程,重组数字序列称为洗牌结果,其中按序均匀随机抽取数字的方案由一n1元0-1二进制表示,并称之为洗牌方案;
步骤4:将密文分块Fj *和Mi*一起封装发送到各分布式终端,其中,i∈{1,2,3,...,x},j≠i;
步骤5:如果存有某一文件分块Fi的终端Zi有提取文件F的需求,将Fi的散列值hj广播发送至存有F文件其他分块的终端Zj,j∈{1,2,3,...,x},j≠i,终端Zj通过其所保存的认证矩阵验证其所接收的散列值hj是否正确,如果验证正确,终端Zj则将其存储的文件分块Fj传送至此次文件的提取终端Zi;
步骤6:如果已经收到全部文件分块{Fj,j≠i},由文件提取终端Zi分别计算各分块Fj的散列值hj,利用hj通过逆洗牌和反调序过程将各文件分块Fj的相应随机幻方Ml分别从相应的认证矩阵Ml*中提取出来,然后计算验证M*是否是幻方,如果M*是幻方,则所有文件分块的自完整性与互完整性均满足,可以成功合成完整文件;否则,自完整性与互完整性均不满足,文件不能成功合成;如文件可以合成,首先将文件Fj *进行解密得到Fj,解密方法即为加密方法的逆步骤,再将Fj合成得到混序后的文件,最后将混序后的文件恢复成矩阵L,恢复操作为混序的逆步骤,从而恢复出文件F。
所述的分块数x为3-10。
分块数无限制,可以从1到无穷大,因为分块数是根据文件F的大小决定的,文件F大则x就大。
有益效果:
本发明具有以下积极效果:
1)文件分割的无序性。现有的文件分割技术只是将文件进行简单的顺序分割,不能起到减小文件内容之间相关性的效果,某个文件分块被破解之后攻击者还是能得到部分秘密信息。而本发明应用一种全新的幻方混序方法将需要分割的文件进行全文范围内混序,然后再进行分割,从最大程度上减小文件内容的相关性。简要实施方式是首先将文件内容转换成16*n的矩阵,根据混序方案(一个随机幻方的第一行数字序列)进行混序操作,由于是根据整个矩阵的对角线进行双向(左斜和右斜)倾斜方向移动,移动范围是整个文件矩阵,所以能够保证全文内容的不相关性。而采用将文件内容转换成ASCII码值矩阵方案时,不仅文件内容的顺序被打乱,而且文件的具体内容也会发生改变,安全性能更高。
2)幻方加密算法的高安全性。现有加密算法,如对称加密算法DES、AES、IDEA、FEAL等,就像在谢涛以前申请的专利中所说,因加密与安全风险的集中性和其的分组长度都不适合与对分割后的文件进行加密。同时公钥密码***有密钥对生成效率低,加密与解密效率偏低,模数太长,加密结果长度不确定等缺点。而单向散列函数又容易遭受“碰撞”攻击,所以也不适合作为本发明中加密算法。本发明采用幻方加密算法可以很好的克服这些问题,而且幻方加密算法作为一种全新的加密算法,外界对其了解很少,所以其被破解的可能性很低。
3)文件合成时的完整性互验。在分割后的文件合成时,本发明采取先对各个分割后的文件的自身完整性和互完整性进行验证,只有验证通过后才允许合成,否则将不允许合成。各分割后的文件的自完整性靠其它分割后的文件的认证信息进行验证,可避免对分割后的文件的伪造,也可以很好的防止内部人员而造成的泄密。每一分割后的文件的认证信息实现(n-1)倍冗余存储(n为文件分块数),真正体现了分布式存储***的安全优势。如果采用文件分块的冗余存储,就可实现高效分布式安全冗余存储***。而且自完整性与互完整性校验算法均可公开。采用随机幻方洗牌认证还可以实现模糊认证。但现有技术是不对分割后的文件进行验证的,直接就将其进行合成,不能保证合成后的文件仍然是与分割前的文件是否一致的,有可能会导致合成后的文件信息发生改变,同时也就不具有以上其他的优点。
附图说明
图1:明文矩阵;
图2:随机幻方M1;
图3:随机幻方M2;
图4:随机幻方M3;
图5:幻方混序处理后的结果矩阵;
图6:明文转换为二进制的结果;
图7:异或运算结果((由于版面限制,未设计成表格形式,各个数字之间以逗号隔开);
图8:加密后的文件分块((由于版面限制,未设计成表格形式,各个数字之间以逗号隔开);
图9:利用SHA2-256算法产生的256位0-1序列;
图10:互完整性校验矩阵计算过程;
图11:自完整性校验矩阵计算过程;
图12:加密后的各个封装数据块。
具体实施方式
本发明用于文件混序的方法,包括以下步骤:
1.确定位置:
将表示文件F的二进制码以字符(Byte)为单位存入一个16*n(n由字符的个数确定)的矩阵L,矩阵L中的元素表示为ai,j,其中i=1,2,3,...,16;j=1,2,...,n;
2.由用户根据需要设定文件分块数x;
3.产生随机幻方:
随机幻方产生方法参见发明专利(谢涛,陈火旺,康立山;名称为:幻方身份双向认证与密钥传输一体化方法;专利号:ZL02114288.2),为现有技术。
根据随机幻方编码产生x个随机幻方Mi(i=1,2,3,...,x),产生步骤(以下步骤为简要步骤,具体步骤见ZL02114288.2)如下:
(1)初始化亲本:随机地将1至n2的连续自然数排列成n×n的矩阵;
(2)亲本复制与变异:计算σ1,当nrow+ncol>0时,等概率选择三种元素置换算子之一,以相应变异概率对矩阵进行操作,而且当最优个体的目标函数值小于(50×n)时,进一步启动行列局部调整操作,生成下代个体;当nrow+ncol=0时,采用行列置换算子与对角局部调整操作,生成下代个体;
(3)亲本更新:当nrow+ncol>0时,如果当前最优个体的目标函数不小于(50×n),则采用(μ·λ)-ES更新机制,否则,采用(μ+λ)-ES更新机制;当nrow+ncol=0,d1+d2≥1时,如果当前最优个体的目标函数值大于100,则采用(μ·λ)-ES更新机制,否则,采用(μ+λ)-ES更新机制;
(4)演化终止条件判断:如果最优个体的目标函数值等于0,即满足幻方条件,幻方演化算法终止,同时转幻方随机分割过程;否则,转步骤b。
4.位置混序:
取第一个幻方的第一行数值为混序方案,将整个文件进行混序。
5.文件分割:
采用一定规则将混序后的文件分割为X个子文件。
文件混序的具体实施方式:
文件混序的步骤为:
1.确定位置:
将文件F以字符(Byte)为单位存入一个16*n的矩阵L,矩阵中的元素表示为ai,j(其中i=1,2,3,...,16;j=1,2,...,n),如果第n行数据没有被存满,则没有数据的元素用0补全;例如矩阵如果数据存到an1就存完了,那么an2-an16则用零元素补全。
2.获取用户需要分割的子文件分块数:
根据用户设置获取需要分割的子文件分块数X,用户可根据具体需要设置分割的子文件个数X。
3.产生随机幻方:
为X个子文件产生X个16阶的随机幻方Mi(i=1,2,3,...,x)。
将产生的第一个随机幻方的首行中的元素存入集合H=(h1,h2,...h16)。
4.位置混序:
1)将第一步中的矩阵L分为16个集合Ke(e=1,2,3,...,16),每个集合Ke的首元素对应矩阵L中第一行的元素a1,j(j=1,2,3,...,16)。如K1=(a1,1,...),K2=(a12,...),...,Kn=(a1,16,...)。本步骤主要是将矩阵的元素分组,为位置混序做准备。Ke的其他元素的确定见后续说明。
a)当e=2k+1,(k=0,1,2,3,...,7)时:
Ke中首元素后面的其他元素为矩阵L中以该首元素所在的主对角线上的所有元素,即Ke=(a1,j,a(i+1),(j+1),a(i+2),(j+2)...an,q),其中i=1,2,3,...,n,其中随着i的变化j=j+1,而j的取值范围为[1,16],超出此范围则跳回j=1,如此往复直到i=n。【j的初值取1】
b)当e=2m,(m=1,2,3,...,8)时:
Ke中首元素后面的其他元素为矩阵L中以该首元素所在的副对角线上的所有元素,即Ke(a1,,j,a(i+1),(j-1),a(i+2),(j-2)...an,p),其中i=1,2,3,...,n,其中随着i的变化j=j-1,而j的取值范围为[16,1],超出此范围则跳回j=16,如此往复直到i=n。
2)将Ke向左或向右平移hi个单位(其中hi来自第三步的集合H,即产生的第一个随机幻方的首行中的元素)。本步骤是位置混序的关键,通过Ke的平移实现了真正的位置混序。
a)当e=2k+1,(k=0,1,2,3,...,7)时:
将Ke中的元素向右平移hi个单位。当其中某一个元素移到集合的尽头时,由于位置不够,还有未移完的步数,则需要将此元素移到原集合的首位,再把剩下的步数全部移完,依照此法将所有的元素都平移到位。如当h1=3,则K1中的第1个元素向右移3位,到达第4个元素的位置,第2个元素向右移3位,到达第5个元素的位置,依次类推,第n-2个元素本应向右移3位,但由于位置不够,该元素跳到第1个元素的位置,第n-1个元素则跳到第2个元素的位置。
b)当e=2m,(m=,1,2,3,...,7)时:
将Ke向左平移hi个单位。当移到集合的尽头时,与右移的处理方法相同。
3)将Ke中新的元素对应回原来矩阵的位置,这样就得到一个混序的矩阵。
本步骤主要是将混序后的元素恢复成矩阵,方便后续步骤的进行。
5.文件分割
将混序后的文件分割为X个子文件Fj(其中j=1,2,3,…,X)。即将整个混序后的文件按顺序分割成用户所需要的块数。
本发明用于幻方加密的方法,包括以下步骤:
幻方加密步骤:(X为文件需要分割的块数)
a.将分割后的文档Fj转换成ASCII码,再将其转换成二进制。从而构造成明文矩阵Wl(其中l=1,2,3,…)。
b.将该块明文对应的幻方Mi中的每个元素转换为二进制值,再将明文矩阵Wl中的每个元素与幻方Mi中对应的元素的二进制值进行异或运算。Wl对应得到矩阵Ul,Ul称为第一次密文矩阵。
c.将第一次密文矩阵Ul的元素采用幻方Mi作为调序规则进行调序。即将幻方中每个元素的数值所对应的密文矩阵中该数值号的元素调序到幻方中该元素的位置。具体的,Mi如附图2(为便于说明,但不仅限于此幻方)。按幻方的序列调序,矩阵Ul对应得到矩阵U1 *(其中1=1,2,3…)。调序过程为:将矩阵Ul的2号元素放到矩阵U1 *的1号元素位置;将Ul的117号元素放到U1 *的2号元素位置;将Ul的45号元素放到U1 *的3号元素位置;…;将Ul的120号元素放到U1 *的256号元素位置。矩阵U1 *称为第二次密文矩阵。U1 *组成密文Fj *
d.分块后的明文Fj对应得到Fj *,加密完成。
本发明用于合成互验的方法,包括以下步骤:
a.将加密后的文件分块Fj *运用SHA2-256算法(SHA-256算法是美国国家***设计,美国国家标准技术研究院发布的一种安全加密算法。)生成一个记录Fj *特征的256位0-1序列hj;
b.将所产生的X个随机幻方Mi进行模和运算(即将n个n阶随机幻方的元素按位相加或者相乘,取模n2+1得到一个模n2+1内自然数的矩阵S,模运算即是将该数字除以n2+1后取余数)得到互完整性校验矩阵M;
d.用得到的0-1矩阵hj对随机幻方Mi(i=j)进行洗牌(从一组具有内部数学关系的可校验的n个有序数字序列中按序随机抽取其中约一半数字,按先后次序排成一组数字序列,并将该序列置于所剩数字序列之后,构成一个新的数字序列,称该数字序列重组过程为随机洗牌过程,重组数字序列称为洗牌结果,其中按序均匀随机抽取数字的方案可由一n元0-1二进制表示,并称之为洗牌方案。)得到矩阵Mi *
e.将加密后的文件分块Fj *和Mi *(i∈{1,2,3,...,n},j≠i)一起封装发送到各分布式终端。即:若文件分为4块时,分割加密后的封装数据块是F1(F1 *,M2 *,M3 *,M4 *,M),F2(F2 *,M1 *,M3 *,M4 *,M),F3(F3 *,M1 *,M2 *,M4 *,M),F4(F4 *,M1 *,M2 *,M3 *,M)。
f.如果存有某一文件分块Fi的终端Zi有提取文件F的需求,通过广播协议将Fi的散列值hi发送至存有F文件其他分块的终端如Zj(j∈{1,2,3,...,n},j≠i),终端Zj通过其所保存的认证矩阵验证其所接收的散列值hi是否正确(验证以256-bit散列值hi作为洗牌方案能否从认证矩阵集合{Hj *,i≠j}中恢复出一个且只有一个矩阵满足幻方条件,即通过对洗牌方案的逆序从而恢复一个矩阵并验证得到的矩阵是否为幻方,幻方是指由1到n2的连续自然数排成n行与n列的矩阵,使每行、每列以及两主对角线上数字之和均等于常数C=n(n2+1)/2的数字矩阵。此步为文件分块存储终端Zj验证文件F的此次提取终端Zi是否具有合法资格,即是否也是文件F的分块存储终端),如果验证正确,终端Zj则将其存储的文件分块Fj传送至此次文件的提取终端Zi;
g.如果已经收到全部文件分块{Fj,j≠i},此次文件提取终端Zi分别计算各分块Fj的散列值hj,利用hj通过逆洗牌(谢涛,陈火旺,康立山;名称为:幻方身份双向认证与密钥传输一体化方法;专利号:ZL02114288.2)和反调序过程将各文件分块Fj的相应随机幻方Mj分别从相应的认证矩阵Mj *中提取出来,然后计算验证M*是否满足幻方条件,即验证M*是否是幻方。如果满足,则所有文件分块的自完整性与互完整性均满足,可以成功合成完整文件;否则,自完整性与互完整性均不满足,文件不能成功合成。
h.如文件可以合成,首先将文件Fj *进行解密(解密方法即为加密方法的逆步骤)得到Fj,再将Fj合成得到混序后的文件,最后将混序后的文件恢复成(按混序的逆步骤即可恢复)矩阵L,从而恢复出文件F;如文件不可合成,则不进行此步骤。
以下将结合图和具体实施过程对本发明做进一步详细说明:
实施例1:
为进一步说明本发明,特举实例如下。但本发明的内容不仅限于实施例中所涉及的内容。
说明一:为便于说明,假定需要处理的对象是一个文本文件(一种文件存储格式),其文件名为example.txt,其长度为44字节,内容为“ABCDEFGH12345678IJKLMNOP87654321QRSTUVWX90YZ”44个字符。
说明二:将文件以字符为单位放入一个16列的矩阵中,最后一行不足的元素补0,存放形式参见附图1。
说明三:假定用户需要将文件example.txt分割成三部分,产生3个随机幻方M1、M2、M3,参见附图2、附图3、附图4。
文件example.txt的幻方混序例。
过程一:根据幻方M1,取出第一行元素“2,117,45,141,233,95,3,35,225,179,228,185,199,195,103,71”作为混序方案。
过程二:根据幻方混序原理,以过程一得到的混序方案进行混序,例如第一个右斜移动方案为“2”,则将原文矩阵中第一条对角线上的元素右斜移动2个单位;第一个左斜移动方案为“117”,则将第一步右斜移动后的矩阵中第二条对角线上的元素右斜移动2个单位;其余步骤依此类推。经过幻方混序处理后的结果矩阵参见附图5。
幻方加密例。
将得到的3个分割后的明文文件与对应的3个幻方进行加密,为便于说明选择分割后的第一部分明文为例。
过程一:将该块明文中的每个元素转换为ASCII码值,再转换为二进制,结果参见附图6。将明文矩阵中的每个元素与对应的幻方M1中对应的元素的二进制值进行异或运算。结果参见附图7。
过程二:利用幻方M1对过程一的计算结果进行幻方调序。将过程一的计算结果中第2个元素调整到第1个位置,将第117个元素调整到第2个位置,将第45个元素调整到第3个位置,将第141个元素调整到第4个位置。其后元素依次类推,得到最终加密后文件分块,结果参见附图8。
文件合成互验例。
由于本例数据量较大,且为了便于读者理解,将采用宏观图表来表示。
假设将加密后的3个文件分块存放于网络中的三台电脑中,具体步骤如下:
过程一:将加密后的3个文件分块运用SHA2-256算法生成一个记录特征的256位0-1序列,如附图9所示。
过程二:将所产生的3个随机幻方进行模和运算得到互完整性校验矩阵M,如附图10所示。
过程三:用得到的0-1序列分别对相应的3个随机幻方进行洗牌得到3个新的自完整性校验矩阵,如附图11所示。
过程四:将加密后的文件分块和其它文件分块对应的自完整性校验矩阵一起封装。即:分割加密后的封装数据块是F1(M2’,M3’,M),F2(M1’,M3’,M),F3(M1’,M3’,M)如附图12所示。
过程五:将封装后的数据块发送到各分布式终端,不是本***的终端则不发送,如附图13所示。
以上过程完成了数据块的分布式存储,当其中某个终端有文件使用需求时,合成互验步骤如下:
过程一:假设存有第2个文件分块的终端有提取文件的需求,将本地文件分块的散列值计算出,如附图14所示。
过程二:将计算出的散列值发送至存有文件各分块的终端,如附图15所示。
过程三:各终端通过其所保存的自完整性校验矩阵验证其所接收的散列值是否正确(验证以256-bit散列值作为洗牌方案能否从自完整性校验矩阵集合中恢复出一个且只有一个矩阵满足幻方条件,此步为其余文件分块存储终端验证文件分块2的此次提取终端是否具有合法资格,即是否也是整合文件的分块存储终端),如附图16所示。
过程四:验证正确,各终端则将其存储的文件分块传送至此次文件的提取终端,如附图17所示。
过程五:收到全部文件分块后,此次文件提取终端分别计算各文件分块的散列值,如附图18所示。
过程六:利用相应的散列值通过逆洗牌过程将各文件分块的相应随机幻方分别从相应的自完整性校验矩阵中提取出来,如附图19所示。
最后,按照实例一和实例二的逆过程恢复出最终明文(由于实例一和实例二仅仅涉及到加减运算,故此过程必然可逆)。
Claims (2)
1.一种文件混序分割存储与合成互验的方法,其特征在于,包括以下步骤:
A:文件混序步骤;
B:幻方加密步骤;
C:文件恢复及互验步骤;
所述的文件混序步骤为:
步骤1:位置确定:
将源码文件F以字符为单位存入一个16*n的矩阵L,n为字符数,矩阵L中的元素表示为ai,j,其中i=1,2,3,...,16;j=1,2,...,n;
步骤2:设定文件分块数x;
步骤3:产生x个16阶的随机幻方Ml,l=1,2,3,...,x;将产生的第一个随机幻方的首行中的元素存入集合H=(h1,h2,...h16);
步骤4:位置混序:
首先确定集合Ke:
将步骤1中的矩阵L分为16个集合Ke,e=1,2,3,...,16,,每个集合Ke的首元素对应矩阵L中第一行的元素a1,j,j=1,2,3,...,16;
当e=2k+1,k=0,1,2,3,...,7时,Ke中首元素后面的其他元素为矩阵L中以该首元素所在的主对角线上的所有元素;
当e=2m,m=1,2,3,...,8时,Ke中首元素后面的其他元素为矩阵L中以该首元素所在的副对角线上的所有元素;
然后,将Ke向左或向右平移hi个单位,其中hi为集合H中的元素;
当e=2k+1,k=0,1,2,3,...,7时,将Ke中的元素向右平移hi个单位;
当e=2m,m=,1,2,3,...,7时,将Ke中的元素向左平移hi个单位;
最后,将Ke中新的元素对应回原来矩阵的位置,得到一个混序的矩阵;
步骤5:文件分割:
将步骤4的位置混序后的文件按顺序分割为x个子文件Fj,其中j=1,2,3,…,x;
所述的幻方加密步骤为:
步骤1:先将分割后的文档Fj转换成ASCII码,再将其转换成二进制;从而构造成明文矩阵Wl,l=1,2,3,…x;
步骤2;将明文矩阵Wl对应的幻方Ml中的每个元素转换为二进制值,再将明文矩阵Wl中的每个元素与幻方Ml中对应的元素的二进制值进行异或运算,得到第一次密文矩阵Ul;
步骤3:将第一次密文矩阵Ul的元素采用幻方Ml作为调序规则进行调序,即将幻方中每个元素的数值所对应的密文矩阵中该数值号的元素调序到幻方中该元素的位置,得到第二次密文矩阵Ul *,由Ul *组成密文分块Fj *,加密完成;
所述的文件恢复及互验步骤为:
步骤1:将密文分块Fj *运用SHA2-256算法生成一个记录Fj *特征的256位0-1序列hj,即为散列值hj;
步骤2:将所产生的x个随机幻方Ml进行模和运算得到互完整性校验矩阵M2;
步骤3:用得到的0-1序列hj对随机幻方Ml进行洗牌得到认证矩阵Ml *,具体操作为:从一组具有内部数学关系的可校验的n1个有序数字序列中按序随机抽取其中约一半数字,按先后次序排成一组数字序列,并将该序列置于所剩数字序列之后,构成一个新的数字序列,称该数字序列重组过程为随机洗牌过程,重组数字序列称为洗牌结果,其中按序均匀随机抽取数字的方案由一n1元0-1二进制表示,并称之为洗牌方案;
步骤4:将密文分块Fj *和Mi *一起封装发送到各分布式终端,其中,i∈{1,2,3,...,x},j≠i;
步骤5:如果存有某一文件分块Fi的终端Zi有提取文件F的需求,将Fi的散列值hj广播发送至存有F文件其他分块的终端Zj,j∈{1,2,3,...,x},j≠i,终端Zj通过其所保存的认证矩阵验证其所接收的散列值hj是否正确,如果验证正确,终端Zj则将其存储的文件分块Fj传送至此次文件的提取终端Zi;
2.根据权利要求1所述的文件混序分割存储与合成互验的方法,其特征在于,所述的分块数x为3-10。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010177099.4A CN101840485B (zh) | 2010-05-19 | 2010-05-19 | 文件混序分割存储与合成互验的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010177099.4A CN101840485B (zh) | 2010-05-19 | 2010-05-19 | 文件混序分割存储与合成互验的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101840485A true CN101840485A (zh) | 2010-09-22 |
CN101840485B CN101840485B (zh) | 2015-07-08 |
Family
ID=42743849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010177099.4A Expired - Fee Related CN101840485B (zh) | 2010-05-19 | 2010-05-19 | 文件混序分割存储与合成互验的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101840485B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142074A (zh) * | 2011-03-31 | 2011-08-03 | 东北大学 | 基于混沌的通用电子档案加解密方法 |
WO2012068713A1 (zh) * | 2010-11-22 | 2012-05-31 | Guan Jun | 改变上下文以屏蔽数字内容敏感度的处理方法 |
CN103279693A (zh) * | 2013-05-30 | 2013-09-04 | 付弦 | 一种文件加密方法 |
CN105281894A (zh) * | 2015-11-25 | 2016-01-27 | 深圳供电局有限公司 | 一种基于七阶幻立方的明文加密方法和*** |
CN105376054A (zh) * | 2015-11-25 | 2016-03-02 | 电子科技大学 | 一种基于随机矩阵的密文提取的方法 |
CN105812329A (zh) * | 2014-12-31 | 2016-07-27 | 中国科学院沈阳自动化研究所 | 用于复杂生产管理***中的移动安全加密方法 |
CN106022158A (zh) * | 2016-05-09 | 2016-10-12 | 福建南威软件有限公司 | 一种文件资料的外带管理*** |
CN108881230A (zh) * | 2018-06-21 | 2018-11-23 | 佛山科学技术学院 | 一种政务大数据的安全传输方法及装置 |
CN112655037A (zh) * | 2018-08-16 | 2021-04-13 | 行德纸工株式会社 | 文件的保密分发***及保密分发方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1396569A (zh) * | 2001-07-13 | 2003-02-12 | 佳程防伪科技(深圳)有限公司 | 一种用于向数字图像信号加入和提取数字水印的方法 |
CN1471258A (zh) * | 2002-07-24 | 2004-01-28 | 涛 谢 | 幻方身份双向认证与密钥传输一体化方法 |
CN101047843A (zh) * | 2006-03-28 | 2007-10-03 | 中国科学院微电子研究所 | 一种基于内容分割的内容保护方法 |
-
2010
- 2010-05-19 CN CN201010177099.4A patent/CN101840485B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1396569A (zh) * | 2001-07-13 | 2003-02-12 | 佳程防伪科技(深圳)有限公司 | 一种用于向数字图像信号加入和提取数字水印的方法 |
CN1471258A (zh) * | 2002-07-24 | 2004-01-28 | 涛 谢 | 幻方身份双向认证与密钥传输一体化方法 |
CN101047843A (zh) * | 2006-03-28 | 2007-10-03 | 中国科学院微电子研究所 | 一种基于内容分割的内容保护方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012068713A1 (zh) * | 2010-11-22 | 2012-05-31 | Guan Jun | 改变上下文以屏蔽数字内容敏感度的处理方法 |
CN102142074B (zh) * | 2011-03-31 | 2013-04-10 | 东北大学 | 基于混沌的通用电子档案加解密方法 |
CN102142074A (zh) * | 2011-03-31 | 2011-08-03 | 东北大学 | 基于混沌的通用电子档案加解密方法 |
CN103279693B (zh) * | 2013-05-30 | 2016-02-17 | 付弦 | 一种文件加密方法 |
CN103279693A (zh) * | 2013-05-30 | 2013-09-04 | 付弦 | 一种文件加密方法 |
CN105812329B (zh) * | 2014-12-31 | 2018-07-20 | 中国科学院沈阳自动化研究所 | 用于复杂生产管理***中的移动安全加密方法 |
CN105812329A (zh) * | 2014-12-31 | 2016-07-27 | 中国科学院沈阳自动化研究所 | 用于复杂生产管理***中的移动安全加密方法 |
CN105376054A (zh) * | 2015-11-25 | 2016-03-02 | 电子科技大学 | 一种基于随机矩阵的密文提取的方法 |
CN105281894A (zh) * | 2015-11-25 | 2016-01-27 | 深圳供电局有限公司 | 一种基于七阶幻立方的明文加密方法和*** |
CN105281894B (zh) * | 2015-11-25 | 2018-10-23 | 深圳供电局有限公司 | 一种基于七阶幻立方的明文加密方法和*** |
CN106022158A (zh) * | 2016-05-09 | 2016-10-12 | 福建南威软件有限公司 | 一种文件资料的外带管理*** |
CN108881230A (zh) * | 2018-06-21 | 2018-11-23 | 佛山科学技术学院 | 一种政务大数据的安全传输方法及装置 |
CN108881230B (zh) * | 2018-06-21 | 2020-09-22 | 佛山科学技术学院 | 一种政务大数据的安全传输方法及装置 |
CN112655037A (zh) * | 2018-08-16 | 2021-04-13 | 行德纸工株式会社 | 文件的保密分发***及保密分发方法 |
CN112655037B (zh) * | 2018-08-16 | 2023-07-14 | 行德纸工株式会社 | 文件的保密分发***及保密分发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101840485B (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101840485B (zh) | 文件混序分割存储与合成互验的方法 | |
CN103778590B (zh) | 利用数字图像存储和传输信息的方法和装置 | |
CN107911354B (zh) | 一种复合并行数据加密方法 | |
CN103067170B (zh) | 一种基于ext2文件***的加密方法 | |
CN102064936B (zh) | 一种数据加解密方法及装置 | |
CN108197484B (zh) | 一种分布式存储环境下实现节点数据安全的方法 | |
CN102904726A (zh) | 用于量子密钥分配***的经典信道消息认证方法和装置 | |
CN104396182A (zh) | 加密数据的方法 | |
CN102625025A (zh) | 一种基于图像传输的加密解密方法及*** | |
CN111310222A (zh) | 文件加密方法 | |
CN105516340A (zh) | 一种云存储数据可恢复性验证方法及*** | |
CN107332657A (zh) | 一种基于区块链数字签名的加密方法及*** | |
US20170257212A1 (en) | Cryptographic Apparatuses And Methods For Encrypting And Decrypting Data Using Automata | |
CN103684772A (zh) | 动态缺失加密*** | |
CN114844728B (zh) | 序列化数据安全通信方法及大数据平台 | |
CN104753947A (zh) | 一种固定密文长度的可验证外包解密的属性基***及方法 | |
CN104967518A (zh) | 一种提高信息传输安全性的方法 | |
CN102377563B (zh) | 加密数据流的方法及设备 | |
CN111556004A (zh) | 混合式双重网络加密*** | |
US8130956B2 (en) | Efficient and low power encrypting and decrypting of data | |
CN105827404A (zh) | 一种身份认证方法、装置及服务器 | |
JP5296220B2 (ja) | 署名データサーバ及びユーザ端末 | |
CN113518244B (zh) | 基于替代文组合的数字电视信号数据发送方法和装置 | |
CN103634113B (zh) | 一种带用户/设备身份认证的加解密方法及装置 | |
CN106059748A (zh) | 一种基于块安全再生码的轻量级数据安全存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150708 |