CN111008399A - 姓名数据脱敏装置、方法及可读存储介质 - Google Patents

姓名数据脱敏装置、方法及可读存储介质 Download PDF

Info

Publication number
CN111008399A
CN111008399A CN201911199828.3A CN201911199828A CN111008399A CN 111008399 A CN111008399 A CN 111008399A CN 201911199828 A CN201911199828 A CN 201911199828A CN 111008399 A CN111008399 A CN 111008399A
Authority
CN
China
Prior art keywords
name
surname
preset
mapping table
word
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.)
Granted
Application number
CN201911199828.3A
Other languages
English (en)
Other versions
CN111008399B (zh
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.)
Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Original Assignee
Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
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 Zhuo Erzhi Lian Wuhan Research Institute Co Ltd filed Critical Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Priority to CN201911199828.3A priority Critical patent/CN111008399B/zh
Publication of CN111008399A publication Critical patent/CN111008399A/zh
Application granted granted Critical
Publication of CN111008399B publication Critical patent/CN111008399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种姓名数据脱敏方法、装置及计算机可读存储介质,所述方法包括:将待脱敏姓名分解为姓氏部分及名字部分;查找预设姓氏库映射表得到与姓氏部分对应的数值及查找预设名字库映射表得到与名字部分对应的数值;根据预设密钥及待脱敏姓名的长度生成迭代轮次N,其中预设密钥为生成迭代轮次N所使用的随机数生成器的种子;分别对姓氏部分对应的数值及名字部分对应的数值进行N次加密得到姓氏加密值及名字加密值;查找预设姓氏库映射表得到与姓氏加密值对应的姓氏词,及查找预设名字库映射表得到与名字加密值对应的名字词;及基于查找得到的姓氏词及名字词得到与待脱敏姓名对应的加密姓名。本发明可对脱敏之后的数据进行还原,且密文破解难度高。

Description

