System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机加密,尤其涉及一种基于格式保留的信息去标识方法、装置、设备及存储介质。
技术介绍
1、在数字化时代,个人信息的收集和利用呈指数级增长。各种服务和应用程序收集个人数据,用于广告定位、用户分析和个性化推荐等目的。然而,随着个人数据的积累,隐私泄露和滥用的风险也相应增加。个人身份信息一旦暴露,可能导致个人隐私被侵犯、身份盗窃、诈骗等问题。
2、个人信息去标识是一种保护个人隐私的技术手段,旨在在数据处理过程中消除个人身份信息的关联,从而降低隐私泄露的风险。背景中包含着隐私保护的迫切需求、法规合规要求和技术发展的动力。
3、个人信息去标识可以采用保留格式加密作为其一种技术手段。通过使用保留格式加密算法,可以对个人身份信息进行加密,同时保持原始数据的格式不变。这样做的好处是,即使在去除或替换个人身份信息的过程中,加密后的数据仍然能够保持与原始数据相同的格式,以满足特定的应用需求。
4、在医疗领域,为了进行研究和分析,研究人员可能需要访问匿名化的医疗数据,同时需要保持数据的格式,以确保能够进行准确的分析。在这种情况下,可以使用保留格式加密算法对敏感的个人身份信息(如患者姓名、身份证号码)进行加密,同时保持数据的结构和格式不变,以满足研究的需要。
5、目前保留格式加密大多采用以prefix,cycle-walking和generalized-feistel为基础算法的3种fpe构建方法:prefix,cycle-walking和generalized-feistel。这3种方法不仅
6、在generalized-feistel方法中使用cycle-walking增加轮次,来确保格式落入理想范围内,实现保留格式形式。虽然cycle-walking不会降低传统分组密码的安全性,但在效率方面,一次加密可能需要多次调用基础分组密码,当明文的二进制位数远小于分组长度时,会因为迭代次数增加而导致性能降低,存在不确定的性能问题。在generalized-feistel方法中使用cycle-walking,或其他方式单独使用cycle-walking方法适合大小接近分组长度的整数集。比如,如果采用des算法,适合的范围是54~64二进制位的整数集。同时这种方式会截断意群内容,保留格式生成的内容无法满足原始格式语义,造成容易识别出当前内容经过加密。
技术实现思路
1、本申请提供了一种基于格式保留的信息去标识方法、装置、设备及存储介质,解决了使用cycle-walking的不确定性问题,提高了保留格式加密算法效率,降低算法计算开销,扩大保留格式加密处理的问题域,使保留格式加密算法能够对任意类型的数据进行保留格式加密。
2、有鉴于此,本申请第一方面提供了一种基于格式保留的信息去标识方法,所述方法包括:
3、s1、将第一待加密数据补齐至目标数据长度,得到第二待加密数据p;
4、s2、将所述第二待加密数据划分为2m个数据段,得到p=p1||p2||…||p2m,其中,|pj|表示pj的长度m,yj为此时的pj所对应的值域,yj={yj1,yj2,…,yjsj},sj为yj所含元素的个数(j=1,…,m);
5、s3、构建feistel结构中的f函数prf=trunc(3desk(t),r),其中,t为输入数字连接形成的字符串,k为密钥,3des为加密算法,r为将得到的结果截取前r位
6、s4、将所述第二待加密数据输入至所述feistel结构中,使得l0=p1||…||p2m-1,r0=p2||…||p2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
7、li=ri-1
8、
9、得到第一输出结果li=p1||…||p2m-1,ri=p2||…||p2m,其中p1∈y1,…,p2m∈y2m,|zj|=|pj|;
10、s5、拼接截取的前r位所述第一输出结果,得到第二输出结果c=lr||rr;
11、s6、根据各部分值域yi生成落入所述值域范围的伪随机数r1,r2,…r2m,拼接形成满足目标格式的生成内容r=r1+r2+…+r2m;
12、s7、根据所述第二输出结果c以及所述生成内容r,生成截断表内容s,其中,s=r-c。
13、可选地,还包括:
14、根据所述截断表内容s以及所述生成内容r得到所述第二输出结果r-s=c=lr||rr,yj为此时的pj所对应的值域,划分成m个数据段,p1∈y1,…,pm∈ym;
15、将所述第二输出结果c=lr||rr输入至所述feistel结构中,使得lr=p1||…||p2m-1,rr=p2||p4||…||p2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
16、lr-i=rr-i+1
17、
18、得到第三输出结果lr-i=p1||…||pm,rr-i=pm+1||…||p2m,其中p1∈y1,p2∈y2,…,p2m∈y2m;
19、根据所述第三输出结果得到所述第二待加密数据p=l0||r0;
20、删除所述第二待加密数据中超出所述目标数据长度位数的数据,得到所述第一待加密数据。
21、可选地,还包括:
22、通过python标准库函数随机生成初始化密钥;
23、基于所述初始化密钥采用左循环移位的子密钥生成算法,得到轮次数;
24、若所述轮次数与所述第一待加密数据的位数一致,则校验成功。
25、本申请第二方面提供一种基于格式保留的信息去标识装置,所述装置包括:
26、补齐单元,用于将第一待加密数据补齐至目标数据长度,得到第二待加密数据p;
27、第一处理单元,用于将所述第二待加密数据划分为2m个数据段,得到p=p1||p2||…||p2m,其中,|pj|表示pj的长度m,yj为此时的pj所对应的值域,yj={yj1,yj2,…,yjsj},sj为yj所含元素的个数(j=1,…,m);
28、构建单元,用于构建feistel结构中的f函数prf=trunc(3desk(t),r),其中,t为输入数字连接形成的字符串,k为密钥,3des为加密算法,r为将得到的结果截取前r位
29、第二处理单元,用于将所述第二待加密数据输入至所述feistel结构中,使得l0=p1||…||p2m-1,r0=p2||…||p2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
30、li=ri-1
31、
32、得到第一输出结果li=p1||…||p2m-1,ri=p2||…本文档来自技高网...
【技术保护点】
1.一种基于格式保留的信息去标识方法,其特征在于,包括:
2.根据权利要求1所述的基于格式保留的信息去标识方法,其特征在于,还包括:
3.根据权利要求2所述的基于格式保留的信息去标识方法,其特征在于,还包括:
4.一种基于格式保留的信息去标识装置,其特征在于,包括:
5.根据权利要求4所述的基于格式保留的信息去标识装置,其特征在于,还包括:
6.根据权利要求5所述的基于格式保留的信息去标识装置,其特征在于,还包括:
7.一种基于格式保留的信息去标识设备,其特征在于,所述设备包括处理器以及存储器:
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-3任一项所述的基于格式保留的信息去标识方法。
【技术特征摘要】
1.一种基于格式保留的信息去标识方法,其特征在于,包括:
2.根据权利要求1所述的基于格式保留的信息去标识方法,其特征在于,还包括:
3.根据权利要求2所述的基于格式保留的信息去标识方法,其特征在于,还包括:
4.一种基于格式保留的信息去标识装置,其特征在于,包括:
5.根据权利要求4所述的基于格式保留的信息去标识装置,其...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。