CN113609495A - 用于同态加密处理的设备和方法、包括该设备的系统 - Google Patents
用于同态加密处理的设备和方法、包括该设备的系统 Download PDFInfo
- Publication number
- CN113609495A CN113609495A CN202110399828.9A CN202110399828A CN113609495A CN 113609495 A CN113609495 A CN 113609495A CN 202110399828 A CN202110399828 A CN 202110399828A CN 113609495 A CN113609495 A CN 113609495A
- Authority
- CN
- China
- Prior art keywords
- homomorphic
- homomorphic encryption
- ciphertext
- domain
- operation level
- 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
Links
Images
Classifications
-
- 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
- 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
-
- 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
-
- 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/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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
-
- 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/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
提供了一种同态加密处理设备,该同态加密处理设备包括被配置成基于领域信息生成密文运算级别信息的处理电路。领域信息表示应用同态加密处理的技术领域。密文运算级别信息表示在没有自举过程的情况下同态密文之间的乘法运算的最大数量。处理电路还被配置成基于密文运算级别信息选择和输出同态加密参数。处理电路还被配置成基于同态加密参数执行同态加密、同态解密和同态运算中的一个。同态加密处理设备可以根据基于领域信息确定的密文运算级别信息自适应地生成同态加密参数,并且可以基于同态加密参数执行同态加密、同态解密和同态运算。
Description
相关申请的交叉引用
本申请要求于2020年5月4日在韩国知识产权局(KIPO)提交的第10-2020-0053287号韩国专利申请的优先权,其公开内容通过引用全部并入本文。
技术领域
示例实施例一般涉及同态加密技术,更具体地,涉及同态加密处理设备、包括同态加密处理设备的系统和操作同态加密处理设备的方法。
背景技术
同态加密技术支持加密状态下的操作,诸如计算、搜索和分析。随着个人信息泄露成为一个问题,同态加密技术在现代变得越来越重要。然而,根据同态加密技术加密的同态密文的大小可以达到明文大小的几十倍,并且由同态加密技术支持的操作的计算复杂度也可能非常高。
发明内容
一些示例实施例可以提供同态加密处理设备、包括同态加密处理设备的系统和操作同态加密处理设备的方法,该方法能够根据应用同态加密处理的技术领域生成同态加密参数,并且基于同态加密参数执行同态加密、同态解密和同态运算中的一个。
根据示例实施例,同态加密处理设备包括被配置成基于领域信息生成密文运算级别信息的处理电路。领域信息表示应用同态加密处理的技术领域。密文运算级别信息表示在没有自举过程的情况下同态密文之间的乘法运算的最大数量。处理电路还被配置成基于密文运算级别信息选择并输出同态加密参数。处理电路还被配置成基于同态加密参数执行同态加密、同态解密和同态运算中的一个。
根据示例实施例,执行同态加密处理的方法包括接收表示应用同态加密处理的技术领域的领域信息,生成表示在没有自举过程的情况下同态密文之间的乘法运算的最大数量的密文运算级别信息,基于密文运算级别信息选择同态加密参数,并基于同态加密参数执行同态加密、同态解密和同态运算中的一个。
根据示例实施例,同态加密系统包括同态加密处理服务器和被配置成向同态加密服务器请求服务的一个或多个同态加密客户端。同态加密处理服务器和同态加密客户端中的至少一个包括同态加密处理设备。同态加密处理设备包括处理电路,该处理电路被配置成基于领域信息生成密文运算级别信息(领域信息表示应用同态加密处理的技术领域,密文运算级别信息表示在没有自举过程的情况下同态密文之间的乘法运算的最大数量),被配置成基于密文运算级别信息选择和输出同态加密参数,以及被配置成基于同态加密参数执行同态加密、同态解密和同态运算中的一个。
根据本发明构思的示例实施例的同态加密处理设备、包括同态加密处理设备的系统以及执行同态加密处理的方法可以根据基于领域信息确定的密文运算级别信息自适应地生成同态加密参数,并且可以基于同态加密参数执行同态加密、同态解密和同态运算。因此,同态加密处理设备、包括同态加密处理设备的系统和执行同态加密处理的方法可以考虑领域信息自适应地执行同态加密、同态解密和同态运算。
附图说明
通过以下结合附图的详细描述,将更清楚地理解本公开的示例实施例。
图1是示出根据一些示例实施例的同态加密处理设备的框图。
图2A是示出图1的密文运算级别确定器的示例实施例的框图,以及图2B是用于描述技术领域和密文运算级别之间的关系的图。
图3A是示出图1的参数提取器的示例实施例的框图,以及图3B是用于描述密文运算级别和多个参数之间的关系的图。
图4是示出图1的同态加密处理器的示例实施例的框图。
图5A是示出图4的加密单元的示例实施例的框图,以及图5B是示出图4的解密单元的示例实施例的框图。
图6是示出根据一些示例实施例的同态加密处理设备的框图。
图7A是示出图6的安全级别确定器的示例实施例的框图,以及图7B是用于描述技术领域和安全级别之间的关系的图。
图8A是示出图6的参数提取器的框图,以及图8B是用于描述密文运算级别、安全级别和多个参数的图。
图9是示出根据一些示例实施例的同态加密处理设备的示例实施例的框图。
图10是示出根据一些示例实施例的同态加密处理设备的示例实施例的框图。
图11是示出根据一些示例实施例的同态加密处理的方法的流程图。
图12是根据一些示例实施例的包括同态加密处理设备的服务器和客户端。
图13、14和15是用于描述根据一些示例实施例的用于由同态加密处理设备执行的深度学习的网络结构的示例的图。
图16是示出根据一些示例实施例的包括同态加密处理设备的系统的框图。
具体实施方式
在下文中将参考附图(其中示出了一些示例实施例)更全面地描述各种示例实施例。在附图中,相似的标号始终指代相似的元素。可以省略重复的描述。
图1是示出根据一些示例实施例的同态加密处理设备的框图。
参考图1,同态加密处理设备1000包括密文运算级别确定器100、参数提取器300和/或同态加密处理器500。
密文运算级别确定器100从外部(例如,在密文运算级别确定器100或同态加密处理设备1000的外部)接收领域信息FLDI,基于领域信息FLDI生成密文运算级别信息CTLI,并将密文运算级别信息CTLI输出到参数提取器300。
领域信息FLDI可以表示应用同态加密处理的多个技术领域中的一个。在一些示例实施例中,技术领域可以是信息和通信行业、金融和保险行业、运输和仓储行业、服务行业和医疗保健行业中的一个。在一些示例实施例中,可以根据同态运算的计算量的量的大小来分类多个技术领域。领域信息FLDI还可以在表示总体情况的信息的意义上被称为场景信息,诸如应用于技术领域的同态加密技术的过程或结果。
密文运算级别信息CTLI基于领域信息FLDI生成,并且可以包括关于由同态加密处理器500执行的同态运算的性能的信息。例如,密文运算级别信息CTLI可以包括表示在没有自举过程的情况下执行的同态密文之间的乘法运算的最大数量的密文运算级别的值。在一些示例实施例中,可以将密文运算级别确定为20、30和40中的一个,但是本发明构思的范围不限于此。
当密文运算级别的值增加时,例如20->40,同态运算的性能可以增加,并且由同态加密生成的密文的大小和同态运算的计算复杂度可以增加。相反地,当密文运算级别的值减小时,例如40->20,同态运算的性能可以减小,并且由同态加密生成的密文的大小和同态运算的计算复杂度可以减小。
参数提取器300从密文运算级别确定器100接收密文运算级别信息CTLI,根据基于密文运算级别信息CTLI的同态加密方案选择同态加密参数PARAM,并将同态加密参数PARAM输出到同态加密处理器500。同态加密方案可以是预确定的或者可替代地是期望的,并且同态加密参数PARAM可以在对应于同态加密方案的多个参数中选择,但是本发明构思的范围不限于此。
同态加密处理器500从参数提取器300接收同态加密参数PARAM,并且从外部(例如,在同态加密处理器500或同态加密处理设备1000的外部)接收明文PTIN和同态密文CTIN中的至少一个。同态加密处理器500可以基于同态加密参数PARAM对明文PTIN执行同态加密,以生成同态密文CTOUT。同态加密处理器500可以基于同态加密参数PARAM对同态密文CTIN执行同态解密以生成明文PTOUT。同态加密处理器500可以基于同态加密参数PARAM对同态密文CTIN执行同态运算以生成同态密文CTOUT。同态加密处理器500还可以从外部(例如,在同态加密处理器500或同态加密处理设备1000的外部)接收用于确定同态加密处理器500的操作模式的操作模式信息OPRI。同态加密处理器500可以基于操作模式信息OPRI执行同态加密、同态解密和同态运算中的一个。
同态加密处理设备1000可以在同态加密系统上实施。当同态加密系统包括同态加密处理服务器、同态加密客户端和通信网络时,同态加密处理设备1000可以在同态加密处理服务器和同态加密客户端中的至少一个中实施,但是本发明构思的范围不限于此。
如上所述,同态加密技术在个人信息安全方面具有优点,但是在同态密文的大小或计算复杂性方面具有缺点。然而,同态加密处理设备1000根据基于领域信息FLDI确定的密文运算级别信息CTLI自适应地生成同态加密参数PARAM,并基于同态加密参数PARAM执行同态加密、同态解密和同态运算。因此,同态加密处理设备1000可以基于领域信息FLDI自适应地执行同态加密、同态解密和同态运算。稍后将描述详细描述。
图2A是示出图1的密文运算级别确定器的示例实施例的框图,以及图2B是用于描述技术领域和密文运算级别之间的关系的图。
参考图1和2A,密文运算级别确定器100包括领域信息接收器130和/或密文级别确定器150。
领域信息接收器130可以从外部(例如,领域信息接收器130或同态加密处理设备1000的外部)接收领域信息FLDI,并且可以将领域信息FLDI输出到密文级别确定器150。如上所述,同态加密处理设备1000可以在同态加密处理服务器和同态加密客户端中的至少一个中实施。在一些示例实施例中,当同态加密处理设备1000在同态加密处理服务器中实施时,领域信息FLDI可以由同态加密处理服务器本身生成。在其他示例实施例中,当同态加密处理设备1000在同态加密客户端中实施时,领域信息FLDI可以由同态加密客户端生成并发送到同态加密处理服务器。在一些示例实施例中,领域信息FLDI可以由在同态加密处理服务器或同态加密客户端中运行以使用同态加密技术的应用生成,但是本发明构思的范围不限于此。
密文级别确定器150可以从领域信息接收器130接收领域信息FLDI,并且基于领域信息FLDI生成密文级别信息CTLI。在下文中,将描述技术领域FLD和密文运算级别CTLI之间的关系。
参考图2B,领域信息FLDI可以对应于多个技术领域中的一个,并且可以根据同态运算的计算量的量的大小将多个技术领域划分为第一到第三领域F1、F2和F3。在一些示例实施例中,可以对分类为第一领域F1的技术领域仅执行具有最小计算量的同态运算,并且然后可以执行具有按第二领域F2和第三领域F3的顺序增加的计算量的同态运算。例如,对于分类为第一领域F1的技术领域,可以仅执行算术运算的同态运算,对于分类为第二领域F2的技术领域,可以进一步执行指数运算和对数运算的同态运算,以及对于分类为第三领域F3的技术领域可以进一步执行导数运算的同态运算。在此示例实施例中,第一领域可以表示与数据搜索或数据评估相关的技术领域,第二领域可以表示与数据分析相关的技术领域,并且第三领域可以表示与机器学习相关的技术领域。但是,本发明构思的范围不限于此。
密文运算级别信息CTLI基于领域信息FLDI确定,并且可以根据同态加密处理器500执行的同态运算的性能包括多个密文运算级别。在一些示例实施例中,密文运算级别信息CTLI可以包括第一到第三密文运算级别CL1、CL2和CL3。在一些示例实施例中,第一到第三密文运算级别CL1、CL2和CL3中的每一个可以包括表示在没有自举过程的情况下同态密文之间的乘法运算的最大数量的值。例如,第一密文运算级别CL1可以包括值20,第二密文运算级别CL2可以包括值30以及第三密文运算级别CL3可以包括值40,但是本发明构思的范围不限于此。
如图2B所示,当多个技术领域的数量等于密文运算级别的数量时,多个技术领域中的每一个和密文运算级别中的每一个一一匹配。例如,第一领域F1可以与第一密文运算级别CL1匹配,第二领域F2可以与第二密文运算级别CL2匹配,而第三领域F3可以与第三密文运算级别CL3匹配。但是,本发明构思的范围不限于此。当多个技术领域的数量不等于密文运算级别的数量时,多个技术领域中的每一个和密文运算级别中的每一个可以一对多或多对一地匹配。
图3A是示出图1的参数提取器的示例实施例的框图,以及图3B是用于描述密文运算级别和多个参数之间的关系的图。
参考图1和图3a,参数提取器300包括密文运算级别接收器310、参数加载器330和/或参数存储单元350。
密文运算级别接收器310可以从密文运算级别确定器100接收密文运算级别信息CTLI,并且可以向参数加载器330输出基于密文运算级别信息CTLI的密文运算级别。
参数加载器330可以从密文运算级别接收器310接收密文运算级别信息CTLI,并且从参数存储单元350接收多个参数PPM。
参数加载器330可以基于密文运算级别信息CTLI选择多个参数PPM的一部分,并将所选择的参数作为同态加密参数PARAM输出到同态加密处理器500。
多个参数PPM可以是根据预确定的或可替代地期望的同态加密方案执行同态加密、同态解密和同态运算所要求的参数。同态加密方案可以从各种角度进行分类。在一些示例实施例中,同态加密方案可以是仅支持同态密文之间的一些运算的部分同态加密、支持同态密文之间的有限数量的运算的略微(somewhat)同态加密,以及支持同态密文之间无限数量的运算的完全同态加密中的一个。在其他示例实施例中,同态加密方案可以是按数字(digitwise)同态加密和按位(bitwise)同态加密之一。在下文中,将描述密文运算级别信息CTLI与多个参数PPM之间的关系。为了便于说明,多个参数PPM是基于能够响应量子计算机攻击的基于网格的密码(cipher),并且假设是根据基于带错误环学习(Ring LWE)的同态加密方案所要求的参数中的一个。但是,本发明构思的范围不限于此。
参考图3B,基于领域信息FLDI确定密文运算级别信息CTLI,并且密文运算级别信息CTLI可以包括根据同态加密处理器500执行的同态运算的性能的第一到第三密文运算级别CL1,CL2和CL3。
同态加密参数PARAM基于密文运算级别信息CTLI选择,并且可以从第一到第三参数P1、P2和P3中的一个选择。在一些示例实施例中,第一到第三参数P1、P2和P3中的每一个可以包括与编码、解码、多消息打包、加密、解密和密钥生成有关的参数,但是发明构思的范围不限于此。在其他示例实施例中,第一到第三参数P1、P2和P3中的每一个还可以包括与数字调整(digit adjustment)或密钥切换(key switching)相关的参数。在其他示例实施例中,第一到第三参数P1、P2和P3中的每一个可以包括具有密文运算级别的值作为指数因子的参数。例如,当第一密文运算级别CL1是20、第二密文运算级别CL2是30、第三密文运算级别CL3是40时,第一参数P1可以包括p20q、第二参数P2可以包括p30q、以及第三参数P3可以包括p40q(在示例实施例中,p和q是不同的素数)。但是,本发明构思的范围不限于此。
如图3B所示,当包括在密文运算级别信息CTLI中的密文运算级别的数量等于多个参数的数量时,密文运算级别中的每一个和多个参数中的每一个一一匹配。例如,第一密文运算级别CL1可以与第一参数P1匹配,第二密文运算级别CL2可以与第二参数P2匹配,并且第三密文运算级别CL3可以与第三参数P3匹配。但是,本发明构思的范围不限于此。当密文运算级别的数量不等于多个参数的数量时,密文运算级别中的每一个和多个参数中的每一个可以一对多或多对一地匹配。
图4是示出图1的同态加密处理器的示例实施例的框图。图5A是示出图4的加密单元的示例实施例的框图,图5B是示出图4的解密单元的示例实施例的框图。
参考图4,同态加密处理器500包括加密单元510、运算单元530和/或解密单元550。
同态加密处理器500从参数提取器300接收同态加密参数PARAM,并且从外部(例如,在同态加密处理器500或同态加密处理设备1000的外部)接收明文PTIN或同态密文CTIN中的至少一个。
加密单元510可以通过基于同态加密参数PARAM对明文PTIN执行同态加密来生成同态密文CTOUT。解密单元550可以通过基于同态加密参数PARAM对同态密文CTIN执行同态解密来生成明文PTOUT。运算单元530可以通过基于同态加密参数PARAM对同态密文CTIN执行同态运算来生成同态密文CTOUT。
同态加密处理器500还可以从外部(例如,在同态加密处理器500或同态加密处理设备1000的外部)接收用于确定同态加密处理器500的操作模式的操作模式信息OPRI。操作模式信息OPRI可以包括用于激活加密单元510、运算单元530和/或解密单元550中的一个的信息。同态加密处理器500可以基于操作模式信息OPRI执行同态加密、同态解密和同态运算中的一个。
参考图5A,加密单元510包括编码器511、多项式乘法器513-1和513-2、高斯采样器515和/或多项式加法器571-1、517-2和517-3。
加密单元510可以接收明文PTIN和同态加密参数PARAM,并且通过基于同态加密参数PARAM执行同态加密来生成同态密文CTOUT。同态加密参数PARAM可以包括公钥PK1和PK2、高斯采样器515的标准偏差以及与用于编码的素数相关的参数。高斯采样器515的输出值GSOUT可以分别输入到多项式乘法器513-1和513-2以及多项式加法器517-1和517-2。但是,本发明构思的范围不限于此。
参考图5B,解密单元550包括多项式乘法器531、多项式加法器553和/或解码器555。
解密单元550可以接收同态密文CTIN和同态加密参数PARAM,并且通过基于同态加密参数PARAM执行同态解密来生成明文PTOUT。同态加密参数PARAM可以包括与私密密钥SK有关的参数,但是本发明构思的范围不限于此。
图6是示出根据一些示例实施例的同态加密处理设备的框图。
在图1和6中示出的同态加密处理设备1000和1000a中,使用相同的参考标号的组件执行类似的功能,因此,下面将省略重复的描述。
参考图6,同态加密处理设备1000a包括密文运算级别确定器100、安全级别确定器200、参数提取器300a和/或同态加密处理器500。
密文运算级别确定器100从外部(例如,在密文运算级别确定器100或同态加密处理设备1000的外部)接收领域信息FLDI,基于领域信息FLDI生成密文运算级别信息CTLI,并输出到参数提取器300。
安全级别确定器200从外部(例如,安全级别确定器200或同态加密处理设备1000的外部)接收领域信息FLDI,基于领域信息FLDI生成安全级别信息SCLI,并将安全级别信息SCLI输出到参数提取器300。安全级别信息SCLI基于领域信息FLDI来确定,可以包括在与同态加密相关的问题中降低或防止赢率超过1/(2^R)的值(R是包括在安全级别信息SCLI中的安全级别的值)。在一些示例实施例中,安全级别的值可以被确定为128、192和256中的一个,但是本发明构思的范围不限于此。
参数提取器300a从密文运算级别确定器100接收密文运算级别信息CTLI,并从安全级别确定器200接收安全级别信息SCLI。参数提取器300a基于密文运算级别信息CTLI和安全级别信息SCLI确定同态加密参数PARAM,并将同态加密参数PARAM输出到同态加密处理器500。
同态加密处理器500从参数提取器300接收同态加密参数PARAM,并且从外部(例如,在同态加密处理器500或同态加密处理设备1000的外部)接收明文PTIN和同态密文CTIN中的至少一个。同态加密处理器500可以基于同态加密参数PARAM对明文PTIN执行同态加密,以生成同态密文CTOUT。同态加密处理器500可以基于同态加密参数PARAM对同态密文CTIN执行同态解密以生成明文PTOUT。同态加密处理器500可以基于同态加密参数PARAM对同态密文CTIN执行同态运算以生成同态密文CTOUT。同态加密处理器500还可以从外部(例如,在同态加密处理器500或同态加密处理设备1000的外部)接收用于确定同态加密处理器500的操作模式的操作模式信息OPRI。同态加密处理器500可以基于操作模式信息OPRI执行同态加密、同态解密和同态运算中的一个。
图7A是示出图6的安全级别确定器的示例实施例的框图,以及图7B是用于描述技术领域和安全级别之间的关系的图。
参考图6和图7a,安全级别确定器200包括领域信息接收器230和/或安全级别提取器250。
领域信息接收器230可以从外部(例如,领域信息接收器230或同态加密处理设备1000的外部)接收领域信息FLDI,并且可以将领域信息FLDI输出到安全级别提取器250。安全级别提取器250可以从领域信息接收器230接收领域信息FLDI,并且可以基于领域信息FLDI来确定安全级别信息SCLI。在下文中,将描述领域信息FLDI和安全级别信息SCLI之间的关系。
参考图7b,领域信息FLDI可以对应于多个技术领域中的一个,并且可以根据同态运算的计算量的量的大小将多个技术领域划分为第一到第三领域F1、F2和F3。
安全级别信息SCLI基于领域信息FLDI确定,并且可以根据同态加密系统的安全级别包括第一安全级别到第三安全级别SC1、SC2和SC3。在一些示例实施例中,第一到第三安全级别SC1、SC2和SC3中的每一个可以包括表示有效攻击同态加密系统所要求的位运算的最小数量的值。例如,第一安全级别SC1可以包括值128,第二安全级别SC2可以包括值192,以及第三安全级别SC3可以包括值256,但是本发明构思的范围不限于此。
如图7B所示,当多个技术领域的数量等于安全级别的数量时,多个技术领域中的每一个和安全级别中的每一个一一匹配。例如,第一领域F1可以与第一安全级别SC1匹配,第二领域F2可以与第二安全级别SC2匹配,以及第三领域F3可以与第三安全级别SC3匹配。但是,本发明构思的范围不限于此。当多个技术领域的数量不等于安全级别的数量时,多个技术领域中的每一个和安全级别中的每一个可以一对多或多对一地匹配。
图8A是示出图6的参数提取器的框图,以及图8B是用于描述密文运算级别、安全级别和多个参数的图。
在图3A和图8A所示的参数提取器300和300a中,使用相同参考标号的组件执行类似的功能,因此,下面将省略冗余的描述。
参考图6和图8A,参数提取器300a包括密文级别和安全级别信息接收器310a、参数加载器330和/或参数存储单元350。
密文运算级别和安全级别信息接收器310a可以从密文运算级别确定器100接收密文运算级别信息CTLI,并且可以从安全级别确定器200接收安全级别信息SCLI,并且可以将密文运算级别信息CTLI和将安全级别信息SCLI输出到参数加载器330。
参数加载器330可以从密文运算级别和安全级别信息接收器310a接收密文运算级别信息CTLI和安全级别信息SCLI,可以从参数存储单元350接收多个参数PPM。多个参数PPM可以是根据预确定的或可替代地期望的同态加密方案执行同态加密、同态解密和同态运算所要求的参数。在下文中,将描述密文运算级别信息CTLI、安全级别信息SCLI和多个参数PPM之间的关系。为了便于说明,多个参数PPM是基于能够响应量子计算机攻击的基于网格的密码,并且假设为根据基于带错误环学习(Ring LWE)的同态加密方案所要求的参数中的一个。但是,本发明构思的范围不限于此。
参考图8B,密文运算级别信息CTLI可以包括第一到第三密文运算级别CL1、CL2和CL3,并且安全级别信息SCLI可以包括第一到第三安全级别SC1、SC2和SC3。多个参数可以包括第一到第九参数P11、P12、P13、P14、P15、P16、P17、P18和P19。在一些示例实施例中,第一至第九参数P11、P12、P13、P14、P15、P16、P17、P18和P19可以包括具有密文运算级别的值作为指数因子的参数。例如,当第一密文运算级别CL1为20、第二密文运算级别CL2为30、第三密文运算级别CL3为40时,第一至第三参数P11、P12和P13可以包括p20q,第四至第六参数P14、P15和P16可以包括p30q,而第七至第九参数P17,P18和P19可以包括p40q(在示例实施例中,p和q是不同的素数)。但是,本发明构思的范围不限于此。在一些示例实施例中,第一至第九参数P11、P12、P13、P14、P15、P16、P17、P18和P19可以包括与安全级别信息SCLI相对应的不同素数p和q。例如,对应于第一安全级别SC1的素数p和q可以是2和3,并且对应于第二安全级别SC2的素数p和q可以是2和7,并且对应于第三安全级别SC3的素数p和q可以是5和7。在一些示例实施例中,第一、第四和第七参数P11、P14和P17可以包括2和3作为素数p和q,第二、第五和第八参数P12、P15和P18可以包括2和7作为素数p和q,而第三、第六和第九参数P13、P16和P19可以包括5和7作为素数p和q,但是本发发明构思的范围不限于此。
图9是示出根据一些示例实施例的同态加密处理设备的示例实施例的框图。
在图1、图6和图9中示出的同态加密处理设备1000、1000a和1000b中,使用相同的参考标号的组件执行类似的功能,因此,下面将省略重复的描述。
参考图9,同态加密处理设备1000b包括密文运算级别确定器100、参数提取器300b和/或同态加密处理器500b。参数提取器300b还包括同态加密方案选择器320。
密文运算级别确定器100从外部(例如,在密文运算级别确定器100或同态加密处理设备1000的外部)接收领域信息FLDI,基于领域信息FLDI生成密文运算级别信息CTLI,并输出到参数提取器300b。
参数提取器300b从密文运算级别确定器100接收密文运算级别信息CTLI。参数提取器300a基于密文运算级别信息CTLI确定同态加密参数PARAM,并将同态加密参数PARAM输出到同态加密处理器500b。
同态加密方案选择器320选择多个同态加密方案中的一个,并将所选择的同态加密方案HSCM输出到同态加密处理器500b。同态加密方案可以包括部分同态加密方案、略微同态加密方案和完全同态加密方案,但是本发明构思的范围不限于此。
同态加密处理器500b从参数提取器300b接收同态加密参数PARAM和所选择的同态加密方案HSCM,并且从外部(例如,在同态加密处理器500b或同态加密处理设备1000的外部)接收明文PTIN和同态密文CTIN中的至少一个。同态加密处理器500可以基于同态加密参数PARAM和所选择的同态加密方案HSCM对明文PTIN执行同态加密,以生成同态密文CTOUT。同态加密处理器500b可以基于同态加密参数PARAM和所选择的同态加密方案HSCM对同态密文CTIN执行同态解密,以生成明文PTOUT。同态加密处理器500b可以基于同态加密参数PARAM和所选择的同态加密方案HSCM对同态密文CTIN执行同态运算,以生成同态密文CTOUT。同态加密处理器500b还可以从外部(例如,在同态加密处理器500b或同态加密处理设备1000的外部)接收用于确定同态加密处理器500的操作模式的操作模式信息OPRI。同态加密处理器500b可以基于操作模式信息OPRI执行同态加密、同态解密和同态运算中的一个。
图10是示出根据一些示例实施例的同态加密处理设备的示例实施例的框图。
在图1、图6、图9和图10中示出的同态加密处理设备1000、1000a、1000b和1000c中,使用相同参考标号的组件执行类似的功能,因此,下面将省略重复的描述。
参考图10,同态加密处理设备1000c包括密文运算级别确定器100、参数提取器300c和/或同态加密处理器500c。参数提取器300c还包括同态加密方案选择器320。同态加密处理器500c还包括自举检测器535。
密文运算级别确定器100从外部(例如,在密文运算级别确定器100或同态加密处理设备1000的外部)接收领域信息FLDI,基于领域信息FLDI生成密文运算级别信息CTLI,并输出到参数提取器300c。
参数提取器300c从密文运算级别确定器100接收密文运算级别信息CTLI。参数提取器300c基于密文运算级别信息CTLI确定同态加密参数PARAM,并将同态加密参数PARAM输出到同态加密处理器500c。
同态加密方案选择器320选择多个同态加密方案中的一个,并将所选择的同态加密方案HSCM输出到同态加密处理器500c。同态加密方案可以包括部分同态加密方案、略微同态加密方案和完全同态加密方案,但是本发明构思的范围不限于此。
同态加密处理器500c从参数提取器300c接收同态加密参数PARAM和所选择的同态加密方案HSCM,并且从外部(例如,在同态加密处理器500c或同态加密处理设备1000的外部)接收明文PTIN和同态密文CTIN中的至少一个。同态加密处理器500c可以基于同态加密参数PARAM和所选择的同态加密方案HSCM对明文PTIN执行同态加密,以生成同态密文CTOUT。同态加密处理器500c可以基于同态加密参数PARAM和所选择的同态加密方案HSCM对同态密文CTIN执行同态解密,以生成明文PTOUT。同态加密处理器500c可以基于同态加密参数PARAM和所选择的同态加密方案HSCM对同态密文CTIN执行同态运算,以生成同态密文CTOUT。同态加密处理器500c还可以从外部(例如,在同态加密处理器500c或同态加密处理设备1000的外部)接收用于确定同态加密处理器500的操作模式的操作模式信息OPRI。同态加密处理器500b可以基于操作模式信息OPRI执行同态加密、同态解密和同态运算中的一个。
当对同态密文CTIN执行同态运算时,自举检测器535可以通过检测自举的发生来生成自举检测信息BTSD。自举指代当执行同态密文之间的乘法运算的数量超过同态容量时,通过减少在作为乘法运算的结果而获得的同态密文中存在的噪声来生成新的同态密文的过程。在一些示例实施例中,参数提取器300c从自举检测单元535接收自举检测信息BTSD,选择多个参数PPM中的一个,并将所选择的参数PARAM输出到同态加密处理器500c。
图11是示出根据一些示例实施例的同态加密处理的方法的流程图。
参考图11,接收表示应用同态加密处理的多个技术领域中的一个的领域信息(S1000)。在一些示例实施例中,技术领域可以是信息和通信行业、金融和保险行业、运输和仓储行业、服务行业和医疗保健行业中的一个。在一些示例实施例中,可以根据同态运算的计算量的量的大小来分类多个技术领域。领域信息FLDI还可以在表示总体情况的信息的意义上被称为场景信息,诸如应用于技术领域的同态加密技术的过程或结果。
基于领域信息,生成密文运算级别信息(S3000)。在一些示例实施例中,密文运算级别信息可以包括表示可以在没有自举过程的情况下执行的同态密文之间的乘法运算的最大数量的密文运算级别的值。在一些示例实施例中,可以将密文运算级别确定为20、30和40中的一个,但是本发明构思的范围不限于此。当密文运算级别的值增加时,例如20->40,同态运算的性能可以增加,并且由同态加密生成的密文的大小和同态运算的计算复杂度可以增加。相反地,当密文运算级别的值减小时,例如40->20,同态运算的性能可以减小,并且由同态加密生成的密文的大小和同态运算的计算复杂度可以减小。
基于密文运算级别信息选择同态加密参数(S5000)。在一些示例实施例中,可以在对应于同态加密方案的多个参数中选择同态加密参数,但是本发明构思的范围不限于此。
基于同态加密参数执行同态加密、同态解密和同态运算(S7000)。
图12是根据一些示例实施例的包括同态加密处理设备的服务器和客户端。
参考图12,客户端或服务器3000包括处理器3100、同态加密和解密设备3200、存储器设备3300、连接单元3400、用户接口3500和/或电源3600。
客户端或服务器3000可以是任何移动系统或计算系统。
处理器3100控制客户端或服务器3000的总体操作,运行操作系统、应用等,并运行诸如特定计算或作业的各种计算功能。连接单元3400与外部设备通信。存储器设备3300存储由处理器3100处理的数据或作为工作存储器操作。用户接口3500包括一个或多个输入设备,诸如键盘、按钮、麦克风和触摸屏,和/或一个或多个输出设备,诸如扬声器和显示设备。电源3600提供客户端或服务器3000的工作电压。
同态加密和解密设备3200可以参考图1、图6、图9和图10执行上述同态加密、同态解密和同态运算中的至少一个。
图13、图14和图15是用于描述根据一些示例实施例的用于由同态加密处理设备执行的深度学习的网络结构的示例的图。
参考图13,一般神经网络(例如,ANN)可以包括输入层IL、多个隐藏层HL1、HL2、…、HLn和输出层OL。
输入层IL可以包括i个输入节点x1、x2、…、xi,其中i是自然数。输入数据(例如,向量输入数据)IDAT(其长度为i)可以输入到输入节点x1、x2、…、xi,以使得输入数据IDAT的每个元素被输入到输入节点x1、x2、…、xi中的相应一个。
多个隐藏层HL1、HL2、…、HLn可以包括n个隐藏层,其中n是自然数,并且可以包括多个隐藏节点h1 1、h1 2、h1 3、…、h1 m、h2 1、h2 2、h2 3、…、h2 m、hn 1、hn 2、hn 3、…、hn m。例如,隐藏层HL1可以包括m个隐藏节点h1 1、h1 2、h1 3、…、h1 m,隐藏层HL2可以包括m个隐藏节点h2 1、h2 2、h2 3、…、h2 m,并且隐藏层HLn可以包括m个隐藏节点hn 1、hn 2、hn 3、…、hn m,其中m是自然数。
输出层OL可以包括j个输出节点y1、y2、…、yj,其中j是自然数。输出节点y1、y2、…、yj中的每一个可以对应于要分类的类中的相应的一个。输出层OL可以为类中的每一个输出与输入数据IDAT相关联的输出值(例如,类得分或仅仅是得分)。输出层OL可以称为全连接层,并且可以例如指示输入数据IDAT对应于汽车的概率。
图13所示的神经网络的结构可以由关于节点之间的分支(或连接)(被示出为线)以及分配给每个分支的权重值(未示出)的信息来表示。一个层内的节点可以不相互连接,但是不同层的节点可以完全或部分地相互连接。
每个节点(例如,节点h1 1)可以接收前一个节点(例如,节点x1)的输出,可以对接收到的输出执行计算操作、演算或计算,并且可以输出计算操作、演算或计算的结果作为到下一个节点(例如,节点h2 1)的输出。每个节点可以通过将输入应用于特定函数(例如,非线性函数)来计算要输出的值。
通常,预先设置神经网络的结构,并且使用具有数据所属的类的已知答案的数据来适当地设置用于节点之间的连接的权重值。具有已知答案的数据称为“训练数据”,确定权重值的过程称为“训练”。神经网络在训练过程期间“学习”。一组可独立训练的结构和权重值被称为“模型”,并且通过具有确定的权重值的模型预测输入数据属于哪一类,并且然后输出预测值的过程被称为“测试”过程。
图13所示的一般神经网络可能不适合处理输入图像数据(或输入声音数据),因为每个节点(例如,节点h1 1)连接到前一层的所有节点(例如,包括在层IL中的节点x1、x2、…、xi),并且然后随着输入图像数据的大小的增加,权重值的数量急剧增加。因此,已经研究了通过将滤波技术与一般神经网络结合来实施的卷积神经网络(CNN),使得二维图像(例如输入图像数据)可以通过CNN有效地训练。
参考图14,CNN可以包括多个层CONV1、RELU1、CONV2、RELU2、POOL1、CONV3、RELU3、CONV4、RELU4、POOL2、CONV5、RELU5、CONV6、RELU6、POOL3和FC。
不像一般的神经网络,CNN的每一层可以具有宽度、高度和深度的三个维度,并且因此输入到每一层的数据可以是具有宽度、高度和深度的三个维度的体数据。例如,如果图14中的输入图像具有32个宽度(例如,32个像素)和32个高度的大小以及三个颜色通道R、G和B,对应于输入图像的输入数据IDAT可以具有32*32*3的大小。图14中的输入数据IDAT可以称为输入体数据或输入激活体。
卷积层CONV1、CONV2、CONV3、CONV4、CONV5和CONV6中的每一个可以对输入体数据执行卷积运算。在图像处理中,卷积运算表示在其中基于具有权重值的掩模(mask)处理图像数据、并且通过将输入值乘以权重值并将全部乘得的值相加来获得输出值的运算。掩模可以称为滤波器、窗口或内核。
例如,每个卷积层的参数可以由一组可学习的滤波器组成。每个滤波器在空间上可能很小(沿宽度和高度),但可以延伸到输入体的全部深度。例如,在前向传递期间,每个滤波器可以跨输入体的宽度和高度滑动(更准确地说,卷积),并且可以在任何位置在滤波器和输入的条目之间计算点积。当滤波器在输入体的宽度和高度上滑动时,可以生成在每个空间位置处给出该滤波器的响应的二维激活地图。作为结果,可以通过沿深度维度堆叠这些激活地图来生成输出体。例如,如果具有32*32*3大小的输入体数据通过具有以零填充的四个滤波器的卷积层CONV1,卷积层CONV1的输出体数据可以具有32*32*12的大小(例如,体数据的深度增加)。
RELU层RELU1、RELU2、RELU3、RELU4、RELU5和RELU6中的每一个可以执行整流线性单元(RELU)运算,其对应于由例如函数f(x)=max(0,x)定义的激活函数(例如,对于所有负输入x,输出为零)。例如,如果具有32*32*12的大小的输入体数据通过RELU层RELU1以执行整流线性单元运算,RELU层RELU1的输出体数据可以具有32*32*12的大小(例如,保持体数据的大小)。
池化层POOL1、POOL2和POOL3中的每一个可以沿宽度和高度的空间维度对输入体数据执行下采样运算。例如,可以基于2*2滤波器将以2*2矩阵形式布置的四个输入值转换为一个输出值。例如,可以基于2*2最大池化选择以2*2矩阵形式布置的四个输入值的最大值,或者可以基于2*2平均池化获得以2*2矩阵形式布置的四个输入值的平均值。例如,如果具有32*32*12大小的输入体数据通过具有2*2滤波器的池化层POOL1,池化层POOL1的输出体数据可以具有16*16*12的大小(例如,体数据的宽度和高度减小,并且保持体数据的深度)。
通常,一个卷积层(例如,CONV1)和一个RELU层(例如,RELU1)可以在CNN中形成一对CONV/RELU层,CONV/RELU层的对可以在CNN中重复布置,并且池化层可以周期性地插入CNN中,从而减小图像的空间大小并提取图像的特征。
输出层或全连接层FC可以为类中的每一个输出输入体数据IDAT的结果(例如,类得分)。例如,随着重复卷积运算和下采样运算,可以将与二维图像相对应的输入体数据IDAT转换为一维矩阵或向量。例如,全连接层FC可以表示输入体数据IDAT对应于汽车、卡车、飞机、船舶和马的概率。
CNN中包括的层的类型和数量可以不限于参考图14描述的示例,并且可以根据示例实施例改变。此外,尽管未在图14中示出,CNN还可以包括其他层,诸如用于将对应于预测结果的得分值转换为概率值的softmax层、用于添加至少一个偏置(bias)的偏置添加层等。
参考图15,循环神经网络(RNN)可以包括使用在图15的左侧示出的特定节点或单元N的重复结构。
在图15的右侧示出的结构可以表示在左侧示出的RNN的循环连接被展开(或铺开)。术语“展开”意味着针对包括所有节点NA、NB和NC的完整或整个序列写出或示出网络。例如,如果感兴趣的序列是3个词的句子,RNN可以展开成3层神经网络,每个词一层(例如,没有循环连接或没有循环)。
在图15的RNN中,X表示RNN的输入。例如,Xt可以是在时间步t处的输入,并且Xt-1和Xt+1可以分别是在时间步t-1和t+1处的输入。
在图15中的RNN中,S表示隐藏状态。例如,St可以是在时间步t处的隐藏状态,并且St-1和St+1可以分别是在时间步t-1和t+1处的隐藏状态。可以基于先前的隐藏状态和在当前步处的输入来计算隐藏状态。例如,St=f(UXt+WSt-1)。例如,函数f通常可以是非线性函数,诸如tanh或RELU。计算第一隐藏状态所要求的S-1通常可被初始化为全零。
在图15的RNN中,O表示RNN的输出。例如,Ot可以是在时间步t处的输出,并且Ot-1和Ot+1可以分别是在时间步t-1和t+1处的输出。例如,如果要求预测句子中的下一个词,它将是词汇表中的概率的向量。例如,Ot=softmax(VSt)。
在图15中的RNN中,隐藏状态可以是网络的“存储器”。换句话说,RNN可以具有捕获关于目前为止所计算的内容的信息的“存储器”。隐藏状态St可以捕获关于在所有先前时间步中发生的事情的信息。输出Ot可仅基于在当前时间步t处的存储器来计算。此外,不像在每层使用不同参数的传统神经网络,RNN可以跨所有时间步共享相同的参数(例如,图13中的U、V和W)。这可以表示的事实是,在每个步中可以执行相同的任务,只是使用不同的输入。这可以大大减少要求训练或学习的参数的总数量。
用于深度学习的网络结构可以利用各种其它人工神经网络组织和处理模型,例如反卷积神经网络、包括长短时记忆(LSTM)单元和/或门控循环单元(GRU)的循环神经网络(RNN)、堆叠神经网络(SNN),状态空间动态神经网络(SSDNN)、深度信念网络(DBN)、生成对抗网络(GAN)和/或受限玻耳兹曼机(RBM)。
可替代地或额外地,这样的网络结构可以包括其他形式的机器学习模型,诸如,例如,线性和/或逻辑回归、统计聚类、贝叶斯分类、决策树、诸如主成分分析的降维以及专家系统;和/或其组合,包括诸如随机森林的集成。这样的机器学习模型还可以用于提供可以由电子设备执行、运行或处理的各种服务和/或应用,例如,图像分类服务、基于生物信息或生物特征数据的用户认证服务、先进驾驶员辅助系统(ADAS)服务、语音助理服务、自动语音识别(ASR)服务等。
在一些示例实施例中,可以通过参考图13、图14和图15描述的神经网络系统执行、运行或处理各种服务和/或应用中的至少一个,例如,图像分类服务、基于生物信息或生物特征数据的用户认证服务、先进驾驶员辅助系统(ADAS)服务、语音助理服务、自动语音识别(ASR)服务等。
图16是示出根据一些示例实施例的包括同态加密处理设备的系统的框图。
参考图16,同态加密系统5000包括同态加密处理服务器5100、数据库5300、通信网络5500和/或一个或多个同态加密客户端5700-1、5700-2和5700-3。
同态加密处理服务器5100和同态加密客户端中的至少一个可以包括参考图1、图6、图9和图10的上述同态加密处理设备1000、1000a、1000b和1000c中的一个。
同态加密客户端5700-1、5700-2和5700-3是具有通信功能的计算设备或通信终端,并且可以是移动电话、智能电话、平板PC、移动互联网设备MID、互联网平板和IoT(物联网)设备或可穿戴计算机,但是,本发明构思的范围不限于此。
通信网络5500包括局域网LAN、广域网WAN、因特网WWW、有线/无线数据通信网络、电话网络、有线/无线电视通信网络等。
无线通信网络可以是3G、4G、5G、3GPP(第三代合作伙伴计划)、LTE(长期演进)、WIMAX(全球微波接入互操作性)、WiFi、蓝牙通信、红外通信、超声通信、可见光通信VLC和Li-Fi中的一个,但是,本发明构思的范围不限于此。
上面公开的元素中的任何一个可以包括或实施在诸如包括逻辑电路的硬件的处理电路;诸如运行软件的处理器的硬件/软件组合;或其组合中。例如,处理电路更具体地可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。
如上所述,根据本发明构思的示例实施例的同态加密处理设备、包括同态加密处理设备的系统以及执行同态加密处理的方法可以根据基于领域信息确定的密文运算级别信息自适应地生成同态加密参数,并且可以基于同态加密参数执行同态加密、同态解密和同态运算。因此,同态加密处理设备、包括同态加密处理设备的系统以及执行同态加密处理的方法可以在考虑领域信息的情况下自适应地执行同态加密、同态解密和同态运算。
本发明构思可以应用于应用同态加密技术的各种应用领域。例如,本发明构思可以应用于应用同态加密技术的系统,诸如移动电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、摄像录像机、个人计算机(PC)、服务器计算机、工作站、膝上型计算机、数码TV、机顶盒、便携式游戏机、导航系统、可穿戴设备、物联网(IoT)设备、万物网(IoE)设备、电子书、虚拟现实(VR)设备、增强现实(AR)设备等。
上述内容说明了示例实施例,并且不应被解释为对其进行限制。尽管已经描述了一些示例实施例,但是本领域技术人员将容易理解,在不实质上脱离本发明构思的情况下,在示例实施例中许多修改是可能的。
Claims (20)
1.一种同态加密处理设备,包括:
处理电路,被配置成
基于领域信息生成密文运算级别信息,所述领域信息表示应用同态加密处理的技术领域,所述密文运算级别信息表示在没有自举过程的情况下同态密文之间的乘法运算的最大数量;
基于所述密文运算级别信息选择并输出同态加密参数;以及
基于所述同态加密参数执行同态加密、同态解密和同态运算中的一个。
2.根据权利要求1所述的同态加密处理设备,其中所述领域信息对应于多个技术领域中的一个,并且根据所述同态运算的计算量的量的大小对所述多个技术领域分类。
3.根据权利要求1所述的同态加密处理设备,其中当包括在所述密文运算级别信息中的密文运算级别的值增加时,所述同态运算的性能增加,由所述同态加密生成的密文的大小和所述同态运算的计算复杂性增加。
4.根据权利要求1所述的同态加密处理设备,其中所述处理电路还被配置成接收明文,并且通过基于所述同态加密参数对所述明文进行加密来生成同态密文。
5.根据权利要求2所述的同态加密处理设备,其中所述多个技术领域包括第一领域、第二领域和第三领域,以及
其中,所述处理电路还被配置成针对所述第一领域仅执行算术运算的同态运算,还被配置成针对所述第二领域执行指数运算和对数运算的同态运算,以及还被配置成针对所述第三领域执行导数运算的同态运算。
6.根据权利要求5所述的同态加密处理设备,其中所述第一领域表示与数据搜索或数据评估相关的技术领域,所述第二领域表示与数据分析相关的技术领域,并且所述第三领域表示与机器学习相关的技术领域。
7.根据权利要求2所述的同态加密处理设备,其中当对应于存储在所述处理电路中的多个参数的所述多个技术领域的数量等于包括在所述密文运算级别信息中的密文运算级别的数量时,所述多个技术领域中的每一个和所述密文运算级别中的每一个一一匹配。
8.根据权利要求1所述的同态加密处理设备,其中所述处理电路还被配置成
接收所述领域信息并存储所述领域信息;以及
基于所述领域信息生成所述密文运算级别信息。
9.根据权利要求1所述的同态加密处理设备,其中所述处理电路还被配置成
接收所述密文运算级别信息,并基于所述密文运算级别信息输出密文运算级别;
存储分别对应于多个技术领域的多个参数;以及
基于所述密文运算级别选择所述多个参数中的一部分,并输出所选择的参数作为所述同态加密参数。
10.根据权利要求1所述的同态加密处理设备,其中所述处理电路还被配置成接收明文和操作模式信息,并且还被配置成基于所述明文和所述操作模式信息执行所述同态加密、所述同态解密和所述同态运算中的一个。
11.根据权利要求1所述的同态加密处理设备,其中所述处理电路包括加密单元,并且所述加密单元包括编码器、多项式乘法器、高斯采样器和多项式加法器。
12.根据权利要求1所述的同态加密处理设备,其中所述处理电路包括与公钥相关的参数、高斯采样器的标准偏差和用于编码的素数。
13.根据权利要求1所述的同态加密处理设备,其中所述处理电路还被配置成接收所述领域信息并基于所述领域信息确定和输出安全级别信息。
14.根据权利要求13所述的同态加密处理设备,其中当对应于存储在所述处理电路中的多个参数的多个技术领域的数量等于包括在所述安全级别信息中的安全级别的数量时,所述多个技术领域中的每一个和所述安全级别中的每一个一一匹配。
15.一种执行同态加密处理的方法,所述方法包括:
接收表示应用同态加密处理的技术领域的领域信息;
生成表示在没有自举过程的情况下同态密文之间的乘法运算的最大数量的密文运算级别信息;
基于所述密文运算级别信息选择同态加密参数;以及
基于所述同态加密参数执行同态加密、同态解密和同态运算中的一个。
16.根据权利要求15所述的方法,其中所述领域信息对应于多个技术领域中的一个,并且根据所述同态运算的计算量的量的大小对所述多个技术领域分类。
17.根据权利要求15所述的方法,其中当包括在所述密文运算级别信息中的密文运算级别的值增加时,所述同态运算的性能、由所述同态加密生成的密文的大小和所述同态运算的计算复杂性增加。
18.一种同态加密系统,包括:
同态加密处理服务器;以及
一个或多个同态加密客户端,被配置成向所述同态加密服务器请求服务,
其中,所述同态加密处理服务器和所述同态加密客户端中的至少一个包括处理电路,所述处理电路被配置成
基于领域信息生成密文运算级别信息,所述领域信息表示应用同态加密处理的技术领域,所述密文运算级别信息表示在没有自举过程的情况下同态密文之间的乘法运算的最大数量;
基于所述密文运算级别信息选择并输出同态加密参数;以及
基于所述同态加密参数执行同态加密、同态解密和同态运算中的一个。
19.根据权利要求18所述的同态加密系统,其中所述领域信息对应于多个技术领域中的一个,并且根据所述同态运算的计算量的量的大小对所述多个技术领域分类。
20.根据权利要求18所述的同态加密系统,其中当包括在所述密文运算级别信息中的密文运算级别的值增加时,所述同态运算的性能、由所述同态加密生成的密文的大小和所述同态运算的计算复杂性增加。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0053287 | 2020-05-04 | ||
KR1020200053287A KR20210135075A (ko) | 2020-05-04 | 2020-05-04 | 동형 암복호화 장치, 상기 장치를 포함하는 시스템, 및 동형 암복호화의 수행 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113609495A true CN113609495A (zh) | 2021-11-05 |
Family
ID=78293415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110399828.9A Pending CN113609495A (zh) | 2020-05-04 | 2021-04-14 | 用于同态加密处理的设备和方法、包括该设备的系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11575502B2 (zh) |
KR (1) | KR20210135075A (zh) |
CN (1) | CN113609495A (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102475273B1 (ko) * | 2020-06-15 | 2022-12-08 | 주식회사 크립토랩 | 동형 암호 시스템에 대한 시뮬레이션 장치 및 방법 |
US20210119766A1 (en) * | 2020-12-24 | 2021-04-22 | Intel Corporation | Technologies for memory and i/o efficient operations on homomorphically encrypted data |
US20230041437A1 (en) * | 2021-08-04 | 2023-02-09 | Bank Of America Corporation | System for end-to-end electronic data encryption using an intelligent homomorphic encryped privacy screen |
CN113965313B (zh) * | 2021-12-15 | 2022-04-05 | 北京百度网讯科技有限公司 | 基于同态加密的模型训练方法、装置、设备以及存储介质 |
KR102448625B1 (ko) * | 2021-12-30 | 2022-09-28 | 주식회사 디사일로 | 동형 암호화된 데이터를 이용한 부정 거래 탐지 방법 및 시스템 |
CN114168991B (zh) * | 2022-02-10 | 2022-05-20 | 北京鹰瞳科技发展股份有限公司 | 对加密数据进行处理的方法、电路及相关产品 |
CN114915455B (zh) * | 2022-04-24 | 2024-06-14 | 华控清交信息科技(北京)有限公司 | 一种密文数据传输方法、装置和用于密文数据传输的装置 |
CN116776359B (zh) * | 2023-08-23 | 2023-11-03 | 北京电子科技学院 | 一种基于全同态加密的密文同态比较方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012149395A1 (en) * | 2011-04-29 | 2012-11-01 | International Business Machines Corporation | Fully homomorphic encryption |
US9087212B2 (en) * | 2012-01-25 | 2015-07-21 | Massachusetts Institute Of Technology | Methods and apparatus for securing a database |
US9281941B2 (en) * | 2012-02-17 | 2016-03-08 | International Business Machines Corporation | Homomorphic evaluation including key switching, modulus switching, and dynamic noise management |
WO2014035146A2 (ko) | 2012-08-28 | 2014-03-06 | 서울대학교산학협력단 | 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치 |
KR101449239B1 (ko) | 2013-01-24 | 2014-10-15 | 서울대학교산학협력단 | 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치 |
US9306738B2 (en) | 2012-12-21 | 2016-04-05 | Microsoft Technology Licensing, Llc | Managed secure computations on encrypted data |
JP6413598B2 (ja) | 2014-10-10 | 2018-10-31 | 富士通株式会社 | 暗号処理方法、暗号処理装置、及び暗号処理プログラム |
US10075289B2 (en) | 2015-11-05 | 2018-09-11 | Microsoft Technology Licensing, Llc | Homomorphic encryption with optimized parameter selection |
US9846785B2 (en) | 2015-11-25 | 2017-12-19 | International Business Machines Corporation | Efficient two party oblivious transfer using a leveled fully homomorphic encryption |
KR101829267B1 (ko) | 2016-04-27 | 2018-02-14 | 서울대학교산학협력단 | 암호문의 크기가 감소되는 동형 암호화 방법 |
KR101861089B1 (ko) | 2016-07-28 | 2018-05-25 | 서울대학교산학협력단 | 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법 |
FR3060165B1 (fr) * | 2016-12-09 | 2019-05-24 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Methode de classification securisee utilisant une operation de transchiffrement |
US10541805B2 (en) * | 2017-06-26 | 2020-01-21 | Microsoft Technology Licensing, Llc | Variable relinearization in homomorphic encryption |
US10778409B2 (en) | 2017-12-15 | 2020-09-15 | Crypto Lab Inc. | Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof |
US11032061B2 (en) * | 2018-04-27 | 2021-06-08 | Microsoft Technology Licensing, Llc | Enabling constant plaintext space in bootstrapping in fully homomorphic encryption |
-
2020
- 2020-05-04 KR KR1020200053287A patent/KR20210135075A/ko active Search and Examination
- 2020-12-08 US US17/115,161 patent/US11575502B2/en active Active
-
2021
- 2021-04-14 CN CN202110399828.9A patent/CN113609495A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11575502B2 (en) | 2023-02-07 |
KR20210135075A (ko) | 2021-11-12 |
US20210344479A1 (en) | 2021-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113609495A (zh) | 用于同态加密处理的设备和方法、包括该设备的系统 | |
US11609968B2 (en) | Image recognition method, apparatus, electronic device and storage medium | |
US8463025B2 (en) | Distributed artificial intelligence services on a cell phone | |
Li et al. | Contextual hourglass network for semantic segmentation of high resolution aerial imagery | |
CN110795618B (zh) | 内容推荐方法、装置、设备及计算机可读存储介质 | |
EP4283876A1 (en) | Data coding method and related device | |
CN116310667B (zh) | 联合对比损失和重建损失的自监督视觉表征学习方法 | |
US20220067888A1 (en) | Image processing method and apparatus, storage medium, and electronic device | |
US11539504B2 (en) | Homomorphic operation accelerator and homomorphic operation performing device including the same | |
CN113408668A (zh) | 基于联邦学习系统的决策树构建方法、装置及电子设备 | |
CN111709415B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN114780768A (zh) | 一种视觉问答任务处理方法、系统、电子设备及存储介质 | |
US11580399B2 (en) | System and method for convolutional layer structure for neural networks | |
CN114071141A (zh) | 一种图像处理方法及其设备 | |
CN115661635A (zh) | 基于Transformer融合卷积神经网络的高光谱图像重建方法 | |
CN111275033A (zh) | 一种字符识别方法、装置及电子设备、存储介质 | |
CN116049691A (zh) | 模型转换方法、装置、电子设备和存储介质 | |
US11574180B2 (en) | Methods for learning parameters of a convolutional neural network, and classifying an input datum | |
WO2019141896A1 (en) | A method for neural networks | |
CN110852202A (zh) | 一种视频分割方法及装置、计算设备、存储介质 | |
Pandey et al. | Fractal Image Compression using Genetic Algorithm with Variants of Crossover | |
US20240235577A1 (en) | Data encoding method, data decoding method, and data processing apparatus | |
Qiu et al. | Resilient, Secure and Private Coded Distributed Convolution Computing for Mobile-Assisted Metaverse | |
Legiest | Quantisation for neural network inference under homomorphic encryption | |
Laitinen | Privacy-Preserving Machine Learning Based on Homomorphic Encryption: Evaluation of Activation Functions in Convolutional Neural Networks |
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 |