姓名数据脱敏装置、方法及可读存储介质
技术领域
本发明涉及信息安全技术领域,尤其涉及一种姓名数据脱敏装置、方法及计算机可读存储介质。
背景技术
在跨部门信息共享、信息发布等应用场景中,常常需要将客户数据交付给第三方机构、不可信部门、社会公众等,数据交付过程中客户隐私的保护至关重要。姓名是一种具有代表性的用户隐私信息,通常需要进行数据脱敏处理。现有的数据脱敏方法一般是采用基于格式保留的数据脱敏方法,但采用该种脱敏方式在脱敏之后数据无法还原,且相同的明文加密后得到的密文也相同,增加了破解风险。
发明内容
有鉴于此,有必要提供一种姓名数据脱敏装置、方法及计算机可读存储介质,脱敏之后的数据可还原,且密文破解难度高。
本发明一实施方式提供一种姓名数据脱敏方法,所述方法包括:
基于预设分解规则将待脱敏姓名分解为姓氏部分及名字部分;
判断所述姓氏部分及所述名字部分是否包含有两个或两个以上的词;
若所述姓氏部分和/或所述名字部分包含有两个或两个以上的词,则对所述姓氏部分和/或所述名字部分继续进行分解,直至将所述姓氏部分和/或所述名字部分分解至单个词;
查找预设姓氏库映射表得到与每一单姓氏词对应的数值,及查找预设名字库映射表得到与每一单名字词对应的数值;
根据预设密钥及所述待脱敏姓名的长度生成迭代轮次N,其中所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子;
对每一所述单姓氏词对应的数值进行N次加密得到姓氏加密值,及对每一所述单名字词对应的数值进行N次加密得到名字加密值;
查找所述预设姓氏库映射表得到与每一所述姓氏加密值对应的姓氏词,及查找所述预设名字库映射表得到与每一所述名字加密值对应的名字词;及
基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。
优选地,所述方法还包括:
若查找所述预设姓氏库映射表未得到与某一单姓氏词对应的数值,则根据预设姓氏映射规则建立与未在所述姓氏库映射表中的单姓氏词对应的姓氏映射记录,并将所述姓氏映射记录添加至所述姓氏库映射表中;及
若查找所述预设名字库映射表未得到与某一单名字词对应的数值,则根据预设名字映射规则建立与未在所述名字库映射表中的单名字词对应的名字映射记录,并将所述名字映射记录添加至所述名字库映射表中。
优选地,所述查找预设姓氏库映射表得到与每一单姓氏词对应的数值之前,还包括:
判断分解得到的每一所述单姓氏词是否在所述姓氏库映射表中;
若分解得到的某一单姓氏词不在所述姓氏库映射表中,则根据预设姓氏映射规则建立与未在所述姓氏库映射表中的单姓氏词对应的姓氏映射记录,并将所述姓氏映射记录添加至所述姓氏库映射表中;
判断分解得到的每一所述单名字词是否在所述名字库映射表中;及
若分解得到的某一单名字词不在所述名字库映射表中,则根据预设名字映射规则建立与未在所述名字库映射表中的单名字词对应的名字映射记录,并将所述名字映射记录添加至所述名字库映射表中。
优选地,所述迭代轮次N通过以下算式计算得到:
Figure BDA0002295587850000031
其中,l为所述待脱敏姓名的长度,Ω为加密轮次空间,Gen为所述随机数生成器,seed为所述预设密钥。
优选地,所述预设姓氏库映射表包括多个单姓氏词,每一所述单姓氏词一一对应一唯一的数值,所述对每一所述单姓氏词对应的数值进行N次加密得到姓氏加密值,包括:
对所述预设姓氏库映射表进行初始化,得到由每一所述单姓氏词的数值构成的姓氏库数值集;
利用预设分组加密算法对所述姓氏库数值集中的每一元素进行加密,得到由每一加密元素构成的第一元组;
依据每一所述加密元素的大小对所述第一元组中的每一所述加密元素进行排序;
基于每一所述加密元素与所述姓氏库数值集的每一元素的对应关系,将经过排序处理的第一元组转换得到第二元组;及
从所述第二元组中提取下标为所述单姓氏词对应的数值的元素,并将提取到的元素作为下一次迭代提取的下标值,直至将第N次提取得到的元素作为所述单姓氏词对应的数值的姓氏加密值。
优选地,所述预设名字库映射表包括多个单名字词,每一所述单名字词一一对应一唯一的数值,所述对每一所述单名字词对应的数值进行N次加密得到名字加密值,包括:
对所述预设名字库映射表进行初始化,得到由每一所述单名字词的数值构成的名字库数值集;
利用预设分组加密算法对所述名字库数值集中的每一元素进行加密,得到由每一加密元素构成的第三元组;
依据每一所述加密元素的大小对所述第三元组中的每一所述加密元素进行排序;
基于每一所述加密元素与所述名字库数值集的每一元素的对应关系,将经过排序处理的第三元组转换得到第四元组;及
从所述第四元组中提取下标为所述单名字词对应的数值的元素,并将提取到的元素作为下一次迭代提取的下标值,直至将第N次提取得到的元素作为所述单名字词对应的数值的名字加密值。
优选地,所述方法还包括:
基于所述预设分解规则将所述加密姓名分解为加密姓氏部分及加密名字部分;
判断所述加密姓氏部分及所述加密名字部分是否包含有两个或两个以上的词;
若所述加密姓氏部分和/或所述加密名字部分包含有两个或两个以上的词,则对所述加密姓氏部分和/或所述加密名字部分继续进行分解,直至将所述加密姓氏部分和/或所述加密名字部分分解至单个词;
查找所述预设姓氏库映射表得到与每一加密单姓氏词对应的数值,及查找所述预设名字库映射表得到与每一加密单名字词对应的数值;
对每一所述加密单姓氏词对应的数值进行N次解密得到姓氏解密值,及对每一所述加密单名字词对应的数值进行N次解密得到名字解密值;
查找所述预设姓氏库映射表得到与每一所述姓氏解密值对应的姓氏词,及查找所述预设名字库映射表得到与每一所述名字解密值对应的名字词;及
基于查找得到的姓氏词及名字词得到与所述加密姓名对应的待脱敏姓名。
本发明一实施方式提供一种姓名数据脫敏方法,所述方法包括:
基于预设分解规则将待脱敏姓名分解为姓氏部分及名字部分;
查找预设姓氏库映射表得到与所述姓氏部分对应的数值,及查找预设名字库映射表得到与所述名字部分对应的数值;
根据预设密钥及所述待脱敏姓名的长度生成迭代轮次N,其中所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子;
对所述姓氏部分对应的数值进行N次加密得到姓氏加密值,及对所述名字部分对应的数值进行N次加密得到名字加密值;
查找所述预设姓氏库映射表得到与所述姓氏加密值对应的姓氏词,及查找所述预设名字库映射表得到与所述名字加密值对应的名字词;及
基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。
本发明一实施方式提供一种姓名数据脫敏装置,所述装置包括处理器及存储器,所述存储器上存储有若干计算机程序,所述处理器用于执行存储器中存储的计算机程序时实现上述姓名数据脫敏方法的步骤。
本发明一实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,多条所述指令可被一个或者多个处理器执行,以实现上述姓名数据脫敏方法的步骤。
与现有技术相比,上述姓名数据脱敏装置、方法及计算机可读存储介质,以加密方所持有的密钥作为生成迭代轮次的随机种子,可以调节加解密的轮次数,减小了密文与明文的相关性,通过调节姓氏加解密的轮次数使相同明文加密后的结果呈现出差异化,可增加密文的迷惑性和破解难度。
附图说明
图1是本发明一实施方式的姓名数据脱敏装置的功能模块图。
图2是本发明一实施方式的姓名数据脱敏程序的功能模块图。
图3是本发明另一实施方式的姓名数据脱敏程序的功能模块图。
图4是本发明一实施方式的姓名数据脱敏方法的流程图。
图5是本发明另一实施方式的姓名数据脱敏方法的流程图。
主要元件符号说明
存储器 10
处理器 20
姓名数据脱敏程序 30
分解模块 101
判断模块 102
查找模块 103
添加模块 104
第一生成模块 105
加密模块 106
第二生成模块 107
解密模块 108
姓名数据脱敏装置 100
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
请参阅图1,为本发明姓名数据脱敏装置较佳实施例的示意图。
姓名数据脱敏装置100可以包括存储器10、处理器20以及存储在所述存储器10中并可在所述处理器20上运行的姓名数据脱敏程序30。所述处理器20执行所述姓名数据脱敏程序30时实现姓名数据脱敏方法实施例中的步骤,例如图4所示的步骤S400~S414,或图5所示的步骤S500~S510。或者,所述处理器20执行所述姓名数据脱敏程序30 时实现图2中各模块的功能,例如模块101~108,或者实现图3中各模块的功能,例如模块101,103~108。
所述姓名数据脱敏程序30可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器10中,并由所述处理器20执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述姓名数据脱敏程序30 在所述姓名数据脱敏装置100中的执行过程。例如,所述姓名数据脱敏程序30可以被分割成图2中的分解模块101、判断模块102、查找模块103、添加模块104、第一生成模块105、加密模块106、第二生成模块107及解密模块108,或者被分割成图3中的分解模块101、查找模块103、添加模块104、第一生成模块105、加密模块106、第二生成模块107及解密模块108。各模块具体功能参见下图2、图3中各模块的功能。
本领域技术人员可以理解,所述示意图仅是姓名数据脱敏装置100 的示例,并不构成对姓名数据脱敏装置100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述姓名数据脱敏装置100还可以包括通信模块、显示模块、总线等。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器20也可以是任何常规的处理器等,所述处理器20可以利用各种接口和总线连接姓名数据脱敏装置 100的各个部分。
所述存储器10可用于存储所述姓名数据脱敏程序30和/或模块,所述处理器20通过运行或执行存储在所述存储器10内的计算机程序和/或模块,以及调用存储在存储器10内的数据,实现所述姓名数据脱敏装置100的各种功能。所述存储器10可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
图2为本发明姓名数据脱敏程序一较佳实施例的功能模块图。
参阅图2所示,姓名数据脱敏程序30可以包括分解模块101、判断模块102、查找模块103、添加模块104、第一生成模块105、加密模块106、第二生成模块107及解密模块108。在一实施方式中,上述模块可以为存储于所述存储器10中且可被所述处理器20调用执行的可程序化软件指令。可以理解的是,在其他实施方式中,上述模块也可为固化于所述处理器20中的程序指令或固件(firmware)。
分解模块101用于基于预设分解规则将待脱敏姓名分解为姓氏部分及名字部分。
在一实施方式中,所述待脱敏姓名可以是中文姓名,所述待脱敏姓名的来源在此不作限定。所述预设分解规则可以包括一个姓名库或姓氏库,分解模块可以基于姓名库或姓氏库来将待脱敏姓名分解为姓氏部分及名字部分。所述预设分解规则还可以包括当确定某一部分为姓氏部分/名字部分,则其他部分默认被划分为名字部分/姓氏部分。比如,分解模块101通过姓氏库来确定待脱敏姓名的姓氏部分,而其他部分则被认定为名字部分,进而可以将待脱敏姓名分解为姓氏部分及名字部分。在本发明的其他实施方式中,所述待脱敏姓名可以是其他语言类型的姓名,比如英文姓名。
举例而言,所述待脱敏姓名为“X1X2X3X4”,姓氏库包括姓氏“X1X2”,则分解模块101可以通过姓氏库可以确定该待脱敏姓名的姓氏部分为“X1X2”,名字部分则为“X3X4”。所述待脱敏姓名为“X5X6”,姓氏库包括姓氏“X5”,则分解模块101可以通过姓氏库可以确定该待脱敏姓名的姓氏部分为“X5”,名字部分则为“X6”。
判断模块102用于判断所述姓氏部分及所述名字部分是否包含有两个或两个以上的词。
在一实施方式中,当分解得到姓氏部分及名字部分后,判断模块 102可以判断所述姓氏部分及所述名字部分是否包含有两个或两个以上的词。具体地,判断模块102可以通过分别统计所述姓氏部分、所述名字部分的字数,再判断所述姓氏部分及所述名字部分是否包含有两个或两个以上的词。
当所述姓氏部分和/或所述名字部分包含有两个或两个以上的词时,分解模块101还用于对所述姓氏部分和/或所述名字部分继续进行分解,直至将所述姓氏部分和/或所述名字部分分解至单个词。举例而言,若分解到的姓氏部分为“X1X2”,该姓氏部分包含2个词,分解模块101 对姓氏部分继续进行分解,得到单个词“X1”与“X2”;若分解到的姓氏部分为“X5”,由于该姓氏部分为单个词,因此分解模块101无需对该姓氏部分继续进行分解;若分解到的名字部分为“X3X4”,该名字部分包含2个词,分解模块101对名字部分进行继续分解,得到单个词“X3”与“X4”。
查找模块103用于查找预设姓氏库映射表得到与每一单姓氏词对应的数值,及查找预设名字库映射表得到与每一单名字词对应的数值。
在一实施方式中,为了方便后续进行数值运算,所述数值优选为整数值。所述预设姓氏库映射表可以包括多个单姓氏词,每一所述单姓氏词一一对应一唯一的数值,即每一所述单姓氏词对应的数值无重复数值,比如预设姓氏库映射表包括335个单姓氏词,该335个单姓氏词分别对应数值:0,1,2,3,…,334。所述预设名字库映射表可以包括多个单名字词,每一所述单名字词一一对应一唯一的数值,即每一所述单名字词对应的数值无重复数值,比如预设名字库映射表包括900 个单名字词,该900个单名字词分别对应数值:0,1,2,3,…,899。
在一实施方式中,分解模块101可以将所述姓氏部分分解得到一个或一个以上的单姓氏词,将所述名字部分分解得到一个或一个以上的单名字词。查找模块103可以查找所述预设姓氏库映射表得到与每一单姓氏词对应的数值,及查找预设名字库映射表得到与每一单名字词对应的数值。举例而言,在所述预设姓氏库映射表中,单姓氏词“何”对应的数值为“100”,若对待脱敏姓名分解得到单姓氏词“何”,则查找模块103可以查找所述预设姓氏库映射表得到单姓氏词“何”对应的数值为“100”。在所述预设名字库映射表中,单名字词“林”对应的数值为“50”,单名字词“国”对应的数值为“365”,若对待脱敏姓名分解得到两个单名字词“林”及“国”,则查找模块103可以查找所述预设名字库映射表得到单名字词“林”对应的数值为“50”,单名字词“国”对应的数值为“365”。
在一实施方式中,由于所述预设姓氏库映射表和/或所述预设名字库映射表预先建立的局限性,可能无法包含所有的姓氏词及名字词。在进行单姓氏词查找时,若查找模块103查找所述预设姓氏库映射表未得到与某一单姓氏词对应的数值,则添加模块104可以根据预设姓氏映射规则建立与未在所述姓氏库映射表中的单姓氏词对应的姓氏映射记录,并将所述姓氏映射记录添加至所述姓氏库映射表中。所述预设姓氏映射规则可以根据实际使用需求进行设定,比如按照预设姓氏库映射表中的最后一条姓氏映射记录的数值进行设定。举例而言,所述预设姓氏库映射表包括335个单姓氏词,该335个单姓氏词分别对应数值:0,1,2,3,…,334,最后一条姓氏映射记录为{“单”,334},假设查找模块103查找所述预设姓氏库映射表未得到与单姓氏词“舒”对应的数值,则添加模块104可以建立一条姓氏映射记录{“舒”,335},并将{“舒”,335}添加至所述姓氏库映射表中,进而更新后的所述姓氏库映射表包括了336个单姓氏词。
在进行单名字词查找时,若查找模块103查找所述预设名字库映射表未得到与某一单名字词对应的数值,则添加模块104可以根据预设名字映射规则建立与未在所述名字库映射表中的单名字词对应的名字映射记录,并将所述名字映射记录添加至所述名字库映射表中。所述预设名字映射规则同样可以根据实际使用需求进行设定,比如按照预设名字库映射表中的最后一条名字映射记录的数值大小顺序进行设定。举例而言,预设名字库映射表包括900个单名字词,该900个单名字词分别对应数值:0,1,2,3,…,899,最后一条名字映射记录为 {“雄”,899},假设查找模块103查找所述预设名字库映射表未得到与单名字词“议”对应的数值,则添加模块104可以建立一条名字映射记录{“议”,900},并将{“议”,900}添加至所述名字库映射表中,进而更新后的所述名字库映射表包括了901个单名字词。
在一实施方式中,在进行单姓氏词查找前,还可以通过判断模块 102来判断分解得到的每一所述单姓氏词是否在所述姓氏库映射表中;若判断模块102判定分解得到的某一单姓氏词不在所述姓氏库映射表中,则添加模块104可以根据预设姓氏映射规则建立与未在所述姓氏库映射表中的单姓氏词对应的姓氏映射记录,并将所述姓氏映射记录添加至所述姓氏库映射表中。在进行单名字词查找前,还可以通过判断模块102来判断分解得到的每一所述单名字词是否在所述名字库映射表中;若判断模块102判定分解得到的某一单名字词不在所述名字库映射表中,则添加模块104可以根据预设名字映射规则建立与未在所述名字库映射表中的单名字词对应的名字映射记录,并将所述名字映射记录添加至所述名字库映射表中。
第一生成模块105用于根据预设密钥及所述待脱敏姓名的长度生成迭代轮次N,其中所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子。
在一实施方式中,所述预设密钥可以是当前脱敏方所拥有的密钥,不为公众所知。比如所述预设密钥是一个6-10位的数字,也可以是其他位数的数字,在此不作限定。第一生成模块105在生成所述迭代轮次N时,将所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子,进而即使对于相同密钥和姓名长度,每次随机数生成器运行1次,根据随机数生成的原理,迭代轮次N均会不同,实现通过调节姓名加解密的轮次数使得相同明文加密后的结果呈现出差异化,增强了密文的迷惑性和破解难度,减小密文与明文的相关性。
在一实施方式中,所述迭代轮次N可以通过以下算式计算得到:
Figure BDA0002295587850000121
其中,l为所述待脱敏姓名的长度,Ω为加密轮次空间,Gen为所述随机数生成器,seed为所述预设密钥K(以预设密钥K作为种子),Ω的大小可以根据实际需求进行设定,一般可以设定在10~50之间。在本发明的其他实施方式中,第一生成模块105还可以直接根据预设密钥来生成迭代轮次N,其中所述预设密钥同样为生成所述迭代轮次N 所使用的随机数生成器的种子。
加密模块106用于对每一所述单姓氏词对应的数值进行N次加密得到姓氏加密值,及对每一所述单名字词对应的数值进行N次加密得到名字加密值。
在一实施方式中,当计算得到迭代轮次N时,加密模块106可以对分解得到的每一所述单姓氏词对应的数值进行N次加密得到姓氏加密值,及对每一所述单名字词对应的数值进行N次加密得到名字加密值。
举例而言,所述预设姓氏库映射表包括n个单姓氏词,该n个单姓氏词分别对应数值:0,1,2,3,…,n-1,通过查找所述预设姓氏库映射表得到某一单姓氏词对应的数值为i,加密模块106对数值i进行N次加密得到姓氏加密值j,具体加密过程可以为:第一步,对所述预设姓氏库映射表进行初始化,得到由每一所述单姓氏词的数值构成的姓氏库数值集M,M={0,1,2,…,n-1};第二步,利用预设分组加密算法(比如AES加密算法、SM4加密算法或其他分组加密算法)对所述姓氏库数值集中的每一元素进行加密,得到由每一加密元素构成的第一元组A, A={E(0),E(1),E(2),…,E(n-1)};第三步,依据每一所述加密元素的大小对所述第一元组中的每一所述加密元素进行排序,可以是从小到大或从大到小进行排序,再基于每一所述加密元素与所述姓氏库数值集的每一元素的对应关系,将经过排序处理的第一元组转换得到第二元组B,B={r0,r1,r2,rn-1},比如经过排序处理的第一元组 A={E(6),E(16),E(2),…,E(0)},则r0对应的数值为“6”,r1对应的数值为“16”,r2对应的数值为“2”,rn-1对应的数值为“0”;第四步,从所述第二元组B中提取下标为所述单姓氏词对应的数值i的元素ri,完成一次迭代加密;第五步,重复第四步,将上一次提取到的元素作为下一次迭代提取的下标值,直至完成N次迭代加密,并将第N次提取得到的元素作为所述单姓氏词对应的数值i的姓氏加密值j。
举例而言,姓氏库数值集M={0,1,2,3,4,5,6,7,8,9},对所述姓氏库数值集M中的每一元素进行加密,得到由每一加密元素构成的第一元组A,A={E(0),E(1),E(2),E(3),E(4),E(5),E(6),E(7),E(8),E(9)},依据第一元组A中每一加密元素的大小从小到大排序得到排序处理的第一元组A={E(2),E(8),E(3),E(9),E(7),E(5),E(0),E(1),E(4),E(6)},则第二元组B={r0=2,r1=8,r2=3,r3=9,r4=7,r5=5,r6=0,r7=1),r8=4,r9=6},假设迭代轮次N=3,某一单姓氏词对应的数值为i=2,则第一轮加密得到r2=3,第二轮加密得到r3=9,第三轮加密得到r9=6,即某一单姓氏词对应的数值i进行N(N=3)次加密得到姓氏加密值j=6。
可以理解的,若对姓氏加密值“6”进行解密,第一轮解密,即得知rm=6,则通过查第二元组B可以得到此轮m=9;第二轮解密,即得知rm=9,则通过查第二元组B得到此轮的m=3;第三轮解密,即得知 rm=3,则通过查第二元组B得到此轮的m=2,即经过三轮解密得到某一单姓氏词对应的数值i=2。
假设所述预设名字库映射表包括2n个单名字词,该2n个单名字词分别对应数值:0,1,2,3,…,2n-1,通过查找所述预设名字库映射表得到某一单名字词对应的数值为p,加密模块106对单名字词对应的数值p进行N次加密得到名字加密值的过程可以是:第一步,对所述预设名字库映射表进行初始化,得到由每一所述单名字词的数值构成的名字库数值集N,N={0,1,2,…,2n-1};第二步,利用所述预设分组加密算法对所述名字库数值集中的每一元素进行加密,得到由每一加密元素构成的第三元组C,C={E(0),E(1),E(2),…,E(2n-1)};第三步,依据每一所述加密元素的大小对所述第三元组C中的每一所述加密元素进行排序,再基于每一所述加密元素与所述名字库数值集的每一元素的对应关系,将经过排序处理的第三元组转换得到第四元组D,D={r0, r1,r2,r2n-1};第四步,从所述第四元组D中提取下标为所述单名字词对应的数值的元素,并将提取到的元素作为下一次迭代提取的下标值,直至将第N次提取得到的元素作为所述单名字词对应的数值p的名字加密值q。可以理解的,加密模块106对单名字词对应的数值p进行N 次加密的过程与对单姓氏词对应的数值i进行N次加密的过程基本相同,在此不再举例说明。
当加密得到每一所述单姓氏词对应的数值的姓氏加密值,及每一所述单名字词对应的数值的名字加密值时,查找模块103可以查找所述预设姓氏库映射表得到与每一所述姓氏加密值对应的姓氏词,及查找所述预设名字库映射表得到与每一所述名字加密值对应的名字词。
举例而言,待脱敏姓名为“林三”,经过分解得到单姓氏词为“林”,单名字词为“三”,假设通过查找模块103查找所述预设姓氏库映射表得到“林”对应的数值为“3”,查找所述预设名字库映射表得到“三”对应的数值为“50”;通过加密模块106对“林”对应的数值“3”进行N次加密得到姓氏加密值“10”,对“三”对应的数值“50”进行N次加密得到名字加密值“5”,假设所述预设姓氏库映射表的一姓氏映射记录为 {张,10},所述预设名字库映射表的一名字映射记录为{谦,5},则查找模块103可以查找得到姓氏加密值“10”对应的姓氏词为“张”,名字加密值“5”对应的名字词为“谦”。
第二生成模块107用于基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。
在一实施方式中,当查找模块103查找得到每一所述姓氏加密值对应的姓氏词及每一所述名字加密值对应的名字词时,第二生成模块 107可以基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。比如待脱敏姓名为“林三”,查找模块103可以查找得到姓氏加密值“10”对应的姓氏词为“张”,名字加密值“5”对应的名字词为“谦”,则第二生成模块107得到与所述待脱敏姓名对应的加密姓名为“张谦”。
在一实施方式中,可以通过所述预设密钥对加密姓名进行解密得到初始的待脱敏姓名,比如对加密姓名“张谦”进行解密得到待脱敏姓名“林三”。解密过程即为上述加密过程的逆过程,解密过程可以包括:分解模块101基于预设分解规则将所述加密姓名分解为加密姓氏部分及加密名字部分;判断模块102判断所述加密姓氏部分及所述加密名字部分是否包含有两个或两个以上的词;若所述加密姓氏部分和/或所述加密名字部分包含有两个或两个以上的词,则分解模块101对所述加密姓氏部分和/或所述加密名字部分继续进行分解,直至将所述加密姓氏部分和/或所述加密名字部分分解至单个词;查找模块103查找所述预设姓氏库映射表得到与每一加密单姓氏词对应的数值,及查找所述预设名字库映射表得到与每一加密单名字词对应的数值;解密模块 108对每一所述加密单姓氏词对应的数值进行N次解密得到姓氏解密值,及对每一所述加密单名字词对应的数值进行N次解密得到名字解密值;查找模块103查找所述预设姓氏库映射表得到与每一所述姓氏解密值对应的姓氏词,及查找所述预设名字库映射表得到与每一所述名字解密值对应的名字词;第二生成模块107基于查找得到的姓氏词及名字词得到与加密姓名对应的原始待脱敏姓名。
图3为本发明姓名数据脱敏程序另一较佳实施例的功能模块图。
参阅图3所示,与图2相比,姓名数据脱敏程序30省去了判断模块102。图3的姓名数据脱敏程序30包括分解模块101、查找模块103、添加模块104、第一生成模块105、加密模块106、第二生成模块107 及解密模块108。在一实施方式中,上述模块可以为存储于所述存储器 10中且可被所述处理器20调用执行的可程序化软件指令。可以理解的是,在其他实施方式中,上述模块也可为固化于所述处理器20中的程序指令或固件(firmware)。
分解模块101用于基于预设分解规则将待脱敏姓名分解为姓氏部分及名字部分。
在一实施方式中,所述待脱敏姓名可以是中文姓名,所述待脱敏姓名的来源在此不作限定。所述预设分解规则可以包括一个姓名库或姓氏库,分解模块可以基于姓名库或姓氏库来将待脱敏姓名分解为姓氏部分及名字部分。所述预设分解规则还可以包括当确定某一部分为姓氏部分/名字部分,则其他部分默认被划分为名字部分/姓氏部分。比如,分解模块101通过姓氏库来确定待脱敏姓名的姓氏部分,而其他部分则被认定为名字部分,进而可以将待脱敏姓名分解为姓氏部分及名字部分。在本发明的其他实施方式中,所述待脱敏姓名可以是其他语言类型的姓名,比如英文姓名。
举例而言,所述待脱敏姓名为“X1X2X3X4”,姓氏库包括姓氏“X1X2”,则分解模块101可以通过姓氏库可以确定该待脱敏姓名的姓氏部分为“X1X2”,名字部分则为“X3X4”。所述待脱敏姓名为“X5X6”,姓氏库包括姓氏“X5”,则分解模块101可以通过姓氏库可以确定该待脱敏姓名的姓氏部分为“X5”,名字部分则为“X6”。
查找模块103用于查找预设姓氏库映射表得到与所述姓氏部分对应的数值,及查找预设名字库映射表得到与所述名字部分对应的数值。
在一实施方式中,为了方便后续进行数值运算,所述数值优选为整数值。所述预设姓氏库映射表可以包括多个姓氏词,每一所述姓氏词一一对应一唯一的数值,即每一所述姓氏词对应的数值无重复数值,比如预设姓氏库映射表包括335个姓氏词(可以是单姓氏词,双姓氏词等),该335个姓氏词分别对应数值:0,1,2,3,…,334。所述预设名字库映射表可以包括多个名字词(可以是单名字词,双名字词,三名字词等),每一所述名字词一一对应一唯一的数值,即每一所述名字词对应的数值无重复数值,比如预设名字库映射表包括900个名字词,该900个名字词分别对应数值:0,1,2,3,…,899。
举例而言,在所述预设姓氏库映射表中,姓氏词“何”对应的数值为“100”,若对待脱敏姓名分解得到姓氏词“何”,则查找模块103可以查找所述预设姓氏库映射表得到姓氏词“何”对应的数值为“100”;姓氏词“上官”对应的数值为“110”,若对待脱敏姓名分解得到姓氏词“上官”,则查找模块103可以查找所述预设姓氏库映射表得到姓氏词“上官”对应的数值为“110”。
在一实施方式中,由于所述预设姓氏库映射表和/或所述预设名字库映射表预先建立的局限性,可能无法包含所有的姓氏词及名字词。在进行姓氏词查找时,若查找模块103查找所述预设姓氏库映射表未得到与某一姓氏词对应的数值,则添加模块104可以根据预设姓氏映射规则建立与未在所述姓氏库映射表中的姓氏词对应的姓氏映射记录,并将所述姓氏映射记录添加至所述姓氏库映射表中。所述预设姓氏映射规则可以根据实际使用需求进行设定,比如按照预设姓氏库映射表中的最后一条姓氏映射记录的数值进行设定。举例而言,所述预设姓氏库映射表包括335个单姓氏词,该335个单姓氏词分别对应数值: 0,1,2,3,…,334,最后一条姓氏映射记录为{“单”,334},假设查找模块103查找所述预设姓氏库映射表未得到与姓氏词“舒”对应的数值,则添加模块104可以建立一条姓氏映射记录{“舒”,335},并将{“舒”, 335}添加至所述姓氏库映射表中,进而更新后的所述姓氏库映射表包括了336个姓氏词。
在进行名字词查找时,若查找模块103查找所述预设名字库映射表未得到与某一名字词对应的数值,则添加模块104可以根据预设名字映射规则建立与未在所述名字库映射表中的名字词对应的名字映射记录,并将所述名字映射记录添加至所述名字库映射表中。所述预设名字映射规则同样可以根据实际使用需求进行设定,比如按照预设名字库映射表中的最后一条名字映射记录的数值大小顺序进行设定。举例而言,预设名字库映射表包括900个名字词,该900个名字词分别对应数值:0,1,2,3,…,899,最后一条名字映射记录为{“雄”,899},假设查找模块103查找所述预设名字库映射表未得到与名字词“婉儿”对应的数值,则添加模块104可以建立一条名字映射记录{“婉儿”,900},并将{“婉儿”,900}添加至所述名字库映射表中,进而更新后的所述名字库映射表包括了901个名字词。
在一实施方式中,在进行姓氏词查找前,还可以通过判断模块102 来判断分解得到的姓氏部分是否在所述姓氏库映射表中;若判断模块 102判定分解得到的姓氏部分不在所述姓氏库映射表中,则添加模块 104可以根据预设姓氏映射规则建立与未在所述姓氏库映射表中的姓氏词对应的姓氏映射记录,并将所述姓氏映射记录添加至所述姓氏库映射表中。在进行名字词查找前,还可以通过判断模块102来判断分解得到的名字部分是否在所述名字库映射表中;若判断模块102判定分解得到的名字部分不在所述名字库映射表中,则添加模块104可以根据预设名字映射规则建立与未在所述名字库映射表中的名字词对应的名字映射记录,并将所述名字映射记录添加至所述名字库映射表中。
第一生成模块105用于根据预设密钥及所述待脱敏姓名的长度生成迭代轮次N,其中所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子。
在一实施方式中,所述预设密钥可以是当前脱敏方所拥有的密钥,不为公众所知。比如所述预设密钥是一个6-10位的数字,也可以是其他位数的数字,在此不作限定。第一生成模块105在生成所述迭代轮次N时,将所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子,进而即使对于相同密钥和姓名长度,每次随机数生成器运行1次,根据随机数生成的原理,迭代轮次N均会不同,实现通过调节姓名加解密的轮次数使得相同明文加密后的结果呈现出差异化,增强了密文的迷惑性和破解难度,减小密文与明文的相关性。
在一实施方式中,所述迭代轮次N可以通过以下算式计算得到:
Figure BDA0002295587850000191
其中,l为所述待脱敏姓名的长度,Ω为加密轮次空间,Gen为所述随机数生成器,seed为所述预设密钥K(以预设密钥K作为种子),Ω的大小可以根据实际需求进行设定,一般可以设定在10~50之间。在本发明的其他实施方式中,第一生成模块105还可以直接根据预设密钥来生成迭代轮次N,其中所述预设密钥同样为生成所述迭代轮次N 所使用的随机数生成器的种子。
加密模块106用于对所述姓氏部分对应的数值进行N次加密得到姓氏加密值,及对所述名字部分对应的数值进行N次加密得到名字加密值。
在一实施方式中,当计算得到迭代轮次N时,加密模块106可以对分解得到的姓氏部分对应的数值进行N次加密得到姓氏加密值,及对分解得到的名字部分对应的数值进行N次加密得到名字加密值。可以理解的,姓氏部分对应的数值与名字部分对应的数值的加密过程与上一实施例的加密过程基本相同,在此不再赘述。
当加密得到姓氏部分对应的数值的姓氏加密值,及名字部分对应的数值的名字加密值时,查找模块103可以查找所述预设姓氏库映射表得到与所述姓氏加密值对应的姓氏词,及查找所述预设名字库映射表得到与所述名字加密值对应的名字词。
第二生成模块107用于基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。
在一实施方式中,当查找模块103查找得到所述姓氏加密值对应的姓氏词及所述名字加密值对应的名字词时,第二生成模块107可以基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。比如待脱敏姓名为“林三”,查找模块103查找得到姓氏加密值“10”对应的姓氏词为“张”,名字加密值“5”对应的名字词为“谦”,则第二生成模块107得到与所述待脱敏姓名对应的加密姓名为“张谦”。
在一实施方式中,可以通过所述预设密钥对加密姓名进行解密得到初始的待脱敏姓名,比如对加密姓名“张谦”进行解密得到待脱敏姓名“林三”。解密过程即为上述加密过程的逆过程,其与上一实施例的解密过程基本相同,在此不再赘述。
图4为本发明一实施方式中姓名数据脱敏方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
步骤S400,基于预设分解规则将待脱敏姓名分解为姓氏部分及名字部分。
步骤S402,判断所述姓氏部分及所述名字部分是否包含有两个或两个以上的词。
步骤S404,若所述姓氏部分和/或所述名字部分包含有两个或两个以上的词,则对所述姓氏部分和/或所述名字部分继续进行分解,直至将所述姓氏部分和/或所述名字部分分解至单个词。若所述姓氏部分和所述名字部分均不包含有两个或两个以上的词,则跳转至步骤S406。
步骤S406,查找预设姓氏库映射表得到与每一单姓氏词对应的数值,及查找预设名字库映射表得到与每一单名字词对应的数值。
步骤S408,根据预设密钥及所述待脱敏姓名的长度生成迭代轮次 N,其中所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子。
步骤S410,对每一所述单姓氏词对应的数值进行N次加密得到姓氏加密值,及对每一所述单名字词对应的数值进行N次加密得到名字加密值。
步骤S412,查找所述预设姓氏库映射表得到与每一所述姓氏加密值对应的姓氏词,及查找所述预设名字库映射表得到与每一所述名字加密值对应的名字词。
步骤S414,基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。
图5为本发明另一实施方式中姓名数据脱敏方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
步骤S500,基于预设分解规则将待脱敏姓名分解为姓氏部分及名字部分。
步骤S502,查找预设姓氏库映射表得到与所述姓氏部分对应的数值,及查找预设名字库映射表得到与所述名字部分对应的数值。
步骤S504,根据预设密钥及所述待脱敏姓名的长度生成迭代轮次N,其中所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子。
步骤S506,对所述姓氏部分对应的数值进行N次加密得到姓氏加密值,及对所述名字部分对应的数值进行N次加密得到名字加密值。
步骤S508,查找所述预设姓氏库映射表得到与所述姓氏加密值对应的姓氏词,及查找所述预设名字库映射表得到与所述名字加密值对应的名字词。
步骤S510,基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。
上述姓名数据脱敏装置、方法及计算机可读存储介质,以加密方所持有的密钥作为生成迭代轮次的随机种子,可以调节加解密的轮次数,减小了密文与明文的相关性,通过调节姓氏加解密的轮次数使相同明文加密后的结果呈现出差异化,可增加密文的迷惑性和破解难度。
对本领域的技术人员来说,可以根据本发明的发明方案和发明构思结合生产的实际需要做出其他相应的改变或调整,而这些改变和调整都应属于本发明所公开的范围。

