CN113849828B - 经处理的数据的匿名生成和证明 - Google Patents
经处理的数据的匿名生成和证明 Download PDFInfo
- Publication number
- CN113849828B CN113849828B CN202110711735.5A CN202110711735A CN113849828B CN 113849828 B CN113849828 B CN 113849828B CN 202110711735 A CN202110711735 A CN 202110711735A CN 113849828 B CN113849828 B CN 113849828B
- Authority
- CN
- China
- Prior art keywords
- data
- matrix
- entity
- encrypted
- encryption
- 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
- 239000011159 matrix material Substances 0.000 claims abstract description 267
- 238000012545 processing Methods 0.000 claims abstract description 93
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000010801 machine learning Methods 0.000 claims description 32
- 238000012549 training Methods 0.000 claims description 29
- 229940050561 matrix product Drugs 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 238000002360 preparation method Methods 0.000 claims 2
- 239000013598 vector Substances 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004049 embossing Methods 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000003920 cognitive function Effects 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000013170 computed tomography imaging Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了经处理的数据的匿名生成和证明。本发明涉及一种用于提供经处理的数据的计算机实现的方法,该方法包括:由第一加密实体接收第一明文数据,第一明文数据包括数字矩阵;由第一加密实体确定加密密钥,加密密钥包括整数矩阵;由第一加密实体基于第一明文数据和加密密钥的矩阵乘法对第一明文数据进行同态加密,从而生成第一经加密的数据;由第一加密实体将第一经加密的数据发送至处理实体;由解密实体接收来自处理实体的经加密处理的数据,其中,经加密处理的数据基于第一经加密的数据;由解密实体基于经处理的数据与加密密钥的逆的矩阵乘法对经加密处理的数据进行解密,从而生成经处理的数据;以及由解密实体提供经处理的数据。
Description
技术领域
本发明涉及经处理的数据的匿名生成和证明,具体地,涉及用于提供经处理的数据的计算机实现的方法、用于提供经处理的数据的提供系统、计算机程序以及计算机可读介质。
背景技术
发明人Shylashree Nagaraja隶属于RV工程学院电子与通信工程系,RV工程学院电子与通信工程系位于印度,班加罗尔(Bengaluru)–560059,RV Vidyaniketan邮政,迈索尔路(Mysuru Road),第八英里(8th Mile)。
对于处理大量数据,例如对于训练机器学习算法,常见的方法是利用外部资源,特别是云计算资源。例如,训练数据集可以被存储在云存储装置中,并且机器学习算法可以由云计算处理器基于训练数据集进行训练。
然而,在资源提供者不应该访问训练数据的情况下,例如由于数据隐私规则,外部资源的使用可能会受到阻碍。特别地,对于包含受保护的健康信息(首字母缩略词是PHI)的医疗数据来说,这是一个问题。
用于处理外部资源处的医疗数据的常用方法是在外部资源内存储和/或处理之前对医疗数据进行匿名化(anonymizing)或假名化(pseudonymizing)。这种方法的缺点是可能无法实现:对数据进行完全匿名化或假名化而不丢失相关信息。例如,如果医学数据是基于计算机断层扫描或磁共振成像的医学成像数据集,则可以单独使用像素来识别相应的患者(例如,通过对数据进行体绘制(volume rendering)、重建患者的面部)。
另一种可能性是在外部资源内存储和/或处理数据之前对数据进行加密。然而,加密操作和机器学习算法的使用不一定互换(commute),使得无法使用借助于经加密的数据(同义词是“密文”)训练的机器学习算法来得出关于未加密的数据(同义词是“明文”)的结论。
这个问题的潜在解决方案是对训练数据进行同态加密。同态加密是如下加密形式:它允许对密文进行计算,以生成经加密的结果,该经加密的结果在被解密时与运算的结果匹配,就好像它们是对明文执行的一样。众所周知的具有乘法同态特性的算法是RSA(“Rivest、Shamir、Adleman”的首字母缩略词)公钥加密算法。
然而,为了降低抵御攻击的脆弱性,同态加密方案在语义上应该是安全的,这一般地涉及对手不应该能够从密文中发现任何部分信息的事实。由于RSA以其原始形式是确定性的,因此它在语义上是不安全的。任何使其概率化的尝试都会破坏其同态属性(参见例如以下文献:C.Fontaine和F.Galand,“A Survey of Homomorphic Encryption forNonspecialists”,欧洲信号处理学会期刊之信息安全(EURASIP J.on Info.Security)013801(2007),https://doi.org/10.1155/2007/13801)。
发明内容
本发明的根本问题是提供一种有效的同态加密方案,该方案可以被用于外部资源内的机器学习。该问题由本发明的技术方案解决。在本发明的技术方案和以下说明书中描述了有利的实施方式。
下面关于所要求保护的系统以及关于所要求保护的方法来描述根据本发明的解决方案。本文中的特征、优点或替选实施方式可以被分配给其他相应的要求保护的对象,反之亦然。换言之,可以利用在相应方法的上下文中描述或要求保护的特征来改进系统。在这种情况下,方法的功能特征由系统的目标单元来体现。
根据第一方面,本发明涉及一种用于提供经处理的数据的计算机实现的方法。该方法包括由第一加密实体接收第一明文数据,第一明文数据包括数字矩阵。该方法还包括由第一加密实体确定加密密钥,加密密钥包括整数矩阵。此外,该方法包括:由第一加密实体基于第一明文数据和加密密钥的矩阵乘法对第一明文数据进行同态加密,从而生成第一经加密的数据。该方法还包括:由第一加密实体向处理实体发送第一经加密的数据;以及由解密实体接收来自处理实体的经加密处理的数据,其中,经加密处理的数据基于第一经加密的数据。此外,该方法包括:由解密实体基于经处理的数据和加密密钥的逆的矩阵乘法来解密经加密处理的数据,从而生成经处理的数据;以及由解密实体提供经处理的数据。
特别地,第一明文数据和加密密钥的矩阵乘法相当于第一明文数据所包括的数字矩阵和加密密钥所包括的整数矩阵的矩阵乘法。
可选地,该方法可以包括将加密密钥从第一加密实体传送至解密实体的步骤。特别地,该传送步骤可以以加密的方式被执行,例如通过使用非对称加密。
特别地,第一明文数据是用于机器学习算法的训练数据。特别地,第一明文数据包括用于机器学习算法的训练输入数据和相应的真实(ground truth)数据,使得可以基于其应用于训练输入数据的结果与真实数据的比较来训练机器学习算法。
第一明文数据包括数字矩阵(也被称为“第一明文数字矩阵”)。特别地,第一明文数据可以等同于所述数字矩阵。特别地,第一明文数据可以包括与训练输入数据对应的第一数字矩阵和与相应真实数据对应的第二数字矩阵。
特别地,数字矩阵是(负和/或正)整数、有理数或实数的矩阵。特别地,整数矩阵可以是有限域的元素矩阵。特别地,矩阵是这些数字的按行和列布置的矩形阵列。行向量是只有一行的矩阵,列向量是只有一列的矩阵。术语“向量”指的是行向量或列向量。数字可以被解释为具有一行和一列的矩阵。特别地,第一明文数字矩阵包括至少两行和/或至少两列。
特别地,第一经加密的数据包括数字矩阵(也被称为“第一经加密的数字矩阵”)。特别地,第一经加密的数据可以等同于所述数字矩阵。特别地,第一经加密的数字矩阵是与第一明文数字矩阵在相同域上的矩阵。特别地,第一经加密的数字矩阵具有与第一明文数字矩阵相同的行数和/或相同的列数。
特别地,加密密钥由至少一个整数矩阵组成。特别地,加密密钥恰好相当于一个整数矩阵。特别地,至少一个整数矩阵或恰好一个整数矩阵具有与第一明文数字矩阵相同的行数和/或相同的列数。
特别地,经加密处理的数据包括数字矩阵(也被称为“经加密处理的数字矩阵”)。特别地,经加密处理的数据可以等同于所述数字矩阵。
特别地,经处理的数据(也被称为“经明文处理的数据”)包括数字矩阵(也被称为“经处理的数字矩阵”或“经明文处理的数字矩阵”)。特别地,经处理的数据可以等同于所述数字矩阵。特别地,经处理的数字矩阵是与经加密处理的数字矩阵在相同域上的矩阵。特别地,经处理的数字矩阵具有与经加密的数字矩阵相同的行数和/或相同的列数。
特别地,处理实体与第一加密实体和解密实体不同。特别地,处理实体在空间上与第一加密实体和解密实体分开。第一加密实体和解密实体可以指相同的实体,也可以指不同的实体。特别地,处理实体可以是云处理实体或服务器处理实体。
发明人认识到,通过使用根据本发明的方法,可以在处理实体处处理数据,而处理实体没有访问明文数据的可能性。此外,特别地由于使用整数加密密钥,基于矩阵乘法的加密非常有效,原因是整数运算可以比浮点运算更快地被执行。此外,由于通常可以从线性代数计算的方面来表达机器学习算法,因此加密过程和解密过程可以有效地用于机器学习算法。
根据本发明的另一方面,该方法包括:由第二加密实体接收第二明文数据,第二明文数据包括数字矩阵;由第二加密实体基于第二明文数据与加密密钥的矩阵乘法来同态加密第二明文数据,从而生成第二经加密的数据;以及由第二加密实体将第二经加密的数据发送至处理实体,其中,经加密处理的数据还基于第二经加密的数据。
特别地,第二明文数据是用于机器学习算法的训练数据。特别地,第二明文数据包括用于机器学习算法的训练输入数据以及相应的真实数据,使得可以基于其应用于训练输入数据的结果与真实数据的比较来训练机器学习算法。
第二明文数据包括数字矩阵(也被称为“第二明文数字矩阵”)。特别地,第二明文数据可以等同于所述数字矩阵。特别地,第二明文数据可以包括与训练输入数据对应的第一数字矩阵和与相应真实数据对应的第二数字矩阵。
特别地,第二明文数字矩阵是与第一明文数字矩阵在相同域上的矩阵。特别地,第二明文数字矩阵具有与第一明文数字矩阵相同的行数和/或相同的列数。
特别地,第二经加密的数据包括数字矩阵(也被称为“第二经加密的数字矩阵”)。特别地,第二经加密的数据可以等同于所述数字矩阵。特别地,第二经加密的数字矩阵是与第二明文数字矩阵在相同域上的矩阵。特别地,第二经加密的数字矩阵具有与第二明文数字矩阵相同的行数和/或相同的列数。
特别地,处理实体与第二加密实体不同。特别地,处理实体在空间上与第二加密实体分开。第一加密实体和解密实体可以指相同的实体,也可以指不同的实体。第二加密实体和解密实体可以指相同的实体,也可以指不同的实体。
特别地,第一加密实体和第二加密实体可以是相同的实体,而解密实体与第一加密实体和第二加密实体二者都不同。特别地,第一加密实体和解密实体可以是相同的实体,而第二加密实体与第一加密实体和解密实体二者都不同。特别地,第一加密实体、第二加密实体和解密实体可以成对地不同。
发明人认识到,通过使用来自第二加密实体的加密数据,可以在处理实体处处理来自不同机构的数据,而处理实体不能访问明文数据。在机器学习的情况下,这使得能够从处理实体内的不同加密实体收集数据,以训练统一的机器学习模型。
根据另一可能的方面,该方法还包括:由处理实体处理第一经加密的数据和/或第二经加密的数据,从而生成经加密处理的数据。特别地,处理的步骤可以包括基于第一经加密的数据和/或第二经加密的数据包括的数字矩阵的线性代数计算。
发明人认识到,通过在处理实体内处理第一经加密的数据和/或第二经加密的数据,可以使用处理实体的更大计算能力,使得与第一加密实体和/或第二加密实体内的处理相比,该处理更快。
根据本发明的另一方面,第一经加密的数据和/或第二经加密的数据是数字矩阵,并且处理第一经加密的数据和/或第二经加密的数据包括以下操作中的至少一个:第一经加密的数据和/或第二经加密的数据的逆;数字与第一经加密的数据和/或第二经加密的数据的标量乘法;第一经加密的数据和第二经加密的数据的加法或减法;以及第一经加密的数据和第二经加密的数据的矩阵乘法。
发明人认识到,通过所述运算,可以创建基于第一经加密的数据和/或第二经加密的数据的所有线性代数运算。同时,由于同态加密,也可以通过以下操作来执行基于第一明文数据和/或第二明文数据的所有线性代数运算:对数据进行加密;在处理实体处对经加密的数据进行处理;以及再次对数据进行解密。
根据本发明的另一方面,处理第一经加密的数据和/或第二经加密的数据包括训练机器学习模型。
通常,机器学习模型模仿人类与其他人类思维相关联的认知功能。特别地,通过基于训练数据进行训练,机器学习模型能够适应新环境并检测和推断模式。
通常,可以借助于训练来调整机器学习模型的参数。特别地,可以使用监督训练、半监督训练、无监督训练、强化学习和/或主动学习。此外,可以使用表示学习(另一个术语是“特征学习”)。特别地,可以通过几个训练步骤来反复地调整机器学习模型的参数。
特别地,机器学习模型可以包括神经网络、支持向量机、决策树和/或贝叶斯网络,以及/或者机器学习模型可以基于k均值聚类、Q-学习、遗传算法和/或关联规则。特别地,神经网络可以是深度神经网络、卷积神经网络或卷积深度神经网络。此外,神经网络可以是对抗网络、深度对抗网络和/或生成式对抗网络。
发明人认识到,在机器学习模型的训练中必须使用大量训练数据集,以有益地训练源自不同实体的数据集。与通常在本地实体处进行处理相比,通过在云实体处进行处理,这些大量数据可以更有效地且特别是更快地被处理。通过使用根据本发明的同态加密,所述快速处理还可以被用在不应向处理实体公开训练数据集的情况下。
根据本发明的另一方面,确定加密密钥的步骤包括生成随机整数矩阵以及确定单模整数矩阵,其中,单模整数矩阵和随机整数矩阵的矩阵乘积等于随机整数矩阵的埃尔米特范式。根据该方面,加密密钥包括单模整数矩阵、交换矩阵和单模整数矩阵的逆的矩阵乘积。特别地,这个矩阵乘积的结果是对合矩阵。
特别地,随机整数矩阵是整数矩阵,其中,每个条目是随机整数。特别地,随机整数矩阵的每个条目的随机分布独立于随机整数矩阵的其他条目(换言之,随机整数矩阵的条目在统计上是独立的)。特别地,随机整数矩阵的每个条目均是均匀分布的。
单模矩阵是具有行列式+1或-1的平方整数矩阵。等效地,单模矩阵是在整数上可逆的整数矩阵,换言之,存在作为其逆的整数矩阵。
交换矩阵是反对角矩阵,其副对角线(counter-diagonal)条目为1,并且所有其他条目均为0。对于任意域,“1”相当于乘法运算的中性元素,“0”相当于加法运算的中性元素。“交换矩阵”的同义词是“反转矩阵”、“反向单位矩阵”和/或“标准对合置换矩阵”。
发明人认识到,单模整数矩阵、交换矩阵和单模整数矩阵的逆的矩阵乘积是对合整数矩阵。通过使用基于对合整数矩阵的加密密钥,不需要专门计算对合矩阵的矩阵逆,从而使得减少了加密和解密的工作量。此外,关于整数矩阵的计算比关于浮点数的计算更快。如果明文数据也可以被表示为整数矩阵(例如,在图像数据的情况下,其中每个像素可以包括整数强度值),则这是特别相关的。
根据本发明的另一可能的方面,第一明文数据和/或第二明文数据是整数矩阵。发明人认识到,通过使用整数矩阵,加密和解密所需的计算不涉及浮点运算,因此可以更快地执行加密和解密。
根据本发明的另一可能的方面,第一明文数据和加密密钥是有限域上的矩阵。发明人认识到,基于有限域,数字的除法也不会产生浮点数,从而使得可以在没有浮点运算的情况下处理除法的结果。
根据本发明的另一方面,经处理的数据包括机器学习模型的参数。根据本发明的另一方面,机器学习模型是人工神经网络,并且经处理的数据包括人工神经网络的边权重。
发明人认识到,在机器学习模型的训练中必须使用大量训练数据集,以有益地训练源自不同实体的数据集。与通常在本地实体处进行处理相比,通过在云实体处进行处理,这些大量数据可以更有效地且特别是更快地被处理。通过使用根据本发明的同态加密,所述快速处理还可以被用在不应向处理实体公开训练数据集的情况下。此外,机器学习模型的参数——或者特别是人工神经网络的边权重——是用于在预测阶段中使用机器学习模型的相关数据。
根据本发明的另一方面,该方法包括:由第一加密实体接收来自处理实体的经加密处理的数据;由第一加密实体解密经加密处理的数据,从而生成经处理的数据;以及由第一加密实体验证经处理的数据。
发明人认识到,通过验证经处理的数据,可以确保经处理的数据是正确的并且没有被处理实体损坏。
根据第二方面,本发明涉及一种用于提供经处理的数据的提供系统,该提供系统包括第一加密实体和解密实体,
其中,第一加密实体被配置成用于接收第一明文数据,第一明文数据包括数字矩阵,
其中,第一加密实体被配置成用于确定加密密钥,加密密钥包括整数矩阵,
其中,第一加密实体被配置成用于基于第一明文数据和加密密钥的矩阵乘法对第一明文数据进行同态加密,从而生成第一经加密的数据,
其中,第一加密实体被配置成用于将第一经加密的数据发送至处理实体,
其中,解密实体被配置成用于接收来自处理实体的经加密处理的数据,其中,经加密处理的数据基于第一经加密的数据,
其中,解密实体被配置成用于基于经处理的数据和加密密钥的逆的矩阵乘法来解密经加密处理的数据,从而生成经处理的数据,
其中,解密实体被配置成用于提供经处理的数据。
特别地,提供系统被配置成用于执行根据本发明及其方面的用于提供经处理的数据的方法。特别地,提供系统被配置成用于执行由第一加密实体提供经处理的数据的方法,解密实体和处理实体被配置成用于执行提供经处理的数据的方法的单个步骤。
根据本发明的另一方面,该提供系统还包括处理实体,该处理实体被配置成用于处理第一经加密的数据,从而生成经加密处理的数据。
根据第三方面,本发明涉及一种包括指令的计算机程序,当所述程序由提供系统执行时,所述指令使提供系统执行根据本发明及其方面所述的方法。
根据第四方面,本发明涉及一种包括指令的计算机可读介质,所述指令在由提供系统执行时使提供系统执行根据本发明及其方面所述的方法。
通过计算机程序产品和/或计算机可读介质来实现本发明具有以下优点:可以通过软件更新容易地采用已经存在的提供系统,以便如由本发明所提出的那样工作。
计算机程序产品可以是例如计算机程序或包括除计算机程序之外的另一要素。该其他要素可以是:硬件,例如其上存储有计算机程序的存储设备、用于使用计算机程序的硬件密钥等;以及/或者软件,例如用于使用计算机程序的文档或软件密钥。
附图说明
根据将在附图的上下文中详细描述的以下描述和实施方式,上述本发明的特性、特征和优点以及实现它们的方式变得更清楚且更容易理解。以下描述并不将本发明限制于所包含的实施方式。在不同的附图中,可以用相同的附图标记来标记相同的部件或部分。通常,这些附图不是按比例绘制的。在下面:
图1示出了用于提供经处理的数据的方法的第一实施方式的数据流;
图2示出了用于提供经处理的数据的方法的第二实施方式的数据流;
图3示出了用于提供经处理的数据的方法的第三实施方式的数据流;
图4示出了用于提供经处理的数据的方法的第一实施方式的流程图;
图5示出了用于提供经处理的数据的方法的第二实施方式的流程图;
图6示出了用于提供经处理的数据的方法的第三实施方式的流程图;
图7示出了用于提供经处理的数据的方法的第四实施方式的流程图;
图8示出了用于提供经处理的数据的方法的第五实施方式的流程图;
图9示出了第一加密实体、第二加密实体、解密实体和云实体的实施方式。
具体实施方式
图1和图2示出了用于提供经处理的数据PD的方法的第一实施方式和第二实施方式的数据流。数据流在第一加密实体ENC-E1、第二加密实体ENC-E2、处理实体PROC-E和解密实体DEC-E之间。第二加密实体仅存在于图2中示出的第二实施方式中。在两个实施方式中,实体成对地不同。可替选地,第一加密实体ENC-E1和第二加密实体ENC-E2可以是相同的实体,并且解密实体DEC-E与第一加密实体ENC-E1和第二加密实体ENC-E2不同。可替选地,第一加密实体ENC-E1和解密实体DEC-E可以是相同的实体,并且第二加密实体ENC-E2与第一加密实体ENC-E1和解密实体不同。可替选地,第一加密实体ENC-E1、第二加密实体ENC-E2和解密实体DEC-E可以是相同的实体。
在图1中示出的第一实施方式中,第一加密实体ENC-E1接收第一明文数据D.1并使用存储在第一加密实体ENC-E1内的加密密钥EK,以创建第一经加密的数据ED.1。第一经加密的数据ED.1被传送至处理实体PROC-E,在处理实体PROC-E处,第一经加密的数据ED.1被处理并且经加密处理的数据EPD被生成。经加密处理的数据EPD被传送至解密实体DEC-E,在解密实体DEC-E处,通过使用存储在解密实体DEC-E内的加密密钥EK对经加密处理的数据EPD进行解密以创建经处理的数据PD。然后可以提供经处理的数据PD。
在图2中示出的第二实施方式中,第一加密实体ENC-E1接收第一明文数据D.1并使用存储在第一加密实体ENC-E1内的加密密钥EK,以创建第一经加密的数据ED.1。此外,第二加密实体ENC-E2接收第二明文数据D.2并使用存储在第二加密实体ENC-E2内的加密密钥EK,以创建第二经加密的数据ED.2。第一经加密的数据ED.1和第二经加密的数据ED.2被传送至处理实体PROC-E,在处理实体PROC-E处,第一经加密的数据ED.1和第二经加密的数据ED.2被处理并且经加密处理的数据EPD被生成。经加密处理的数据EPD被传送至解密实体DEC-E,在解密实体DEC-E处,通过使用存储在解密实体DEC-E内的加密密钥EK对经加密处理的数据EPD进行解密,以创建经处理的数据PD。然后可以提供经处理的数据PD。
图3示出了用于提供经处理的数据PD的方法的第三实施方式的数据流。在此,基于由第一加密实体ENC-E1接收和/或确定的随机整数矩阵RIM和单模整数矩阵UIM来计算加密密钥EK。
特别地,如果A表示加密密钥为整数n×n矩阵,R表示随机整数n×n矩阵R,U表示单模整数n×n矩阵UIM,则U被选择成使得H=U·R,其中,H是上三角(也就是说,对于i>j,Hij=0)矩阵,其中任何为零的行位于任何其他行的下方,其中,对于H,非零行的首项系数(从左边起的第一个非零条目,也被称为主元)始终严格位于其上方的行的首项系数的右侧,并且首项系数为正,并且其中,对于H,主元下方的元素为零且主元上方的元素是非负的并且严格小于主元。对于给定的R,甚至可以在多项式时间内计算矩阵H和U,例如参见以下文献:R.Kannan和A.Bachem,“Polynomial Algorithms for Computing the Smith and HermiteNormal Forms of an Integer Matrix”,工业与应用数学会计算杂志(SIAM Journal onComputing),8:4(1979年),doi:10.1137/0208040,第499页至第507页。
作为加密密钥EK的矩阵A然后可以被确定为A=U·IF·U-1,其中,IF是交换n×n矩阵,其中对于i=n-j+1,IF,ij=1,否则IF,ij=0。所以A实际上是对合矩阵(involuntarymatrix),原因是A-1=(U·IF·U-1)-1=U-1·IF -1·U=U·IF·U-1=A。因为IF·IF=id,所以IF -1=IF。使用对合矩阵作为加密密钥具有以下优点:不需要单独计算这些矩阵的矩阵逆。
下面将展示处理实体PROC-E可以如何执行不同的线性代数运算。在下文中,A将表示加密密钥EK。特别地,A是对合矩阵,这意味着A-1=A。矩阵D将表示明文数据D.1、D.2,矩阵C将表示经加密的数据ED.1、ED.2。
矩阵逆
设D为n×n矩阵,设A为对合n×n矩阵。加密矩阵C可以被计算为C=A·D·A-1。在处理实体内,可以计算经加密的矩阵C的逆C-1,即经加密处理的数据EPD。然后可以基于矩阵A将经处理的数据PD计算为A-1·C-1·A=A-1·(A·D·A-1)-1·A=D-1。
可替选地,加密矩阵C可以被计算为C=A·D。在处理实体内,可以计算加密矩阵C的逆C-1,即经加密处理的数据EPD。然后可以基于矩阵A将经处理的数据PD计算为C-1·A=(A·D)-1·A=D-1。
方阵(square matrix)的乘法
设D1和D2为n×n矩阵(均对应于第一明文数据D.1,或者一个对应于第一明文数据D.1,另一个对应于第二明文数据D.2),设A是对合n×n矩阵(对应于加密密钥EK)。经加密的矩阵C1和C2(均对应于第一经加密的数据ED.1,或者一个对应于第一经加密的数据ED.1,另一个对应于第二经加密的数据ED.2)可以分别被计算为C1=A·D1·A-1和C2=A·D2·A-1。
在云计算环境中,可以计算经加密的矩阵C1和C2的乘积C1·C2,即经加密处理的数据EPD。然后可以基于矩阵A将经处理的数据PD计算为A-1·C1·C2·A=A-1·A·D1·A-1·A·D2·A-1·A=D1·D2,并且其实际上相当于明文矩阵D1和D2的乘积D1·D2。
可替选地,经加密的矩阵C1和C2可以被分别计算为C1=A·D1和C2=D2·A-1。然后仍然可以基于矩阵A将经处理的数据PD计算为A-1·C1·C2·A=A-1·A·D1·D2·A-1·A=D1·D2,并且其实际上相当于明文矩阵D1和D2的乘积D1·D2。
方阵和向量的乘法
设D1为n×n矩阵,设D2为n×1列向量,设D3为1×n行向量(对应于第一明文数据D.1以及/或者对应于第二明文数据D.2),并设A是对合n×n矩阵(对应于加密密钥EK)。经加密的矩阵C1、C2和C3(对应于第一经加密的数据ED.1以及/或者对应于第二经加密的数据ED.2)可以被分别计算为C1=A·D1·A-1、C2=A·D2和C3=D3·A-1。
在处理实体内,可以计算经加密的矩阵C1和经加密的列向量C2的乘积C1·C2,或者可以计算经加密的矩阵C1和经加密的行向量C3的乘积C3·C1,对应于经加密处理的数据EPD。然后可以基于矩阵A将经处理的数据PD计算为A-1·C1·C2=A-1·A·D1·A-1·A·D2=D1·D2或C3·C1·A=D3·A-1·A·D1·A-1·A=D3·D1,并且其实际上相当于明文矩阵D1与明文列向量D2的乘积D1·D2或明文矩阵D1与明文行向量D3的乘积D3·D1。
标量乘法
设D1为m×n矩阵,设d为标量数(对应于第一明文数据D.1)。此外,设A1为对合m×m矩阵,设A2为对合n×n矩阵(对应于加密密钥EK)。经加密的矩阵C1(对应于第一经加密的数据ED.1)可以被计算为C1=A1·D1·A2 -1。
在处理实体内,可以计算经加密的矩阵C1与标量d的标量乘积dC1,对应于经加密处理的数据EPD。然后可以基于矩阵A1和A2将经处理的数据PD计算为A1 -1·dC1·A2=dA1 -1·A1·D1·A2 -1·A2=dD1,并且其实际上相当于明文矩阵D1和标量d的乘积dD1。
可替选地,可以将经加密的矩阵C1计算为C1=A1·D1,并且可以仅基于矩阵A1将经处理的数据PD计算为A1 -1·dC1=dA1 -1·A1·D1=dD1,并且其实际上相当于明文矩阵D1和标量d的乘积dD1。
矩形矩阵的乘法
设D1为k×m矩阵,设D2为m×n矩阵(对应于第一明文数据D.1和/或第二明文数据D.2),k、m和n是整数。此外,设A1为对合k×k矩阵,设A2为对合m×m矩阵,设A3为对合n×n矩阵(对应于加密密钥EK)。经加密的矩阵C1和C2(对应于第一经加密的数据ED.1以及/或者对应于第二经加密的数据ED.2)可以分别被计算为C1=A1·D1·A2 -1和C2=A2·D2·A3 -1。
在处理实体内,可以计算经加密的矩阵C1和经加密的矩阵C2的乘积C1·C2,对应于经加密处理的数据EPD。然后可以基于矩阵A1和A3将经处理的数据PD计算为A1 -1·C1·C2·A3=A1 -1·A1·D1·A2 -1·A2·D2·A3 -1·A3=D1·D2,并且其实际上相当于明文矩阵D1和明文矩阵D2的乘积D1·D2。
可替选地,经加密的矩阵C1和C2可以分别被计算为C1=A1·D1和C2=D2·A3 -1。然后仍然可以基于矩阵A1和A3将经处理的数据PD计算为A1 -1·C1·C2·A3=A1 -1·A1·D1·D2·A3 -1·A3=D1·D2,并且其实际上相当于明文矩阵D1和明文矩阵D2的乘积D1·D2。
矩形矩阵的和
设D1和D2为m×n矩阵(对应于第一明文数据D.1和/或第二明文数据D.2),m和n为整数。此外,设A1为对合m×m矩阵,设A2为对合n×n矩阵(对应于加密密钥EK)。经加密的矩阵C1和C2(对应于第一经加密的数据ED.1以及/或者对应于第二经加密的数据ED.2)可以分别被计算为C1=A1·D1·A2 -1和C2=A1·D2·A2 -1。
在处理实体内,可以计算经加密的矩阵C1和经加密的矩阵C2的和C1+C2,对应于经加密处理的数据EPD。然后可以基于矩阵A1和A3将经处理的数据PD计算为A1 -1·(C1+C2)·A2=A1 -1·A1·D1·A2 -1·A2+A1 -1·A1·D2·A2 -1·A2=D1+D2,并且其实际上相当于明文矩阵D1和明文矩阵D2的和D1+D2。
图4示出了用于提供经处理的数据PD的方法的第一实施方式的流程图。
第一实施方式的第一步骤是:由第一加密实体ENC-E1接收REC-D.1第一明文数据D.1,第一明文数据D.1包括数字矩阵。在本实施方式中,第一明文数据D.1为二维或三维医学图像,其被编码为整数向量(例如,矩阵的值可以对应于某个患者的计算机断层扫描成像的切片的豪恩斯弗尔德(Hounsfield)单元。例如,如果二维医学图像具有128×128个像素,则它可以被编码为具有128·128=16384个条目的整数向量。可替选地,第一明文数据D.1可以是其他数据,例如患者测量值的向量或矩阵(例如,实验室结果、患者的体重、患者的血压),特别是这样的患者的时间分辨数据。
第一实施方式的下一个步骤是:由第一加密实体ENC-E确定DET-EK加密密钥EK,加密密钥EK包括整数矩阵。在本实施方式中,加密密钥EK相当于随机整数矩阵,其中随机整数矩阵的每个条目是由随机数生成器分别生成的0和某个最大值之间的整数。例如,如果明文数据D.1是具有128·128=16384个条目的整数向量,则加密密钥可以是16384×16384的整数矩阵。
第一实施方式的下一个步骤是:由第一加密实体ENC-E基于第一明文数据D.1和加密密钥EK的矩阵乘法来同态加密ENC-D.1第一明文数据D.1,从而生成第一经加密的数据ED.1。在本实施方式中,第一经加密的数据ED.1是加密密钥EK的整数矩阵与表示明文数据D.1所包括的医学图像的矩阵(可替选地,表示患者数据的向量或矩阵)相乘的结果。
第一实施方式的接下来的步骤是:由第一加密实体ENC-E1向处理实体PROC-E发送SND-ED.1第一经加密的数据ED.1;以及由解密实体DEC-E接收REC-EPD来自处理实体PROC-E的经加密处理的数据EPD,其中,经加密处理的数据EPD基于第一经加密的数据ED.1。在本实施方式中,第一加密实体ENC-E1和处理实体PROC-E是可以位于不同地理位置处的不同实体。可替选地,第一加密实体ENC-E1和处理实体PROC-E可以是相同的实体。
在本实施方式中,经加密处理的数据EPD是表示卷积核的矩阵与第一经加密的数据ED.1的矩阵乘法的结果。对于本领域技术人员熟知的是,可以根据矩阵乘法来表达具有某个滤波器核的卷积。特别地,这种具有核的卷积可以被用于图像中的模糊、锐化、浮雕(embossing)或边缘检测。
第一实施方式的下一个步骤是:由解密实体DEC-E基于经处理的数据EPD和加密密钥EK的逆的矩阵乘法对经加密处理的数据EPD进行解密DEC-EPD,从而生成经处理的数据PD。在本实施方式中,经处理的数据又是与二维图像相对应的向量,其条目可以被重新布置为二维图像,即第一明文数据D.1与卷积核的卷积的结果。
所示出的第一实施方式的最后的步骤是:由解密实体DEC-E提供PROV-PD经处理的数据PD。特别地,提供PROV-PD经处理的数据PD可以包括存储、传送或显示经处理的数据PD。
图5示出了用于提供经处理的数据PD的方法的第二实施方式的流程图。第二实施方式包括图4中示出的第一实施方式的所有步骤,并且这些步骤可以包括关于图4描述的所有特征和实施方式。
此外,第二实施方式包括以下步骤:由处理实体PROC-E处理PROC第一经加密的数据ED.1,从而生成经加密处理的数据EPD。在该第二实施方式中,通过将第一经加密的数据ED.1与对应于基于核的卷积运算的矩阵相乘来对第一经加密的数据ED.1进行处理。
图6示出了用于提供经处理的数据PD的方法的第三实施方式的流程图。第三实施方式包括图5中示出的第二实施方式的所有步骤,并且这些步骤可以包括关于图5描述的所有特征和实施方式。
此外,第三实施方式包括:由第二加密实体ENC-E2来接收REC-D.2第二明文数据D.2,第二明文数据D.2包括数字矩阵。在该第三实施方式中,第一加密实体ENC-E1和第二加密实体ENC-E2是分开的实体。特别地,与第一明文数据D.1一样,第二明文数据D.2可以包括所有有利特征和实施方式。
在该第三实施方式中,第二明文数据D.2包括要在第一明文数据D.1上使用的卷积核。特别地,如果第一明文数据D.1对应于包括128×128个像素的医学图像,该医学图像可以被编码为具有128·128=16384个条目的整数向量,则第二明文数据可以是具有16384×16384个条目的矩阵,每个条目对应于利用核对一对像素进行卷积的效果。特别地,可以将第二明文数据D.2存储为稀疏矩阵。
第三实施方式还包括以下可选步骤:将加密密钥EK特别地从第一加密实体ENC-E1传送TRM-EK至第二加密实体ENC-E2。传送TRM-EK加密密钥EK的步骤可以直接传送加密密钥EK,或者可替选地传送允许重构加密密钥EK的数据。
此外,第三实施方式包括:由第二加密实体ENC-E2基于第二明文数据D.2和加密密钥EK的矩阵乘法对第二明文数据D.2进行同态加密ENC-D.2,从而生成第二经加密的数据ED.2。特别地,如上所述,在该第三实施方式中,第二经加密的数据ED.2基于第二明文数据D.2、加密密钥EK和加密密钥EK的逆的矩阵乘法。
此外,第三实施方式包括:由第二加密实体ENC-E2向处理实体PROC-E发送SND-ED.2第二经加密的数据ED.2。在第三实施方式中,经加密处理的数据EPD还基于第二经加密的数据ED.2。特别地,经加密处理的数据是第二经加密的数据ED.2和第一经加密的数据ED.1的矩阵乘积。
图7示出了用于提供经处理的数据PD的方法的第四实施方式的流程图。第四实施方式包括图5中示出的第二实施方式的所有步骤,并且这些步骤可以包括关于图5描述的所有特征和实施方式。
该方法的所示出的第四实施方式还包括以下步骤:由第一加密实体ENC-E1从处理实体PROC-E接收REC-EPD'经加密处理的数据EPD。在本实施方式中,在处理实体PROC-E对第一经加密的数据ED.1和/或第二经加密的数据ED.2进行处理PROC的步骤以及作为响应自动执行接收REC-EPD经加密处理的数据EPD的步骤之后,处理实体PROC-E自动将经加密处理的数据EPD发送至第一加密实体ENC-E1。可替选地,接收REC-EPD'的步骤可以包括:第一加密实体ENC-E1向处理实体PROC-E请求提供经加密处理的数据EPD;以及处理实体PROC-E作为对这个请求的响应而发送经加密处理的数据EPD。
第四实施方式还包括以下步骤:由第一加密实体ENC-E1解密DEC-EPD'经加密处理的数据EPD,从而生成经处理的数据PD。在本实施方式中,解密DEC-EPD'经加密处理的数据EPD是基于加密密钥EK,并且是使用加密密钥进行加密的逆操作。特别地,由第一加密实体ENC-E1解密DEC-EPD'经加密处理的数据EPD的步骤相当于由解密实体DEC-ED解密DEC-EPD经加密处理的数据EPD的步骤。
第四实施方式的另外的附加步骤是:由第一加密实体ENC-E1验证VRF-PD经处理的数据PD。在本实施方式中,验证VRF-PD经处理的数据PD包括:基于第一明文数据D.1和/或第二明文数据D.2直接计算经处理的数据PD的仅一部分;以及将这些部分与通过解密DEC-EPD'经加密处理的数据EPD而生成的经处理的数据PD的相应部分进行比较。例如,在本实施方式中,仅对某些像素或体素执行卷积运算,并且仅将那些像素与解密DEC-EPD'经加密处理的数据EPD的结果进行比较。通过仅计算这些部分,可以减少第一加密实体ENC-E1的计算时间。
图8示出了用于提供经处理的数据PD的方法的第五实施方式的流程图。第五实施方式包括图4中示出的第一实施方式的所有步骤,并且这些步骤可以包括关于图4描述的所有特征和实施方式。
在该第五实施方式中,由第一加密实体ENC-E确定DET-EK加密密钥EK的步骤包括以下子步骤:生成GEN-RIM随机整数矩阵RIM以及确定DET-UIM单模整数矩阵UIM。在本文中,单模整数矩阵UIM和随机整数矩阵RIM的矩阵乘积等于随机整数矩阵RIM的埃尔米特(hermite)范式,并且加密密钥EK包括交换矩阵的单模整数矩阵UIM和单模整数矩阵UIM的逆的矩阵乘积。
特别地,第五实施方式对应于图3中示出的数据流图。
图9示出了第一加密实体ENC-E1、第二加密实体ENC-E2、解密实体DEC-E和云实体PROC-E的实施方式。第一加密实体ENC-E1包括接口ENC-E1.IF、计算单元ENC-E1.CU和存储单元ENC-E1.MU。第二加密实体ENC-E2包括接口ENC-E1.IF、计算单元ENC-E2.CU和存储单元ENC-E2.MU。解密实体DEC-E包括接口DEC-E.IF、计算单元DEC-E.CU和存储单元DEC-E.MU。云实体PROC-E包括接口CLD-E.IF、计算单元CLD-E.CU和存储单元CLD-E.MU。
第一加密实体ENC-E1、第二加密实体ENC-E2、解密实体DEC-E和/或云实体PROC-E可以是(个人)计算机、工作站、运行在主机硬件上的虚拟机、微控制器或集成电路。特别地,第一加密实体ENC-E1、第二加密实体ENC-E2和/或解密实体DEC-E可以是移动设备,例如智能电话或平板计算机。作为替选,第一加密实体ENC-E1、第二加密实体ENC-E2、解密实体DEC-E和/或云实体PROC-E可以是真实或虚拟的计算机组(真实的计算机组的技术术语是“集群”,虚拟的计算机组的技术术语是“云”)。
接口ENC-E1.IF、ENC-E2.IF、DEC-E.IF、PROC-E.IF可以被实现为硬件接口或软件接口(例如,PCI总线、USB或固件)。通常,计算单元ENC-E1.CU、ENC-E2.CU、DEC-E.CU、PROC-E.CU可以包括硬件元件和软件元件,例如微处理器、CPU(“central processing unit(中央处理单元)”的首字母缩略词)、GPU(“graphical processing unit(图形处理单元)”的首字母缩略词)、现场可编程门阵列(首字母缩略词是“FPGA”)或ASIC(“application-specificintegrated circuit(专用集成电路)”的首字母缩略词)。计算单元ENC-E1.CU、ENC-E2.CU、DEC-E.CU、PROC-E.CU可以被配置成用于多线程,即计算单元ENC-E1.CU、ENC-E2.CU、DEC-E.CU、PROC-E.CU可以同时承载不同的计算进程,以并行地执行或者在主动计算进程与被动计算进程之间切换。存储单元ENC-E1.MU、ENC-E2.MU、DEC-E.MU、PROC-E.MU可以是例如非永久性主存储器(例如,随机存取存储器)或永久性大容量存储装置(例如,硬盘、U盘、SD卡、固态盘)。
接口ENC-E1.IF、ENC-E2.IF、DEC-E.IF、PROC-E.IF中的任何一个可以包括几个(可能在空间上)独立的子接口,每个子接口具有上述接口的特性。计算单元ENC-E1.CU、ENC-E2.CU、DEC-E.CU、PROC-E.CU中的任何一个可以包括几个(可能在空间上)独立的计算子单元,每个计算子单元具有上述计算单元的特性。存储单元ENC-E1.MU、ENC-E2.MU、DEC-E.MU、PROC-E.MU中的任何一个可以包括几个(可能在空间上)独立的存储子单元,每个存储子单元具有上述存储单元的特性。
第一加密实体ENC-E1、第二加密实体ENC-E2、解密实体DEC-E和/或云实体PROC-E借助于网络NETW而连接。网络NETW可以是局域网(首字母缩略词是“LAN”)如内联网、广域网(首字母缩略词是“WAN”)如因特网、或者它们的组合。网络NETW可以包括无线通信组件,例如WiFi或蓝牙。
在尚未明确描述的任何地方,只要这样的组合或交换是有意义的并且在本发明的意义上,单独的实施方式或其单独的方面和特征就可以彼此组合或交换而不限制或扩大所描述的发明的范围。关于本发明的一个实施方式描述的优点在适用的情况下也是本发明的其他实施方式的优点。
以下条款也构成本公开内容的一部分:
条款1:一种用于将第一经加密的数据ED.1发送至处理实体PROC-E的计算机实现的方法,包括:
接收REC-D.1第一明文数据D.1,所述第一明文数据D.1包括数字矩阵,
确定DET-EK加密密钥EK,所述加密密钥EK包括整数矩阵,
基于所述第一明文数据D.1和所述加密密钥EK的矩阵乘法对所述第一明文数据D.1进行同态加密ENC-D.1,从而生成所述第一经加密的数据ED.1,
将所述第一经加密的数据ED.1发送SND-ED.1至所述处理实体PROC-E。
条款2:根据条款1所述的方法,还包括:
由所述处理实体PROC-E处理PROC所述第一经加密的数据ED.1,从而生成所述经加密处理的数据EPD。
条款3:根据条款2所述的方法,其中,所述第一经加密的数据ED.1包括至少一个数字矩阵,其中,处理PROC所述第一经加密的数据ED.1包括以下操作中的至少一个:
所述第一经加密的数据ED.1的逆,
数字和所述第一经加密的数据ED.1的标量乘法,
所述第一经加密的数据ED.1和另一数字矩阵的加法或减法,
所述第一经加密的数据ED.1和另一数字矩阵的矩阵乘法。
条款4:根据条款3所述的方法,其中,处理PROC所述第一经加密的数据ED.1包括训练机器学习模型。
条款5:根据前述条款中的一项所述的方法,其中,确定DET-EK所述加密密钥EK的步骤包括:
生成GEN-RIM随机整数矩阵RIM,
确定DET-UIM单模整数矩阵UIM,其中,所述单模整数矩阵UIM和所述随机整数矩阵RIM的矩阵乘积等于所述随机整数矩阵RIM的埃尔米特范式,
其中,所述加密密钥EK包括所述单模整数矩阵UIM、交换矩阵和所述单模整数矩阵UIM的逆的矩阵乘积。
条款6:根据前述条款中的一项所述的方法,其中,所述第一明文数据D.1包括整数矩阵。
条款7:根据条款1至5中的一项所述的方法,其中,所述第一明文数据D.1和所述加密密钥EK是有限域上的矩阵。
条款8:一种第一加密实体ENC-E1,包括:
用于接收REC-D.1第一明文数据D.1的装置,所述第一明文数据D.1包括数字矩阵,
用于确定DET-EK加密密钥EK的装置,所述加密密钥EK包括整数矩阵,
用于基于所述第一明文数据D.1和所述加密密钥EK的矩阵乘法对所述第一明文数据D.1进行同态加密ENC-D.1从而生成第一经加密的数据ED.1的装置,
用于将所述第一经加密的数据ED.1发送SND-ED.1至处理实体PROC-E的装置。
条款9:一种包括指令的计算机程序,当所述程序由第一加密实体ENC-E1执行时,所述指令使所述第一加密实体ENC-E1执行根据条款1至7中的一项所述的方法。
条款10:一种包括指令的计算机可读介质,所述指令在由第一加密实体ENC-E1执行时使所述第一加密实体ENC-E1执行根据条款1至7中的一项所述的方法。
Claims (15)
1.一种用于提供经处理的数据(PD)的计算机实现的方法,包括:
由第一加密实体(ENC-E1)接收(REC-D.1)第一明文数据(D.1),所述第一明文数据(D.1)包括数字矩阵,
由所述第一加密实体(ENC-E)确定(DET-EK)加密密钥(EK),所述加密密钥(EK)包括整数矩阵,
由所述第一加密实体(ENC-E)基于所述第一明文数据(D.1)和所述加密密钥(EK)的矩阵乘法对所述第一明文数据(D.1)进行同态加密(ENC-D.1),从而生成第一经加密的数据(ED.1),
由所述第一加密实体(ENC-E1)将所述第一经加密的数据(ED.1)发送(SND-ED.1)至处理实体(PROC-E),
由解密实体(DEC-E)接收(REC-EPD)来自所述处理实体(PROC-E)的经加密处理的数据(EPD),其中,所述经加密处理的数据(EPD)基于所述第一经加密的数据(ED.1),
由所述解密实体(DEC-E)基于所述经加密处理的数据(EPD)和所述加密密钥(EK)的逆的矩阵乘法对所述经加密处理的数据(EPD)进行解密(DEC-EPD),从而生成经处理的数据(PD),
由所述解密实体(DEC-E)提供(PROV-PD)所述经处理的数据(PD),
其特征在于,
确定(DET-EK)所述加密密钥(EK)的步骤包括以下步骤:
生成(GEN-RIM)随机整数矩阵(RIM),
确定(DET-UIM)单模整数矩阵(UIM),其中,所述单模整数矩阵(UIM)和所述随机整数矩阵(RIM)的矩阵乘积等于所述随机整数矩阵(RIM)的埃尔米特范式,
其中,所述加密密钥(EK)包括所述单模整数矩阵(UIM)、交换矩阵和所述单模整数矩阵(UIM)的逆的矩阵乘积。
2.根据权利要求1所述的方法,还包括:
由第二加密实体(ENC-E2)接收(REC-D.2)第二明文数据(D.2),所述第二明文数据(D.2)包括数字矩阵,
由所述第二加密实体(ENC-E2)基于所述第二明文数据(D.2)和所述加密密钥(EK)的矩阵乘法对所述第二明文数据(D.2)进行同态加密(ENC-D.2),从而生成第二经加密的数据(ED.2),
由所述第二加密实体(ENC-E2)将所述第二经加密的数据(ED.2)发送(SND-ED.2)至所述处理实体(PROC-E),
其中,所述经加密处理的数据(EPD)还基于所述第二经加密的数据(ED.2)。
3.根据权利要求2所述的方法,还包括:
由所述处理实体(PROC-E)处理(PROC)所述第一经加密的数据(ED.1)和/或所述第二经加密的数据(ED.2),从而生成所述经加密处理的数据(EPD)。
4.根据权利要求3所述的方法,其中,所述第一经加密的数据(ED.1)和/或所述第二经加密的数据(ED.2)包括至少一个数字矩阵,
其中,处理(PROC)所述第一经加密的数据(ED.1)和/或所述第二经加密的数据(ED.2)包括以下操作中的至少一个:
所述第一经加密的数据(ED.1)和/或所述第二经加密的数据(ED.2)的逆,
数字与所述第一经加密的数据(ED.1)和/或所述第二经加密的数据(ED.2)的标量乘法,
所述第一经加密的数据(ED.1)和所述第二经加密的数据(ED.2)的加法或减法,
所述第一经加密的数据(ED.1)和所述第二经加密的数据(ED.2)的矩阵乘法。
5.根据权利要求3或4所述的方法,其中,处理(PROC)所述第一经加密的数据(ED.1)和/或所述第二经加密的数据(ED.2)包括训练机器学习模型。
6.根据权利要求2至4中的一项所述的方法,其中,所述第一明文数据(D.1)和/或所述第二明文数据(D.2)是整数矩阵。
7.根据权利要求5所述的方法,其中,所述第一明文数据(D.1)和/或所述第二明文数据(D.2)是整数矩阵。
8.根据权利要求1至4中的一项所述的方法,其中,所述第一明文数据(D.1)和所述加密密钥(EK)是有限域上的矩阵。
9.根据权利要求5所述的方法,其中,所述第一明文数据(D.1)和所述加密密钥(EK)是有限域上的矩阵。
10.根据权利要求1所述的方法,其中,所述经处理的数据(PD)包括机器学习模型的参数。
11.根据权利要求10所述的方法,其中,所述机器学习模型是人工神经网络,并且其中,所述经处理的数据(PD)包括所述人工神经网络的边权重。
12.根据权利要求1至3、10或11中的一项所述的方法,还包括:
由所述第一加密实体(ENC-E1)接收(REC-EPD')来自所述处理实体(PROC-E)的所述经加密处理的数据(EPD),
由所述第一加密实体(ENC-E1)解密(DEC-EPD')所述经加密处理的数据(EPD),从而生成所述经处理的数据(PD),
由所述第一加密实体(ENC-E1)验证(VRF-PD)所述经处理的数据(PD)。
13.一种用于提供经处理的数据(PD)的提供系统(PSYS),包括第一加密实体(ENC-E1)和解密实体(DEC-E),
其中,所述第一加密实体(ENC-E1)被配置成用于接收(REC-D.1)第一明文数据(D.1),所述第一明文数据(D.1)包括数字矩阵,
其中,所述第一加密实体(ENC-E)被配置成用于确定(DET-EK)加密密钥(EK),所述加密密钥(EK)包括整数矩阵,
其中,所述第一加密实体(ENC-E)被配置成用于基于所述第一明文数据(D.1)和所述加密密钥(EK)的矩阵乘法对所述第一明文数据(D.1)进行同态加密(ENC-D.1),从而生成第一经加密的数据(ED.1),
其中,所述第一加密实体(ENC-E1)被配置成用于将所述第一经加密的数据(ED.1)发送(SND-ED.1)至处理实体(PROC-E),
其中,所述解密实体(DEC-E)被配置成用于接收(REC-EPD)来自所述处理实体(PROC-E)的经加密处理的数据(EPD),其中,所述经加密处理的数据(EPD)基于所述第一经加密的数据(ED.1),
其中,所述解密实体(DEC-E)被配置成用于基于所述经加密处理的数据(EPD)和所述加密密钥(EK)的逆的矩阵乘法来解密(DEC-EPD)所述经加密处理的数据(EPD),从而生成经处理的数据(PD),
其中,所述解密实体(DEC-E)被配置成用于提供(PROV-PD)所述经处理的数据(PD),
其特征在于,
确定(DET-EK)所述加密密钥(EK)的步骤包括以下步骤:
生成(GEN-RIM)随机整数矩阵(RIM),
确定(DET-UIM)单模整数矩阵(UIM),其中,所述单模整数矩阵(UIM)和所述随机整数矩阵(RIM)的矩阵乘积等于所述随机整数矩阵(RIM)的埃尔米特范式,
其中,所述加密密钥(EK)包括所述单模整数矩阵(UIM)、交换矩阵和所述单模整数矩阵(UIM)的逆的矩阵乘积。
14.根据权利要求13所述的提供系统(PSYS),还包括处理实体(PROC-E),所述处理实体(PROC-E)被配置成用于处理(PROC)所述第一经加密的数据(ED.1),从而生成所述经加密处理的数据(EPD)。
15.一种包括指令的计算机可读介质,所述指令在由提供系统(PSYS)执行时使所述提供系统(PSYS)执行根据权利要求1至12中的一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020207980.3A DE102020207980B3 (de) | 2020-06-26 | 2020-06-26 | Anonymisierte Erzeugung und Prüfung verarbeiteter Daten |
DE102020207980.3 | 2020-06-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849828A CN113849828A (zh) | 2021-12-28 |
CN113849828B true CN113849828B (zh) | 2022-08-19 |
Family
ID=77659357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110711735.5A Active CN113849828B (zh) | 2020-06-26 | 2021-06-25 | 经处理的数据的匿名生成和证明 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11265143B2 (zh) |
CN (1) | CN113849828B (zh) |
DE (1) | DE102020207980B3 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4304129A1 (en) * | 2022-07-07 | 2024-01-10 | Siemens Healthcare GmbH | Computer-implemented method for providing an encrypted global model trained by federated learning, computer program and providing system |
EP4346157A1 (en) | 2022-09-27 | 2024-04-03 | Siemens Healthineers AG | Computer implemented method for providing an encrypted dataset providing a global trained function, computer implemented method for recovering personal information, computer system and computer program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259643A (zh) * | 2012-08-14 | 2013-08-21 | 苏州大学 | 一种矩阵全同态加密方法 |
CN107294697A (zh) * | 2017-07-21 | 2017-10-24 | 西安电子科技大学 | 基于明文相似矩阵的对称全同态加密方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8515058B1 (en) * | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
US9262643B2 (en) * | 2010-02-22 | 2016-02-16 | Sookasa Inc. | Encrypting files within a cloud computing environment |
US9313028B2 (en) | 2012-06-12 | 2016-04-12 | Kryptnostic | Method for fully homomorphic encryption using multivariate cryptography |
US10075288B1 (en) * | 2014-02-28 | 2018-09-11 | The Governing Council Of The University Of Toronto | Systems, devices, and processes for homomorphic encryption |
US10554390B2 (en) | 2017-06-12 | 2020-02-04 | Microsoft Technology Licensing, Llc | Homomorphic factorization encryption |
US10713535B2 (en) | 2017-09-15 | 2020-07-14 | NovuMind Limited | Methods and processes of encrypted deep learning services |
JP6963277B2 (ja) * | 2017-10-24 | 2021-11-05 | 日本電信電話株式会社 | 変換装置、判定装置、および計算装置 |
-
2020
- 2020-06-26 DE DE102020207980.3A patent/DE102020207980B3/de active Active
-
2021
- 2021-06-17 US US17/350,296 patent/US11265143B2/en active Active
- 2021-06-25 CN CN202110711735.5A patent/CN113849828B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259643A (zh) * | 2012-08-14 | 2013-08-21 | 苏州大学 | 一种矩阵全同态加密方法 |
CN107294697A (zh) * | 2017-07-21 | 2017-10-24 | 西安电子科技大学 | 基于明文相似矩阵的对称全同态加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113849828A (zh) | 2021-12-28 |
US20210409190A1 (en) | 2021-12-30 |
US11265143B2 (en) | 2022-03-01 |
DE102020207980B3 (de) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Hybrid privacy-preserving clinical decision support system in fog–cloud computing | |
Wang et al. | An efficient and privacy-preserving outsourced support vector machine training for internet of medical things | |
Liu et al. | Efficient privacy-preserving online medical primary diagnosis scheme on naive bayesian classification | |
EP3134994B1 (en) | Method of obfuscating data | |
US11381381B2 (en) | Privacy preserving oracle | |
CN113849828B (zh) | 经处理的数据的匿名生成和证明 | |
US11700110B2 (en) | Approximate algebraic operations for homomorphic encryption | |
US11902432B2 (en) | System and method to optimize generation of coprime numbers in cryptographic applications | |
CN113836556A (zh) | 面向联邦学习的去中心化函数加密隐私保护方法及系统 | |
JP2023008395A (ja) | マルチパーティ型準同型暗号によるセキュアでロバストな連合学習システム及び連合学習方法 | |
US20240259180A1 (en) | Blind rotation for use in fully homomorphic encryption | |
EP4087177A1 (en) | Blind rotation for use in fully homomorphic encryption | |
CN116508288B (zh) | 具有改进的数据项表示的全同态密码 | |
KR20240112988A (ko) | 암호화된 값들의 다항식 곱셈 | |
CN113470810B (zh) | 一种保护患者隐私和数据泄漏的在线诊断系统及方法 | |
Liu et al. | Secure medical data on cloud storage via DNA homomorphic encryption technique | |
Al-Saidi et al. | Improved digital signature protocol using iterated function systems | |
KR20240011769A (ko) | Lwe 암호화 값들에 대한 컴퓨팅 | |
WO2022137447A1 (ja) | 秘匿情報処理システムおよび秘匿情報処理方法 | |
Shortell et al. | Secure Convolutional Neural Network using FHE | |
EP4304129A1 (en) | Computer-implemented method for providing an encrypted global model trained by federated learning, computer program and providing system | |
CN116964554B (zh) | 加密标量乘法 | |
CN110417703B (zh) | 一种代理重签名的方法、服务器及终端设备 | |
CN117337553A (zh) | 用于全同态加密的盲旋转 | |
Tang et al. | Lightweight Privacy-Preserving Medical Diagnostic Scheme for Internet of Things Healthcare |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240902 Address after: German Phu F Haim Patentee after: Siemens Medical AG Country or region after: Germany Address before: Erlangen Patentee before: Siemens Healthineers AG Country or region before: Germany |