(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210919708.1
(22)申请日 2022.08.02
(71)申请人 浪潮云信息技 术股份公司
地址 250100 山东省济南市高新区浪潮路
1036号浪潮科技园S01号楼
(72)发明人 张明
(74)专利代理 机构 济南信达专利事务所有限公
司 37100
专利代理师 姜丽洁
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 9/08(2006.01)
(54)发明名称
一种重要数据存 储加密方法及系统
(57)摘要
本发明涉及加密改造技术领域, 具体提供了
一种重要数据存储加密方法, 具有如下步骤: S1、
对接具有相关认 证资质的服务器密码机厂商, 对
数据库中重要数据进行SM4加密, 形成密文; S2、
用户正常登陆后, 服务端从所述数据库查询出重
要数据的密文, 进行SM4解密, 得到明文返回客户
端; S3、 当用户对重要数据进行增加或更新操作
时, 服务端先将用户输入的明文进行SM4加密, 将
重要数据的密文存储入库。 与现有技术相比, 本
发明摆脱了对国外密码技术的依赖, 更加符合政
府对政务云提出的系统商用密码应用安全性评
估的要求。
权利要求书2页 说明书5页 附图3页
CN 115412299 A
2022.11.29
CN 115412299 A
1.一种重要数据存 储加密方法, 其特 征在于, 具有如下步骤:
S1、 对接具有相 关认证资质的服务器密码机厂商, 对数据库中重要数据进行SM4加密,
形成密文;
S2、 用户正常登陆后, 服务端从所述数据库 查询出重要数据的密文, 进行SM4解密, 得到
明文返回客户端;
S3、 当用户对重要数据进行增加或更新操作时, 服务端先将用户输入的明文进行SM4加
密, 将重要数据的密文存 储入库。
2.根据权利要求1所述的一种重要数据存储加密方法, 其特征在于, 所述SM4加密明文
字符串时, 先将字符串转换为字节数组格式, 同时确定密钥、 分组模式和填充模式, 对字节
数组进行SM4加密运算, 得到加密后的字节数组, 对密文字节数组进行Base64加密, 再转换
成字符串格式, 即可 得到密文字符串。
3.根据权利要求2所述的一种重要数据存储加密方法, 其特征在于, SM4解密密文字符
串时, 先把字符串转换为字节数组并进行Base64解密, 保证密钥、 分组模式、 填充模式跟加
密时的保持一致, 然后进行SM4解密运算, 得到解密后的字节数组, 将该字节数组直接转换
成字符串, 即可 得到明文字符串。
4.根据权利要求3所述的一种重要数据存储加密方法, 其特征在于, 具体的加解密算法
为:
输入的明文为128bit数据, 将其按位拆分为4个32bit的数据X0, X1, X2, X3; 定义i=0, 将
Xi+1, Xi+2, Xi+3和轮密钥Ki+4做异或运算, 得到一个32bit的数据, 把该数据拆分成4个8bit数
据分别进行盒变换, 再将4个8bit盒变换 结果合并成一个32bit的数据, 记为y;
将y分别循环左移2, 10, 18, 24位, 得到4个32bit的左移结果, 再加上y和Xi, 这6个32bit
数据做异或运算, 得到Xi+4, 至此完成了一轮的加解密运 算;
使用32个不同的轮密钥, 完成32轮运算后, 将最后得到的4个32bit数据X35, X34, X33, X32
合并成一个128bit的数据, 最后输出即可。
5.根据权利要求3所述的一种重要数据存储加密方法, 其特征在于, 轮密钥Ki+4做异或
运算时, 具体方法如下:
输入128bit的原始密钥, 将按位拆分为4个32bit的数据, 分别与固定系统参数FK0, FK1,
FK2, FK3进行异或运算, 得到用于循环的密钥K0, K1, K2, K3; 定义i=0, 将K1, K2, K3和固定参数
CKi做异或运算, 得到一个32bit的数据, 把数据拆分成4个8bit数据分别进行盒变换, 再将4
个8bit盒变换 结果合并成一个32bit的数据, 记为y;
将y分别循环左移13位, 2 3位, 得到2个32bit的左移结果, 再加上y和Ki, 这4个32bit数据
做异或运算, 得到Ki+4, 至此完成了一轮的运 算, Ki+4即为用于加解密算法的密钥;
使用32个不同的固定参数CKi完成32轮运 算, 便可获得32个用于加解密的密钥。
6.一种重要数据存储加密系统, 其特征在于, 对接具有相关认证资质的服务器密码机
厂商, 对数据库中重要 数据进行SM4加密, 形成密 文; 用户正常登陆后, 服务端从所述数据库
查询出重要数据的密文, 进行SM4解密, 得到明文返回客户端; 当用户对重要数据进行增加
或更新操作时, 服 务端先将用户输入的明文 进行SM4加密, 将重要数据的密文存 储入库。
7.根据权利要求6所述的一种重要数据存储加密系统, 其特征在于, 所述SM4加密明文
字符串时, 先将字符串转换为字节数组格式, 同时确定密钥、 分组模式和填充模式, 对字节权 利 要 求 书 1/2 页
2
CN 115412299 A
2数组进行SM4加密运算, 得到加密后的字节数组, 对密文字节数组进行Base64加密, 再转换
成字符串格式, 即可 得到密文字符串。
8.根据权利要求7所述的一种重要数据存储加密系统, 其特征在于, SM4解密密文字符
串时, 先把字符串转换为字节数组并进行Base64解密, 保证密钥、 分组模式、 填充模式跟加
密时的保持一致, 然后进行SM4解密运算, 得到解密后的字节数组, 将该字节数组直接转换
成字符串, 即可 得到明文字符串。
9.根据权利要求8所述的一种重要数据存储加密系统, 其特征在于, 具体的加解密算法
为:
输入的明文为128bit数据, 将其按位拆分为4个32bit的数据X0, X1, X2, X3; 定义i=0, 将
Xi+1, Xi+2, Xi+3和轮密钥Ki+4做异或运算, 得到一个32bit的数据, 把该数据拆分成4个8bit数
据分别进行盒变换, 再将4个8bit盒变换 结果合并成一个32bit的数据, 记为y;
将y分别循环左移2, 10, 18, 24位, 得到4个32bit的左移结果, 再加上y和Xi, 这6个32bit
数据做异或运算, 得到Xi+4, 至此完成了一轮的加解密运 算;
使用32个不同的轮密钥, 完成32轮运算后, 将最后得到的4个32bit数据X35, X34, X33, X32
合并成一个128bit的数据, 最后输出即可。
10.根据权利要求9所述的一种重要数据存储加密系统, 其特征在于, 轮密钥Ki+4做异或
运算时, 具体方法如下:
输入128bit的原始密钥, 将按位拆分为4个32bit的数据, 分别与固定系统参数FK0, FK1,
FK2, FK3进行异或运算, 得到用于循环的密钥K0, K1, K2, K3; 定义i=0, 将K1, K2, K3和固定参数
CKi做异或运算, 得到一个32bit的数据, 把数据拆分成4个8bit数据分别进行盒变换, 再将4
个8bit盒变换 结果合并成一个32bit的数据, 记为y;
将y分别循环左移13位, 2 3位, 得到2个32bit的左移结果, 再加上y和Ki, 这4个32bit数据
做异或运算, 得到Ki+4, 至此完成了一轮的运 算, Ki+4即为用于加解密算法的密钥;
使用32个不同的固定参数CKi完成32轮运 算, 便可获得32个用于加解密的密钥。权 利 要 求 书 2/2 页
3
CN 115412299 A
3
专利 一种重要数据存储加密方法及系统
文档预览
中文文档
11 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:27:48上传分享