Claims (10)

1.一种姓名数据脫敏方法,其特征在于,所述方法包括:
基于预设分解规则将待脱敏姓名分解为姓氏部分及名字部分;
判断所述姓氏部分及所述名字部分是否包含有两个或两个以上的词;
若所述姓氏部分和/或所述名字部分包含有两个或两个以上的词,则对所述姓氏部分和/或所述名字部分继续进行分解,直至将所述姓氏部分和/或所述名字部分分解至单个词;
查找预设姓氏库映射表得到与每一单姓氏词对应的数值,及查找预设名字库映射表得到与每一单名字词对应的数值;
根据预设密钥及所述待脱敏姓名的长度生成迭代轮次N,其中所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子;
对每一所述单姓氏词对应的数值进行N次加密得到姓氏加密值,及对每一所述单名字词对应的数值进行N次加密得到名字加密值;
查找所述预设姓氏库映射表得到与每一所述姓氏加密值对应的姓氏词,及查找所述预设名字库映射表得到与每一所述名字加密值对应的名字词;及
基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若查找所述预设姓氏库映射表未得到与某一单姓氏词对应的数值,则根据预设姓氏映射规则建立与未在所述姓氏库映射表中的单姓氏词对应的姓氏映射记录,并将所述姓氏映射记录添加至所述姓氏库映射表中;及
若查找所述预设名字库映射表未得到与某一单名字词对应的数值,则根据预设名字映射规则建立与未在所述名字库映射表中的单名字词对应的名字映射记录,并将所述名字映射记录添加至所述名字库映射表中。
3.如权利要求1所述的方法,其特征在于,所述查找预设姓氏库映射表得到与每一单姓氏词对应的数值之前,还包括:
判断分解得到的每一所述单姓氏词是否在所述姓氏库映射表中;
若分解得到的某一单姓氏词不在所述姓氏库映射表中,则根据预设姓氏映射规则建立与未在所述姓氏库映射表中的单姓氏词对应的姓氏映射记录,并将所述姓氏映射记录添加至所述姓氏库映射表中;
判断分解得到的每一所述单名字词是否在所述名字库映射表中;及
若分解得到的某一单名字词不在所述名字库映射表中,则根据预设名字映射规则建立与未在所述名字库映射表中的单名字词对应的名字映射记录,并将所述名字映射记录添加至所述名字库映射表中。
4.如权利要求1所述的方法,其特征在于,所述迭代轮次N通过以下算式计算得到:
Figure FDA0002295587840000021
其中,l为所述待脱敏姓名的长度,Ω为加密轮次空间,Gen为所述随机数生成器,seed为所述预设密钥。
5.如权利要求1所述的方法,其特征在于,所述预设姓氏库映射表包括多个单姓氏词,每一所述单姓氏词一一对应一唯一的数值,所述对每一所述单姓氏词对应的数值进行N次加密得到姓氏加密值,包括:
对所述预设姓氏库映射表进行初始化,得到由每一所述单姓氏词的数值构成的姓氏库数值集;
利用预设分组加密算法对所述姓氏库数值集中的每一元素进行加密,得到由每一加密元素构成的第一元组;
依据每一所述加密元素的大小对所述第一元组中的每一所述加密元素进行排序;
基于每一所述加密元素与所述姓氏库数值集的每一元素的对应关系,将经过排序处理的第一元组转换得到第二元组;及
从所述第二元组中提取下标为所述单姓氏词对应的数值的元素,并将提取到的元素作为下一次迭代提取的下标值,直至将第N次提取得到的元素作为所述单姓氏词对应的数值的姓氏加密值。
6.如权利要求1所述的方法,其特征在于,所述预设名字库映射表包括多个单名字词,每一所述单名字词一一对应一唯一的数值,所述对每一所述单名字词对应的数值进行N次加密得到名字加密值,包括:
对所述预设名字库映射表进行初始化,得到由每一所述单名字词的数值构成的名字库数值集;
利用预设分组加密算法对所述名字库数值集中的每一元素进行加密,得到由每一加密元素构成的第三元组;
依据每一所述加密元素的大小对所述第三元组中的每一所述加密元素进行排序;
基于每一所述加密元素与所述名字库数值集的每一元素的对应关系,将经过排序处理的第三元组转换得到第四元组;及
从所述第四元组中提取下标为所述单名字词对应的数值的元素,并将提取到的元素作为下一次迭代提取的下标值,直至将第N次提取得到的元素作为所述单名字词对应的数值的名字加密值。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述预设分解规则将所述加密姓名分解为加密姓氏部分及加密名字部分;
判断所述加密姓氏部分及所述加密名字部分是否包含有两个或两个以上的词;
若所述加密姓氏部分和/或所述加密名字部分包含有两个或两个以上的词,则对所述加密姓氏部分和/或所述加密名字部分继续进行分解,直至将所述加密姓氏部分和/或所述加密名字部分分解至单个词;
查找所述预设姓氏库映射表得到与每一加密单姓氏词对应的数值,及查找所述预设名字库映射表得到与每一加密单名字词对应的数值;
对每一所述加密单姓氏词对应的数值进行N次解密得到姓氏解密值,及对每一所述加密单名字词对应的数值进行N次解密得到名字解密值;
查找所述预设姓氏库映射表得到与每一所述姓氏解密值对应的姓氏词,及查找所述预设名字库映射表得到与每一所述名字解密值对应的名字词;及
基于查找得到的姓氏词及名字词得到与所述加密姓名对应的待脱敏姓名。
8.一种姓名数据脫敏方法,其特征在于,所述方法包括:
基于预设分解规则将待脱敏姓名分解为姓氏部分及名字部分;
查找预设姓氏库映射表得到与所述姓氏部分对应的数值,及查找预设名字库映射表得到与所述名字部分对应的数值;
根据预设密钥及所述待脱敏姓名的长度生成迭代轮次N,其中所述预设密钥为生成所述迭代轮次N所使用的随机数生成器的种子;
对所述姓氏部分对应的数值进行N次加密得到姓氏加密值,及对所述名字部分对应的数值进行N次加密得到名字加密值;
查找所述预设姓氏库映射表得到与所述姓氏加密值对应的姓氏词,及查找所述预设名字库映射表得到与所述名字加密值对应的名字词;及
基于查找得到的姓氏词及名字词得到与所述待脱敏姓名对应的加密姓名。
9.一种姓名数据脫敏装置,所述装置包括处理器及存储器,所述存储器上存储有若干计算机程序,其特征在于,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-8任一项所述的姓名数据脫敏方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,多条所述指令可被一个或者多个处理器执行,以实现如权利要求1-8任一项所述的姓名数据脫敏方法的步骤。
CN201911199828.3A 2019-11-29 2019-11-29 姓名数据脱敏装置、方法及可读存储介质 Active CN111008399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911199828.3A CN111008399B (zh) 2019-11-29 2019-11-29 姓名数据脱敏装置、方法及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911199828.3A CN111008399B (zh) 2019-11-29 2019-11-29 姓名数据脱敏装置、方法及可读存储介质

