【技术实现步骤摘要】
基于国密密码杂凑算法的保留格式加密方法及解密方法
[0001]本专利技术涉及信息安全
,具体而言,涉及一种基于国密密码杂凑算法的保留格式加密方法及解密方法。
技术介绍
[0002]随着互联网的发展,每天都有各种各样的敏感数据在网络上传播。有大量第三方机构对这些敏感数据进行收集、分析、挖掘,大数据分析可为更优化的决策提供更加可靠的支持,但不对明文信息采取加密或匿名处理就很有可能导致用户的信息滥用,甚至发生严重的隐私泄露事件,造成无法弥补的损失。传统的加密技术能够使得加密后的数据是可证安全的,然而其密文却失去了原有数据的格式,因为绝大部分数据具有特定的格式,比如银行卡号、身份证号等敏感数据,使用传统的分组密码算法直接进行加密可能会导致数据长度的扩展,使得数据的类型发生变化等,需要修改数据库或应用程序来适应这些变化,成本非常高。怎样在可以对密文数据进行数据分析研究的基础上保护用户隐私不被泄漏成为急需解决的难题。为了解决这类问题,保留格式加密(format
‑
preserving encryption,简称FPE)被提了出来。FPE可以用来进行数据遮蔽,即通过对原始数据进行掩码转换,输出一个与原始数据的格式、关联等均一模一样的数据,从而解决从生产环境的数据向测试环境(或者开发环境)导入时可能产生的数据内容安全问题。
[0003]近年来,美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)就此问题进行了研究,并发布了N ...
【技术保护点】
【技术特征摘要】
1.一种基于国密密码杂凑算法的保留格式加密方法,其特征在于,所述加密方法包括如下步骤:S11,字符串拆分:将输入的待加密明文P拆分为两个子字符串并分别转化为BN型整数;S12,字符串迭代:设置迭代索引号为i=0,1,2,
…
,9,对步骤S11得到的两个BN型整数进行10轮基于Feistel结构和KDF变换的迭代;所述KDF变换是基于国密密码杂凑算法SM3的密钥导出函数;S13,字符串合并:将迭代得到的两个BN型整数分别转为字符串后串联合并为一个字符串,得到密文C。2.根据权利要求1所述的基于国密密码杂凑算法的保留格式加密方法,其特征在于,步骤S11包括如下子步骤:S111,输入密钥K,长度为t字节的调节因子T,以及待加密明文P;所述待加密明文P是长度为n的字符串,n满足radix满足2≤radix≤65536;S112,分别取INT型整数v
←
n
‑
u,u,符号
←
代表赋值;将待加密明文P拆分为两个字符串A和B:A
←
P[1,
…
,u],B
←
P[u+1,
…
,n]其中,P[1,
…
,u]表示明文字符串P中的第1至u个字符,P[u+1,
…
,n]表示明文字符串P中的第u至n个字符;S113,将这两个字符串A和B分别转为BN型整数α和β:α
←
NUM
radix
(A),β
←
NUM
radix
(B)。3.根据权利要求2所述的基于国密密码杂凑算法的保留格式加密方法,其特征在于,步骤S12包括如下子步骤:S121,利用KDF变换计算d字节的掩码字节串E:E
←
KDF
(d)K
(M)M=[1]1||[2]1||[1]1||[radix]3||[10]1||[umod256]1||[n]4||[t]4||T||[0]
(
‑
t
‑1‑
b)mod16
||[i]1||[β]
b
S122,将d字节的掩码字节串E转为BN型整数γ:γ
←
NUM(E)S123,执行模加运算得到BN型整数δ:δ
←
(α+γ)mod radix
m
其中,INT型整数m的取值为,如果imod2=0,m
←
u,否则m
←
v;S124,左右互换,即α
←
β,β
←
δ;S125,按迭代次数重复执行步骤S121~S124,迭代完成后得到BN型整数α和β。4.根据权利要求3所述的基于国密密码杂凑算法的保留格式加密方法,其特征在于,步骤S121中所述KDF变换的方法包括如下步骤:S1211,计算d满足0≤d<2
32
,初始R为空串,即字节长度为0;S1212,对整数i=1,2,...,n,执行:R
←
R||SM3(K||M||[i]4)
S1213,截取步骤S1212得到的R最左边的d个字节,得到d个字节的掩码字节串E=R[1..d],然后返回E。5.根据权利要求3所述的基于国密密码杂凑算法的保留格式加密方法,其特征...
【专利技术属性】
技术研发人员:罗影,张文科,刘红军,敖麒,
申请(专利权)人:工业信息安全四川创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。