CN117540415A - 基于格式保留的信息去标识方法、装置、设备及存储介质 - Google Patents

基于格式保留的信息去标识方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117540415A
CN117540415A CN202311487838.3A CN202311487838A CN117540415A CN 117540415 A CN117540415 A CN 117540415A CN 202311487838 A CN202311487838 A CN 202311487838A CN 117540415 A CN117540415 A CN 117540415A
Authority
CN
China
Prior art keywords
data
encrypted
output result
format
round
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311487838.3A
Other languages
English (en)
Inventor
田有亮
杨庆
马曦华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou University
Original Assignee
Guizhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guizhou University filed Critical Guizhou University
Priority to CN202311487838.3A priority Critical patent/CN117540415A/zh
Publication of CN117540415A publication Critical patent/CN117540415A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种基于格式保留的信息去标识方法、装置、设备及存储介质,通过设置截断表,消除Feistel结构中使用Cycle‑Walking的不确定性,基于目标数据长度使得能够处理任意问题域的内容,丰富的保留格式加密的应用场景,解决了使用Cycle‑Walking的不确定性问题,提高了保留格式加密算法效率,降低算法计算开销,扩大保留格式加密处理的问题域,使保留格式加密算法能够对任意类型的数据进行保留格式加密。

Description

基于格式保留的信息去标识方法、装置、设备及存储介质
技术领域
本申请涉及计算机加密技术领域,尤其涉及一种基于格式保留的信息去标识方法、装置、设备及存储介质。
背景技术
在数字化时代,个人信息的收集和利用呈指数级增长。各种服务和应用程序收集个人数据,用于广告定位、用户分析和个性化推荐等目的。然而,随着个人数据的积累,隐私泄露和滥用的风险也相应增加。个人身份信息一旦暴露,可能导致个人隐私被侵犯、身份盗窃、诈骗等问题。
个人信息去标识是一种保护个人隐私的技术手段,旨在在数据处理过程中消除个人身份信息的关联,从而降低隐私泄露的风险。背景中包含着隐私保护的迫切需求、法规合规要求和技术发展的动力。
个人信息去标识可以采用保留格式加密作为其一种技术手段。通过使用保留格式加密算法,可以对个人身份信息进行加密,同时保持原始数据的格式不变。这样做的好处是,即使在去除或替换个人身份信息的过程中,加密后的数据仍然能够保持与原始数据相同的格式,以满足特定的应用需求。
在医疗领域,为了进行研究和分析,研究人员可能需要访问匿名化的医疗数据,同时需要保持数据的格式,以确保能够进行准确的分析。在这种情况下,可以使用保留格式加密算法对敏感的个人身份信息(如患者姓名、身份证号码)进行加密,同时保持数据的结构和格式不变,以满足研究的需要。
目前保留格式加密大多采用以Prefix,Cycle-Walking和Generalized-Feistel为基础算法的3种FPE构建方法:Prefix,Cycle-Walking和Generalized-Feistel。这3种方法不仅在一定程度上解决了整数集上的FPE问题,而且成为构造FPE模型的基本方法。其中,Cycle-Walking和Generalized-Feistel在后续的加密模型中得到了广泛使用。
在Generalized-Feistel方法中使用Cycle-Walking增加轮次,来确保格式落入理想范围内,实现保留格式形式。虽然Cycle-Walking不会降低传统分组密码的安全性,但在效率方面,一次加密可能需要多次调用基础分组密码,当明文的二进制位数远小于分组长度时,会因为迭代次数增加而导致性能降低,存在不确定的性能问题。在Generalized-Feistel方法中使用Cycle-Walking,或其他方式单独使用Cycle-Walking方法适合大小接近分组长度的整数集。比如,如果采用DES算法,适合的范围是54~64二进制位的整数集。同时这种方式会截断意群内容,保留格式生成的内容无法满足原始格式语义,造成容易识别出当前内容经过加密。
发明内容
本申请提供了一种基于格式保留的信息去标识方法、装置、设备及存储介质,解决了使用Cycle-Walking的不确定性问题,提高了保留格式加密算法效率,降低算法计算开销,扩大保留格式加密处理的问题域,使保留格式加密算法能够对任意类型的数据进行保留格式加密。
有鉴于此,本申请第一方面提供了一种基于格式保留的信息去标识方法,所述方法包括:
S1、将第一待加密数据补齐至目标数据长度,得到第二待加密数据P;
S2、将所述第二待加密数据划分为2m个数据段,得到P=P1||P2||…||P2m,其中,|Pj|表示Pj的长度m,Yj为此时的Pj所对应的值域,Yj={yj1,yj2,…,yjsj},Sj为Yj所含元素的个数(j=1,…,m);
S3、构建Feistel结构中的F函数PRF=trunc(3DESK(T),r),其中,T为输入数字连接形成的字符串,K为密钥,3DES为加密算法,r为将得到的结果截取前r位
S4、将所述第二待加密数据输入至所述Feistel结构中,使得L0=P1||…||P2m-1,R0=P2||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Li=Ri-1
得到第一输出结果Li=P1||…||P2m-1,Ri=P2||…||P2m,其中P1∈Y1,…,P2m∈Y2m,|Zj|=|Pj|;
S5、拼接截取的前r位所述第一输出结果,得到第二输出结果C=Lr||Rr
S6、根据各部分值域Yi生成落入所述值域范围的伪随机数r1,r2,…r2m,拼接形成满足目标格式的生成内容R=r1+r2+…+r2m
S7、根据所述第二输出结果C以及所述生成内容R,生成截断表内容S,其中,S=R-C。
可选地,还包括:
根据所述截断表内容S以及所述生成内容R得到所述第二输出结果R-S=C=Lr||Rr,Yj为此时的Pj所对应的值域,划分成m个数据段,P1∈Y1,…,Pm∈Ym
将所述第二输出结果C=Lr||Rr输入至所述Feistel结构中,使得Lr=P1||…||P2m-1,Rr=P2||P4||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Lr-i=Rr-i+1
得到第三输出结果Lr-i=P1||…||Pm,Rr-i=Pm+1||…||P2m,其中P1∈Y1,P2∈Y2,…,P2m∈Y2m
根据所述第三输出结果得到所述第二待加密数据P=L0||R0
删除所述第二待加密数据中超出所述目标数据长度位数的数据,得到所述第一待加密数据。
可选地,还包括:
通过Python标准库函数随机生成初始化密钥;
基于所述初始化密钥采用左循环移位的子密钥生成算法,得到轮次数;
若所述轮次数与所述第一待加密数据的位数一致,则校验成功。
本申请第二方面提供一种基于格式保留的信息去标识装置,所述装置包括:
补齐单元,用于将第一待加密数据补齐至目标数据长度,得到第二待加密数据P;
第一处理单元,用于将所述第二待加密数据划分为2m个数据段,得到P=P1||P2||…||P2m,其中,|Pj|表示Pj的长度m,Yj为此时的Pj所对应的值域,Yj={yj1,yj2,…,yjsj},Sj为Yj所含元素的个数(j=1,…,m);
构建单元,用于构建Feistel结构中的F函数PRF=trunc(3DESK(T),r),其中,T为输入数字连接形成的字符串,K为密钥,3DES为加密算法,r为将得到的结果截取前r位
第二处理单元,用于将所述第二待加密数据输入至所述Feistel结构中,使得L0=P1||…||P2m-1,R0=P2||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Li=Ri-1
得到第一输出结果Li=P1||…||P2m-1,Ri=P2||…||P2m,其中P1∈Y1,…,P2m∈Y2m,|Zj|=|Pj|;
截取单元,用于拼接截取的前r位所述第一输出结果,得到第二输出结果C=Lr||Rr
第一生成单元,用于根据各部分值域Yi生成落入所述值域范围的伪随机数r1,r2,…r2m,拼接形成满足目标格式的生成内容R=r1+r2+…+r2m
第二生成单元,用于根据所述第二输出结果C以及所述生成内容R,生成截断表内容S,其中,S=R-C。
可选地,还包括:
第三处理单元,用于根据所述截断表内容S以及所述生成内容R得到所述第二输出结果R-S=C=Lr||Rr,Yj为此时的Pj所对应的值域,划分成m个数据段,P1∈Y1,…,Pm∈Ym
第四处理单元,用于将所述第二输出结果C=Lr||Rr输入至所述Feistel结构中,使得Lr=P1||…||P2m-1,Rr=P2||P4||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Lr-i=Rr-i+1
得到第三输出结果Lr-i=P1||…||Pm,Rr-i=Pm+1||…||P2m,其中P1∈Y1,P2∈Y2,…,P2m∈Y2m
第三生成单元,用于根据所述第三输出结果得到所述第二待加密数据P=L0||R0
删除单元,用于删除所述第二待加密数据中超出所述目标数据长度位数的数据,得到所述第一待加密数据。
可选地,还包括:
密钥初始化单元,用于通过Python标准库函数随机生成初始化密钥;
计算单元,用于基于所述初始化密钥采用左循环移位的子密钥生成算法,得到轮次数;
校验单元,用于若所述轮次数与所述第一待加密数据的位数一致,则校验成功。
本申请第三方面提供一种基于格式保留的信息去标识设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令,执行如上述第一方面所述的基于格式保留的信息去标识的方法的步骤。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,提供了一种基于格式保留的信息去标识方法、装置、设备及存储介质,通过设置截断表,消除Feistel结构中使用Cycle-Walking的不确定性,基于目标数据长度使得能够处理任意问题域的内容,丰富的保留格式加密的应用场景,解决了使用Cycle-Walking的不确定性问题,提高了保留格式加密算法效率,降低算法计算开销,扩大保留格式加密处理的问题域,使保留格式加密算法能够对任意类型的数据进行保留格式加密。
附图说明
图1为本申请实施例中基于格式保留的信息去标识方法的方法流程图;
图2为本申请实施例中基于格式保留的信息去标识装置的结构示意图;
图3为本申请实施例中基于格式保留的信息去标识设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请设计了一种基于格式保留的信息去标识方法、装置、设备及存储介质,解决了使用Cycle-Walking的不确定性问题,提高了保留格式加密算法效率,降低算法计算开销,扩大保留格式加密处理的问题域,使保留格式加密算法能够对任意类型的数据进行保留格式加密。
数字特征数据除了具有基本数据类型的性质,还具有特定的自定义数据的完整性和约束性,例如身份证号码、社保号码及电话号码等。一般,这类数据可以分成若干的子集,每个子集都具有某些特定的构造规则。S为特征数据,S可以分成n个数据段,Si为子集,则
所以无法有效地直接使用基本数据类型保留格式加密算法对其加密。本申请技术方案利用分段加密的思想,同时在算法中设置截断表对数据进行处理,实现对特征数据进行安全防护的保留格式加密算法。
为了便于理解,请参阅图1,图1为本申请实施例中基于格式保留的信息去标识方法的方法流程图,如图1所示,具体为:
S1、将第一待加密数据补齐至目标数据长度,得到第二待加密数据P;
S2、将第二待加密数据划分为2m个数据段,得到P=P1||P2||…||P2m,其中,|Pj|表示Pj的长度m,Yj为此时的Pj所对应的值域,Yj={yj1,yj2,…,yjsj},Sj为Yj所含元素的个数(j=1,…,m);
S3、构建Feistel结构中的F函数PRF=trunc(3DESK(T),r),其中,T为输入数字连接形成的字符串,K为密钥,3DES为加密算法,r为将得到的结果截取前r位
S4、将第二待加密数据输入至Feistel结构中,使得L0=P1||…||P2m-1,R0=P2||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Li=Ri-1
得到第一输出结果Li=P1||…||P2m-1,Ri=P2||…||P2m,其中P1∈Y1,…,P2m∈Y2m,|Zj|=|Pj|;
S5、拼接截取的前r位第一输出结果,得到第二输出结果C=Lr||Rr
S6、根据各部分值域Yi生成落入值域范围的伪随机数r1,r2,…r2m,拼接形成满足目标格式的生成内容R=r1+r2+…+r2m
S7、根据第二输出结果C以及生成内容R,生成截断表内容S,其中,S=R-C。
需要说明的是,算法的加密流程为:
(1)将加密数据P补齐为符合加密标准的数据长度,其次将其划分成2m个数据段,即P=P1||P2||…||P2m,|Pj|表示Pj的长度m,Yj为此时的Pj所对应的值域,Yj={yj1,yj2,…,yjsj},Sj为Yj所含元素的个数(j=1,…,m)。
(2)构造Feistel结构中的F函数,表示为PRF=trunc(3DESK(T),r):输入数字连接形成的字符串T,使用密钥K及3DES算法进行加密,将得到的结果截取前r位。
(3)将待加密内容输入平衡Feistel结构:L0=P1||…||P2m-1,R0=P2||…||P2m,进行r轮轮运算。第i(i=1,…,r)轮的运算过程:
Li=Ri-1
得到输出结果Li=P1||…||P2m-1,Ri=P2||…||P2m,其中P1∈Y1,…,P2m∈Y2m,|Zj|=|Pj|。拼接字符串的到输出结果C=Lr||Rr
(4)根据各部分值域Yi生成落入该值域范围的伪随机数r1,r2,…r2m,拼接形成符合格式的生成内容R=r1+r2+…+r2m
(5)校验结果是否符合格式Ω,通过计算机伪随机生成符合结果的内容R,并生成截断表内容S=R-C,存储截断表的内容S。
进一步地,还包括:
根据截断表内容S以及生成内容R得到第二输出结果R-S=C=Lr||Rr,Yj为此时的Pj所对应的值域,划分成m个数据段,P1∈Y1,…,Pm∈Ym
将第二输出结果C=Lr||Rr输入至Feistel结构中,使得Lr=P1||…||P2m-1,Rr=P2||P4||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Lr-i=Rr-i+1
得到第三输出结果Lr-i=P1||…||Pm,Rr-i=Pm+1||…||P2m,其中P1∈Y1,P2∈Y2,…,P2m∈Y2m
根据第三输出结果得到第二待加密数据P=L0||R0
删除第二待加密数据中超出目标数据长度位数的数据,得到第一待加密数据。
需要说明的是,算法的解密流程为:
(1)还原密文,根据截断表内容S及符合格式Ω的伪随机生成结果R,得到密文R-S=C=Lr||Rr,Yj为此时的Pj所对应的值域,将其划分成m个数据段,P1∈Y1,…,Pm∈Ym,数据还原结束后,其解密流
程的具体步骤如下。
(2)将输入内容C=Lr||Rr输入平衡Feistel结构:Lr=P1||P3||…||P2m-1及Rr=P2||P4||…||P2m,第i(i=1,…,r)轮的运算过程:
Lr-i=Rr-i+1
通过上述加密得到的输出结果为:Lr-i=P1||…||Pm,Rr-i=Pm+1||…||P2m,其中P1∈Y1,P2∈Y2,…,P2m∈Y2m
(3)得到原始数据结果C=L0||R0,删除超出加密标准的数据长度数位的数据,求得该数据的解密结果,输出明文。
进一步地,还包括:
通过Python标准库函数随机生成初始化密钥;
基于初始化密钥采用左循环移位的子密钥生成算法,得到轮次数;
若轮次数与第一待加密数据的位数一致,则校验成功。
需要说明的是,对保留格式加密算法的具体实验,在Python 3.7环境下进行,使用Python标准库函数Crypto.Cipher中的3DES加密算法进行加密,以身份证号为例进行加密。
通过使用Python标准库函数随机生成初始化秘钥,设定初始密钥K=c43f8a6ff6351013,子密钥生成算法使用左循环移位,每轮做循环移位位数:
如表1所示
表1子密钥生成左循环移位位数
在此Feistel结构展示的轮次数r=4(实际中为达到保密级别应设定为更多轮次,至少应达到16轮)。
本申请实施例以中华人民共和国居民身份证号为例,进行具体实施方案的演示。
对合法身份证号加密过程如下
身份证号码P=110999200001016688划分为八个部分:P1=11,P2=09,P3=99,P4=2000,P5=01,P6=01,P7=668,P8=8。P1,P2,P3,P4,P5,P6,P7,P8,所对应的值域分别为Y1={11,…,99},Y2={0,…,99},Y3={0,…,99},Y4={1950,…,2023},Y5={0,…,99},Y6={0,…,99},Y7={0,…,999},Y8={0,…,9,X}。
将身份证号输入平衡Feistel网络进行运算:
当r=1时,进行第一轮运算:
L1=R0=9920||0166||0000
当r=2时,进行第二轮运算:
当r=3时,进行第二轮运算:
L3=R2=0x6f77425c||0x435c741d||0x0271011e
r3~r14轮运算以同样方式进行运算;
当r=15时,进行第二轮运算:
L15=R14=0x4d27457f||0x7f452b26||0x50064774
当r=16时,进行第十六轮运算:
L16=R15=0x7f28322c||0x03121c19||0x40294e04
通过上述Feistel结构及3DES加密算法的加密,得到加密的身份证号码十六进制表示:0x7f28322c0a71742c03121c1928705a4f40294e0465423047。
根据身份证号各部分的值域Y1~Y8,通过Python伪随机数生成器,产生符合值域Y1~Y8的随机函数,本验证试验所选取的随机数如下,生成符合身份证号格式同时符合现实应用场景的身份证号码R=111666199912318866。
因此生成的截断内容为:
S=0xec711f7061dff0430e2e8d1d8142a37faf0082f7c24717a0。
对合法身份证号解密过程如下
查询截断表T,进行密文复原,得到能够解密的密文。将密文输入平衡Feistel网络进行解密运算:
将十六位密文还原为原始计算结果的六个部分,为P1=0x7f28322c,P2=0x03121c19,P3=0x40294e04,P4=0x0a71742c,P5=0x28705a4f,P6=0x65423047。
当r=1时,进行第一轮运算:
L15=R16=0x0a71742c||0x28705a4f||0x65423047
当r=2时,进行第二轮运算:
L14=R15=0x7f28322c||0x03121c19||0x40294e04
r3~r15轮运算以同样方式进行运算;
当r=16时,进行第十六轮运算:
L0=R1=0x0a71742c||0x28705a4f||0x65423047
算法将得到的解析结果采用十六进制方式可以表示为:0x393932303131303930313636303030313030303038383030。再将结果转化为十进制表示方式为110999200001016688000000。通过算法去掉初始化填充,最终得到明文原始结果110999200001016688,实现了保留格式加密。
请参阅图2,图2为本申请实施例中基于格式保留的信息去标识装置的结构示意图,如图2所示,具体为:
补齐单元201,用于将第一待加密数据补齐至目标数据长度,得到第二待加密数据P;
第一处理单元202,用于将第二待加密数据划分为2m个数据段,得到P=P1||P2||…||P2m,其中,|Pj|表示Pj的长度m,Yj为此时的Pj所对应的值域,Yj={yj1,yj2,…,yjsj},Sj为Yj所含元素的个数(j=1,…,m);
构建单元203,用于构建Feistel结构中的F函数PRF=trunc(3DESK(T),r),其中,T为输入数字连接形成的字符串,K为密钥,3DES为加密算法,r为将得到的结果截取前r位
第二处理单元204,用于将第二待加密数据输入至Feistel结构中,使得L0=P1||…||P2m-1,R0=P2||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Li=Ri-1
得到第一输出结果Li=P1||…||P2m-1,Ri=P2||…||P2m,其中P1∈Y1,…,P2m∈Y2m,|Zj|=|Pj|;
截取单元205,用于拼接截取的前r位第一输出结果,得到第二输出结果C=Lr||Rr
第一生成单元206,用于根据各部分值域Yi生成落入值域范围的伪随机数r1,r2,…r2m,拼接形成满足目标格式的生成内容R=r1+r2+…+r2m
第二生成单元207,用于根据第二输出结果C以及生成内容R,生成截断表内容S,其中,S=R-C。
进一步地,还包括:
第三处理单元,用于根据截断表内容S以及生成内容R得到第二输出结果R-S=C=Lr||Rr,Yj为此时的Pj所对应的值域,划分成m个数据段,P1∈Y1,…,Pm∈Ym
第四处理单元,用于将第二输出结果C=Lr||Rr输入至Feistel结构中,使得Lr=P1||…||P2m-1,Rr=P2||P4||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Lr-i=Rr-i+1
得到第三输出结果Lr-i=P1||…||Pm,Rr-i=Pm+1||…||P2m,其中P1∈Y1,P2∈Y2,…,P2m∈Y2m
第三生成单元,用于根据第三输出结果得到第二待加密数据P=L0||R0
删除单元,用于删除第二待加密数据中超出目标数据长度位数的数据,得到第一待加密数据。
进一步地,还包括:
密钥初始化单元,用于通过Python标准库函数随机生成初始化密钥;
计算单元,用于基于初始化密钥采用左循环移位的子密钥生成算法,得到轮次数;
校验单元,用于若轮次数与第一待加密数据的位数一致,则校验成功。
本申请实施例还提供了另一种基于格式保留的信息去标识设备,如图3所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:PersonalDigital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为手机为例:
图3示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图3,手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(英文全称:wirelessfidelity,英文缩写:WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图3中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:LowNoise Amplifier,英文缩写:LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:Global System of Mobile communication,英文缩写:GSM)、通用分组无线服务(英文全称:General Packet Radio Service,GPRS)、码分多址(英文全称:CodeDivision Multiple Access,英文缩写:CDMA)、宽带码分多址(英文全称:Wideband CodeDivision Multiple Access,英文缩写:WCDMA)、长期演进(英文全称:Long TermEvolution,英文缩写:LTE)、电子邮件、短消息服务(英文全称:Short Messaging Service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(英文全称:Liquid Crystal Display,英文缩写:LCD)、有机发光二极管(英文全称:Organic Light-Emitting Diode,英文缩写:OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图3中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1080还具有以下功能:
S1、将第一待加密数据补齐至目标数据长度,得到第二待加密数据P;
S2、将第二待加密数据划分为2m个数据段,得到P=P1||P2||…||P2m,其中,|Pj|表示Pj的长度m,Yj为此时的Pj所对应的值域,Yj={yj1,yj2,…,yjsj},Sj为Yj所含元素的个数(j=1,…,m);
S3、构建Feistel结构中的F函数PRF=trunc(3DESK(T),r),其中,T为输入数字连接形成的字符串,K为密钥,3DES为加密算法,r为将得到的结果截取前r位
S4、将第二待加密数据输入至Feistel结构中,使得L0=P1||…||P2m-1,R0=P2||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Li=Ri-1
得到第一输出结果Li=P1||…||P2m-1,Ri=P2||…||P2m,其中P1∈Y1,…,P2m∈Y2m,|Zj|=|Pj|;
S5、拼接截取的前r位第一输出结果,得到第二输出结果C=Lr||Rr
S6、根据各部分值域Yi生成落入值域范围的伪随机数r1,r2,…r2m,拼接形成满足目标格式的生成内容R=r1+r2+…+r2m
S7、根据第二输出结果C以及生成内容R,生成截断表内容S,其中,S=R-C。
本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种基于格式保留的信息去标识方法中的任意一种实施方式。
本申请实施例中,提供了一种基于格式保留的信息去标识方法、装置、设备及存储介质,通过设置截断表,消除Feistel结构中使用Cycle-Walking的不确定性,基于目标数据长度使得能够处理任意问题域的内容,丰富的保留格式加密的应用场景,解决了使用Cycle-Walking的不确定性问题,提高了保留格式加密算法效率,降低算法计算开销,扩大保留格式加密处理的问题域,使保留格式加密算法能够对任意类型的数据进行保留格式加密。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (8)

1.一种基于格式保留的信息去标识方法,其特征在于,包括:
S1、将第一待加密数据补齐至目标数据长度,得到第二待加密数据P;
S2、将所述第二待加密数据划分为2m个数据段,得到P=P1||P2||…||P2m,其中,|Pj|表示Pj的长度m,Yj为此时的Pj所对应的值域,Yj={yj1,yj2,…,yjsj},Sj为Yj所含元素的个数(j=1,…,m);
S3、构建Feistel结构中的F函数PRF=trunc(3DESK(T),r),其中,T为输入数字连接形成的字符串,K为密钥,3DES为加密算法,r为将得到的结果截取前r位
S4、将所述第二待加密数据输入至所述Feistel结构中,使得L0=P1||…||P2m-1,R0=P2||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Li=Ri-1
得到第一输出结果Li=P1||…||P2m-1,Ri=P2||…||P2m,其中P1∈Y1,…,P2m∈Y2m,|Zj|=|Pj|;
S5、拼接截取的前r位所述第一输出结果,得到第二输出结果C=Lr||Rr
S6、根据各部分值域Yi生成落入所述值域范围的伪随机数r1,r2,…r2m,拼接形成满足目标格式的生成内容R=r1+r2+…+r2m
S7、根据所述第二输出结果C以及所述生成内容R,生成截断表内容S,其中,S=R-C。
2.根据权利要求1所述的基于格式保留的信息去标识方法,其特征在于,还包括:
根据所述截断表内容S以及所述生成内容R得到所述第二输出结果R-S=C=Lr||Rr,Yj为此时的Pj所对应的值域,划分成m个数据段,P1∈Y1,…,Pm∈Ym
将所述第二输出结果C=Lr||Rr输入至所述Feistel结构中,使得Lr=P1||…||P2m-1,Rr=P2||P4||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Lr-i=Rr-i+1
得到第三输出结果Lr-i=P1||…||Pm,Rr-i=Pm+1||…||P2m,其中P1∈Y1,P2∈Y2,…,P2m∈Y2m
根据所述第三输出结果得到所述第二待加密数据P=L0||R0
删除所述第二待加密数据中超出所述目标数据长度位数的数据,得到所述第一待加密数据。
3.根据权利要求2所述的基于格式保留的信息去标识方法,其特征在于,还包括:
通过Python标准库函数随机生成初始化密钥;
基于所述初始化密钥采用左循环移位的子密钥生成算法,得到轮次数;
若所述轮次数与所述第一待加密数据的位数一致,则校验成功。
4.一种基于格式保留的信息去标识装置,其特征在于,包括:
补齐单元,用于将第一待加密数据补齐至目标数据长度,得到第二待加密数据P;
第一处理单元,用于将所述第二待加密数据划分为2m个数据段,得到P=P1||P2||…||P2m,其中,|Pj|表示Pj的长度m,Yj为此时的Pj所对应的值域,Yj={yj1,yj2,…,yjsj},Sj为Yj所含元素的个数(j=1,…,m);
构建单元,用于构建Feistel结构中的F函数PRF=trunc(3DESK(T),r),其中,T为输入数字连接形成的字符串,K为密钥,3DES为加密算法,r为将得到的结果截取前r位
第二处理单元,用于将所述第二待加密数据输入至所述Feistel结构中,使得L0=P1||…||P2m-1,R0=P2||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Li=Ri-1
得到第一输出结果Li=P1||…||P2m-1,Ri=P2||…||P2m,其中P1∈Y1,…,P2m∈Y2m,|Zj|=|Pj|;
截取单元,用于拼接截取的前r位所述第一输出结果,得到第二输出结果C=Lr||Rr
第一生成单元,用于根据各部分值域Yi生成落入所述值域范围的伪随机数r1,r2,…r2m,拼接形成满足目标格式的生成内容R=r1+r2+…+r2m
第二生成单元,用于根据所述第二输出结果C以及所述生成内容R,生成截断表内容S,其中,S=R-C。
5.根据权利要求4所述的基于格式保留的信息去标识装置,其特征在于,还包括:
第三处理单元,用于根据所述截断表内容S以及所述生成内容R得到所述第二输出结果R-S=C=Lr||Rr,Yj为此时的Pj所对应的值域,划分成m个数据段,P1∈Y1,…,Pm∈Ym
第四处理单元,用于将所述第二输出结果C=Lr||Rr输入至所述Feistel结构中,使得Lr=P1||…||P2m-1,Rr=P2||P4||…||P2m,进行r轮运算,其中,第i(i=1,…,r)轮的运算过程为:
Lr-i=Rr-i+1
得到第三输出结果Lr-i=P1||…||Pm,Rr-i=Pm+1||…||P2m,其中P1∈Y1,P2∈Y2,…,P2m∈Y2m
第三生成单元,用于根据所述第三输出结果得到所述第二待加密数据P=L0||R0
删除单元,用于删除所述第二待加密数据中超出所述目标数据长度位数的数据,得到所述第一待加密数据。
6.根据权利要求5所述的基于格式保留的信息去标识装置,其特征在于,还包括:
密钥初始化单元,用于通过Python标准库函数随机生成初始化密钥;
计算单元,用于基于所述初始化密钥采用左循环移位的子密钥生成算法,得到轮次数;
校验单元,用于若所述轮次数与所述第一待加密数据的位数一致,则校验成功。
7.一种基于格式保留的信息去标识设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-3任一项所述的基于格式保留的信息去标识方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-3任一项所述的基于格式保留的信息去标识方法。
CN202311487838.3A 2023-11-09 2023-11-09 基于格式保留的信息去标识方法、装置、设备及存储介质 Pending CN117540415A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311487838.3A CN117540415A (zh) 2023-11-09 2023-11-09 基于格式保留的信息去标识方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311487838.3A CN117540415A (zh) 2023-11-09 2023-11-09 基于格式保留的信息去标识方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117540415A true CN117540415A (zh) 2024-02-09

Family

ID=89793096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311487838.3A Pending CN117540415A (zh) 2023-11-09 2023-11-09 基于格式保留的信息去标识方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117540415A (zh)

Similar Documents

Publication Publication Date Title
CN109472166B (zh) 一种电子签章方法、装置、设备及介质
CN111475841B (zh) 一种访问控制的方法、相关装置、设备、系统及存储介质
CN106850220B (zh) 数据加密方法、数据解密方法及装置
CN111600710B (zh) 密钥存储方法、装置、终端、服务器及可读介质
CN108769027B (zh) 安全通信方法、装置、移动终端和存储介质
CN110417543B (zh) 一种数据加密方法、装置和存储介质
CN108011879B (zh) 文件加密、解密的方法、装置、设备和存储介质
CN111475832B (zh) 一种数据管理的方法以及相关装置
CN111181909B (zh) 一种身份信息的获取方法及相关装置
CN106599698B (zh) 一种加密图片、解密图片的方法和装置
CN116541865A (zh) 基于数据安全的密码输入方法、装置、设备及存储介质
WO2019148397A1 (zh) 分解敏感数据存储在不同应用环境中
CN115146285A (zh) 一种文件加密、解密方法及装置
CN107592409A (zh) 应用程序控制方法及装置
CN114758388A (zh) 一种人脸识别方法、相关装置及存储介质
CN104639394B (zh) 客户端使用人数的统计方法、装置和系统
CN111600867B (zh) 一种数据加密方法和相关设备
CN108028754A (zh) 加密、解密方法及装置
CN115270163B (zh) 数据处理方法、相关装置及存储介质
CN114553612B (zh) 数据加密、解密方法、装置、存储介质及电子设备
CN116010991A (zh) 数据加密方法、数据解密方法、电子设备及可读存储介质
CN117540415A (zh) 基于格式保留的信息去标识方法、装置、设备及存储介质
CN110190947A (zh) 信息加密、解密方法、终端及计算机可读存储介质
CN115276966A (zh) 一种数据加密方法、装置、电子设备及存储介质
CN115589286A (zh) 一种数据加解密方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination