CN111797907B - 一种用于医疗物联网的安全高效的svm隐私保护训练及分类方法 - Google Patents
一种用于医疗物联网的安全高效的svm隐私保护训练及分类方法 Download PDFInfo
- Publication number
- CN111797907B CN111797907B CN202010547167.5A CN202010547167A CN111797907B CN 111797907 B CN111797907 B CN 111797907B CN 202010547167 A CN202010547167 A CN 202010547167A CN 111797907 B CN111797907 B CN 111797907B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- algorithm
- css
- svm
- encrypted
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,通过以下流程实现:样本训练集中的数据由各个医疗用户DP提供,加密后再上传至云服务器CSS存储,SVM服务提供者SP训练一个模型时,将模型初始值[W],[b]加密后发送给CSS。云存储服务器CSS和密码计算服务CSP协同调用本发明设计的基于双门限同态加密算法DTPKC的SIM,SIIP,SISMV,SLTZ,SDP,SFPM,SFPS,SFPVS等算法执行密文域下的SVM训练和分类。训练和分类过程中始终不泄露样本数据的信息和SVM模型的信息。
Description
技术领域
本发明属于信息安全技术领域,特别是安全高效的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法。
背景技术
与大多数其他行业一样,计算和处理能力,无线技术和小型化的进步部分推动了电子医疗领域的创新,如医疗物联网(IoMT)的诞生。IoMT的应用包括对患者和环境数据的远程监控,根据所收集的信息(例如血压和心跳的电活动)进行实时决策,同时尝试利用诸如机器学习(ML)技术之类的智能学习来分析所收集的信息并为策略决策提供信息。例如,目前已有相关文献探索了ML在分类AMD疾病进展和运动图像EEG信号分类中的潜力。
支持向量机(SVM)是一种流行的基于统计学习理论的ML技术。由于其学习性能和实用分类中的归纳能力突出,SVM已被广泛应用于许多医疗应用领域,包括临床诊断,医学成像,疾病分类和基因芯片等。众所周知,我们是通过训练大量相关数据样本将得到的SVM模型用于疾病分类和分类。然而,一方面患者可能不愿将其健康数据暴露给第三方,使得数据分析者获得大量相关数据样本具有很大的挑战性;另一方面,用户的医疗数据一般都是外包给云进行存储或分析,数据的隐私保护也面临着挑战。尽管常规的加密技术可以确保数据的隐私性,但也导致这种加密后的数据不可在密文域内使用。因此,在不影响数据效用的情况下设计数据隐私保护技术是一项持续的研究挑战。一种可能的解决方案是使用同态加密。但完全同态加密(FHE)需要大量的计算资源,并且其速度太慢而无法实用。
因此,许多基于部分同态加密(PFE)的隐私保护方法被提出以实现更好的计算和通信性能。但是,现有的方案都存在功能和性能上的限制,例如:一些方案仅支持隐私保护的分类,而不支持模型训练;一些方案虽然能同时支持训练和分类,但它们并未提出浮点数安全计算的具体方法;一些方案在模型训练阶段需要与数据提供者进行多轮交互,限制了数据的使用场景。此外,现有方案的另一个局限性是它们无法缓解“明文溢出”,因为经过多次同态加法和乘法运算后,明文长度很容易超过明文上限(例如,安全的RSA模参数N)。我们注意到,如果发生明文溢出,则PHE机制中的模运算可能会导致数据失真,从而降低分类器的准确性,因此,在设计安全的外包SVM模型训练方案时突破此限制非常必要。刘等人提出了一种控制明文溢出的协议FApx,但是它们的方案在实践中相对具有挑战性,因为如果仅给出相应的密文很难猜测数据是否溢出。
发明内容
一个基于双门限加法同态加密的安全高效的外包SVM隐私保护训练与分类方案。该方案由6个参与方组成,包括:可信机构TA(),数据提供者(DP),云存储服务器(CSS),密码计算云服务器(CSP),SVM服务使用者(SR)和SVM服务提供者(SP)。TA负责密钥分发与公证,DP负责提供密文形式的医疗数据,CSS负责存储大量用户的各种密文医疗数据,并提供一定的外包计算能力与CSP协同进行隐私保护的SVM模型训练和分类。 SR是需要使用SVM功能的请求者,SP是提供SVM模型的提供者,可以请求CSS和CSP 协同训练SVM或使用SVM为SR提供服务。在模型训练与分类过程中,不泄露用户的原始数据信息,同时保证训练与分类的正确性和高效性。
本发明所使用到的相关符号描述如下(其他变量均为具有以下类似形式的中间变量):
N:两个大素数的乘积,如N=p·q。
N2:N的平方值。
ZN:由0,1,2,…,N-1组成的整数集合。
C:同态加密密文。
pki:第i个同态公钥。
λ1,λ2:同态加密的部分主私钥,组合起来可以解密所有的密文。
[z]:大整数z对应的同态密文。
[Z]:`整数向量Z={z1,z2,…,zd}对应的密文,即[Z]={[z1],[z2],…,[zd]},其中d 为向量的维度。
E:常数,指代浮点数的精确度或者数据分割的界限。
Xi:第i个特征向量。
yi:第i个分类标记。
W:特征权重向量。
b,α:常数,表示偏移值和迭代步长系数。
cost,,η:损失率和学习率。
T:最大训练迭代次数。
ths:损失率对应的门限值。
n:训练集中样本的总数。
grad:梯度向量,即grad={grad1,grad2,…,gradd}。
DTPKC.Setup():双门限同态加密的初始化算法。
DTPKC.KeyGen():双门限同态加密的密钥生成算法。
DTPKC.KeySplit():双门限同态加密的主私钥分割算法。
DTPKC.Enc(m):双门限同态加密的加密算法,如对消息m的加密。
DTPKC.CoDec1():双门限同态加密的第一协同解密算法,需要使用主私钥λ1。
DTPKC.CoDec2():双门限同态加密的第二协同解密算法,需要使用主私钥λ2。
SDT():基于双门限同态加密的安全密文域转换算法,如将pk1加密的密文转化为由 pk2加密的密文,其中密文对应的明文不变。
SLSB():基于双门限同态加密的安全最低比特提取算法,如给定密文[x],输出整数 x最低比特x0的密文[x0]。
[x]·[y]:密文之间的乘法运算映射到明文之前的加法运算,即[x]·[y]=[x+y]。
[x]y:密文与某明文的指数运算可以映射到密文对应明文与该明文的相乘运算,即 [x]y=[xy]。
||W||2:向量W与W的内积运算。
modN:模N运算。例如,23mod7≡2。
SIM,SIIP,SISMV,SLTZ,SDP,SFPA/S,SFPVA/S:分别表示安全整数乘法算法,安全整数向量内 积算法,安全整数向量标量乘算法,安全判断小于零算法,安全数据分割算法,安全浮点数加/减法算法,安全浮点向量加/减法算法。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,其特征在于,云存储服务器CSS存储大量用户的各种密文医疗数据,并提供外包计算能力与CSP协同进行隐私保护的SVM模型训练和分类,R是需要使用SVM功能的请求者,SP是提供SVM模型的提供者,可以请求CSS和CSP协同训练SVM或使用SVM为SR提供服务,TA负责密钥分发与公证,DP负责提供密文形式的医疗数据,具体包括:
SVM的模型隐私保护训练步骤:数据提供者DP给定密文数据集
Ω={([X1],[y1]),…,([Xn],[yn])},分别由各数据提供者的pki加密;SVM模型服务提供者SP给定密文特征权重[W]={[w1],…,[wd]},初始偏移量[b],由公钥pkρ加密;SP给定明文状态的迭代步长系数α,损失率cost和对应的阈值ths,学习率η,最大迭代次数T和浮点数的小数点位数E,其中向量Xi的维度为d,安全高效且具有隐私保护的外包SVM训练方法由CSS和CSP协同执行,具体步骤如下(其中[X1]和[W]中的元素对应明文实际均为浮点数,且小数点位数均为E,因此运算过程中需要使用SDP()算法控制小数点的位数,防止明文溢出):
步骤1.2:当满足条件cost>ths或者t<T时,执行下列步骤3,4,5,6,7,8;
步骤1.3:对于任意i∈{1,2,…,d},计算并执行SDP算法 [gradi]←SDP(gradi,pkρ,E),最终得到小数点位数均为E的向量 [grad]={[grad1],…,[gradd]};
步骤1.4.2:执行SIM算法[z]←SIM([z],[yi],pkρ,pki,pkCSS);
步骤1.4.4:CSS计算z=z·2-2E,判断z<1是否成立,如果成立则首先调用SISMV 算法计算[Z]←SISMV([yi],[Xi],pki,pki,pkρ);再调用SFPVS算法计算向量[grad]← SFPVS([grad],[Z],pkρ,pkρ,pkρ);计算cost=cost+1-z;
步骤1.5:调用SIIP算法计算[u]←SIIP([W],[W],pkρ,pkρ,pkCSS)得到密文[u];
步骤1.8:调用SFPVS算法计算[W]←SFPVA/S([W],[gd],pkρ,pkρ,pkρ),计算 t=t+1;
步骤1.9:输出最终的密文模型[W],[b];
SVM的隐私保护分类步骤:给定服务请求者SR的数据即医疗数据特征向量,由SR的公钥pkSR加密所得,服务提供者SP的SVM加密模型[W],[b],由 SP的公钥pkρ加密所得。隐私保护的外包SVM分类步骤如下:
步骤2.2:调用SIIP算法计算[y]←SIIP([v1],[v2],pkSR,pkρ,pkSR),CSS将结果[y]发送给SR;
在上述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,安全计算子算法基于安全整数乘法算法SIM:[z]←SIM([x],[y],pk1,pk2,pk3):给定两个分别由公钥pk1,pk2加密的密文[x]和[y],输出pk3加密的密文[z]=[xy]如下:
CSS端:首先选择一个随机数r∈ZN,调用DTPKC.Enc()算法加密r获得密文[r],并计算密文C=[y]·[r]mod N2=[y+r];调用DTPKC.CoDec1()算法部分解密密文C获得部分解密结果B’;将消息([x],B’,C)发送给CSP。
CSP端:收到消息([x],B’,C)后,调用DTPKC.CoDec2()算法解密B’和C,获得明文(y+r);计算密文[x’]=[x]y+r mod N2,并将[x’]发送给CSS。
CSS端:收到消息[x’]后,计算[z]=[y]·[x]N-r mod N2;如果pk1=pk3,则直接输出[z];否则调用SDT()算法将当前由pk1加密的密文转化为由pk3加密的密文,然后输出最终结果。
在上述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,安全计算子算法基于安全整数向量内 积算法SIIP:[z]←SIIP([X],[Y],pk1,pk2,pk3) 给定两个分别由公钥pk1,pk2加密的向量[X]={[x1],[x2],…,[xd]}和 [Y]={[y1],[y2],…,[yd]},输出pk3加密的内 积如下:
CSS端:对于任一个i∈{1,…,d},首先选择一个随机数ri∈ZN,调用DTPKC.Enc()算法加密ri获得密文[ri],并计算密文Ci=[yi]·[ri]mod N2=[yi+ri];调用 DTPKC.CoDec1()算法部分解密密文Ci获得部分解密结果B′i;将消息[X]和{B′i,Ci}1≤i≤d发送给CSP。
CSS端:收到消息{[x′i]}1≤i≤d后,计算[z]=mod N2;如果pk1=pk3,则直接输出[z];否则调用DTPKC.SDT()算法将当前由pk1加密的密文转化为由pk3加密的密文,然后输出最终结果。
在上述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,安全计算子算法基于安全整数向量标量乘算法SISMV:[Z]←SIMV([x],[Y],pk1,pk2,pk3),给定一个pk1加密后的密文[x]和一个pk2加密的向量[Y]={[y1],[y2],…,[yd]},输出标量乘积的密文[Z]=[xY]={[z1],[z2],…,[zd]}如下:
CSS端:首先选择一个随机数r∈ZN,调用DTPKC.Enc()算法加密r获得密文[r],并计算密文C=[x]·[r]mod N2=[x+r];调用DTPKC.CoDec1()算法部分解密密文C获得部分解密结果B’;将消息([Y],B’,C)发送给CSP。
CSP端:收到消息([Y],B’,C)后,调用DTPKC.CoDec2()算法解密B’和C,获得明文(x+r);计算密文{[y′i]}1≤i≤d={[yi]y+r}1≤i≤d,并将{[y′i]}1≤i≤d发送给CSS。
CSS端:收到消息{[y′i]}1≤i≤d后,计算[zi]=[yi]N-r mod N2;如果pk1=pk3,则直接输出[Z]={[z1],[z2],…,[zd]};否则调用DTPKC.SDT()算法将当前由pk1加密的密文全部转化为由pk3加密的密文,然后输出最终结果。
在上述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,安全计算子算法基于安全判断小于零算法SLTZ:[xs],[xabs]←SLTZ([x],pk) 给定一个密文[x],判断x是否小于0,最终输出判断结果的密文[xs]以及x绝对值对应的密文[xabs](如果x<0,[xs]=[1],[xabs]=[x];否则[xs]=[0],[xabs]=[-x])如下:
CSS端:首先选择两个随机数r1和r2,且满足调用DTPKC.Enc()算法加密r2获得密文[r2];随机选择一个比特c,如果c=0计算密文如果c=1计算密文调用DTPKC.CoDec1()算法部分解密密文[y]获得部分解密结果B’;将消息(B’,[y])发送给CSP。
CSP端:收到消息(B’,[y])后,调用DTPKC.CoDec2()算法解密B’和[y],获得明文y;如果y>N/2,则令s=1,否则s=0,调用算法DTPKC.Enc()加密s得到[s],将[s]发送给CSS。
CSS端:收到消息[s]后,如果c=0计算密文[xs]=[s],如果c=1计算密文 [xs]=[1]·[s]N-1mod N2;计算[s′]=[1]·[xs]N-2并调用SIM算法计算[xabs]← SIM([s′],[x],pk,pk,pk);最终输出[xs]和[xabs]。
在上述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,安全计算子算法基于安全数据分割算法SDP:[xL]←SDP([x],pk,E),给定一个密文[x],公钥pk和分割精度E,输出密文[xL](满足x=xL·2E+xR,其中xR是x的最低E比特数值)如下:
步骤1:CSS初始化设置参数e,令e=2-1mod N;
步骤2:CSS和CSP协同调用SLTZ算法[xs],[xabs]←SLTZ([x],pk)获得[x]对应明文的符号位密文[xs]和绝对值密文[xabs],并令参数C=[xs];
步骤3:对于i从0到E-1,CSS和CSP依次协同做如下循环操作,即首先调用SLSB()算法获得密文C对应明文的最低比特的密文[xi],然后更新密文C为 C=C·xi N-1mod N2,C=Ce modN2;
步骤4:CSS计算[s′]=[1]·[xs]N-2;
步骤5:CSS和CSP协同调用SIM()算法计算密文[s′]和密文C对应明文的乘积密文[xL],最终输出[xL]。
在上述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,安全计算子算法基于安全浮点数加/减法算法SFPA/S:[z]←SFPA/S([x],[y],pk1,pk2,pk3) 给定两个分别由pk1,pk2加密的浮点数密文[x],[y],输出由pk3加密的密文[z](满足z=x+y)对于安全浮点数加法算法SFPA,满足z=x+y,计算方法包括
Case1:CSS判断pk1=pk2=pk3是否成立,如果成立则计算[z]=[x]·[y],否则考虑下一种情况;
Case2:CSS判断pk1=pk2,pk1≠pk3是否成立,如果成立则先计算[z]=[x]·[y],再调用DTPKC.SDT()算法将由pk1加密得到的[z]转化为由pk3加密的[z],否则考虑下一种情况;
Case3:CSS判断pk1=pk3,pk2≠pk3是否成立,如果成立则先将[y]转化成pk3加密的密文[y],再计算[z]=[x]·[y],否则考虑下一种情况;
Case4:CSS判断pk1≠pk2≠pk3是否成立,如果成立,则将[x],[y]转化为pk3加密下的密文域,再计算[z]=[x]·[y];
密文[z]对于安全浮点数加法算法SFPS,满足z=x-y,CSS首先计算[y]= [y]N- 1modN2,再执行SFPA算法。
在上述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,安全计算子算法基于安全浮点向量加/减法算法SFPVA/S:[Z]←SFPVA/S([X],[Y],pk1,pk2,pk3)给定两个分别由pk1,pk2加密的浮点数密文[X]={x1,x2,…,xd},[Y]={y1,y2,…,yd},输出由pk3加密的向量密文[Z]={z1,z2,…,zd}(满足zi=xi±yi)如下:
对于安全浮点数加法算法SFPVA,满足zi=xi+yi,计算方法如下:
对任意i∈{1,2,…,d},按照SFPA算法依次计算
[zi]即[zi]←SFPA([xi],[yi],pk1,pk2,pk3),满足zi=xi+yi,最后输出密文向量[Z]={[z1],[z2],…,[zd]};
对于安全浮点数减法算法SFPVS,满足zi=xi-yi,计算方法如下:
对任意i∈{1,2,…,d},按照SFPS算法以此计算[zi],满足zi=xi-yi,最后输出密文向量[Z]={z1,z2,…,zd}。
模型的训练或分类或者训练和分类过程会在特定的步骤使用7种算法(删除了SFPM)中的一种,模型训练或分类的实现需要组合这7种算法,其中:
1.SIM算法在步骤1.4.2被调用;并且会被子算法SLTZ,SDP调用;
2.SIIP算法在步骤1.4.1、步骤1.5和步骤2.2被调用;
3.SISMV算法在步骤1.4.4被调用;
4.SLTZ算法被子算法SDP调用;
5.SDP算法在步骤1.3和步骤1.7被调用;
6.SFPA/S算法在SFPVA/S调用;
7.SFPVA/S算法在步骤1.8被调用;
因此,本发明具有如下优点:1、本发明专利解决了加密状态下的明文溢出问题,保证了密文状态下各项运算的正确性;2、本发明专利高校实现了密文状态下与明文状态下完全等同的运算流程,使得SVM模型的训练与分类结果与明文状态下完全一致。
具体实施方式
下面通过实施例,对本发明的技术方案作进一步具体的说明。
实施例:
本发明中提出的方案主要有6个重要角色,包括:可信机构TA(),数据提供者(DP),云存储服务器(CSS),密码计算云服务器(CSP),SVM服务使用者(SR)和SVM服务提供者(SP)。TA负责密钥分发与公证,DP负责提供密文形式的医疗数据,CSS负责存储大量用户的各种密文医疗数据,并提供一定的外包计算能力与CSP协同进行隐私保护的 SVM模型训练和分类。SR是需要使用SVM功能的请求者,SP是提供SVM模型的提供者,可以请求CSS和CSP协同训练SVM或使用SVM为SR提供服务。TA运行DTPKC.Setup() 算法,并调用DTPKC.KeyGen()算法为参与方DP、CSS和CSP分发对应的公私钥对;此外, TA调用DTPKC.KeySplit()算法为CSS和CSP分别分配主私钥λ1,λ2。
1.安全计算子算法
1)安全整数乘法算法SIM:[z]←SIM([x],[y],pk1,pk2,pk3) 给定两个分别由公钥pk1,pk2加密的密文[x]和[y],输出pk3加密的密文[z]=[xy]如下:
①CSS端:首先选择一个随机数r∈ZN,调用DTPKC.Enc()算法加密r获得密文[r],并计算密文C=[y]·[r]mod N2=[y+r];调用DTPKC.CoDec1()算法部分解密密文C获得部分解密结果B’;将消息([x],B’,C)发送给CSP。
②CSP端:收到消息([x],B’,C)后,调用DTPKC.CoDec2()算法解密B’和C,获得明文(y+r);计算密文[x’]=[x]y+r mod N2,并将[x’]发送给CSS。
③CSS端:收到消息[x’]后,计算[z]=[y]·[x]N-r mod N2;如果pk1=pk3,则直接输出[z];否则调用SDT()算法将当前由pk1加密的密文转化为由pk3加密的密文,然后输出最终结果。
2)安全整数向量内 积算法SIIP:[z]←SIIP([X],[Y],pk1,pk2,pk3) 给定两个分别由公钥pk1,pk2加密的向量[X]={[x1],[x2],…,[xd]}和 [Y]={[y1],[y2],…,[yd]},输出pk3加密的内 积如下:
①CSS端:对于任一个i∈{1,…,d},首先选择一个随机数ri∈ZN,调用DTPKC.Enc()算法加密ri获得密文[ri],并计算密文Ci=[yi]·[ri]mod N2=[yi+ri];调用DTPKC.CoDec1() 算法部分解密密文Ci获得部分解密结果B′i;将消息[X]和{B′i,Ci}1≤i≤d发送给CSP。
③CSS端:收到消息{[x′i]}1≤i≤d后,计算[z]=mod N2;如果pk1=pk3,则直接输出[z];否则调用DTPKC.SDT()算法将当前由pk1加密的密文转化为由pk3加密的密文,然后输出最终结果。
3)安全整数向量标量乘算法SISMV:[Z]←SISMV([x],[Y],pk1,pk2,pk3) 给定一个pk1加密后的密文[x]和一个pk2加密的向量[Y]={[y1],[y2],…,[yd]},输出标量乘积的密文[Z]=[xY]={[z1],[z2],…,[zd]}如下:
①CSS端:首先选择一个随机数r∈ZN,调用DTPKC.Enc()算法加密r获得密文[r],并计算密文C=[x]·[r]mod N2=[x+r];调用DTPKC.CoDec1()算法部分解密密文C获得部分解密结果B’;将消息([Y],B’,C)发送给CSP。
②CSP端:收到消息([Y],B’,C)后,调用DTPKC.CoDec2()算法解密B’和C,获得明文(x+r);计算密文{[y′i]}1≤i≤d={[yi]y+r}1≤i≤d,并将{[y′i]}1≤i≤d发送给CSS。
③CSS端:收到消息{[y′i]}1≤i≤d后,计算[zi]=[yi]N-r mod N2;如果pk1=pk3,则直接输出[Z]={[z1],[z2],…,[zd]};否则调用DTPKC.SDT()算法将当前由pk1加密的密文全部转化为由pk3加密的密文,然后输出最终结果。
4)安全判断小于零算法SLTZ:[xs],[xabs]←SLTZ([x],pk) 给定一个密文[x],判断x是否小于0,最终输出判断结果的密文[xs]以及x绝对值对应的密文[xabs](如果x<0,[xs]=[1],[xabs]=[x];否则[xs]=[0],[xabs]=[-x])如下:
①CSS端:首先选择两个随机数r1和r2,且满足调用DTPKC.Enc()算法加密 r2获得密文[r2];随机选择一个比特c,如果c=0计算密文如果c=1计算密文调用DTPKC.CoDec1()算法部分解密密文[y]获得部分解密结果B’;将消息(B’,[y])发送给CSP。
②CSP端:收到消息(B’,[y])后,调用DTPKC.CoDec2()算法解密B’和[y],获得明文y;如果y>N/2,则令s=1,否则s=0,调用算法DTPKC.Enc()加密s得到[s],将[s]发送给CSS。
③CSS端:收到消息[s]后,如果c=0计算密文[xs]=[s],如果c=1计算密文[xs]=[1]· [s]N-1mod N2;计算[s′]=[1]·[xs]N-2并调用SIM算法计算 [xabs]←SIM([s′],[x],pk,pk,pk);最终输出[xs]和[xabs]。
5)安全数据分割算法SDP:[xL]←SDP([x],pk,E) 给定一个密文[x],公钥pk和分割精度E,输出密文[xL](满足x=xL·2E+xR,其中xR是 x的最低E比特数值)如下:
步骤1:CSS初始化设置参数e,令e=2-1mod N;
步骤2:CSS和CSP协同调用SLTZ算法[xs],[xabs]←SLTZ([x],pk)获得[x]对应明文的符号位密文[xs]和绝对值密文[xabs],并令参数C=[xs];
步骤3:对于i从0到E-1,CSS和CSP依次协同做如下循环操作,即首先调用SLSB()算法获得密文C对应明文的最低比特的密文[xi],然后更新密文C为C=C·xi N-1mod N2, C=CemodN2;
步骤4:CSS计算[s′]=[1]·[xs]N-2;
步骤5:CSS和CSP协同调用SIM()算法计算密文[s′]和密文C对应明文的乘积密文[xL],最终输出[xL]。
6)安全浮点数加/减法算法SFPA/S:[z]←SFPA/S([x],[y],pk1,pk2,pk3) 给定两个分别由pk1,pk2加密的浮点数密文[x],[y],输出由pk3加密的密文[z](满足 z=x+y)如下:
①对于安全浮点数加法算法SFPA,满足z=x+y,计算方法如下
Case1:CSS判断pk1=pk2=pk3是否成立,如果成立则计算[z]=[x]·[y],否则考虑下一种情况;
Case2:CSS判断pk1=pk2,pk1≠pk3是否成立,如果成立则先计算[z]=[x]·[y],再调用DTPKC.SDT()算法将由pk1加密得到的[z]转化为由pk3加密的[z],否则考虑下一种情况;
Case3:CSS判断pk1=pk3,pk2≠pk3是否成立,如果成立则先将[y]转化成pk3加密的密文[y],再计算[z]=[x]·[y],否则考虑下一种情况;
Case4:CSS判断pk1≠pk2≠pk3是否成立,如果成立,则将[x],[y]转化为pk3加密下的密文域,再计算[z]=[x]·[y];
②对于安全浮点数加法算法SFPS,满足z=x-y,CSS首先计算[y]=[y]N-1modN2,再执行SFPA算法。
7)安全浮点向量加/减法算法SFPVA/S:[Z]←SFPVA/S([X],[Y],pk1,pk2,pk3) 给定两个分别由pk1,pk2加密的浮点数密文[X]={x1,x2,…,xd},[Y]={y1,y2,…,yd},输出由pk3加密的向量密文[Z]={z1,z2,…,zd}(满足zi=xi±yi)如下:
①对于安全浮点数加法算法SFPVA,满足zi=xi+yi,计算方法如下:对任意i∈{1,2,…,d},按照SFPA算法依次计算 [zi]即[zi]←SFPA([xi],[yi],pk1,pk2,pk3),满足zi=xi+yi,最后输出密文向量 [Z]={[z1],[z2],…,[zd]};
①对于安全浮点数减法算法SFPVS,满足zi=xi-yi,计算方法如下:对任意i∈{1,2,…,d},按照SFPS算法以此计算[zi],满足zi=xi-yi,最后输出密文向量[Z]={z1,z2,…,zd};
2.SVM的隐私保护训练方法
数据提供者DP给定密文数据集Ω={([X1],[y1]),…,([Xn],[yn])},分别由各数据提供者的pki加密;SVM模型服务提供者SP给定密文特征权重[W]={[w1],…,[wd]},初始偏移量[b],由公钥pkρ加密;SP给定明文状态的迭代步长系数α,损失率 cost和对应的阈值ths,学习率η,最大迭代次数T和浮点数的小数点位数E,其中向量 Xi的维度为d,安全高效且具有隐私保护的外包SVM训练方法由CSS和CSP协同执行,具体步骤如下(其中[X1]和[W]中的元素对应明文实际均为浮点数,且小数点位数均为E,因此运算过程中需要使用SDP()算法控制小数点的位数,防止明文溢出):
步骤2:当满足条件cost>ths或者t<T时,执行下列步骤3,4,5,6,7,8;
步骤4.2:执行SIM算法[z]←SIM([z],[yi],pkρ,pki,pkCSS);
步骤4.4:CSS计算z=z·2-2E,判断z<1是否成立,如果成立则首先调用SISMV 算法计算[Z]←SISMV([yi],[Xi],pki,pki,pkρ);再调用SFPVS算法计算向量[grad]← SFPVS([grad],[Z],pkρ,pkρ,pkρ);计算cost=cost+1-z;
步骤5:调用SIIP算法计算[u]←SIIP([W],[W],pkρ,pkρ,pkCSS)得到密文[u];
步骤8:调用SFPVS算法计算[W]←SFPVA/S([W],[gd],pkρ,pkρ,pkρ),计算 t=t+1;
步骤9:输出最终的密文模型[W],[b];
3.SVM的隐私保护分类
步骤2:调用SIIP算法计算[y]←SIIP([v1],[v2],pkSR,pkρ,pkSR),CSS将结果[y]发送给SR;
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (8)
1.一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,其特征在于,云存储服务器CSS存储大量用户的各种密文医疗数据,并提供外包计算能力与CSP协同进行隐私保护的SVM模型训练和分类,SR是需要使用SVM功能的请求者,SP是提供SVM模型的提供者,可以请求CSS和CSP协同训练SVM或使用SVM为SR提供服务,TA负责密钥分发与公证,DP负责提供密文形式的医疗数据,具体包括:
SVM的模型隐私保护训练步骤:数据提供者DP给定密文数据集
Ω={([X1],[y1]),…,([Xn],[yn])},分别由各数据提供者的pki加密;SVM模型服务提供者SP给定密文特征权重[W]={[w1],…,[wd]},初始偏移量[b],由公钥pkρ加密;SP给定明文状态的迭代步长系数α,损失率cost和对应的阈值ths,学习率η,最大迭代次数T和浮点数的小数点位数E,其中向量Xi的维度为d,安全高效且具有隐私保护的外包SVM训练方法由CSS和CSP协同执行,具体步骤如下:
步骤1.2:当满足条件cost>ths或者t<T时,执行下列步骤1.3,1.4,1.5,1.6,1.7,1.8;
步骤1.4.2:执行SIM算法[z]←SIM([z],[yi],pkρ,pki,pkCSS);
步骤1.4.4:CSS计算z=z·2-2E,判断z<1是否成立,如果成立则首先调用SISMV算法计算[Z]←SISMV([yi],[Xi],pki,pki,pkρ);再调用SFPVS算法计算向量[grad]←SFPVS([grad],[Z],pkρ,pkρ,pkρ);计算cost=cost+1-z;
步骤1.5:调用SIIP算法计算[u]←SIIP([W],[W],pkρ,pkρ,pkCSS)得到密文[u];
步骤1.8:调用SFPVS算法计算[W]←SFPVS([W],[gd],pkρ,pkρ,pkρ),计算t=t+1;
步骤1.9:输出最终的密文模型[W],[b];
SVM的隐私保护分类步骤:给定服务请求者SR的数据即医疗数据特征向量,由SR的公钥pkSR加密所得,服务提供者SP的SVM加密模型[W],[b],由SP的公钥pkρ加密所得;隐私保护的外包SVM分类步骤如下:
步骤2.2:调用SIIP算法计算[y]←SIIP([v1],[v2],pkSR,pkρ,pkSR),CSS将结果[y]发送给SR;
2.根据权利要求1所述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,其特征在于,安全计算子算法基于安全整数乘法算法SIM:[z]←SIM([x],[y],pk1,pk2,pk3):给定两个分别由公钥pk1,pk2加密的密文[x]和[y],输出pk3加密的密文[z]=[xy]如下:
CSS端:首先选择一个随机数r∈ZN,调用DTPKC.Enc()算法加密r获得密文[r],并计算密文C=[y]·[r]mod N2=[y+r];调用DTPKC.CoDec1()算法部分解密密文C获得部分解密结果B’;将消息([x],B’,C)发送给CSP;
CSP端:收到消息([x],B’,C)后,调用DTPKC.CoDec2()算法解密B’和C,获得明文y+r;计算密文[x’]=[x]y+r mod N2,并将[x’]发送给CSS;
CSS端:收到消息[x’]后,计算[z]=[y]·[x]N-r mod N2;如果pk1=pk3,则直接输出[z];否则调用SDT()算法将当前由pk1加密的密文转化为由pk3加密的密文,然后输出最终结果。
3.根据权利要求1所述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,其特征在于,安全计算子算法基于安全整数向量内 积算法SIIP:[z]←SIIP([X],[Y],pk1,pk2,pk3) 给定两个分别由公钥pk1,pk2加密的向量[X]={[x1],[x2],…,[xd]}和[Y]={[y1],[y2],…,[yd]},输出pk3加密的内 积如下:
CSS端:对于任一个i∈{1,…,d},首先选择一个随机数ri∈ZN,调用DTPKC.Enc()算法加密ri获得密文[ri],并计算密文Ci=[yi]·[ri]mod N2=[yi+ri];调用DTPKC.CoDec1()算法部分解密密文Ci获得部分解密结果Bi′;将消息[X]和{Bi′,Ci}1≤i≤d发送给CSP;
CSS端:收到消息{[xi′]}1≤i≤d后,计算[z]=mod N2;如果pk1=pk3,则直接输出[z];否则调用DTPKC.SDT()算法将当前由pk1加密的密文转化为由pk3加密的密文,然后输出最终结果。
4.根据权利要求1所述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,其特征在于,安全计算子算法基于安全整数向量标量乘算法SISMV:[Z]←SIMV([x],[Y],pk1,pk2,pk3),给定一个pk1加密后的密文[x]和一个pk2加密的向量[Y]={[y1],[y2],…,[yd]},输出标量乘积的密文[Z]=[xY]={[z1],[z2],…,[zd]}如下:
CSS端:首先选择一个随机数r∈ZN,调用DTPKC.Enc()算法加密r获得密文[r],并计算密文C=[x]·[r]mod N2=[x+r];调用DTPKC.CoDec1()算法部分解密密文C获得部分解密结果B’;将消息([Y],B’,C)发送给CSP;
CSP端:收到消息([Y],B’,C)后,调用DTPKC.CoDec2()算法解密B’和C,获得明文x+r;计算密文{[yi′]}1≤i≤d={[yi]y+r}1≤i≤d,并将{[yi′]}1≤i≤d发送给CSS;
CSS端:收到消息{[yi′]}1≤i≤d后,计算[zi]=[yi]N-r mod N2;如果pk1=pk3,则直接输出[Z]={[z1],[z2],…,[zd]};否则调用DTPKC.SDT()算法将当前由pk1加密的密文全部转化为由pk3加密的密文,然后输出最终结果。
5.根据权利要求1所述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,其特征在于,安全计算子算法基于安全判断小于零算法SLTZ:[xs],[xabs]←SLTZ([x],pk)
给定一个密文[x],判断x是否小于0,最终输出判断结果的密文[xs]以及x绝对值对应的密文[xabs]如下,其中如果x<0,[xs]=[1],[xabs]=[x];否则[xs]=[0],[xabs]=[-x]:
CSS端:首先选择两个随机数r1和r2,且满足调用DTPKC.Enc()算法加密r2获得密文[r2];随机选择一个比特c,如果c=0计算密文如果c=1计算密文调用DTPKC.CoDec1()算法部分解密密文[y]获得部分解密结果B’;将消息(B’,[y])发送给CSP;
CSP端:收到消息(B’,[y])后,调用DTPKC.CoDec2()算法解密B’和[y],获得明文y;如果y>N/2,则令s=1,否则s=0,调用算法DTPKC.Enc()加密s得到[s],将[s]发送给CSS;
CSS端:收到消息[s]后,如果c=0计算密文[xs]=[s],如果c=1计算密文[xs]=[1]·[s]N-1mod N2;计算[s′]=[1]·[xs]N-2并调用SIM算法计算[xabs]←SIM([s′],[x],pk,pk,pk);最终输出[xs]和[xabs]。
6.根据权利要求1所述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,其特征在于,安全计算子算法基于安全数据分割算法SDP:[xL]←SDP([x],pk,E),给定一个密文[x],公钥pk和分割精度E,输出密文[xL]如下,其中满足x=xL·2E+xR,其中xR是x的最低E比特数值:
步骤1:CSS初始化设置参数e,令e=2-1mod N;
步骤2:CSS和CSP协同调用SLTZ算法[xs],[xabs]←SLTZ([x],pk)获得[x]对应明文的符号位密文[xs]和绝对值密文[xabs],并令参数C=[xs];
步骤3:对于i从0到E-1,CSS和CSP依次协同做如下循环操作,即首先调用SLSB()算法获得密文C对应明文的最低比特的密文[xi],然后更新密文C为C=C·xi N-1mod N2,C=CemodN2;
步骤4:CSS计算[s′]=[1]·[xs]N-2;
步骤5:CSS和CSP协同调用SIM()算法计算密文[s′]和密文C对应明文的乘积密文[xL],最终输出[xL]。
7.根据权利要求1所述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,其特征在于,安全计算子算法基于安全浮点数加/减法算法SFPA/S:[z]←SFPA/S([x],[y],pk1,pk2,pk3)
给定两个分别由pk1,pk2加密的浮点数密文[x],[y],输出由pk3加密的密文[z],满足z=x+y,对于安全浮点数加法算法SFPA,满足z=x+y,计算方法包括
Case1:CSS判断pk1=pk2=pk3是否成立,如果成立则计算[z]=[x]·[y],否则考虑下一种情况;
Case2:CSS判断pk1=pk2,pk1≠pk3是否成立,如果成立则先计算[z]=[x]·[y],再调用DTPKC.SDT()算法将由pk1加密得到的[z]转化为由pk3加密的[z],否则考虑下一种情况;
Case3:CSS判断pk1=pk3,pk2≠pk3是否成立,如果成立则先将[y]转化成pk3加密的密文[y],再计算[z]=[x]·[y],否则考虑下一种情况;
Case4:CSS判断pk1≠pk2≠pk3是否成立,如果成立,则将[x],[y]转化为pk3加密下的密文域,再计算[z]=[x]·[y];
密文[z]对于安全浮点数加法算法SFPS,满足z=x-y,CSS首先计算[y]=[y]N-1modN2,再执行SFPA算法。
8.根据权利要求1所述的一种用于医疗物联网的安全高效的SVM隐私保护训练及分类方法,其特征在于,安全计算子算法基于安全浮点向量加/减法算法SFPVS:[Z]←SFPVS([X],[Y],pk1,pk2,pk3)
给定两个分别由pk1,pk2加密的浮点数密文[X]={x1,x2,…,xd},[Y]={y1,y2,…,yd},输出由pk3加密的向量密文[Z]={z1,z2,…,zd}如下,其中,满足zi=xi±yi:
对于安全浮点数加法算法SFPVA,满足zi=xi+yi,计算方法如下:
对任意i∈{1,2,…,d},按照SFPA算法依次计算
[zi]即[zi]←SFPA([xi],[yi],pk1,pk2,pk3),满足zi=xi+yi,最后输出密文向量[Z]={[z1],[z2],…,[zd]};
对于安全浮点数减法算法SFPVS,满足zi=xi-yi,计算方法如下:
对任意i∈{1,2,…,d},按照SFPS算法以此计算[zi],满足zi=xi-yi,最后输出密文向量[Z]={z1,z2,…,zd}。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010547167.5A CN111797907B (zh) | 2020-06-16 | 2020-06-16 | 一种用于医疗物联网的安全高效的svm隐私保护训练及分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010547167.5A CN111797907B (zh) | 2020-06-16 | 2020-06-16 | 一种用于医疗物联网的安全高效的svm隐私保护训练及分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111797907A CN111797907A (zh) | 2020-10-20 |
CN111797907B true CN111797907B (zh) | 2023-02-03 |
Family
ID=72803381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010547167.5A Active CN111797907B (zh) | 2020-06-16 | 2020-06-16 | 一种用于医疗物联网的安全高效的svm隐私保护训练及分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797907B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834789B (zh) * | 2022-11-24 | 2024-02-23 | 南京信息工程大学 | 基于加密域的医疗影像加密以及恢复方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490679B1 (en) * | 1999-01-18 | 2002-12-03 | Shym Technology, Inc. | Seamless integration of application programs with security key infrastructure |
CN106161405B (zh) * | 2015-04-21 | 2019-01-18 | 上海交通大学 | 基于同态加密机制的隐私可保护信息安全计算实现方法 |
CN107659395B (zh) * | 2017-10-30 | 2021-09-24 | 武汉大学 | 一种多服务器环境下基于身份的分布式认证方法及系统 |
CN108521326B (zh) * | 2018-04-10 | 2021-02-19 | 电子科技大学 | 一种基于向量同态加密的隐私保护的线性svm模型训练方法 |
CN110211683B (zh) * | 2019-05-30 | 2021-09-28 | 北京理工大学 | 一种基于区块链的支持向量机医疗数据隐私训练系统 |
CN110752024B (zh) * | 2019-10-17 | 2023-02-24 | 湖北工业大学 | 基于隐私保护的在线医疗诊断服务系统 |
CN110958219B (zh) * | 2019-10-21 | 2021-01-26 | 武汉大学 | 一种面向医疗云共享数据的sm2代理重加密方法与装置 |
-
2020
- 2020-06-16 CN CN202010547167.5A patent/CN111797907B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111797907A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
Dowlin et al. | Manual for using homomorphic encryption for bioinformatics | |
Aslett et al. | A review of homomorphic encryption and software tools for encrypted statistical machine learning | |
Wang et al. | An efficient and privacy-preserving outsourced support vector machine training for internet of medical things | |
Mahto et al. | RSA and ECC: A comparative analysis | |
Liu et al. | Efficient and privacy-preserving outsourced calculation of rational numbers | |
JP4809598B2 (ja) | 暗号システムの設計におけるアイソジャニの使用 | |
Dowlin et al. | Manual for using homomorphic encryption for bioinformatics | |
US8559631B1 (en) | Systems and methods for efficient decryption of attribute-based encryption | |
CN109039640B (zh) | 一种基于rsa密码算法的加解密硬件系统及方法 | |
CN111162894B (zh) | 具有隐私保护的外包云存储医疗数据聚合的统计分析方法 | |
Rezaeibagha et al. | Secure and efficient data aggregation for IoT monitoring systems | |
CN111404952B (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
CN112383397B (zh) | 一种基于生物特征的异构签密通信方法 | |
CN104135473A (zh) | 一种由密文策略的属性基加密实现身份基广播加密的方法 | |
CN111526002A (zh) | 一种基于格的多身份的全同态加密方法 | |
EP1914924A1 (en) | Time apparatus, encrypting apparatus, decrypting apparatus, and encrypting/decrypting system | |
CN111865555B (zh) | 一种基于k-Lin假设的同态加密方法 | |
US6252960B1 (en) | Compression and decompression of elliptic curve data points | |
Wang et al. | Privacy preserving computations over healthcare data | |
CN111797907B (zh) | 一种用于医疗物联网的安全高效的svm隐私保护训练及分类方法 | |
Kibiwott et al. | Privacy Preservation for eHealth Big Data in Cloud Accessed Using Resource-Constrained Devices: Survey. | |
CN110912673B (zh) | 具有双解密机制的加性同态加解密方法 | |
Vijayakumar et al. | DNA computing based elliptic curve cryptography | |
CN116488806A (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 |