CN101840485A - 文件混序分割存储与合成互验的方法 - Google Patents

文件混序分割存储与合成互验的方法 Download PDF

Info

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
Application number
CN201010177099A
Other languages
English (en)
Other versions
CN101840485B (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201010177099.4A priority Critical patent/CN101840485B/zh
Publication of CN101840485A publication Critical patent/CN101840485A/zh
Application granted granted Critical
Publication of CN101840485B publication Critical patent/CN101840485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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补全;例如矩阵
Figure GDA0000021534350000071
如果数据存到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 *中提取出来,然后计算
Figure GDA0000021534350000101
验证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所示。
过程七:计算
Figure GDA0000021534350000131
验证M*是否满足幻方条件。如果满足,则所有文件分块的自完整性与互完整性均满足,可以成功合成完整文件;否则,自完整性与互完整性均不满足,文件不能成功合成。如附图20所示。
最后,按照实例一和实例二的逆过程恢复出最终明文(由于实例一和实例二仅仅涉及到加减运算,故此过程必然可逆)。

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
步骤6:如果已经收到全部文件分块{Fj,j≠i},由文件提取终端Zi分别计算各分块Fj的散列值hj,利用hj通过逆洗牌和反调序过程将各文件分块Fj的相应随机幻方Ml分别从相应的认证矩阵Ml *中提取出来,然后计算
Figure FDA0000021534340000031
验证M*是否是幻方,如果M*是幻方,则所有文件分块的自完整性与互完整性均满足,可以成功合成完整文件;否则,自完整性与互完整性均不满足,文件不能成功合成;如文件可以合成,首先将文件Fj *进行解密得到Fj,解密方法即为加密方法的逆步骤,再将Fj合成得到混序后的文件,最后将混序后的文件恢复成矩阵L,恢复操作为混序的逆步骤,从而恢复出文件F。
2.根据权利要求1所述的文件混序分割存储与合成互验的方法,其特征在于,所述的分块数x为3-10。
CN201010177099.4A 2010-05-19 2010-05-19 文件混序分割存储与合成互验的方法 Active CN101840485B (zh)

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 Active CN101840485B (zh) 2010-05-19 2010-05-19 文件混序分割存储与合成互验的方法

Country Status (1)

Country Link
CN (1) CN101840485B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中国科学院微电子研究所 一种基于内容分割的内容保护方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) 文件混序分割存储与合成互验的方法
CN111555872B (zh) 一种通信数据处理方法、装置、计算机系统及存储介质
CN103778590B (zh) 利用数字图像存储和传输信息的方法和装置
CN103067170B (zh) 一种基于ext2文件系统的加密方法
CN102064936B (zh) 一种数据加解密方法及装置
CN103457718A (zh) 使用可变长度分段和固定分组加密的部分密文更新
CN102904726A (zh) 用于量子密钥分配系统的经典信道消息认证方法和装置
CN108197484B (zh) 一种分布式存储环境下实现节点数据安全的方法
CN102625025A (zh) 一种基于图像传输的加密解密方法及系统
CN104396182A (zh) 加密数据的方法
CN107332657A (zh) 一种基于区块链数字签名的加密方法及系统
CN111310222A (zh) 文件加密方法
US20170257212A1 (en) Cryptographic Apparatuses And Methods For Encrypting And Decrypting Data Using Automata
CN103684772A (zh) 动态缺失加密系统
CN107911354A (zh) 一种复合并行数据加密方法
CN114844728B (zh) 序列化数据安全通信方法及大数据平台
CN104967518A (zh) 一种提高信息传输安全性的方法
CN102377563B (zh) 加密数据流的方法及设备
CN111556004A (zh) 混合式双重网络加密系统
CN108199836B (zh) 一种密钥与设备绑定、解绑定的方法及装置
US8130956B2 (en) Efficient and low power encrypting and decrypting of data
CN105827404A (zh) 一种身份认证方法、装置及服务器
JP5296220B2 (ja) 署名データサーバ及びユーザ端末
CN113518244B (zh) 基于替代文组合的数字电视信号数据发送方法和装置
CN112866288B (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