一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种重要数据存储加密方法及系统与流程

2022-11-30 10:54:07 来源:中国专利 TAG:


1.本发明涉及加密改造技术领域,具体提供一种重要数据存储加密方法及系统。


背景技术:

2.伴随着社会电子信息化、云计算技术的快速发展,很多地方的政府部门也实施了上云计划,构建本地的政务云平台,从而将自己的业务部署上云,所以,政务云平台自身的稳定运行和安全防护也就尤为重要。对于政务云平台中的业务支撑系统,其内部存储了包括账号密码、客户信息、商业机密等重要数据,对这些重要数据进行加密存储可以进行有效的保护,即使有人用非法手段拿到了这些数据,拿到的也是加密后的密文,不用担心客户隐私、商业机密的泄漏。
3.为了确保系统的重要数据的安全性,保护系统内部的客户隐私、商品信息等数据不会被非法窃取,并摆脱对国外密码技术的依赖,使用国家密码对数据进行加密和解密,实现系统内重要数据的存储机密性至关重要。


技术实现要素:

4.本发明是针对上述现有技术的不足,提供一种实用性强的重要数据存储加密方法。
5.本发明进一步的技术任务是提供一种设计合理,安全适用的重要数据存储加密系统。
6.本发明解决其技术问题所采用的技术方案是:
7.一种重要数据存储加密方法,具有如下步骤:
8.s1、对接具有相关认证资质的服务器密码机厂商,对数据库中重要数据进行sm4加密,形成密文;
9.s2、用户正常登陆后,服务端从所述数据库查询出重要数据的密文,进行sm4解密,得到明文返回客户端;
10.s3、当用户对重要数据进行增加或更新操作时,服务端先将用户输入的明文进行sm4加密,将重要数据的密文存储入库。
11.进一步的,所述sm4加密明文字符串时,先将字符串转换为字节数组格式,同时确定密钥、分组模式和填充模式,对字节数组进行sm4加密运算,得到加密后的字节数组,对密文字节数组进行base64加密,再转换成字符串格式,即可得到密文字符串。
12.进一步的,sm4解密密文字符串时,先把字符串转换为字节数组并进行base64解密,保证密钥、分组模式、填充模式跟加密时的保持一致,然后进行sm4解密运算,得到解密后的字节数组,将该字节数组直接转换成字符串,即可得到明文字符串。
13.进一步的,具体的加解密算法为:
14.输入的明文为128bit数据,将其按位拆分为4个32bit的数据x0,x1,x2,x3;定义i=0,将x
i 1
,x
i 2
,x
i 3
和轮密钥k
i 4
做异或运算,得到一个32bit的数据,把该数据拆分成4个
8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;
15.将y分别循环左移2,10,18,24位,得到4个32bit的左移结果,再加上y和xi,这6个32bit数据做异或运算,得到x
i 4
,至此完成了一轮的加解密运算;
16.使用32个不同的轮密钥,完成32轮运算后,将最后得到的4个32bit数据x
35
,x
34
,x
33
,x
32
合并成一个128bit的数据,最后输出即可。
17.进一步的,轮密钥k
i 4
做异或运算时,具体方法如下:
18.输入128bit的原始密钥,将按位拆分为4个32bit的数据,分别与固定系统参数fk0,fk1,fk2,fk3进行异或运算,得到用于循环的密钥k0,k1,k2,k3;定义i=0,将k1,k2,k3和固定参数cki做异或运算,得到一个32bit的数据,把数据拆分成4个8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;
19.将y分别循环左移13位,23位,得到2个32bit的左移结果,再加上y和ki,这4个32bit数据做异或运算,得到k
i 4
,至此完成了一轮的运算,k
i 4
即为用于加解密算法的密钥;
20.使用32个不同的固定参数cki完成32轮运算,便可获得32个用于加解密的密钥。
21.一种重要数据存储加密系统,对接具有相关认证资质的服务器密码机厂商,对数据库中重要数据进行sm4加密,形成密文;用户正常登陆后,服务端从所述数据库查询出重要数据的密文,进行sm4解密,得到明文返回客户端;当用户对重要数据进行增加或更新操作时,服务端先将用户输入的明文进行sm4加密,将重要数据的密文存储入库。
22.进一步的,所述sm4加密明文字符串时,先将字符串转换为字节数组格式,同时确定密钥、分组模式和填充模式,对字节数组进行sm4加密运算,得到加密后的字节数组,对密文字节数组进行base64加密,再转换成字符串格式,即可得到密文字符串。
23.进一步的,sm4解密密文字符串时,先把字符串转换为字节数组并进行base64解密,保证密钥、分组模式、填充模式跟加密时的保持一致,然后进行sm4解密运算,得到解密后的字节数组,将该字节数组直接转换成字符串,即可得到明文字符串。
24.进一步的,具体的加解密算法为:
25.输入的明文为128bit数据,将其按位拆分为4个32bit的数据x0,x1,x2,x3;定义i=0,将x
i 1
,x
i 2
,x
i 3
和轮密钥k
i 4
做异或运算,得到一个32bit的数据,把该数据拆分成4个8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;
26.将y分别循环左移2,10,18,24位,得到4个32bit的左移结果,再加上y和xi,这6个32bit数据做异或运算,得到x
i 4
,至此完成了一轮的加解密运算;
27.使用32个不同的轮密钥,完成32轮运算后,将最后得到的4个32bit数据x
35
,x
34
,x
33
,x
32
合并成一个128bit的数据,最后输出即可。
28.进一步的,轮密钥k
i 4
做异或运算时,具体方法如下:
29.输入128bit的原始密钥,将按位拆分为4个32bit的数据,分别与固定系统参数fk0,fk1,fk2,fk3进行异或运算,得到用于循环的密钥k0,k1,k2,k3;定义i=0,将k1,k2,k3和固定参数cki做异或运算,得到一个32bit的数据,把数据拆分成4个8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;
30.将y分别循环左移13位,23位,得到2个32bit的左移结果,再加上y和ki,这4个32bit数据做异或运算,得到k
i 4
,至此完成了一轮的运算,k
i 4
即为用于加解密算法的密钥;
31.使用32个不同的固定参数cki完成32轮运算,便可获得32个用于加解密的密钥。
32.本发明的一种重要数据存储加密方法及系统和现有技术相比,具有以下突出的有益效果:
33.在政务云场景下,实现了系统中重要数据的存储机密性,保护了业务支撑系统中的客户隐私、产品信息等数据,即便使用非法手段窃取了这些数据,也是加密后的密文,不用担心信息泄露,增强了数据安全。
34.另外,通过对接厂商的服务器密码机来实现sm4密码算法,密钥存储在密码机内部,调用其方法获取的密钥为经过加密处理后的假密钥,可以有效的保护密钥,防止算法被破解。而且,使用国家密码算法sm4进行加密解密,摆脱了对国外密码技术的依赖,更加符合政府对政务云提出的系统商用密码应用安全性评估的要求。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.附图1是一种重要数据存储加密方法的流程示意图;
37.附图2是一种重要数据存储加密方法中加解密的流程示意图;
38.附图3是一种重要数据存储加密方法中加解密具体算法示意图;
39.附图4是一种重要数据存储加密方法中轮密钥计算示意图。
具体实施方式
40.为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
41.下面给出一个最佳实施例:
42.如图1所示,本实施例中的一种重要数据存储加密方法,具有如下步骤:
43.s1、对接具有相关认证资质的服务器密码机厂商,将数据库中所有重要数据的明文查询出来,使用sm4加密算法,分别加密成密文,把这些重要数据的密文存储入库,覆盖掉原来的明文,完成准备工作。
44.s2、用户正常登陆后,需要浏览一条或者多条重要数据时,服务端从所述数据库查询出重要数据的密文,进行sm4解密,得到明文返回客户端;
45.s3、当用户对重要数据进行增加或更新操作时,服务端先将用户输入的明文进行sm4加密,将重要数据的密文存储入库。
46.如图2所示,sm4加密明文字符串时,先将字符串转换为字节数组格式,同时确定密钥、分组模式(ecb、cbc等)、填充模式(pkcs5padding、pkcs7padding等),对字节数组进行sm4加密运算,得到加密后的字节数组,若把该密文字节数组直接转换成字符串,会得到字符串乱码,故先对密文字节数组进行base64加密,再转换成字符串格式,即可得到密文字符串。
47.解密密文字符串时,先把字符串转换为字节数组并进行base64解密,保证密钥、分组模式、填充模式跟加密时的保持一致,然后进行sm4解密运算,得到解密后的字节数组,将该字节数组直接转换成字符串,即可得到明文字符串。
48.如图3所示,具体的加解密算法为:
49.输入的明文为128bit数据,将其按位拆分为4个32bit的数据x0,x1,x2,x3;定义i=0,将x
i 1
,x
i 2
,x
i 3
和轮密钥k
i 4
做异或运算,得到一个32bit的数据,把该数据拆分成4个8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;
50.将y分别循环左移2,10,18,24位,得到4个32bit的左移结果,再加上y和xi,这6个32bit数据做异或运算,得到x
i 4
,至此完成了一轮的加解密运算;
51.使用32个不同的轮密钥,完成32轮运算后,将最后得到的4个32bit数据x
35
,x
34
,x
33
,x
32
合并成一个128bit的数据,最后输出即可。
52.如图4所示,轮密钥k
i 4
做异或运算时,具体方法如下:
53.输入128bit的原始密钥,将按位拆分为4个32bit的数据,分别与固定系统参数fk0,fk1,fk2,fk3进行异或运算,得到用于循环的密钥k0,k1,k2,k3;定义i=0,将k1,k2,k3和固定参数cki做异或运算,得到一个32bit的数据,把数据拆分成4个8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;
54.将y分别循环左移13位,23位,得到2个32bit的左移结果,再加上y和ki,这4个32bit数据做异或运算,得到k
i 4
,至此完成了一轮的运算,k
i 4
即为用于加解密算法的密钥;
55.使用32个不同的固定参数cki完成32轮运算,便可获得32个用于加解密的密钥。
56.基于上述方法,本实施例中的一种重要数据存储加密系统,对接具有相关认证资质的服务器密码机厂商,对数据库中重要数据进行sm4加密,形成密文;用户正常登陆后,服务端从所述数据库查询出重要数据的密文,进行sm4解密,得到明文返回客户端;当用户对重要数据进行增加或更新操作时,服务端先将用户输入的明文进行sm4加密,将重要数据的密文存储入库。
57.其中,所述sm4加密明文字符串时,先将字符串转换为字节数组格式,同时确定密钥、分组模式和填充模式,对字节数组进行sm4加密运算,得到加密后的字节数组,对密文字节数组进行base64加密,再转换成字符串格式,即可得到密文字符串。
58.sm4解密密文字符串时,先把字符串转换为字节数组并进行base64解密,保证密钥、分组模式、填充模式跟加密时的保持一致,然后进行sm4解密运算,得到解密后的字节数组,将该字节数组直接转换成字符串,即可得到明文字符串。
59.具体的加解密算法为:
60.输入的明文为128bit数据,将其按位拆分为4个32bit的数据x0,x1,x2,x3;定义i=0,将x
i 1
,x
i 2
,x
i 3
和轮密钥k
i 4
做异或运算,得到一个32bit的数据,把该数据拆分成4个8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;
61.将y分别循环左移2,10,18,24位,得到4个32bit的左移结果,再加上y和xi,这6个32bit数据做异或运算,得到x
i 4
,至此完成了一轮的加解密运算;
62.使用32个不同的轮密钥,完成32轮运算后,将最后得到的4个32bit数据x
35
,x
34
,x
33
,x
32
合并成一个128bit的数据,最后输出即可。
63.轮密钥k
i 4
做异或运算时,具体方法如下:
64.输入128bit的原始密钥,将按位拆分为4个32bit的数据,分别与固定系统参数fk0,fk1,fk2,fk3进行异或运算,得到用于循环的密钥k0,k1,k2,k3;定义i=0,将k1,k2,k3和固定参数cki做异或运算,得到一个32bit的数据,把数据拆分成4个8bit数据分别进行盒变换,再将4个8bit盒变换结果合并成一个32bit的数据,记为y;
65.将y分别循环左移13位,23位,得到2个32bit的左移结果,再加上y和ki,这4个32bit数据做异或运算,得到k
i 4
,至此完成了一轮的运算,k
i 4
即为用于加解密算法的密钥;
66.使用32个不同的固定参数cki完成32轮运算,便可获得32个用于加解密的密钥。
67.上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种重要数据存储加密方法及系统权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
68.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献