Publications (2)

Publication Number Publication Date
CN111008399A true CN111008399A (zh) 2020-04-14
CN111008399B CN111008399B (zh) 2021-04-13

Family

ID=70112519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911199828.3A Active CN111008399B (zh) 2019-11-29 2019-11-29 姓名数据脱敏装置、方法及可读存储介质

Country Status (1)

Country Link
CN (1) CN111008399B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761565A (zh) * 2020-08-05 2021-12-07 北京京东振世信息技术有限公司 数据脱敏方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280356A (zh) * 2018-01-17 2018-07-13 吉浦斯信息咨询(深圳)有限公司 文件加解密方法、装置、处理终端及计算机可读存储介质
CN109768854A (zh) * 2019-03-29 2019-05-17 衡阳师范学院 一种轻量级分组密码算法Wheel的实现方法
CN109829328A (zh) * 2018-12-19 2019-05-31 上海晶赞融宣科技有限公司 数据脱敏、逆脱敏方法及装置、存储介质、终端
CN110472445A (zh) * 2019-07-02 2019-11-19 深圳市金泰克半导体有限公司 数据保护方法、装置、固态硬盘和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280356A (zh) * 2018-01-17 2018-07-13 吉浦斯信息咨询(深圳)有限公司 文件加解密方法、装置、处理终端及计算机可读存储介质
CN109829328A (zh) * 2018-12-19 2019-05-31 上海晶赞融宣科技有限公司 数据脱敏、逆脱敏方法及装置、存储介质、终端
CN109768854A (zh) * 2019-03-29 2019-05-17 衡阳师范学院 一种轻量级分组密码算法Wheel的实现方法
CN110472445A (zh) * 2019-07-02 2019-11-19 深圳市金泰克半导体有限公司 数据保护方法、装置、固态硬盘和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761565A (zh) * 2020-08-05 2021-12-07 北京京东振世信息技术有限公司 数据脱敏方法和装置
CN113761565B (zh) * 2020-08-05 2024-04-16 北京京东振世信息技术有限公司 数据脱敏方法和装置

