System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据安全存储领域,具体涉及一种企业生产管理软件的数据加密方法。
技术介绍
1、企业生产经营中会涉及和产生非常多的数据,这些数据都属于企业的信息资产,信息资产具有来源广泛、种类多样、产生速率快、数据量大、更具价值属性和产权属性等特点,一旦发生数据泄露,会严重影响企业的生产运营。为了确保企业的正常生产运营,需要通过数据加密方法对企业信息进加密,保障企业的信息资产的保密性。
2、已知明文攻击是常用的攻击方法之一,攻击者不仅知道密文序列,而且知道明文序列,利用知道的明文序列及密文序列的关系和规律,对密文序列进行破解。数据加密方法对抗已知明文攻击的能力依赖于密文序列对明文序列的敏感性,敏感性越强,则数据加密方法对抗已知明文攻击的能力越强。为了抵抗已知明文攻击,对于不同的明文序列,要使加密后的密文序列的规律有大幅度的变化。
技术实现思路
1、为了解决上述问题,本专利技术提供一种企业生产管理软件的数据加密方法,所述方法包括:
2、将信息转换为明文数据组成的明文序列;
3、构建组层秘钥表,获得组间秘钥和组内秘钥;
4、根据组层秘钥表获得明文序列中所有明文数据的组号,根据组号分组得到明文序列的所有明文组;根据所有明文组的组间概率构建组间直方图;获得组间直方图的组间阈值;根据组间阈值对明文序列的组间直方图进行概率修正,获得明文序列的组间修正直方图;对明文序列的组间修正直方图进行直方图均衡化,获得明文序列的组间映射关系;根据组间映射关系和组间
5、对于明文序列中的任意一个明文组,根据组层秘钥表获得明文组中所有明文数据的层号,根据层号分层得到明文组的所有明文层;根据明文组的所有明文层的组内概率构建组内直方图;获得组内直方图的组内阈值;根据组内阈值对明文组的组内直方图进行概率修正,获得明文组的组内修正直方图;对明文组的组内修正直方图进行直方图均衡化,获得明文组的组内映射关系;根据组内映射关系和组内秘钥,获得明文组的所有明文层的组内密文;获得明文序列中的所有明文组的所有明文层的组内密文;
6、根据组间密文和组内密文获得明文序列的加密结果。
7、进一步地,所述根据所有明文组的组间概率构建组间直方图,包括的具体步骤如下:
8、对于任意一个明文组,将该明文组中所有明文数据的数量与明文序列中所有明文数据的数量的比值,记为明文组的组间概率,根据所有明文组的组间概率获得明文序列的组间直方图,在组间直方图中,横轴为明文组的组号,纵轴为明文组的组间概率。
9、进一步地,所述获得组间直方图的组间阈值,包括的具体步骤如下:
10、根据组间直方图中所有明文组的组间概率构建组间阈值方程,组间阈值方程的表达式具体为:
11、
12、式中,表示组间直方图中组间概率小于组间阈值的明文组的数量,表示组间直方图中组间概率不小于组间阈值的明文组的数量,表示第个组间概率大于组间阈值的明文组的组间概率,表示组间直方图的组间阈值,表示四舍五入取整,表示组间秘钥的长度;
13、对上述组间阈值方程进行求解,获得明文序列的组间直方图的组间阈值。
14、进一步地,所述根据组间阈值对明文序列的组间直方图进行概率修正,获得明文序列的组间修正直方图,包括的具体步骤如下:
15、如果明文组的组间概率小于组间阈值,则该明文组的组间修正概率;如果明文组的组间概率不小于组间阈值,则该明文组的组间修正概率,其中,表示组间秘钥的长度;
16、获得所有明文组的组间修正概率,将明文序列的所有明文组的组间修正概率组成的直方图记为明文序列的组间修正直方图,在组间修正直方图中,横轴为明文组的组号,纵轴为明文组的组间修正概率。
17、进一步地,所述根据组间映射关系和组间秘钥,获得所有明文组的组间密文,包括的具体步骤如下:
18、对于组间直方图中组号为的明文组,根据明文组的组号获得对应的组间映射关系,其中,表示组号为的明文组的组号的均衡结果,获取组间秘钥中序号与组间映射关系中相同的5位二进制数,将该二进制数作为组号为的明文组的组间密文。
19、进一步地,所述根据组间密文和组内密文获得明文序列的加密结果,包括的具体步骤如下:
20、对于明文序列中的任意一个明文数据,将该明文数据所在明文组的组间密文以及该明文数据所在明文层的组内密文组成的序列记为该明文数据的密文数据,密文数据即为该明文数据的加密结果;将明文序列中的所有明文数据的加密结果组成的序列记为密文序列,密文序列即为明文序列的加密结果。
21、进一步地,所述构建组层秘钥表,包括的具体步骤如下:
22、随机将所有第一长度的二进制数划分为16个组,将每个组中的所有第一长度的二进制数进行随机排序获得组序列,组序列中的所有第一长度的二进制数被划分为16个层,每个组序列的每个层中包含一个所有第一长度的二进制数;所有组序列的组号分别为1到16,组序列中所有层的层号分别为1到16,将所有组序列记为组层秘钥表。
23、进一步地,所述获得组间秘钥和组内秘钥,包括的具体步骤如下:
24、对所有第二长度的二进制数进行随机排列,将获得的序列作为组间秘钥;
25、将所有第三长度的二进制数进行随机排列,将获得的序列作为组内秘钥。
26、本专利技术上述方法至少具有如下有益效果:
27、本专利技术根据组层秘钥表对明文序列进行分组和分层,获得明文组和明文层,分别对明文组的组间修正直方图和明文层的组内修正直方图进行直方图均衡化,根据均衡化结果以及组间秘钥和组内秘钥获得组间密文和组内密文,实现对明文序列的加密。由于直方图的均衡化结果只与直方图的概率小大有关,攻击者进行已知明文攻击时,由于不同的明文序列的概率分布不同,不同的明文序列的组间修正直方图和组内修正直方图不同,进而不同的明文序列的直方图均衡化的结果不同,因此,本专利技术根据明文序列的直方图均衡化的结果对明文序列进行加密,保证了密文序列对明文序列的敏感性较强,保证密文序列能够抵抗攻击者的已知明文攻击。
本文档来自技高网...【技术保护点】
1.一种企业生产管理软件的数据加密方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种企业生产管理软件的数据加密方法,其特征在于,所述根据所有明文组的组间概率构建组间直方图,包括的具体步骤如下:
3.根据权利要求1所述的一种企业生产管理软件的数据加密方法,其特征在于,所述获得组间直方图的组间阈值,包括的具体步骤如下:
4.根据权利要求1所述的一种企业生产管理软件的数据加密方法,其特征在于,所述根据组间阈值对明文序列的组间直方图进行概率修正,获得明文序列的组间修正直方图,包括的具体步骤如下:
5.根据权利要求1所述的一种企业生产管理软件的数据加密方法,其特征在于,所述根据组间映射关系和组间秘钥,获得所有明文组的组间密文,包括的具体步骤如下:
6.根据权利要求1所述的一种企业生产管理软件的数据加密方法,其特征在于,所述根据组间密文和组内密文获得明文序列的加密结果,包括的具体步骤如下:
7.根据权利要求1所述的一种企业生产管理软件的数据加密方法,其特征在于,所述构建组层秘钥表,包括的具体步骤如下:
...【技术特征摘要】
1.一种企业生产管理软件的数据加密方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种企业生产管理软件的数据加密方法,其特征在于,所述根据所有明文组的组间概率构建组间直方图,包括的具体步骤如下:
3.根据权利要求1所述的一种企业生产管理软件的数据加密方法,其特征在于,所述获得组间直方图的组间阈值,包括的具体步骤如下:
4.根据权利要求1所述的一种企业生产管理软件的数据加密方法,其特征在于,所述根据组间阈值对明文序列的组间直方图进行概率修正,获得明文序列的组间修正直方图,包括的具体步骤如下:
5.根...
【专利技术属性】
技术研发人员:薛磊磊,
申请(专利权)人:毛茸茸南通智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。