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、对嵌入后的极径坐标进行逆归一化处理,得到含水印的极径坐标。
19、可选地,通过以下方式生成随机旋转序列:
20、将预设的密钥集合中的各个密钥按照预设的混沌映射算法生成混沌序列;
21、将混沌序列中的各个数值转换为0到360度的角度值,基于转换后的各角度值生成随机旋转序列。
22、第二方面,本申请实施例提供了一种数据解密方法,包括:
23、针对接收到的任意一个加密后的矢量数据执行以下操作:按照第二方向将矢量数据的极角坐标旋转至少两个解密角度,得到解密后的极角坐标,以及,从矢量数据的极径坐标的有效位中提取出水印信息,并从极径坐标中剔除水印信息后得到不含水印的极径坐标,其中,第二方向与第一方向相反,至少两个解密角度的旋转次序与至少两个加密角度的旋转次序相同或者相反,解密角度与加密角度的角度值相同;
24、基于解密后的极角坐标和不含水印的极径坐标,得到解密后的矢量数据。
25、可选地,若至少两个解密角度包括第一解密角度和第二解密角度,则按照第二方向将矢量数据的极角坐标旋转至少两个解密角度,得到解密后的极角坐标,包括:
26、若矢量数据的极角坐标与加密后的极角坐标相同,则按照第二方向将极角坐标旋转零度,得到解密后的极角坐标;
27、若矢量数据的极角坐标与加密后的极角坐标不同,则按照第二方向将矢量数据的极角坐标旋转第一解密角度对应的角度值,得到第一预选解密后的极角坐标,以及,按照第二方向将第一预选解密后的极角坐标旋转第二解密角度对应的角度值,得到解密后的极角坐标;或者,按照第二方向将矢量数据的极角坐标旋转第二解密角度对应的角度值,得到第二预选解密后的极角坐标,以及,按照第二方向将第二预选解密后的极角坐标旋转第一解密角度对应的角度值,得到解密后的极角坐标。
28、第三方面,本申请实施例还提供了一种数据加解密系统,包括:
29、服务器通过执行以下操作将矢量数据集合中的各矢量数据进行加密,得到加密后的矢量数据:将矢量数据集合中的各矢量数据的坐标转换成极坐标,其中,每个矢量数据包括至少一个顶点,极坐标包括至少一个顶点对应的极角坐标和极径坐标;以及
30、针对任意一个极坐标执行以下操作:按照第一方向将极角坐标依次旋转至少两个加密角度,得到加密后的极角坐标,以及,将预设的水印信息加入到极径坐标的有效位中,得到含水印的极径坐标,其中,至少两个加密角度是随机旋转序列中与至少两个密钥分别对应的角度值,随机旋转序列中的各角度值是基于各个密钥生成的;以及
31、基于加密后的极角坐标和含水印的极径坐标,得到加密后的矢量数据;
32、与服务器相连接的客户端和/或另一个服务器通过执行以下操作将加密后的矢量数据进行解密,得到解密后的矢量数据:针对接收到的任意一个加密后的矢量数据执行以下操作:按照第二方向将矢量数据的极角坐标旋转至少两个解密角度,得到解密后的极角坐标,以及,从矢量数据的极径坐标的有效位中提取出水印信息,并从极径坐标中剔除水印信息后得到不含水印的极径坐标,其中,第二方向与第一方向相反,至少两个解密角度的旋转次序与至少两个加密角度的旋转次序相同或者相反,解密角度与加密角度的角度值相同;以及
33、基于解密后的极角坐标和不含水印的极径坐标,得到解密后的矢量数据。
34、第四方面,本申请实施例还提供了一种数据加密的装置,包括:
35、转换单元,用于将矢量数据集合中的各矢量数据的坐标转换成极坐标,其中,每个矢量数据包括至少一个顶点,极坐标包括至少一个顶点对应的极角坐标和极径坐标;
36、加密单元,用于针对任意一个极坐标执行以下操作:按照本文档来自技高网...
【技术保护点】
1.一种数据加密方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述将矢量数据集合中的各矢量数据的坐标转换成极坐标,包括:
3.如权利要求2所述的方法,其特征在于,若所述至少两个加密角度包括第一加密角度和第二加密角度,则所述按照第一方向将所述极角坐标依次旋转至少两个加密角度,得到加密后的极角坐标,包括:
4.如权利要求2所述的方法,其特征在于,所述将预设的水印信息加入到所述极径坐标的有效位中,得到含水印的极径坐标,包括:
5.如权利要求1所述的方法,其特征在于,通过以下方式生成所述随机旋转序列:
6.一种数据解密方法,其特征在于,所述方法包括:
7.如权利要求6所述的方法,其特征在于,若所述至少两个解密角度包括第一解密角度和第二解密角度,则所述按照第二方向将所述矢量数据的极角坐标旋转至少两个解密角度,得到解密后的极角坐标,包括:
8.一种数据加解密系统,其特征在于,所述系统包括:
9.一种数据加密的装置,其特征在于,包括:
10.一种数据解密的装置
11.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如权利要求1~7任一项所述的方法。
...【技术特征摘要】
1.一种数据加密方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述将矢量数据集合中的各矢量数据的坐标转换成极坐标,包括:
3.如权利要求2所述的方法,其特征在于,若所述至少两个加密角度包括第一加密角度和第二加密角度,则所述按照第一方向将所述极角坐标依次旋转至少两个加密角度,得到加密后的极角坐标,包括:
4.如权利要求2所述的方法,其特征在于,所述将预设的水印信息加入到所述极径坐标的有效位中,得到含水印的极径坐标,包括:
5.如权利要求1所述的方法,其特征在于,通过以下方式生成所述随机旋转序列:
...【专利技术属性】
技术研发人员:陈泽锋,
申请(专利权)人:天翼安全科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。