Also Published As

Publication number Publication date
CN111008399B (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
US10489604B2 (en) Searchable encryption processing system and searchable encryption processing method
US11042664B2 (en) Efficient implementation for differential privacy using cryptographic functions
US20140233727A1 (en) Method for secure substring search
WO2019114122A1 (zh) 登录信息的加密方法、装置、电子设备及介质
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
JP2014126865A (ja) 暗号処理装置および方法
JP5835326B2 (ja) 暗号化装置、暗号文比較システム、暗号文比較方法、および暗号文比較プログラム
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
WO2024077948A1 (zh) 匿踪查询方法、装置和系统及存储介质
JP5762232B2 (ja) プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム
JP6477461B2 (ja) 順序保存暗号化システム、装置、方法およびプログラム
US11233629B2 (en) Registration apparatus, search operation apparatus, data management apparatus
WO2020192366A1 (zh) 一种基于动态白盒的数据处理方法、装置及设备
KR20170122458A (ko) 암호문의 크기가 감소되는 동형 암호화 방법
Zhang et al. Dynamic and Efficient Private Keyword Search over Inverted Index--Based Encrypted Data
JP6504405B2 (ja) 暗号文比較システム、暗号文比較方法、暗号化装置と暗号文比較装置およびそれらの制御方法と制御プログラム
JPWO2012157279A1 (ja) 順序保存暗号化システム、装置、方法及びプログラム
Kim et al. A privacy-preserving k-means clustering algorithm using secure comparison protocol and density-based center point selection
JPWO2016162941A1 (ja) 暗号システム及び鍵生成装置
CN115795514A (zh) 一种隐私信息检索方法、装置及系统
Shekhawat et al. Privacy-preserving techniques for big data analysis in cloud
CN111008399B (zh) 姓名数据脱敏装置、方法及可读存储介质
WO2022099893A1 (zh) 数据查询方法、装置、系统以及数据集处理方法
CN116170142B (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
GR01 Patent grant
GR01 Patent grant