CN111125736A - 基于隐私保护交集计算协议的致病基因检测方法 - Google Patents

基于隐私保护交集计算协议的致病基因检测方法 Download PDF

Info

Publication number
CN111125736A
CN111125736A CN201911353298.3A CN201911353298A CN111125736A CN 111125736 A CN111125736 A CN 111125736A CN 201911353298 A CN201911353298 A CN 201911353298A CN 111125736 A CN111125736 A CN 111125736A
Authority
CN
China
Prior art keywords
client
server
elements
hash
protocol
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
CN201911353298.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.)
Jinan University
University of Jinan
Original Assignee
Jinan 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 Jinan University filed Critical Jinan University
Priority to CN201911353298.3A priority Critical patent/CN111125736A/zh
Publication of CN111125736A publication Critical patent/CN111125736A/zh
Pending legal-status Critical Current

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/606Protecting data by securing the transmission between two devices or processes
    • 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
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/30Detection of binding sites or motifs
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Genetics & Genomics (AREA)
  • Biophysics (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于隐私保护交集计算协议的致病基因检测方法,首先采用布隆过滤器过滤掉不存在于服务器和客户端两方所持有集合的交集中的元素;然后通过简单哈希映射将服务器的元素映射到哈希桶,通过布谷鸟哈希映射将客户端的元素映射到二维哈希表;接着对每个桶中的元素执行N选一ROT扩展协议,将服务器生成的加密序列发送给客户端,将客户端的输出与服务器的加密序列进行交集计算,将经过过滤和哈希映射的客户端集合与计算结果进行比对,最终得出两方的交集元素且***露任意方除交集之外的信息。本发明能够保证基因检测的安全性,减少运行时间和通信开销。

Description

基于隐私保护交集计算协议的致病基因检测方法
技术领域
本发明涉及安全多方计算技术领域,特别涉及一种基于隐私保护交集计算协议的致病基因检测方法。
背景技术
随着现代医学的进步,人类全基因组测序技术变得越来越高效、精确且低价,获取个人的基因组数据越来越容易。由于包含个人的重要敏感信息,如遗传、疾病、亲属、身份等,基因组数据被广泛用作生物学系列测试,如遗传相容性测试、个性化医疗、疾病检测、亲子鉴定等。此外,现阶段关于基因数据使用环境尚不完善,基因测序市场混乱不堪,使得基因数据共享过程中的隐私安全存在极大的隐患。
在现有的基因测序研究中,Baldi等人[P.Baldi,R.Baronio,E.De Cristofaro,P.Gasti,and G.Tsudik,“Countering GATTACA:Efficient and secure testing offully-sequenced human genomes,”in Proceedings of the 18th ACM conference onComputer and communications security,2011 ACM,pp.691-702.]提出基于非对称加密的隐私集合交集计算(Private Set Intersection,PSI)方案进行遗传相容性测试、亲子鉴定、个性化医疗等领域的隐私保护工作,但基于公钥加密的设计使得执行该方案需要较长的运行时间。Shen等人[L.Shen,R.Baronio,X.Chen,and D.Wang,“Efficient and PrivateSet Intersection of Human Genomes,”in 2018 IEEE International Conference onBioinformatics and Biomedicine,2018 BIBM,pp.761-764.]提出基于权衡的哈希和N选一随机不经意传输(Random Oblivious Transfer,ROT)扩展协议的PSI方案进行亲子鉴定遗传测试,该方案主要基于对称加密操作而仅含少量公钥加密操作,其运行时间和通信开销相比基于公钥加密的方案大幅下降,但该方案会泄露部分哈希桶的索引,可能存在潜在的安全问题。因此,有必要研究出能够克服上述问题的新的基因检测方法。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于隐私保护交集计算协议的致病基因检测方法,此方法能够保证基因检测的安全性,减少运行时间和通信开销。
本发明的目的通过下述技术方案实现:一种基于隐私保护交集计算协议的致病基因检测方法,包括步骤:
S1、将持有致病基因组序列集合的检测机构作为服务器S,所持有的集合用X表示,集合大小用n1表示;将持有全基因组序列集合的被检测者作为客户端C,所持有的集合用Y表示,集合大小用n2表示;
服务器S对集合X中所有元素编码后采用若干个不同的哈希函数映射到一维位向量表中,产生布隆过滤器BX并发送给客户端C;客户端C对集合Y中所有元素编码进行相同的哈希映射,通过布隆过滤器BX过滤掉不存在于集合X和集合Y这两个集合交集中的元素,客户端C过滤后的集合用Y'表示,集合大小用n3表示;
S2、服务器S采用简单哈希的映射方式,使用e个随机均匀的哈希函数将集合X中每个元素映射到b个哈希桶中的e个位置上,而无视桶中是否已存在其他元素,即每个元素有e个位置;客户端C采用布谷鸟哈希的映射方式,使用相同的e个哈希函数将集合Y'中每个元素映射到含有b个哈希桶的二维哈希表中,每个元素在哈希表中仅有一个位置;
S3、映射完成之后,分别对每个桶中的元素执行m次N选一ROT扩展协议,执行完成后服务器S输出N个加密序列,客户端C输出N个加密序列中的一个加密序列;
S4、将服务器S生成的加密序列发送给客户端C,然后将客户端C的输出与服务器S的加密序列进行交集计算,从而获得集合X和集合Y'的交集的全部密文数据;将集合Y'中的元素采用与步骤S2中相同哈希映射方式进行映射并与密文数据进行比对,推得对应交集的明文元素;最终,服务器S输出为空,客户端C输出X∩Y'。
优选的,所述的全基因组序列集合存储在VCF文本中,该文本包含每条基因序列相对于公共参照序列所有的突变位点,将双方基因序列中的四种碱基分别编码为00、01、11、10,编码后的两方数据集合为规模不同的二进制序列集合。
优选的,所述的步骤S1中生成的布隆过滤器是一个位向量表示的数据结构,所有bit位均初始化为0,将元素通过若干哈希函数分别映射到位向量表中,并将对应bit位的0置为1;判断某元素是否存在集合中的决策如下:
(1)将该元素通过相同的哈希函数映射到位向量表中;
(2)若存在对应的bit位为0,则该元素一定不存在集合中;
(3)若所有对应的bit位均为1,则该元素可能存在集合中。
优选的,所述的布谷鸟哈希是采用e个哈希函数将每个元素映射到b个哈希桶中,每个元素只映射到b个桶中的一个位置上,具体的映射策略如下:
(1)若映射的e个位置全为无元素的空桶,则采用哈希函数在任选一个位置***;
(2)若e个位置有一个或多个为空桶,则采用哈希函数在任选一个空桶***;
(3)若e个位置全都存储了其他元素且存在未满4个元素的桶,则采用哈希函数在任选一个未满4个元素的桶***;
(4)若e个位置全都存储了4个元素,则任选一个桶踢出原来的某个元素,并通过对应的哈希函数***新元素,然后对被踢出的元素循环调用该算法,采用其他哈希函数***到新的位置,直到***成功。
优选的,在步骤S3中,当执行次数为i时,1≤i≤m,执行该次N选一ROT扩展协议的具体过程如下:
S31、服务器S向N选一ROT扩展协议接收方输入为空,客户端C向N选一ROT扩展协议接收方输入二维哈希表的每个桶中的元素r[i]∈{0,...,N-1}并作为N选一ROT扩展协议接收方的选择向量;
S32、执行κ次基础2选一OT协议,客户端C持有κ个随机密钥对
Figure BDA0002335222790000041
服务器S持有选择向量s←{0,1}κ并输出
Figure BDA0002335222790000042
其中j表示执行基础2选一OT协议的次序,1≤j≤κ,s[j]表示第j次执行基础2选一OT协议时服务器S的选择向量,κ表示对称密码机制的安全参数,
Figure BDA0002335222790000043
Figure BDA0002335222790000044
分别表示第j次执行基础2选一OT协议时客户端C持有的随机密钥对之一;
S33、客户端C计算两个m×κ矩阵T、U,矩阵T的第j列元素
Figure BDA0002335222790000045
其中
Figure BDA00023352227900000418
表示伪随机生成器,m表示矩阵的行数,κ表示矩阵的列数;矩阵U的第j列元素
Figure BDA0002335222790000046
其中
Figure BDA0002335222790000047
表示异或运算;随后客户端C计算矩阵V,其第i行元素
Figure BDA0002335222790000048
其中,ui表示矩阵U第i行元素,wr[i]={w0,...,wN-1}为一组公开线性错误纠正码的集合,并将矩阵V发送给服务器S;
S34、服务器S计算m×κ矩阵Q,其第j列元素
Figure BDA0002335222790000049
Figure BDA00023352227900000410
表示矩阵V的第s[j]行、第j列元素,
Figure BDA00023352227900000411
表示第j次执行基础2选一OT协议时服务器S的输出;其第i行元素qi满足
Figure BDA00023352227900000412
其中,ti表示矩阵T第i行元素,s表示服务器S持有的选择向量,⊙表示同或运算;
服务器S输出N个加密序列
Figure BDA00023352227900000413
其中,加密序列
Figure BDA00023352227900000419
表示随机预言机,l表示执行协议后输出加密序列的二进制位数,客户端C输出一个加密序列R(ti),该加密序列为将矩阵T第i行元素进行随机预言机
Figure BDA00023352227900000420
运算的结果;
S35、当存在假设的整数d'∈{0,...,N-1}使得元素r[i]=d'时,通过如下公式验证客户端C输出的加密序列R(ti)是否等于服务器S输出的任意一个加密序列
Figure BDA00023352227900000415
Figure BDA00023352227900000416
优选的,在步骤S4中,将服务器S生成的加密序列发送给客户端C,然后将客户端C的输出与加密元素进行交集计算,从而获得集合X和集合Y'的交集的全部密文数据,过程如下:
S41、客户端C将相应桶中的二进制位长σ的元素y转换为十进制,然后作为第i次N选一ROT扩展协议的输入选择向量,其中N=2σ,1≤i≤m,m表示N选一ROT扩展协议的执行次数;执行完该次N选一ROT扩展协议后,客户端C输出序列
Figure BDA00023352227900000417
服务器S将其相应桶的每一个元素x均转换为十进制,然后将元素与服务器S所输出的对应加密序列协同计算,生成Mb个加密序列
Figure BDA0002335222790000051
计算公式如下:
Figure BDA0002335222790000052
其中,Mb表示哈希表中的最大桶容量;qi表示矩阵Q第i行元素;wx表示公开线性错误纠正码集合{w0,...,wN-1}中的某个元素;s表示服务器S持有的选择向量。
S42、服务器S将其生成的Mb个加密序列随机置换后发送给客户端C,客户端C通过逐个比较
Figure BDA0002335222790000053
Figure BDA0002335222790000054
是否相等,以此判断客户端C某个桶中的元素是否存在于服务器S的对应桶中以及判断元素y是否为双方交集元素,在相等的情况下元素y即为交集元素;当执行完比较步骤,即可得到交集的全部密文数据。
更进一步的,为了确保数据隐私,所述的步骤S41中桶的元素x包括哑元,服务器S采用哑元将生成的哈希表中每个桶填充至最大桶容量Mb
更进一步的,所述哑元为随机数。
更进一步的,在判断元素x与元素y是否相等时,对于判断的正确性情况具体如下:
(1)当x=y时,相同元素执行ROT扩展协议后产生的加密输出一致,因此交集计算能够正确判断两个元素相等;
(2)当x≠y时,错误判断两个元素加密输出相等的概率为1/2l,其中,l表示执行N选一ROT扩展协议后输出加密序列的二进制位数;因而双方桶中任意元素相等的概率为en1n3/2l,其中,e表示哈希函数的个数,n1和n3分别表示集合X和集合Y'的大小,即双方桶中任意元素不相等的概率为1-en1n3/2l;为确保正确性,使得双方桶中任意元素不相等的概率为1-1/2λ,其中,λ表示统计学意义上的安全参数,因此执行ROT扩展协议后加密元素的二进制位长l需满足如下公式:
l=λ+log2(en1)+log2(n3)。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明基于隐私保护交集计算协议的致病基因检测方法,首先采用布隆过滤器过滤掉不存在于服务器和客户端两方所持有集合的交集中的元素;然后通过简单哈希映射将服务器的元素映射到哈希桶,通过布谷鸟哈希映射将客户端的元素映射到二维哈希表;接着对每个桶中的元素执行N选一ROT扩展协议,将服务器S生成的加密序列发送给客户端,将客户端C的输出与服务器S的加密序列进行交集计算,将经过过滤和哈希映射的客户端集合与计算结果进行比对,最终得出两方的交集元素。本发明方法采用基于N选一的ROT扩展协议的隐私集合交集计算方式,通过该隐私保护交集计算协议能够使客户端计算出本地数据和服务器端的数据的基因序列集合的交集结果,同时服务器端也不会知道客户端的序列集合,并且客户端也无法知道服务器端交集之外的基因序列内容,因此,被检测者除了致病基因之外的其他基因序列能够保证不被泄露出去,进一步保证基因数据的安全性和隐私保护,同时提升基因检测的综合性能。
(2)本发明方法可针对致病基因检测应用场景,在规模相差较大的服务器和客户端这两方数据集中采用布隆过滤器能过滤掉多余元素,减少绝大部分运行时间和通信开销。
(3)本发明方法采用布谷鸟哈希映射的方式将每个元素映射到二维哈希表,并且每个元素在哈希表中都有对应的唯一位置,因此可以避免哈希表的空间浪费,大大提高了哈希表的空间利用率。
附图说明
图1是本发明基于隐私保护交集计算协议的致病基因检测方法的过程示意图。
图2是本发明布隆过滤器的结构示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例公开了一种基于隐私保护交集计算协议的致病基因检测方法。其中,如图1所示,本实施例主要包括两方元素,即服务器(Server)和客户端(Client)。服务器端持有致病基因组序列集合,该集合中包括了疾病相关的基因序列,客户端持有全基因组序列集合,该集合中包括了被检测者自己的全基因组序列。基于客户端想要计算出本地数据和服务器端的数据的基因序列集合的交集结果,同时不能够让服务器端知道客户端的序列集合,并且客户端也无法知道服务器端交集之外的基因序列内容,本实施例致病基因检测方法的过程如下:
S1、将持有致病基因组序列集合的检测机构作为服务器S,所持有的集合用X表示,集合大小用n1表示。将持有全基因组序列集合的被检测者作为客户端C,所持有的集合用Y表示,集合大小用n2表示。
服务器S对集合X中所有元素编码后采用若干个不同的哈希函数映射到一维位向量表中,产生布隆过滤器BX并发送给客户端C。
客户端C对集合Y中所有元素编码进行相同的哈希映射,通过布隆过滤器BX可以过滤掉大部分不存在于集合X和集合Y这两个集合交集中的元素。客户端C过滤后的集合用Y'表示,集合大小用n3表示。
所述的全基因组序列集合存储在变异识别格式(Variant Call Format,VCF)文本中,VCF文本包含每条基因序列相对于公共参照序列所有的突变位点,将双方基因序列中的四种碱基分别编码为00、01、11、10,编码后的两方数据集合为规模不同的二进制序列集合。
如图2所示,所述生成的布隆过滤器是一个位向量表示的数据结构,所有bit位均初始化为0,将元素例如x1、x2和y通过若干哈希函数例如Hash1(x1)、Hash1(x2)、Hash1(y)、Hash2(x1)、Hash2(x2)、Hash2(y)、Hash3(x1)和Hash3(x2)、Hash3(y)分别映射到一维位向量表中,并将对应bit位的0置为1;判断某元素是否存在集合中的决策如下:
(1)将该元素通过相同的哈希函数映射到位向量表中;
(2)若存在对应的bit位为0,则该元素一定不存在集合中;
(3)若所有对应的bit位均为1,则该元素可能存在集合中。
在本实施例中,对于存在于服务器X集合中的元素,通过布隆过滤器一定不会漏报,即布隆过滤器的假阴性概率为0。采用布隆过滤器方法能够将集合Y的大小由n2降为n3,其中n3与集合X的大小n1相近,因而能够显著降低基因序列比对过程的运行时间和通信开销。
S2、服务器S采用简单哈希的映射方式,使用e个随机均匀的哈希函数将集合X中每个元素映射到b个哈希桶中的e个位置上,而无视桶中是否已存在其他元素,即每个元素有e个位置。
客户端C采用布谷鸟哈希的映射方式,使用相同的e个哈希函数将集合Y'中每个元素映射到含有b个哈希桶的二维哈希表中,每个元素在哈希表中仅有一个位置。具体的映射策略如下:
(1)若映射的e个位置全为无元素的空桶,则采用哈希函数在任选一个位置***;
(2)若e个位置有一个或多个为空桶,则采用哈希函数在任选一个空桶***;
(3)若e个位置全都存储了其他元素且存在未满4个元素的桶,则采用哈希函数在任选一个未满4个元素的桶***;
(4)若e个位置全都存储了4个元素,则任选一个桶踢出原来的某个元素,并通过对应的哈希函数***新元素,然后对被踢出的元素循环调用该算法,采用其他哈希函数***到新的位置,直到***成功。例如,如果第一个哈希函数映射成功,新元素成功***桶中,则无需再调用第二个哈希函数,如果该元素后来被踢出,才需要用第二个哈希函数重新找到它的新位置,以此类推调用第三、第四、第e个哈希函数。
S3、映射完成之后,分别对每个桶中的元素执行m次N选一ROT扩展协议,执行完成后服务器S输出N个加密序列,客户端C输出N个加密序列中的某一个加密序列。
在本实施例中,当执行次数为i时,1≤i≤m,执行该次N选一ROT扩展协议的具体过程如下:
S31、服务器S向N选一ROT扩展协议接收方输入为空,客户端C向N选一ROT扩展协议接收方输入二维哈希表的每个桶中的元素r[i]∈{0,...,N-1}并作为N选一ROT扩展协议接收方的选择向量;
S32、执行κ次基础2选一OT协议,客户端C持有κ个随机密钥对
Figure BDA0002335222790000091
服务器S持有选择向量s←{0,1}κ并输出
Figure BDA0002335222790000092
其中j表示执行基础2选一OT协议的次序,1≤j≤κ,s[j]表示第j次执行基础2选一OT协议时服务器S的选择向量,κ表示对称密码机制的安全参数,
Figure BDA0002335222790000093
Figure BDA0002335222790000094
分别表示第j次执行基础2选一OT协议时客户端持有的随机密钥对之一;
S33、客户端C计算两个m×κ矩阵T、U,矩阵T的第j列元素
Figure BDA0002335222790000095
其中
Figure BDA00023352227900000917
表示伪随机生成器,m表示矩阵的行数,κ表示矩阵的列数;矩阵U的第j列元素
Figure BDA0002335222790000096
其中
Figure BDA0002335222790000097
表示异或运算;随后客户端C计算矩阵V,其第i行元素
Figure BDA0002335222790000098
其中,ui表示矩阵U第i行元素,wr[i]={w0,...,wN-1}为一组公开线性错误纠正码的集合,并将矩阵V发送给服务器S;
S34、服务器S计算m×κ矩阵Q,其第j列元素
Figure BDA0002335222790000099
Figure BDA00023352227900000910
表示矩阵V的第s[j]行、第j列元素,
Figure BDA00023352227900000911
表示第j次执行基础2选一OT协议时服务器S的输出;其第i行元素qi满足
Figure BDA00023352227900000912
其中,ti表示矩阵T第i行元素,s表示服务器S持有的选择向量,⊙表示同或运算;
服务器S输出N个加密序列
Figure BDA00023352227900000913
其中,加密序列
Figure BDA00023352227900000918
表示随机预言机,l表示执行协议后输出加密序列的二进制位数,客户端C输出一个加密序列R(ti),该加密序列为将矩阵T第i行元素进行随机预言机
Figure BDA00023352227900000919
运算的结果;
S35、当存在假设的整数d'∈{0,...,N-1}使得元素r[i]=d'时,通过如下公式验证客户端C输出的加密序列R(ti)是否等于服务器S输出的任意一个加密序列
Figure BDA00023352227900000915
Figure BDA00023352227900000916
实际上,本实施例执行N选一ROT扩展协议的结果必然会使上述公式成立。
S4、将服务器S生成的加密序列发送给客户端C,然后将客户端C的输出与服务器S的加密序列进行交集计算,从而获得集合X和集合Y'的交集的全部密文数据;
将集合Y'中的元素采用与步骤S2中相同哈希映射方式进行映射并与密文数据进行比对,推得对应交集的明文元素;最终,服务器S输出为空,客户端C输出X∩Y'。
其中,将服务器S生成的加密序列发送给客户端C,然后将客户端C的输出与服务器S的加密序列进行交集计算,从而获得集合X和集合Y'的交集的全部密文数据的过程如下:
S41、客户端C将相应桶中的二进制位长σ的元素y转换为十进制,然后作为第i次N选一ROT扩展协议的输入选择向量,其中N=2σ,1≤i≤m,m表示N选一ROT扩展协议的执行次数;执行完该次N选一ROT扩展协议后,客户端C输出序列
Figure BDA0002335222790000101
服务器S将其相应桶的每一个元素x均转换为十进制,然后将元素与服务器S所输出的对应加密序列协同计算,生成Mb个加密序列
Figure BDA0002335222790000102
计算公式如下:
Figure BDA0002335222790000103
其中,Mb表示哈希表中的最大桶容量;wx表示公开线性错误纠正码集合{w0,...,wN-1}中的某个元素。
为了确保数据隐私,桶的元素x包括哑元,服务器S采用哑元将生成的哈希表中每个桶填充至最大桶容量Mb。本实施例的哑元为随机数。
S42、服务器S将其生成的Mb个加密序列随机置换后发送给客户端C,客户端C通过逐个比较
Figure BDA0002335222790000104
Figure BDA0002335222790000105
是否相等,以此判断客户端C某个桶中的元素是否存在于服务器S的对应桶中以及判断元素y是否为双方交集元素,在相等的情况下元素y即为交集元素;当执行完比较步骤,即可得到交集的全部密文数据。
在判断元素x与元素y是否相等时,对于判断的正确性情况具体如下:
(1)当x=y时,相同元素执行ROT扩展协议后产生的加密输出一致,因此交集计算能够正确判断两个元素相等;
(2)当x≠y时,错误判断两个元素加密输出相等的概率为1/2l,其中,l表示执行N选一ROT扩展协议后输出加密序列的二进制位数;因而双方桶中任意元素相等的概率为en1n3/2l,其中,e表示哈希函数的个数,n1和n3分别表示集合X和集合Y'的大小,即双方桶中任意元素不相等的概率为1-en1n3/2l;为确保正确性,使得双方桶中任意元素不相等的概率为1-1/2λ,其中,λ表示统计学意义上的安全参数,因此执行ROT扩展协议后加密元素的二进制位长l需满足如下公式:
l=λ+log2(en1)+log2(n3)。
可通过各种手段实施本发明描述的技术。举例来说,这些技术可实施在固件、软件或其组合中。对于固件和/或软件实施方案,可用执行本文描述的功能的模块(例如,过程、步骤、流程等)来实施所述技术。固件和/或软件代码可存储在存储器中并由处理器执行。存储器可实施在处理器内或处理器外部。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (9)

1.一种基于隐私保护交集计算协议的致病基因检测方法,其特征在于,包括步骤:
S1、将持有致病基因组序列集合的检测机构作为服务器S,所持有的集合用X表示,集合大小用n1表示;将持有全基因组序列集合的被检测者作为客户端C,所持有的集合用Y表示,集合大小用n2表示;
服务器S对集合X中所有元素编码后采用若干个不同的哈希函数映射到一维位向量表中,产生布隆过滤器BX并发送给客户端C;客户端C对集合Y中所有元素编码进行相同的哈希映射,通过布隆过滤器BX过滤掉不存在于集合X和集合Y这两个集合交集中的元素,客户端C过滤后的集合用Y'表示,集合大小用n3表示;
S2、服务器S采用简单哈希的映射方式,使用e个随机均匀的哈希函数将集合X中每个元素映射到b个哈希桶中的e个位置上,而无视桶中是否已存在其他元素,即每个元素有e个位置;客户端C采用布谷鸟哈希的映射方式,使用相同的e个哈希函数将集合Y'中每个元素映射到含有b个哈希桶的二维哈希表中,每个元素在哈希表中仅有一个位置;
S3、映射完成之后,分别对每个桶中的元素执行m次N选一ROT扩展协议,执行完成后服务器S输出N个加密序列,客户端C输出N个加密序列中的一个加密序列;
S4、将服务器S生成的加密序列发送给客户端C,然后将客户端C的输出与服务器S的加密序列进行交集计算,从而获得集合X和集合Y'的交集的全部密文数据;将集合Y'中的元素采用与步骤S2中相同哈希映射方式进行映射并与密文数据进行比对,推得对应交集的明文元素;最终,服务器S输出为空,客户端C输出X∩Y'。
2.根据权利要求1所述的一种基于隐私保护交集计算协议的致病基因检测方法,其特征在于,所述的全基因组序列集合存储在VCF文本中,该文本包含每条基因序列相对于公共参照序列所有的突变位点,将双方基因序列中的四种碱基分别编码为00、01、11、10,编码后的两方数据集合为规模不同的二进制序列集合。
3.根据权利要求1所述的一种基于隐私保护交集计算协议的致病基因检测方法,其特征在于,所述的步骤S1中生成的布隆过滤器是一个位向量表示的数据结构,所有bit位均初始化为0,将元素通过若干哈希函数分别映射到位向量表中,并将对应bit位的0置为1;判断某元素是否存在集合中的决策如下:
(1)将该元素通过相同的哈希函数映射到位向量表中;
(2)若存在对应的bit位为0,则该元素一定不存在集合中;
(3)若所有对应的bit位均为1,则该元素可能存在集合中。
4.根据权利要求1所述的一种基于隐私保护交集计算协议的致病基因检测方法,其特征在于,所述的布谷鸟哈希是采用e个哈希函数将每个元素映射到b个哈希桶中,每个元素只映射到b个桶中的一个位置上,具体的映射策略如下:
(1)若映射的e个位置全为无元素的空桶,则采用哈希函数在任选一个位置***;
(2)若e个位置有一个或多个为空桶,则采用哈希函数在任选一个空桶***;
(3)若e个位置全都存储了其他元素且存在未满4个元素的桶,则采用哈希函数在任选一个未满4个元素的桶***;
(4)若e个位置全都存储了4个元素,则任选一个桶踢出原来的某个元素,并通过对应的哈希函数***新元素,然后对被踢出的元素循环调用该算法,采用其他哈希函数***到新的位置,直到***成功。
5.根据权利要求1所述的一种基于隐私保护交集计算协议的致病基因检测方法,其特征在于,在步骤S3中,当执行次数为i时,1≤i≤m,执行该次N选一ROT扩展协议的具体过程如下:
S31、服务器S向N选一ROT扩展协议接收方输入为空,客户端C向N选一ROT扩展协议接收方输入二维哈希表的每个桶中的元素r[i]∈{0,...,N-1}并作为N选一ROT扩展协议接收方的选择向量;
S32、执行κ次基础2选一OT协议,客户端C持有κ个随机密钥对
Figure FDA0002335222780000031
服务器S持有选择向量s←{0,1}κ并输出
Figure FDA0002335222780000032
其中j表示执行基础2选一OT协议的次序,1≤j≤κ,s[j]表示第j次执行基础2选一OT协议时服务器S的选择向量,κ表示对称密码机制的安全参数,
Figure FDA0002335222780000033
Figure FDA0002335222780000034
分别表示第j次执行基础2选一OT协议时客户端C持有的随机密钥对之一;
S33、客户端C计算两个m×κ矩阵T、U,矩阵T的第j列元素
Figure FDA0002335222780000035
其中G:
Figure FDA0002335222780000036
表示伪随机生成器,m表示矩阵的行数,κ表示矩阵的列数;矩阵U的第j列元素
Figure FDA0002335222780000037
其中
Figure FDA0002335222780000038
表示异或运算;随后客户端C计算矩阵V,其第i行元素
Figure FDA0002335222780000039
其中,ui表示矩阵U第i行元素,wr[i]={w0,...,wN-1}为一组公开线性错误纠正码的集合,并将矩阵V发送给服务器S;
S34、服务器S计算m×κ矩阵Q,其第j列元素
Figure FDA00023352227800000310
Figure FDA00023352227800000311
表示矩阵V的第s[j]行、第j列元素,
Figure FDA00023352227800000312
表示第j次执行基础2选一OT协议时服务器S的输出;其第i行元素qi满足
Figure FDA00023352227800000313
其中,ti表示矩阵T第i行元素,s表示服务器S持有的选择向量,⊙表示同或运算;
服务器S输出N个加密序列
Figure FDA00023352227800000314
其中,加密序列
Figure FDA00023352227800000315
0≤d<N,R:
Figure FDA00023352227800000316
表示随机预言机,l表示执行协议后输出加密序列的二进制位数,客户端C输出一个加密序列R(ti),该加密序列为将矩阵T第i行元素进行随机预言机R:
Figure FDA00023352227800000317
运算的结果;
S35、当存在假设的整数d'∈{0,...,N-1}使得元素r[i]=d'时,通过如下公式验证客户端C输出的加密序列R(ti)是否等于服务器S输出的任意一个加密序列
Figure FDA0002335222780000041
Figure FDA0002335222780000042
6.根据权利要求1所述的一种基于隐私保护交集计算协议的致病基因检测方法,其特征在于,在步骤S4中,将服务器S生成的加密序列发送给客户端C,然后将客户端C的输出与加密元素进行交集计算,从而获得集合X和集合Y'的交集的全部密文数据,过程如下:
S41、客户端C将相应桶中的二进制位长σ的元素y转换为十进制,然后作为第i次N选一ROT扩展协议的输入选择向量,其中N=2σ,1≤i≤m,m表示N选一ROT扩展协议的执行次数;执行完该次N选一ROT扩展协议后,客户端C输出序列
Figure FDA0002335222780000043
服务器S将其相应桶的每一个元素x均转换为十进制,然后将元素与服务器S所输出的对应加密序列协同计算,生成Mb个加密序列
Figure FDA0002335222780000044
计算公式如下:
Figure FDA0002335222780000045
其中,Mb表示哈希表中的最大桶容量;qi表示矩阵Q第i行元素;wx表示公开线性错误纠正码集合{w0,...,wN-1}中的某个元素;s表示服务器S持有的选择向量。
S42、服务器S将其生成的Mb个加密序列随机置换后发送给客户端C,客户端C通过逐个比较
Figure FDA0002335222780000046
Figure FDA0002335222780000047
是否相等,以此判断客户端C某个桶中的元素是否存在于服务器S的对应桶中以及判断元素y是否为双方交集元素,在相等的情况下元素y即为交集元素;当执行完比较步骤,即可得到交集的全部密文数据。
7.根据权利要求6所述的一种基于隐私保护交集计算协议的致病基因检测方法,其特征在于,为了确保数据隐私,所述的步骤S41中桶的元素x包括哑元,服务器S采用哑元将生成的哈希表中每个桶填充至最大桶容量Mb
8.根据权利要求7所述的一种基于隐私保护交集计算协议的致病基因检测方法,其特征在于,所述哑元为随机数。
9.根据权利要求6所述的一种基于隐私保护交集计算协议的致病基因检测方法,其特征在于,在判断元素x与元素y是否相等时,对于判断的正确性情况具体如下:
(1)当x=y时,相同元素执行ROT扩展协议后产生的加密输出一致,因此交集计算能够正确判断两个元素相等;
(2)当x≠y时,错误判断两个元素加密输出相等的概率为1/2l,其中,l表示执行N选一ROT扩展协议后输出加密序列的二进制位数;因而双方桶中任意元素相等的概率为en1n3/2l,其中,e表示哈希函数的个数,n1和n3分别表示集合X和集合Y'的大小,即双方桶中任意元素不相等的概率为1-en1n3/2l;为确保正确性,使得双方桶中任意元素不相等的概率为1-1/2λ,其中,λ表示统计学意义上的安全参数,因此执行ROT扩展协议后加密元素的二进制位长l需满足如下公式:
l=λ+log2(en1)+log2(n3)。
CN201911353298.3A 2019-12-25 2019-12-25 基于隐私保护交集计算协议的致病基因检测方法 Pending CN111125736A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911353298.3A CN111125736A (zh) 2019-12-25 2019-12-25 基于隐私保护交集计算协议的致病基因检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911353298.3A CN111125736A (zh) 2019-12-25 2019-12-25 基于隐私保护交集计算协议的致病基因检测方法

Publications (1)

Publication Number Publication Date
CN111125736A true CN111125736A (zh) 2020-05-08

Family

ID=70502581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911353298.3A Pending CN111125736A (zh) 2019-12-25 2019-12-25 基于隐私保护交集计算协议的致病基因检测方法

Country Status (1)

Country Link
CN (1) CN111125736A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111724148A (zh) * 2020-06-22 2020-09-29 深圳前海微众银行股份有限公司 一种基于区块链***的交易广播方法及节点
CN111984984A (zh) * 2020-08-28 2020-11-24 山东大学 基于集合运算的保密统计数据共享方法及***
CN112580072A (zh) * 2020-12-09 2021-03-30 深圳前海微众银行股份有限公司 一种数据集合求交方法及装置
CN112800478A (zh) * 2021-04-07 2021-05-14 支付宝(杭州)信息技术有限公司 保护隐私数据的共有数据确定方法、装置和***
CN113312641A (zh) * 2021-06-02 2021-08-27 杭州趣链科技有限公司 多点多方的数据交互方法、***、电子装置和存储介质
CN113806795A (zh) * 2021-08-10 2021-12-17 中国科学院信息工程研究所 一种两方隐私集合并集计算方法和装置
CN114021198A (zh) * 2021-12-29 2022-02-08 支付宝(杭州)信息技术有限公司 一种保护数据隐私的确定共有数据的方法及装置
CN114978658A (zh) * 2022-05-17 2022-08-30 支付宝(杭州)信息技术有限公司 数据处理方法及装置
CN115333721A (zh) * 2022-10-13 2022-11-11 北京融数联智科技有限公司 一种隐私集合交集计算方法、装置和***
CN115396148A (zh) * 2022-07-22 2022-11-25 西安邮电大学 隐私保护的名单查询方法、***、介质、设备及终端
CN116401693A (zh) * 2023-06-09 2023-07-07 北京融数联智科技有限公司 一种具有隐私保护的数据库的一对多等值连接方法及***
CN116842561A (zh) * 2023-06-29 2023-10-03 上海零数众合信息科技有限公司 一种数据集可动态增删的隐私求交***和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BENNY PINKAS 等: "Scalable Private Set Intersection Based on OT Extension", 《ACM TRANSACTIONS ON PRIVACY AND SECURITY》 *
BIN FAN 等: "Cuckoo Filter: Practically Better Than Bloom", 《ACM》 *
LIYAN SHEN 等: "Efficient and Private Set Intersection of Human Genomes", 《IEEE》 *
赵晓永: "《面向云计算的数据存储关键技术研究》", 31 December 2014 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111724148A (zh) * 2020-06-22 2020-09-29 深圳前海微众银行股份有限公司 一种基于区块链***的交易广播方法及节点
CN111724148B (zh) * 2020-06-22 2024-03-22 深圳前海微众银行股份有限公司 一种基于区块链***的交易广播方法及节点
CN111984984A (zh) * 2020-08-28 2020-11-24 山东大学 基于集合运算的保密统计数据共享方法及***
CN111984984B (zh) * 2020-08-28 2022-06-28 山东大学 基于集合运算的保密统计数据共享方法及***
CN112580072A (zh) * 2020-12-09 2021-03-30 深圳前海微众银行股份有限公司 一种数据集合求交方法及装置
CN112580072B (zh) * 2020-12-09 2021-07-30 深圳前海微众银行股份有限公司 一种数据集合求交方法及装置
CN112800478A (zh) * 2021-04-07 2021-05-14 支付宝(杭州)信息技术有限公司 保护隐私数据的共有数据确定方法、装置和***
CN113312641A (zh) * 2021-06-02 2021-08-27 杭州趣链科技有限公司 多点多方的数据交互方法、***、电子装置和存储介质
CN113806795B (zh) * 2021-08-10 2024-03-01 中国科学院信息工程研究所 一种两方隐私集合并集计算方法和装置
CN113806795A (zh) * 2021-08-10 2021-12-17 中国科学院信息工程研究所 一种两方隐私集合并集计算方法和装置
CN114021198A (zh) * 2021-12-29 2022-02-08 支付宝(杭州)信息技术有限公司 一种保护数据隐私的确定共有数据的方法及装置
CN114021198B (zh) * 2021-12-29 2022-04-08 支付宝(杭州)信息技术有限公司 一种保护数据隐私的确定共有数据的方法及装置
CN114978658A (zh) * 2022-05-17 2022-08-30 支付宝(杭州)信息技术有限公司 数据处理方法及装置
CN114978658B (zh) * 2022-05-17 2023-10-27 支付宝(杭州)信息技术有限公司 数据处理方法及装置
CN115396148A (zh) * 2022-07-22 2022-11-25 西安邮电大学 隐私保护的名单查询方法、***、介质、设备及终端
CN115396148B (zh) * 2022-07-22 2024-04-12 西安邮电大学 隐私保护的名单查询方法、***、介质、设备及终端
CN115333721A (zh) * 2022-10-13 2022-11-11 北京融数联智科技有限公司 一种隐私集合交集计算方法、装置和***
CN116401693A (zh) * 2023-06-09 2023-07-07 北京融数联智科技有限公司 一种具有隐私保护的数据库的一对多等值连接方法及***
CN116401693B (zh) * 2023-06-09 2023-07-28 北京融数联智科技有限公司 一种具有隐私保护的数据库的一对多等值连接方法及***
CN116842561A (zh) * 2023-06-29 2023-10-03 上海零数众合信息科技有限公司 一种数据集可动态增删的隐私求交***和方法
CN116842561B (zh) * 2023-06-29 2024-05-24 上海零数众合信息科技有限公司 一种数据集可动态增删的隐私求交***和方法

Similar Documents

Publication Publication Date Title
CN111125736A (zh) 基于隐私保护交集计算协议的致病基因检测方法
Samiullah et al. An image encryption scheme based on DNA computing and multiple chaotic systems
KR101873946B1 (ko) 난독 데이터 생성
US20220303114A9 (en) Format-preserving encryption method based on stream cipher
ES2808209T3 (es) Recopilación segura de datos sensibles
US8180048B2 (en) Method and system for computational transformation
CN114036565A (zh) 隐私信息检索***及隐私信息检索方法
WO2016153430A1 (en) Method of obfuscating data
EP4226568A1 (en) Updatable private set intersection
Xu et al. DNA similarity search with access control over encrypted cloud data
CN115242371A (zh) 差分隐私保护的集合交集及其基数计算方法、装置及***
CN111460510B (zh) 基于隐私保护确定相同业务数据的方法及装置
CN111026359A (zh) 多方联合判定隐私数据的数值范围的方法和装置
Shen et al. Efficient and private set intersection of human genomes
CN110365468A (zh) 匿名化处理方法、装置、设备及存储介质
CN113343255B (zh) 一种基于隐私保护的数据交互方法
Hou et al. Multi‐Party Verifiable Privacy‐Preserving Federated k‐Means Clustering in Outsourced Environment
CN111475690B (zh) 字符串的匹配方法和装置、数据检测方法、服务器
Shawkat et al. Optimization-based pseudo random key generation for fast encryption scheme
CN106856431A (zh) 改进的椭圆曲线数字签名算法及验签方法
CN114696991B (zh) 基于同态加密的数据聚类方法及装置
CN114398375A (zh) 一种水印嵌入方法、装置、设备及存储介质
CN112836239A (zh) 保护隐私的双方协同确定目标对象数据的方法及装置
Petrenko et al. Development of an encryption method based on cyclic codes
Hussein et al. A modified table lookup substitution method for hiding data in DNA

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200508