基于CBC模式的多类型文件加密共享与访问控制方法与流程

文档序号:18526645发布日期:2019-08-24 10:18阅读:482来源:国知局
基于CBC模式的多类型文件加密共享与访问控制方法与流程

本发明涉及文件加密领域,尤其涉及到一种基于cbc模式的多类型文件加密共享与访问控制方法。



背景技术:

此外,传统的移动设备加密算法效率与安全性已经受到质疑,而传统的访问控制都是利用数据库的方式实现,而一旦数据泄露或账号被盗,则会对个人信息安全造成威胁,个人文件或企业保密文件将会被黑客盗取,所以研发更高效安全的加密算法与文件访问控制方法是当务之急。

cbc加密体系是基于对称加密体制的,现在进行了升级,非对称加密体制加入了文件的访问控制。

传统的cbc加密算法是一种对称密码体制,且文件加密没有引入加密规则,无法做到访问控制与文件共享。

产业信息化、数字化、网络化进程加速,互联网+已然成为一种不可逆的趋势,互联网、云计算、大数据带来更新式革命,然而新趋势下的数据安全状况变得越发严峻。

2015年2月11日,知名连锁酒店桔子、锦江之星、速八、布丁;高端酒店万豪、喜达屋、洲际网站存在高危漏洞——房客开房信息大量泄露,一览无余,黑客可轻松获取到千万级的酒店顾客的订单信息,包括顾客姓名、身份证,手机号、房间号、房型、开房时间、退房时间、家庭住址、信用卡后四位、信用卡截止日期、邮件等等大量敏感信息。

因此,我们有必要对这样一种结构进行改善,以克服上述缺陷。



技术实现要素:

本发明的目的是提供一种基于cbc模式的多类型文件加密共享与访问控制方法,结合非对称密码体制与cbc迭代加密的形式,提出了新型的加密算法,同时在文件加密的过程中引入加密规则,做到了文件的访问控制与文件加密的有机结合。

本发明的上述技术目的是用过以下技术方案实现的:一种基于cbc模式的多类型文件加密共享与访问控制方法,包括如下步骤:

步骤1:参数预处理;

步骤1.1:生成公有参数与私有参数;

步骤1.2:生成初始向量;

步骤2:文件分块;

步骤2.1:按步骤1.2中规定初始向量v0长度对文件进行分块并依次编号;

步骤2.2:剩余小于密钥长度的文件独立成块;

步骤3:生成访问规则,通过用户选定的访问属性建立访问规则,从而达到文件的访问控制;

步骤3.1:按照用户属性生成policy规则;

步骤3.2:生成私钥与公钥;

步骤4:文件加密,文件在加密时首先需要利用初始向量v0与第一个文件块做异或操作,后与私钥进行cp-abe的加密操作,后循环利用cbc模式进行迭代加密,直至读到最后一个文件块为止;

步骤4.1:利用步骤1中生成的初始向量v0与第一个文件块c1进行异或操作,得到密文m0与私钥1进行cp-abe加密操作得ec1;

步骤4.2:将步骤4.1得到的密文m0和第二个文件块c2进行异或操作,得到密文m1与私钥进行cp-abe加密操作得ec3;

步骤4.3:重复步骤4.1,4.2,利用cbc迭代方式继续加密,直到文件块全部加密完成;

步骤5:文件的解密,文件加密的逆过程,但所用的私钥与加密所使用的私钥不同;

步骤5.1:取出文件块mn与前一个文件块mn-1进行异或操作,并用私钥进行解密,得到明文cn;

步骤5.2:重复步骤5.1,直到读到第一个文件块;

步骤5.3:得到第一个文件块的密文m1时,用初始向量v0与其做异或操作,得明文c0。

本发明的进一步设置为:在步骤1.2中,随机产生一个长度为308的初始向量,并保存在一个序列中,以供第一个加密块加密与解密使用。

本发明的进一步设置为:在步骤3.2中,通过公共参数完成初始化,生成私钥,私钥识别一类人,即在加密时加入了访问控制信息;通过公共参数,私钥信息与policy规则生成公钥,公钥用于加密文件,长度为308位。

综上所述,本发明具有以下有益效果:

1)加密与解密采用不同的密钥,相较于传统的对称加密算法更安全,对于穷举法具有很好的抗攻击性;

2)通过在加密过程中引入加密规则,将文件的访问控制与文件的加密进行了有机的结合;

3)本方案采用了异或运算和cbc加密相结合的方法,使得破解者无法有效地获取加密序列,相对于只运用异或运算对文件进行加密的方法,安全性更高,被破解的可能性更低。

附图说明

图1是是本发明的流程框图;

图2是文件在加密过程中所使用的算法流程图;

图3是文件在解密过程中所使用的算法流程图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合图示与具体实施例,进一步阐述本发明。

如图1所示,本发明提出的一种基于cbc模式的多类型文件加密共享与访问控制方法,包括如下步骤:

步骤1:生成公共参数与初始向量;

步骤1.1:产生具有公有参数与私有参数的公共参数,以供生成私钥使用;

步骤1.2:随机产生一个长度为308的初始向量,并保存在一个序列中,以供第一个加密块加密与解密使用,记为v0;

步骤2:文件分块

本算法设计的公钥长度为308位,文件每308位作为一个加密块,记为cn(n=0,1,2…..)按照308的整数倍分配完毕后,剩下的位独立成块,记为cn+1;

步骤2.1:按308位对文件进行分块并依次编号;

步骤2.2:剩余小于密钥长度的文件独立成块;

步骤3:生成访问规则;

步骤3.1:按照用户属性生成policy规则;

步骤3.2:生成私钥与公钥;

通过公共参数完成初始化,

生成私钥,私钥识别一类人,即在加密时加入了访问控制信息,记为k1;

通过公共参数,私钥信息与policy规则生成公钥,公钥用于加密文件,长度为308位,记为k2;

步骤4:文件的加密

文件的加密采用cbc链接加密技术,使用公钥k2对文件进行加密,文件在加密时首先需要利用初始向量与第一个文件块做异或操作,后与私钥k1进行cp-abe的加密操作,后循环利用cbc模式进行迭代加密,直至读到最后一个文件块为止;

步骤4.1:取出第一个文件块c0与初始向量v0进行异或操作,并用公钥k2进行加密,得到密文m1

记为:m1=cpabe.enc(c0⊕v0,k2);

步骤4.2:将得到的密文m1与第二个密文块c1进行异或运算,并用公钥k2进行加密,得到密文m2

记为:m2=cpabe.enc(c1⊕m1,k2);

步骤4.3:重复步骤4.2,直到处理至最后一个文件块为止

记为:mn+1=cpabe.enc(cn⊕mn,k2);

步骤5:文件的解密

文件的解密采用cbc链接解密技术,使用私钥k1对文件进行加密;

步骤5.1:取出文件块mn与前一个文件块mn-1进行异或操作,并用私钥k1进行解密,得到明文cn

记为:cn=cpabe.enc(mn⊕mn-1,k1);

步骤5.3:重复步骤5.2,直到读到第一个文件块;

步骤5.4:得到第一个文件块的密文m1时,用初始向量v0与其做异或操作,得明文c0

记为:c0=cpabe.enc(m1⊕v0,k1)。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1