KR20230011986A - 암호화된 데이터에 대해 일변량 또는 다변량 실수-값 함수들을 평가하기 위한 암호화 방법, 시스템들 및 서비스들 - Google Patents
암호화된 데이터에 대해 일변량 또는 다변량 실수-값 함수들을 평가하기 위한 암호화 방법, 시스템들 및 서비스들 Download PDFInfo
- Publication number
- KR20230011986A KR20230011986A KR1020227043467A KR20227043467A KR20230011986A KR 20230011986 A KR20230011986 A KR 20230011986A KR 1020227043467 A KR1020227043467 A KR 1020227043467A KR 20227043467 A KR20227043467 A KR 20227043467A KR 20230011986 A KR20230011986 A KR 20230011986A
- Authority
- KR
- South Korea
- Prior art keywords
- function
- univariate
- functions
- homomorphic
- encryption
- Prior art date
Links
- 230000006870 function Effects 0.000 title claims abstract description 398
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000011156 evaluation Methods 0.000 claims abstract description 79
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 78
- 239000000203 mixture Substances 0.000 claims description 13
- 230000010365 information processing Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 8
- 239000000654 additive Substances 0.000 claims description 4
- 230000000996 additive effect Effects 0.000 claims description 4
- 229910052709 silver Inorganic materials 0.000 claims description 3
- 239000004332 silver Substances 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 claims 1
- 238000007781 pre-processing Methods 0.000 claims 1
- 230000009466 transformation Effects 0.000 description 24
- 238000000354 decomposition reaction Methods 0.000 description 21
- 239000013598 vector Substances 0.000 description 18
- 238000005457 optimization Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 239000002131 composite material Substances 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 239000004615 ingredient Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 101100010166 Mus musculus Dok3 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003325 tomography Methods 0.000 description 1
- 239000003643 water by type Substances 0.000 description 1
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
-
- 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/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/16—Obfuscation or hiding, e.g. involving white box
-
- 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/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Storage Device Security (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
본 발명은 암호화된 데이터에 대한 준동형 프로세싱을 보다 광범위하고 효율적으로 실행하게 할 수 있도록 하기 위해 암호화된 데이터에 대한 일변량 또는 다변량 실수-값 함수들의 평가를 가능하게 하는 준동형 암호화에 기초한 암호화 방법 및 그 변형들에 관한 것이다.
Description
본 발명은 미리 암호화되는 데이터에 적용되는 하나 이상의 함수(들)의 준동형 평가(homomorphic evaluation)를 개선하는 것에 관한 것이다. 최신 암호학(cryptology) 작업들을 기초로 하는 본 기술 분야는 기밀성 제약(confidentiality constraint)들이 존재하는 모든 활동 부문(예: 프라이버시 보호(privacy protection), 비즈니스 비밀(business secret)들 또는 의료 데이터, 이들에 제한되지는 않음)들의 수많은 응용 프로그램들을 잠재적으로 포함한다.
보다 구체적으로, 본 발명은 하나 이상의 함수(들)의 준동형 평가에 필요한 계산을 하나 이상의 구체적으로 프로그래밍된 컴퓨터 시스템(들)에 의해 자동으로 완료할 수 있게 하는 방법에 관한 것이다. 따라서 제한된 저장 및 계산 시간 용량들 또는 클라우드 컴퓨팅(cloud computing) 유형의 원격 프로세싱의 경우 이러한 유형의 평가를 수행해야 하는 정보 프로세싱 시스템들에 의해 알려질 수 있는 전송 용량을 고려할 필요가 있다.
이하에서 설명되는 바와 같이, 지금까지 준동형 암호 방법의 개발은 컴퓨터에 의한 프로세싱 용량들과 관련되고 문헌에 의해 제안된 대부분의 방식에 내재된 기술적 제약들, 특히 구현되는 기계 자원 및 다양한 계산 단계를 실행하기 위해 지원되는 계산 시간 측면에서 크게 방해받았다.
완전 준동형 암호화 체계(Fully Homomorphic encryption, FHE로 약칭)를 사용하면 임의의 참가자가 평문(cleartext)들에 액세스하지 않고서, (평문들 에 대응하는) 암호문(ciphertext)들의 세트를 평문들의 주어진 함수 에 대응하는 암호문으로 공개적으로 변환할 수 있다. 이러한 방식을 사용하여 사생활(프라이버시 보존(privacy preserving))을 준수하는 프로토콜을 구성할 수 있다는 것은 잘 알려져 있다: 사용자는 서버에 암호화된 데이터를 저장할 수 있고 데이터 자체들을 서버에 드러내지 않고 제3자가 암호화된 데이터에 관한 작업들을 수행하도록 인가(authorise)할 수 있다.
최초의 완전 준동형 암호화 체계는 2009년에 Gentry(2009년 첫 출원에 기초하여 2014년에 특허 번호 US8630422B2를 획득함)에 의해 제안되었다; 또한 참조 [Fully homomorphic encryption using ideal lattices", in 41st Annual ACM Symposium on Theory of Computing, pages 169-178, ACM Press, 2009]. Gentry의 구성은 현재 사용되지 않지만 소개된 기능들 중 하나인 "부트스트래핑(bootstrapping)", 및 특히 그 구현들 중 하나는 이후에 제안된 체계들에서 널리 사용된다. 부트스트래핑은 암호문들의 잡음을 줄이도록 사용되는 기술이다: 실제로 알려진 모든 FHE 체계들에서 암호문들은 보안상의 이유로 필요한 소량의 무작위 잡음들을 포함한다. 잡음이 있는 암호문들에 대해 연산(operation)들을 수행할 때, 잡음이 증가한다. 주어진 수의 연산들을 평가한 후에, 이 잡음이 너무 높아지고 계산들의 결과를 위태롭게 할 수 있다. 결과적으로 부트스트래핑은 준동형 암호화 체계를 구성하기 위한 기본이 되지만 이 기술은 사용된 메모리나 계산 시간 측면에서 매우 비싸다.
Gentry의 공개 이후에 나온 작업들은 준동형 암호화를 실제로 실현 가능하게 만들기 위해 새로운 체계들을 제공하고 부트스트래핑을 개선하는 것을 목표로 했다. 가장 유명한 구성은 DGHV [Marten van Dijk, Craig Gentry, Shai Halevi and Vinod Vaikuntanathan, "Fully homomorphic encryption over the integers", in Advances in Cryptology - EUROCRYPT 2010, volume 6110 of Lecture Notes in Computer Science, pp. 24-43, Springer, 2010], BGV [Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan, "(Levelled) fully homomorphic encryption without bootstrapping", in ITCS 2012; 3rd Innovations in Theoretical Computer Science, pages 309-325, ACM Press, 2012], GSW [Craig Gentry, Eds, Amit Sahai and Brent Waters, "Homomorphic encryption from learning with errors: Conceptually simpler, asymptotically faster, Attribute-based", in Advances in Cryptology-CRYPTO 2013, Part I, volume 8042 of Lecture Notes in Computer Science, pp. 75-92, Springer, 2013] 및 그 변형들이다. 첫 번째 Gentry 체계에서 부트스트래핑의 실행은 실제로 실현 가능하지 않은 반면(일 수명은 계산들을 완료하도록 충분하지 않았을 것임), 연속적으로 제안된 구성들은 그다지 실용적이지는 않지만(각 부트스트래핑이 몇 분 동안 지속함), 이 작업을 실현 가능하게 만들었다. GSW 유형 체계에서 실행된 더 빠른 부트스트래핑은 2015년에 Ducas와 Micciancio에 의해 제안되었다: [Leo Ducas and Daniele Micciancio, "FHEW: Bootstrapping homomorphic encryption in less than a second", in Advances in Cryptology - EUROCRYPT 2015, Part I, Volume 9056 of Lecture Notes in Computer Science, pages 617-640, Springer, 2015]: 부트스트래핑 연산은 0.5초 약간 초과하여 실행된다. 2016년에 Chillotti, Gama, Georgiava 및 Izabachene은 TFHE라 칭하는 FHE 체계의 새로운 변형을 제안하였다:[IIaria Chillotti, Nicolas Gama, Mariya Georgieva and Malika , "Faster fully homomorphic encryption: Bootstrapping in less than 0.1 seconds", in Advances in Cryptology - ASIACRYPT 2016, Part I, volume 10031 of Lecture Notes in Computer Science, pages 3-33, Springer, 2016]. 그들의 부트스트래핑 기술은 후속 연구의 기초가 되었다. Bourse 등의 [Florian Bourse, Micheles Minelli, Matthias Minihold and Pascal Paillier, "Fast homomorphic evaluation of deep discretised neural networks", in Advances in Cryptology - CRYPTO 2018, Part III, volume 10993 of Lecture Notes in Computer Science, pages 483-512, Springer, 2018], Carpov 등의 [Sergiu Carpov, Malika and Victor Mollimard, "New techniques for multi-value input homomorphic evaluation and applications", in Topics in Cryptology - CT-RSA 2019, volume 11405 of Lecture Notes in Computer Science, pages 106-126, Springer, 2019], Boura 등의 [Christina Boura, Nicolas Gama, Mariya Georgieva and Dimitar Jetchev, "Simulating homomorphic evaluation of deep learning predictions", in Cyber Security Cryptography and Machine Learning (CSCML 2019), volume 11527 of Lecture Notes in Computer Science, pages 212-230, Springer, 2019] 및 Chillotti 등의 [Ilaria Chillotti, Nicolas Gama, Mariya Georgieva and Malika , "TFHE: Fast fully homomorphic encryption over the torus", Journal of Cryptology, 31(1), pp. 34-91, 2020]의 노력(work)에 대한 언급이 이루어질 수 있다. TFHE 성능들은 탁월하다. 그들은 해당 분야의 연구(research) 진행과 준동형 암호화를 보다 실용적으로 만드는 데 기여했다. 제안된 새로운 기술은 수 밀리초 내에 부트스트래핑을 계산하는 것을 가능하게 했다.
성취된 진전에도 불구하고, (평문들 에 대응하는) 암호문(ciphertext)들의 세트를 평문들의 주어진 함수 에 대응하는 암호문으로 공개적으로 변환하는 것을 허용하는 알려진 계산 절차들이 일부 인스턴스(instance)들로 제한되는 시간에 대해 남아있거나 비실용적으로 남아있다. 사실, 주요한 현재 일반 수단은 AND, NOT, OR 또는 XOR 유형의 논리 게이트로 구성된 부울 회로의 형태로 이 함수를 표현한 다음, 함수 의 (명확한) 입력들을 나타내는 비트들의 암호문을 입력으로 사용하여 이 회로를 준동형적으로 평가하는 것으로 이루어진다. 부울 회로의 복잡도 측정은 계산 결과를 얻도록 계산해야 하는 연속적인 AND 게이트들의 최대 수로 정의되는 곱셈 깊이이다. 이 계산 동안 잡음이 제어된 상태로 유지되기 위해서는 계산이 진행되는 동안 규칙적으로 부트스트래핑 연산들을 수행해야 한다. 위에서 지적한 바와 같이, 가장 최신의 기술을 사용하더라도 이들 부트스트래핑 연산들은 복잡한 계산들과 관련이 있고 곱셈 깊이가 크기 때문에 전체 계산을 더욱 느리게 만든다. 이 접근 방식은 이진 입력들에서 작동하고 간단한 부울 회로가 있는 함수들에 대해서만 실행 가능하다.
일반적으로 평가되는 함수는 하나 이상의 실수 변수(들) 를 입력으로 사용한다. 실수 변수들의 세트에서 평가되는 여러 함수들 가 존재할 수 있다. 따라서, 과도하게 큰 계산 수단을 동원하지 않고서 빠르게 앞서 언급한 (평문들 에 대응하는) 암호문(ciphertext)들의 세트를 평문들의 복수의 실수-값 함수들 에 대응하는 암호문들의 세트로 공개적으로 변환하는 연산을 실행하게 할 수 있는 방법을 찾는 것에 대한 주된 기술적 및 경제적 관심이 존재하고 있다. 실제로 현재까지 2009년 Gentry가 이룬 이론적 발전들은 이러한 기술적 문제에 대한 효과적인 솔루션의 부재로 인해 실제 구체화를 알지 못했다. 본 발명이 응답을 제공하는 것은 바로 이 문제에 대한 것이다.
본 출원은 (평문들 에 대응하는) 암호문(ciphertext)들의 세트를 평문들의 복수의 함수들 에 대응하는 암호문들의 세트로 효과적이고 공개적으로 변환하도록 구체적으로 프로그래밍된 적어도 하나의 정보 프로세싱 시스템에 의해 디지털 형태로 실행되도록 의도된 방법들의 세트를 설명한다. 이 신규한 방법은 다변량 함수(multivariate function)들 를 다변량 함수들의 합들과 합성들을 조합하는 형태로 변환한다. 바람직하게는 함수 의 변환으로 인한 중간 값들이 평가에 재사용된다. 마지막으로, 일변량 함수들의 각각은 바람직하게는 부울 회로 형태의 일반적인 표현이 아닌 테이블(table)들의 형태로 표현된다.
놀랍게도, 실수에 대해 정의되고 실수 값으로 정의된 임의의 다변량 함수가 지원된다. 엔트리(entry)들은 기본 암호화 알고리즘(underlying encryption algorithm)의 메시지들의 네이티브 공간(native space)과의 호환성을 보장하기 위해 사전 인코딩을 거친다. 디코딩은 또한 복호화 후에 고려된 함수의 이미지에 대한 출력에 적용될 수 있다.
독립적으로 또는 결합하여 고려되는 구현 기술들이 복잡도 및 필요한 계산 시간들을 상당히 감소시키면서 암호화된 데이터에 적용되는 복수의 함수들 의 결과들의 평가를 실행할 수 있게 하기 때문에 본 발명의 기술적 효과는 중요하다. 이하에 설명되는 바와 같이, 이러한 경량화는 특히 (i) 평가되는 다변량 함수들이 여러 변수들의 함수들에 대해 직접 작용하기보다는 일변량 함수들로 변환된다는 사실, (ii) 이들 함수들이 별도의 평가들을 수행하기 보다는 중간 계산들의 결과들을 공유하도록 분해될 수 있다는 사실 및 (iii) 결과 일변량 함수들이 부울 회로에 의해서보다 테이블들에 의해 표현된다는 사실에 기인한다.
함수 가 여러 변수들 를 가질 때, 본 발명에 따른 방법은 함수 를 일변량 함수들의 합들과 합성들의 조합으로 변환하는 것이다. 일변량 함수들의 합과 합성인 이들 두 연산들은 아핀 변환(affine transformation)들 또는 선형 조합들을 표현할 수 있다는 점에 유의해야 한다. 뉴럴 네트워크(neural network)들과 유사하게 "일변량 함수들의 네트워크"라는 표현은 일변량 함수들의 합들과 합성들을 조합하는 다변량에서 일변량으로의 변환 완료 시의 표현을 지칭하도록 사용되고, 이 네트워크는 복수의 암호화된 값들에서 준동형적으로 평가될 것이다. 상기 변환은 정확하거나 근사할 수 있다; 그럼에도 불구하고 정확한 변환은 오류가 없는 근사 변환이라는 점에 유의해야 한다. 실제로 이렇게 얻은 네트워크들은 동일한 기능을 구현하는 부울 회로들에 비해 낮은 깊이를 가지는 특성을 가진다. 함수 의 이 신규한 표현은 그 후에 암호화된 입력들 에 대해 평가하도록 사용되고, 여기서 는 암호화 알고리즘을 지칭하고 인코딩 함수를 인코딩하여, 가 중간 결과인 유형 의 입력으로부터 시작하여 일부 일변량 함수들 에 대한 유형 의 계산들에서 종료하는 것을 허용할 것이다. 이들 계산들은 암호화 알고리즘의 준동형 특성(property)을 활용한다.
일변량 함수들의 동일한 네트워크가 여러 번 재사용될 때, 모든 계산 단계들을 다시 수행할 필요가 없다는 것이 흥미롭다. 따라서, 본 발명에 따르면, 제1 단계는 상기 일변량 함수들의 네트워크를 사전-계산하는 것으로 이루어진다; 그 후에 후속 단계에서 암호화된 데이터에 대해 준동형적으로 평가된다.
임의의 연속 다변량 함수가 일변량 함수들의 합들과 합성들로 작성될 수 있다는 사실은 [Arey N. Kolmogorov, "On the representation of continuous functions of dynamic variables by superposition of continuous functions of one variable and addition", Dokl. Akad. Nauk SSSR, 114, pp. 953-956, 1957]에서 1957년 Kolmogorov에 의해 발견되었다.
이 결과는 긴 시간 동안 이론적인 것으로 남아있었지만, 특히 [David A. Sprecher, "On the structure of continuous functions of several variables", Transactions of the American Mathematical Society, 115, pp. 340-355, 1965]에서 일변량 함수들을 구성하기 위한 방법을 명쾌하게 설명한 알고리즘을 제시한 Sprecher에 의해 알고리즘 버전들이 발견되었다. 그에 대한 상세한 설명은 예를 들어 논문 [Pierre-Emmanuel Leni, Yohan Fougerolle and Frederic Truchetet, "Komogorov superposition theory and its application to the decomposition of multivariate functions", in MajecSTIC '08, 29-31 Oct. 2008, Marseille, France, 2008]에서 발견될 수 있다. 또한, 분해되는 함수의 연속성의 가정은 후자의 근사화를 고려함으로써 완화될 수 있다는 점에 유의해야 한다.
또 다른 가능한 접근법은 영어 전문 용어에 따른 [B. F. Logan and L. A. Shepp, "Optimal reconstruction of a function from its projections", Duke Mathematical Journal, 42(4), pp. 645-659, 1975]에서 능선 함수(ridge function)들이라 칭해지는 특정 다변량 함수들의 합에 의해 다변량 함수를 근사화하는 것으로 이루어진다. 실수 변수 벡터 의 능선 함수는 이러한 가변 벡터와 실수 파라미터 벡터 와의 스칼라 곱에 적용된 함수인데, 즉 유형 의 함수이며, 는 일변량이다. 상기에 언급한 바와 같이, 스칼라 곱 또는 동등하게 선형 조합은 일변량 함수들의 합들과 합성들의 조합의 특별한 경우이다; 능선 함수의 합의 형태로의 다변량 함수의 분해는 본 발명에 따른 다변량으로부터 일변량으로의 변환의 실시예를 형성한다. 임의의 다변량 함수는 릿지 함수의 수를 증가시키는 것이 가능하다면 릿지 함수의 합에 의해 원하는 만큼 매우 정확하게 근사될 수 있는 것으로 알려져 있다 [Allan Pinkus, "Approximating by ridge functions", in A. Le Mehaute, C. Rabut and L. L. Schumaker (Eds.), Surface Fitting and Multiresolution Methods, pages 279-292, Vanderbilt University Press, 1997]. 이들 수학적 결과들은 프로젝션 추적(projection pursuit)이라는 명칭으로 알려진 통계적 최적화 방법을 발생시켰다 [Jerome H. Friedman and Werner Stuetzle, "Projection pursuit regression", Journal of the American Statistical Association, 76(376), pp. 817-823, 1981].
능선 함수 대신 유형의 소위 방사형 함수들이 가능하며 [D. S. Broomhead and David Lowe, "Multivariable functional interpolation and adaptive networks", Complex Systems, 2, pp. 321-355, 1988], 및 다른 기본 함수 계열이 유사한 근사 품질(수렴 속도)로 사용될 수 있다.
경우에 따라, Kolmogorov 정리 또는 (Sprecher의 알고리즘과 같은) 알고리즘 버전 중 하나를 거치지 않고, 또는 능선, 방사형 함수 또는 그 변형을 거치지 않고 형식 분해가 가능하다. 예를 들어, (특히 뉴럴 네트워크에 의해 사용되는 소위 "최대 풀링" 계층 역할을 하는) 함수 은 그에 따라, 다음과 같이 분해될 수 있다: , 여기서 는 일변량 함수에 대응한다.
함수 의 데이터가 주어지면, 이들 각각이 일변량 함수의 네트워크로 표현될 때 암호화된 데이터에 관하여 준동형적으로 평가되도록 의도되며, 이 평가는 이들 일변량 함수들의 하나 이상의 전부 또는 일부가 재사용될 때 최적화 방식으로 수행될 수 있다. 따라서, 상기 네트워크의 일변량 함수들의 세트에서 관찰된 리던던시(redundancy)들 각각에 대해, 암호화된 값에 대한 일변량 함수의 준동형 평가 절차들 중 일부는 한 번만 수행되어야 할 것이다. 이 함수 준동형 평가는 전형적으로 즉석에서 수행되고 프로세싱 속도에 큰 부담이 된다는 것을 알고 중간 값들을 공유하면 성능이 크게 향상된다.
세 가지 유형들의 가능한 최적화가 고려된다:
동일 함수, 동일 인수(argument)
동일한 수의 일변량 함수들을 사용하여, 이 최적화는 동일한 인수에 적용된 동일한 일변량 함수들을 최대 횟수 반복하는 일변량 함수들의 네트워크를 선호하는 데 있다. 실제로, 일변량 함수와 평가되는 입력이 동일할 때마다 이 입력에 대한 이 일변량 함수의 준동형 평가는 재계산될 필요가 없다.
다른 기능, 동일 인수
이 최적화는 동일한 입력에 대한 둘 이상의 일변량 함수들의 준동형 평가가 본질적으로 단일 준동형 평가의 비용으로 수행될 수 있을 때 적용되며, 실시예는 계산의 많은 부분을 공유할 수 있게 한다. 다중-출력(multi-output) 버전의 명칭으로 CT-RSA 2019의 상술한 논문에서도 유사한 상황이 고려되었다. 이러한 실시예의 예는 "발명의 상세한 설명" 섹션에 제시되어 있다. 다변량의 경우 이러한 상황은 예를 들어 분해의 계수가 고정될 때 능선 함수 또는 방사형 함수의 합 형태로 여러 다변량 함수들의 분해에서 나타난다.
동일한 함수, 0이 아닌 덧셈 상수가 다른 인수
계산들의 가속화를 허용하는 또 다른 상황은 차이가 알려진 인수들에 관하여 동일한 일변량 함수가 평가될 때이다. 예를 들어 Kolmogorov-유형 분해, 특히 Sprecher의 대략적인 알고리즘 버전이 사용될 때 이런 경우가 발생한다. 이 상황에서 분해는 소위 "내부" 일변량 함수들과 관련된다; cf. 특히 "발명의 상세한 설명" 섹션의 내부 함수 에 대한 적용. 후자의 경우 추가 비용이 최소화된다.
이들 최적화들은 여러 함수들 이 평가되어야 할 때 적용되지만 단일 함수가 평가되는 경우에도 적용된다. 모든 경우에, 평가 비용을 감소시키기 위해 감소된 수의 일변량 함수들을 갖는 일변량 함수들의 네트워크들을 생산하는 것뿐만 아니라 동일한 인수들에 대해 다른 함수들을 선호하거나 덧셈 상수만큼 다른 인수들에 대한 동일한 함수들을 선호하는 것이 흥미롭다. 이 본질은 일변량 함수들의 네트워크들이 암호화된 입력들에 관하여 준동형적으로 평가될 때 일변량 함수들의 네트워크들에 고유한 것이다.
본 발명에 따라 평가되는 함수들이 다변량이고 상기에 제시된 제1 단계들을 거쳐 형성되었는지, 또는 본래 일변량 함수들을 프로세스하도록 의도되었는지 여부에 관계없이, 본 발명은 이들 일변량 함수들의 준동형 평가를 실행하기 위해 제공되며, 이 목적을 위해 테이블들의 형태로 표현을 사용하는 것이 유리한 변형이다.
일변량 함수 또는 보다 일반적으로 일변량 함수들의 조합의 준동형 평가는 준동형 암호화 체계에 기초한다.
2005년 Regev에 의해 도입된 [Oded Regev, "On lattices, learning with errors, random linear codes, and cryptography", in 37th Annual ACM Symposium on Theory of Computing, pages 84-93, ACM Press, 2005], LWE(Learning With Errors를 나타냄) 문제는 수많은 대수 구조들에 관한 준동형 암호화 체계들의 구축을 가능하게 한다. 일반적으로 암호화 체계는 가 평문 의 암호화이면 가 평문 를 반환하는 암호화 알고리즘 및 복호화 알고리즘 를 포함한다. LWE 문제와 그 변형들에서 파생된 암호화 알고리즘은 암호문들에 잡음을 도입하는 특수성을 가지고 있다. 이것은 일부 잡음을 고려하여, 암호화 알고리즘이 정의되고 암호문의 복호화가 초기 평문으로 끝나는 평면들의 공간을 표시하기 위해 평문들의 네이티브 공간이라 칭해진다. 평문들의 네이티브 공간으로 을 갖는 암호화 알고리즘 의 경우 인코딩 함수 encode는 집합 또는 그 하위 집합에 임의 집합의 엘리먼트를 가져오는 함수라는 점을 상기해야 한다; 바람직하게는 이 함수는 단사이다.
상기에 언급한 Chillotti 등의(ASIACRYPT 2016)의 논문에 상세된 바와 같이 실수 모듈로 1의 토러스 에 적용되면, 그와 같은 체계는 다음과 같이 정의된다. 양의 정수 에 대해, 암호화 키는 의 벡터 이다; 평문의 네이티브 공간은 이다. 토러스의 엘리먼트 의 LWE 암호문은 의 벡터 이고, 에 대해, 는 의 랜덤 엘리먼트이고, 여기서 0을 중심으로 에 걸친 랜덤 오차 분포에 따른 저잡음인 를 가지고 이다. 암호문 에서 시작하여 키 에 대한 지식을 통해 의 엘리먼트로서 을 찾을 수 있게 한다. 토러스의 두 엘리먼트들이 추가될 수 있지만 내부 곱이 정의되지 않는다는 점을 상기해야 한다. 표기법 "·"은 정수와 토러스 엘리먼트 사이의 외부 곱을 나타낸다.
같은 논문에서 저자들은 또한 -module 에 기초한 체계를 설명하고, 여기서 및 는 각각 다항식 고리(polynomial ring)들 및 이다. 순양수(strictly positive integer)들 및 에 대해, 암호화 키는 인 의 벡터 이며, 여기서 이고; 평문의 네이티브 공간은 이다. 의 다항식 의 RLWE 암호문은 의 벡터 이고, 여기서 에 대해, 는 의 랜덤 다항식이고 여기서 에 걸친 랜덤 오차 분포에 따른 저잡음 를 가지고 (에서, 즉 에서) 이다. 암호문 에서 시작하여, 키 의 지식을 통해 의 엘리먼트로서 (에서) 를 찾을 수 있게 한다. 본원에서의 표기법 "·"은 에 관한 외부 곱을 나타낸다. RLWE의 "R"은 ring이라는 단어를 나타낸다. 이들 LWE 문제의 변형들은 [Damien , Ron Steinfeld, Keisuke Tanaka and Keita Xagawa, "Efficient public key encryption based on ideal lattices", in Advances in Cryptology - ASIACRYPT 2009, volume 5912 of Lecture Notes in Computer Science, pages 617-635, Springer, 2009] 및 [Vadim Lyubashevsky, Chris Peikert and Oded Regev, "On ideal lattices and learning with errors over rings", in Advances in Cryptology - EUROCRYPT 2010, volume 6110 of Lecture Notes in Computer Science, pages 1-23, Springer, 2010.]에 제안되었다.
마지막으로, ASIACRYPT 2016의 동일한 논문에서는 RLWE-유형 암호문과 (Gentry-Sahai-Waters를 나타내고 'R'은 링을 나타내는) RGSW-유형 암호문 사이의 외부 곱을 소개한다. RLWE-유형 암호화 알고리즘은 RGSW-유형 암호화 알고리즘을 생성한다는 점을 상기해야 한다. 이전 단락의 표기법들이 사용된다. 정수 인 정수에 대해 는 각 행이 다항식 0의 RLWE-유형 암호인 에서의 행들 및 .열들을 가지는 행렬을 표시한다. 의 다항식 의 RGSW 암호문은 그 후에 행렬 에 의해 주어지고, 여기서 는 (행들 및 .열들을 가지는) 에서 정의되고 이고 은 정해진 기본 에 대해 -크기 단위 행렬인 로 주어지는 소위 "가젯(gadget)" 행렬이다. 에서의 다항식의 모든 벡터(행) 에 대해 를 가지고 는 작도록 로 표시된 변환이 관련된다. 로 표시된 (다항식 의) RLWE-유형 암호문 에 의한 (다항식 의) RGSW-유형 암호문 의 외부 곱은 로서 정의된다. 이와 같이 하여 획득된 암호문 는 다항식 의 RLWE-유형 암호문이다.
증명들은 상술한 논문 ASIACRYPT 2016에 주어진다.
도시된 바와 같이, 앞의 체계들은 소위 대칭 또는 개인 키 암호화 체계들이다. Rothblum이 [Ron Rothblum, "Homomorphic encryption: From private-key to public-key", in Theory of Cryptography (TCC 2011), volume 6597 of Lecture Notes in Computer Science, pages 219-234, Springer, 2011]에서 보여준 바와 같이, 임의의 추가적인 준동형 개인-키 암호화 체계가 공개-키 암호화 체계로 변환될 수 있기 때문에 이것은 제한하는 것이 아니다.
상기에서 언급한 바와 같이 부트스트래핑은 암호문들에 존재할 수 있는 임의의 잡음을 감소시킬 수 있는 방법을 지칭한다. 상술한 STOC 2009 창립 논문에서, Gentry는 오늘날 공통적으로 "재암호화(re-encryption)"라 지칭되는 기술에 의해 부트스트래핑을 구현한다. 재암호화는 암호화된 도메인에서 복호화 알고리즘을 준동형적으로 평가하는 것으로 구성된다. 일반 도메인(clear domain)에서 복호화 알고리즘은 암호문 와 개인 키 를 입력으로 사용하고 대응하는 평문 를 반환한다. 암호화된 도메인에서, 준동형 암호화 알고리즘 및 인코딩 함수 encode를 사용하여, 상기 복호화 알고리즘의 평가는 의 암호화의 암호문 및 의 암호화의 암호문인 및 를 입력으로 취하고, 따라서 알고리즘 의 암호화 키에서 동일한 평문 의 암호화의 새로운 암호문을 제공한다. 결과적으로, 암호문이 준동형 암호화 알고리즘 의 출력으로 주어진다고 가정하면 재암호화 기술이 이 경우에 종료를 허용하기 때문에 제한을 형성하지 않는다.
LWE-유형 암호화 체계들과 그 변형들의 준동형 본질로 인해 대응하는 암호문들에 대해 연산함으로써 평문들을 조작할 수 있다. 평가되는 일변량 함수 의 정의 도메인은 정의 도메인을 커버하는 여러 간격들로 이산화된다. 각 간격은 함수 의 대응하는 값뿐만 아니라 값 로 표현된다. 따라서 함수 는 형태의 일련의 쌍들에 의해 표로 작성된다. 이들 쌍들은 실제로 함수 정의의 도메인에서 의 임의의 값에 대해 의 암호문으로부터 시작하는, 의 암호문 또는 근사값을 준동형적으로 계산하도록 사용된다.
본 발명에서, 이 준동형 계산의 핵심에는 부트스트래핑들과 인코딩들을 결합하는 새로운 일반 기술이 있다. 여러 실시예들이 "발명의 상세한 설명" 섹션에서 설명된다.
앞서 언급한 ASIACRYPT 2016 논문에서 설명한 준동형 평가 기술뿐만 아니라 앞서 언급한 후속 작업들에서 소개된 준동형 평가 기술들은 정의의 임의 도메인에 걸친 임의 함수의 준동형 평가를 가능하게 하지 않는다. 우선, 이들은 일변량-유형 함수들로 엄격히 제한된다. 선행 기술에는 다변량 경우에 알려진 응답들이 없다. 또한, 일변량 경우에, 종래 기술은 입력 값들 또는 평가되는 함수에 관한 조건들을 가정한다. 이들 제한들 중에서 예를 들어 이진 값들(비트들)로 제한된 입력들 또는 (예를 들어 토러스에서의 "사인(sign)" 함수에 의해 검증된) 평가되는 함수의 필요한 음순환(negacyclic) 본질을 주목하라. 임의의 실수 값을 갖는 함수들에 대한 선행 기술에서는 이들 특정 경우들에 도달할 수 있는 입력 또는 출력 값들의 일반적인 프로세싱이 설명되지 않는다.
반대로, 본 발명의 구현은-출력(부스팅)에서 잡음의 제어를 가능하게 하면서- 함수들의 형태 또는 정의의 도메인에 관계없이, 실수들의 LWE-유형 암호문들인 입력들에서 실수 값 변수들을 갖는 함수들의 준동형 평가를 가능하게 한다.
본 발명은 함수들 각각이 실수 변수들 로부터 복수의 실수 변수들을 입력으로서 취하는, 하나 이상의 실수-값 변수들 을 가지는 하나 이상의 함수(들)의 암호화된 데이터에 관한 평가를, 적어도 하나의 구체적으로 프로그래밍된 정보 프로세싱 시스템에 의해 디지털적으로 실행할 수 있게 한다.
상기 함수들 중 적어도 하나가 적어도 2 개의 변수들을 입력으로 취할 때, 본 발명에 따른 방법은 개략적으로 3 개의 단계들을 포함한다:
1. 상기 다변량 함수들의 각각을 일변량 실수-값 함수들의 합들과 합성들으로 구성된 일변량 함수들의 네트워크로 변환하는 것으로 구성된 소위 사전- 계산 단계,
2. 상기 사전-계산된 일변량 함수 네트워크들에서, 서로 다른 유형들의 리던던시들을 식별하고 이들 중 전부 또는 일부를 선택하는 것으로 구성된 소위 사전-선택 단계,
3. 사전 선택 단계에서 선택된 리던던시들이 최적화된 방식으로 평가되는 일변량 함수들의 사전-계산된 네트워크들의 각각의 소위 준동형 평가 단계.
제2 단계(사전 선택)와 관련하여 리던던시들의 전체 또는 일부의 선택은 계산 시간 측면에서 이득이든 중간 계산 값들을 저장하기 위한 메모리 자원들과 같은 가용성 이유 때문이든 준동형 평가의 디지털 프로세싱을 최적화하는 목적에 따라 주로 아직은 배타적으로 가이드되지 않는다.
도 1은 본 목적을 위해 프로그래밍된 컴퓨터 시스템에 의해 본 발명에 따라 구현되는 처음 두 단계들을 개략적으로 복제한다.
따라서, 본 발명의 실시예들 중 하나에서, 함수들 각각이 실수-값 변수들 로부터 복수의 실수 변수들을 입력으로서 취하고, 상기 함수들 중 적어도 하나는 적어도 2 개의 변수들을 입력으로서 취하고, 입력들 의 각각의 암호화들의 암호문들인 를 가지는 를 입력으로서 취하고, 그들 각각의 입력들에 적용되는 의 암호화들의 복수의 암호문들을 반환하며, 여기서 는 준동형 암호화 알고리즘이고 encode는 실수들 의 각각과 의 평문들의 네이티브 공간의 엘리먼트를 연관시키는 인코딩 함수인, 하나 이상의 다변량 실수-값 함수들 의 평가는 다음을 특징으로 할 수 있다:
1. 상기 다변량 함수들의 각각을 일변량 실수-값 함수들의 합들 및 합성들로 구성된 일변량 함수들의 네트워크로 변환하는 것으로 구성된 사전-계산 단계,
2. 미리 계산된 일변량 함수들의 상기 네트워크에서 3 개 유형들 중 하나의 리던던시들을 식별하는 것으로 구성된 사전-선택 단계
a. 동일한 인수들에 적용된 동일한 일변량 함수들
b. 동일한 인수들에 적용된 서로 다른 일변량 함수들,
c. 0이 아닌 덧셈 상수에 의해 다른 인수에 적용된 동일한 일변량 함수,
및 전체 또는 일부를 선택하고,
3. 사전 선택 단계에서 선택된 리던던시들이 최적화된 방식으로 평가되는 일변량 함수들의 사전-계산된 네트워크들의 각각의 준동형 평가 단계.
사전-계산 단계와 관련하여 Kolmogorov 중첩 정리의 명시적 버전은 차원 를 갖는 항등 하이퍼큐브 에 대해 정의된 연속 함수 가 일변량 연속 함수들의 합들과 합성들로 작성될 수 있음을 확인하게 해줄 수 있다:
함수들 및 은 소위 "내부적"이며 주어진 인수(arity)에 대해 와 독립적이다. 함수 는 의 실수 벡터 의 임의의 성분 에 의 값을 연관시킨다. 함수 은 합산에 의해 함수 를 재구죽하도록 함수들 에 인수들로서 기능할 구간 에서 숫자들 를 각 벡터 에 연관시키게 할 수 있다. Kolmogorov 정리에서 의 도메인을 하이퍼큐브 로 제한하는 것은 일반적으로 설명을 간략화하도록 과학 문헌에서 수행된다는 점에 유의해야 한다. 그러나, 이 정리는 상사(homothety)에 의해 차원 를 갖는 임의의 평행 육면체로 자연스럽게 확장된다는 것은 명백하다.
Sprecher는 [David A. Sprecher, "A numerical implementation of Kolmogorov's superpositions", Neural Networks, 9(5), pp. 765-772, 1996] 및 [David A. Sprecher, "A numerical implementation of Kolmogorov's superpositions II", Neural Networks, 10(3), pp. 447-457, 1997] 각각에서 내부 및 외부 함수들의 결정을 위한 알고리즘을 제시했다.
(일부 입력 값들에 대해 불연속적인) 을 구축하기 위해 Sprecher가 처음 정의한 함수 대신에, [ Braun and Michael Griebel, "On a constructive proof of Kolmogorov's superposition theorem", Constructive Approximation, 30(3), pp. 653-675, 2007]에 정의된 함수 를 사용할 수 있다.
내부 함수들 및 이 고정되면, (함수 에 의존하는) 외부 함수들 를 결정해야 한다. 이를 위해 Sprecher는 합이 외부 함수 로 수렴하는 함수들 의 인 각 를 위한 구성을 제시한다. 단계의 종료시에, 의 근사화 결과는 다음의 형태로 주어진다:
여기서 는 인 파라미터이다. 따라서, 알고리즘은 Kolmogorov 분해 정리의 결과에 대해 근사 결과를 제공한다. 실제로, 을 상당히 크게 취하고 를 가정함으로써, 함수 에 대한 다음의 근사 표현이 획득된다:
또는
따라서, 본 발명의 실시예 중 하나에서, 사전-계산 단계는 중에서 적어도 하나의 함수 에 대해 사전 계산 단계의 변환이 및 를 가지는 형태 로의 근사 변환이고, 여기서 는 실수들에서 정의된 일변량 함수이고 실수 값을 가지며 여기서 는 실수 상수들이고 는 실수들에서 그리고 실수 값으로 정의된 일변량 함수들이고, 상기 함수들 는 주어진 파라미터 를 위한 의 함수로서 결정된다.
그 후에, 분해는 일반적인 경우에 근사적이고, 최상의 근사화 또는 충분한 품질의 근사화를 식별하는 것을 목표로 한다. 이러한 근사화는 통계적 최적화에 관한 문헌에 사영 추적(projection pursuit)으로 나타난다. 상술한 바와 같이 주목할만한 결과는 임의의 높은 정확도로 임의의 함수 가 이러한 방식으로 근사화될 수 있다는 것이다. 그러나 실제로는 가 정확한 분해를 허용하는 것, 즉, 입력의 전부 또는 일부를 위한 능선 함수의 합 형태로 분석적으로 표현되는 것이 일반적이다.
따라서, 본 발명의 실시예들 중 하나에서, 사전-계산 단계는 중으로부터 적어도 하나의 함수 를 위해, 사전-계산 단계의 변환은 및 를 가지는 형태 의 근사 변환이고, 여기서 계수들 는 실수들이고 는 실수들에서 그리고 실수 값으로 정의된 일변량 함수들이고, 상기 상기 함수들 및 상기 계수들 는 주어진 파라미터 를 위한 의 함수로서 결정된다.
동일한 통계적 최적화 툴(tool)들을 사용하는 유사한 분해 기술은 다음과 같이 능선 함수들이 아닌 방사형 함수들을 취하여 적용된다.
를 가지고, 여기서 벡터들 는 계수들 로서 실수들을 가지고 여기서 는 실수들에서 그리고 실수 값들로 정의되는 일변량 함수들이며, 상기 함수들 및 상기 계수들 는 주어진 파라미터 및 주어진 표준 을 위한 의 함수로 결정된다. 일반적으로 유클리드 표준이 사용된다.
따라서, 본 발명의 실시예들 중 하나에서, 사전-계산 단계는 중으로부터 적어도 하나의 함수 를 위해, 사전-계산 단계의 변환은, 및 를 가지는 형태 의 근사 변환이고, 여기서 벡터들 는 계수들 를 실수들로서 가지고 는 실수들에서 그리고 실수 값으로 정의된 일변량 함수들이고, 상기 상기 함수들 및 상기 계수들 는 주어진 파라미터 및 주어진 표준 를 위한 의 함수로서 결정된다.
상술한 Pinkus의 논문에서 나타난 바와 같이, 함수들의 분해의 또 다른 중요한 클래스(class)는 계수들 가 고정되고 함수들 가 변수들일 때이다. 이 클래스는 능선 함수들의 형태와 방사형 함수들의 형태 둘 다에서의 분해에 적용된다. 이 문제를 해결하기 위한 몇 가지 방법들이 Von Neumann 알고리즘, 순환 좌표(cyclic coordinate) 알고리즘, Schwarz 도메인 분해 방법, Diliberto-Straus 알고리즘 뿐 아니라 토모그래피(tomography) 전용 문헌에서 발견되는 변형들이라는 명칭으로 알려져 있다: cf. 이러한 동일한 Pinkus의 논문 및 논문 내의 참조들.
일부 경우들에서, 사전-계산 단계의 변환은 다변량 함수들의 등가 형식 표현을 통해 정확하게 수행될 수 있다.
를 다변량 함수로 고려한다. 이 함수 가 과 의 최대값을 계산하면, , 형식 등가 를 사용할 수 있고, 여기서 는 일변량 함수 에 대응한다. 이 형식 등가를 사용하면 함수 에 대한 다른 형식 등가들을 쉽게 얻을 수 있다. 예를 들어, 는 와 같이 등가 방식으로 표현될 수 있기 때문에, 형식 등가 가 획득되고, 여기서 는 일변량 함수 "절대값"이고, 는 일변량 함수 "2 로 나누기"이다.
따라서, 본 발명의 실시예들 중 하나에서, 사전-계산 단계는 이러한 사전 계산 단계의 변환이 일변량 함수들의 합들 및 합성들의 조합으로서 함수 를 표현하도록 형식 등가 를 사용하는 것을 특징으로 할 수 있다.
본 발명의 특정 실시예에서, 이러한 사전-계산 단계는 후자가 3 개 이상의 변수를 포함할 때 상기 함수에 대한 2 개의 변수를 위한 형식 등가의 반복으로부터 형식 등가가 얻어지는 것에 더 특징화된다.
유사하게, "최소" 함수 에 대해, 형식 등가 를 사용할 수 있고, 여기서 , 그렇지 않으면 이기 때문에 이고, 를 관찰함으로써, 일반적으로 반복에 의해 합들과 일변량 함수들의 조합으로서 m-변량 함수 을 형식적으로 분해하는 것을 허용한다.
따라서, 본 발명의 실시예들 중 하나에서, 사전-계산 단계는 이러한 사전-계산 단계의 변환이 일변량 함수들의 합들 및 합성들의 조합으로서 함수 를 표현하도록 형식 등가 를 사용하는 것을 특징으로 할 수 있다.
본 발명의 특정 실시예에서, 이러한 사전-계산 단계는 후자가 3 개 이상의 변수를 포함할 때 상기 함수에 대한 2 개의 변수를 위한 형식 등가의 반복으로부터 형식 등가가 얻어지는 것을 더 특징으로 한다.
일변량 함수들의 합들과 합성들의 조합으로 간단하게 형식적으로 분해될 수 있는 또 다른 매우 유용한 다변량 함수는 곱셈이다. 제1 실시예는 를 위해 일변량 함수 를 관련시키면서 형식 등가 를 사용하는 것이다. 물론 형식 등가의 사용은 다른 형식 등가들을 제공한다. 따라서 예를 들어, 를 사용함으로써, 가 추론된다; 즉, 일변량 함수 를 관련시키는, 형식 등가 이다.
따라서, 본 발명의 실시예들 중 하나에서, 사전-계산 단계는 이러한 사전-계산 단계의 변환이 일변량 함수들의 합들 및 합성들의 조합으로서 함수 를 표현하도록 형식 등가 를 사용하는 것에 특징화될 수 있다.
본 발명의 특정 실시예에서, 이러한 사전-계산 단계는 후자가 3 개 이상의 변수들을 포함할 때 상기 함수에 대한 2 개의 변수들을 위한 형식 등가의 반복으로부터 형식 등가가 획득되는 것에 더 특징화된다.
제2 실시예는 일변량 함수들 및 를 관련시키면서, 를 로서 분해하는 것이다; 그렇지 않으면 임의의 기본 에 대해, 이기 때문에 이고, 여기서 이고, 일변량 함수들 및 와 관련된다. 여기서 다시, 이들 실시예들은 를 가지는 를 관찰하면서 에 대한 m-변량 함수들로 일반화된다.
따라서, 본 발명의 실시예들 중 하나에서, 사전-계산 단계는 이러한 사전-계산 단계의 변환이 일변량 함수들의 합들 및 합성들의 조합으로서 함수 를 표현하기 위해 형식 등가 를 사용하는 것에 특징화될 수 있다.
본 발명의 특정 실시예에서, 이러한 사전-계산 단계는 후자가 3 개 이상의 변수들을 포함할 때 상기 함수에 대한 2 개의 변수들에 대한 형식 등가의 반복으로부터 형식 등가가 획득되는 것에 더 특징화된다.
상술한 바와 같이 입력으로 주어진 다변량 함수(들)는 다변량 함수들의 네트워크로 변환된다. 그와 같은 네트워크는 변환이 정확한 경우에도 고유하지 않을 수 있다.
일반적으로 일변량 함수들의 네트워크에서 일변량 함수들의 합들과 평가들이라는 2 개 유형들의 연산들이 관찰된다. 네트워크 평가가 암호화된 값들에 대해 준동형적으로 수행될 때, 가장 비용이 많이 드는 연산들은 일변량 함수들의 평가들인데, 일변량 함수들의 평가들은 전형적으로 부트스트래핑 단계를 발생시키기 때문이다. 결과적으로, 이들 일변량 함수 평가 연산들을 최소화하는 일변량 함수들의 네트워크들을 생성하는 것은 흥미로운 일이다.
따라서 이전 예에서 "최대" 함수 에 대한 제1 변환이 하나의 일변량 함수 평가, 즉 함수 의 평가만을 요구하기 때문에 더 유리해 보인다는 것을 알 수 있다. 실제로 제2 변환에서의 제2 일변량 함수는 실제로 평가될 필요가 없기 때문에 차이가 두드러지지 않는다: 필요한 것은 오직 를 반환하는 것이나 그렇지 않으면 이 인자(factor)를 출력에서의 디코딩 기능에 통합하는 것이다. 일반적으로 상수를 곱하는 것으로 구성되는 일변량 함수들은 (i) 시작 함수의 배수를 계산함으로써, 또는 (ii) 이들 함수들의 다른 일변량 함수의 입력에 있을 때 상수를 합성에 의해 "흡수"함으로써 무시될 수 있다. 예를 들어 다변량 함수 은 다음과 같이 작성될 수 있다.
3 개 유형들의 최적화들이 고려된다:
1) 동일한 함수, 동일한 인수:
2) 다른 함수, 동일한 인수:
및 (유형 2). 경우에 따라 동일한 인수에 대한 둘 이상의 일변량 함수(들)의 준동형 평가 비용은 별도로 고려되는 이들 함수들의 비용들의 합보다 적을 수 있다. 전형적으로 단일 부트스트래핑 단계가 요구된다. 이 경우에, 다중도 허용오차들(multiplicity tolerances) 내에서 유형 의 동일한 수의 일변량 함수들을 포함하는 일변량 함수들의 2 개 네트워크 중에서 하나가 인수들의 최대치를 공유하는 것을 선호하는 것이 유리하다. 일 예가 이러한 상황을 잘 예시한다. 다변량 함수 의 준동형 평가를 고려한다. 네트워크들의 2 개의 가능한 실시예들은
상기의 2 개의 실시예들은 4 개의 일변량 함수 평가들을 포함한다. 그러나 두 번째 실시예는 동일한 인수에 대한 2 개의 일변량 함수들을 포함하는데, 즉, 그에 따라, 및 가 선호된다.
동일한 인수에 대한 일변량 함수들의 공유는 동등한 형식 표현을 통해 수행되는 변환들로 제한되지 않는다. 이는 디지털 변환들에도 적용된다. 의 평행육면체에 대해 정의된 함수는 일변량 함수들의 네트워크로 변환될 수 있다는 점을 상기해야 한다. 특히, 변수들 를 가지는 함수 에 대해, Sprecher의 알고리즘은 다음 형태를 가지는 함수 의 근사화를 획득하게 할 수 있다:
이 구성에서 소위 "내부" 함수들 및 는 주어진 정의 도메인에 대해 에 의존하지 않는다. 결과적으로, 동일한 도메인에 정의된 여러 다변량 함수들 가 준동형적으로 평가된 경우에, 함수들 및 의 준동형 평가들은 동일한 입력들에 대해 적용할 때 재계산할 필요가 없다. 이러한 상황은 또한 예를 들어, 분해의 계수들()이 고정될 때, 능선 함수들 또는 방사형 함수들을 사용하는 여러 다변량 함수들의 분해에서 나타난다.
3) 동일한 함수, 덧셈 상수에 따라 다른 인수들:
알려진 상수 에 대한 및 (유형 3). 계산들을 가속화할 수 있는 또 다른 상황은 동일한 일변량 함수가 덧셈 상수가 다른 인수들에 적용될 때이다. 예를 들어, 여전히 Sprecher의 구성에서, 상기의 의 준동형 평가는 상수 값, 즉 에 대한 , 여기서 가 알려지는 상수 값에 의해 덧셈적으로 다른 변수들에 대한 동일한 일변량 함수 의 여러 준동형 평가들과 관련된다. 이 경우 에 대한 의 암호화 값은 의 암호화로부터 효율적으로 얻을 수 있다; 실시예는 이하에서 상세된다.
공식적인 용어들로, 사전-계산 단계에서 의 변환으로부터 기인하는 각각의 인수 를 가지는 일변량 함수들 전부에서, 3 개 조건들 중 하나를 충족하는 엘리먼트 는 "리던던시"라고 지칭된다.
본 발명에 따른 방법은 및 로 표시되는 2 개의 준동형 암호화 알고리즘을 사용한다. 평문들의 네이티브 공간들은 각각 및 으로 표시된다. 방법은 함수 가 평가되는 입력들의 소위 실제 정확도를 정량화하는 정수 에 의해 파라미터화된다. 사실, 함수 의 정의 도메인 의 입력들은 임의의 정확도를 가질 수 있더라도, 이 입력들은 내부적으로 최대 개의 선택된 값들에 의해 표현될 것이다. 이는 함수 가 개의 가능한 값들의 최대치에 의해 표현될 것이라는 직접적인 결과를 가져온다. 방법은 또한 인코딩 함수들 encode 및 encode'에 의해 파라미터화되는데, 여기서 encode는 의 엘리먼트를 입력으로 취하고 여기에 의 엘리먼트를 연관시키고 encode'는 의 엘리먼트를 입력으로 취하고 여기에 의 엘리먼트를 연관시킨다. 방법은 의 엘리먼트를 입력으로 취하고 여기에 정수를 연관시키는 소위 이산화 함수 discretise에 의해 파라미터화된다. 인코딩 encode 및 이산화 discretise 함수들은 도메인 의 이미지가 이산화 discretise 다음에 후속되는 인코딩 encode에 있도록, 즉 이도록, 또는 최대 개의 인덱스들의 집합이 로부터 취해지도록 되어 있다. 마지막으로, 방법은 의 평문들의 네이티브 공간이 적어도 의 카디널리티(cardinality)를 가지는 암호화 알고리즘 뿐 아니라 정수를 입력으로서 취하고 의 엘리먼트를 반환하는 인코딩 함수 를 가지는 준동형 암호화 체계에 의해 파라미터화된다. 이 경우에, 방법은 다음의 단계들을 포함한다:
ο 세부적으로, 함수의 도메인 는 개의 하위 구간들 로 분해되며, 그 합집합은 와 같다. 각 인덱스 에 대해, 대표 가 선택되고 가 계산된다. 개의 성분들 로 이루어지는 테이블 가 반환되며, 여기서 에 대해 이다.
함수 encode가 를 의 엘리먼트로서 인코딩하는 경우의 실수 값 에 대해 의 암호의 암호문인 를 고려해 볼 때, 암호문 는 인 경우에 집합 에서 를 가지는 인덱스 를 예상 값으로서 가지는 정수 에 대한 암호문 으로 변환되는 테이블의 소위 준동형 평가의 단계. 암호문 및 테이블 로부터 시작하여, 를 가지고 인 경우에 를 예상 값으로서 가지는 엘리먼트 를 위해 암호문 가 획득된다. 암호문 는 의 근사 값의 암호화의 암호문으로서 반환된다.
따라서, 그 실시예들 중 하나에서, 본 발명은 의 암호의 암호문인 를 입력으로서 취하고, 를 가지는 의 근사 값의 암호의 암호문인 를 반환하며, 여기서 및 은 평문들의 각각의 네이티브 공간이 및 인 준동형 암호화 알고리즘들인, 정의 도메인 에서 임의의 정확도를 가지고 이미지 에서의 실수 값을 가지는 실수 변수 의 일변량 함수 의 특수하게 프로그래밍된 정보 프로세싱 시스템에 의해 디지털적으로 수행되는 대략적인 준동형 평가를 포함시키며, 그 평가는 다음에 의해 파라미터화된다:
이들 파라미터들을 사용하여, 일변량 함수 의 상기 근사 준동형 평가는 구체적으로 프로그래밍된 정보 프로세싱 컴퓨터 시스템에 의해 다음 2 개의 연속하는 후속 단계들의 구현을 요구한다:
이 단계는,
2. 테이블의 준동형 평가 단계는,
를 규칙적으로 분할한다. 구간 의 대표 에 대해 여러 선택들이 가능하다. 예를 들어 (을 가지는) 로 주어지는 각 구간의 중심점을 고려할 수 있다. 또 다른 선택은 가 구간 에 걸쳐 의 평균에, 그렇지 않으면 각 에 대해 구간 에 걸친 의 주어진 이전 분포에 의해 가중된 평균에, 또는 중앙 값에 가깝도록 에 대해 에서의 값을 선택하는 것이다.
인코딩 함수 의 알고리즘 의 선택은 를 로 변환하는 데 중요한 역할을 한다. 에 대해 인 경우에 인 것이 상기되어야 한다. 중요한 경우는 의 엘리먼트들이 덧셈 그룹의 하위 그룹이 아닌 하위 집합의 엘리먼트들로 보여지는 때이다. 이 덧셈 그룹은 정수 에 대해 (덧셈 모듈로 이 제공되는 정수들의 집합 )으로 표시된다.
그룹 을 표현하는 여러 방법들이 존재한다. 따라서 상술한 EUROCRYPT 2015 논문의 Ducas와 Miccipanio는 의 엘리먼트들을 변수 의 지수들로 나타낸다; 의 엘리먼트 에 엘리먼트 가 연관되고, 임의의 에 대해 및 이다. X는 단위의 M번째 원시근이라고 한다. 이 표현은 덧셈 표기법에서 곱셈 표기법으로의 전환을 허용한다: 모든 엘리먼트들 에 대해 엘리먼트 은 다음의 엘리먼트와 연관된다.
모듈로 곱셈 연산은 덧셈 그룹 과 단위의 M-번째 근들의 집합 사이의 그룹 동형대응을 유발한다. 이 짝수일 때, 관계는 을 의미한다. 그 후에, 에 대해 를 가지고, 단위의 M-번째 근들의 집합은 이다.
따라서, 본 발명의 실시예들 중 하나에서, 일변량 함수 의 대략적인 준동형 평가는 추가로, 그룹 이 로 표시된 단위의 원시 M-번째 근의 거듭제곱으로 곱셈적으로 표현되어서, 의 엘리먼트 에 엘리먼트 가 연관되고; 단위의 M-번째 근들의 전부 는 곱셈 모듈로 에 대해 에 동형 그룹을 형성하는 것을 특징으로 한다.
준동형 암호화 알고리즘 가 토러스 에 적용된 LWE-유형 암호화 알고리즘에 의해 주어지는 경우에, 를 가지고, 에서의 값과 인코딩 함수 encode에 대해 를 가지는 를 표시한다면, 이고, 여기서 및 이고, 는 에 관한 작은 랜덤 잡음이다.
따라서, 본 발명의 실시예들 중 하나에서, 일변량 함수 의 대략적인 준동형 평가는 준동형 암호화 알고리즘 가 토러스 에 적용된 LWE 유형 암호화 알고리즘에 의해 주어지고 평문들의 네이티브 공간으로서 를 가지는 것을 더 특징으로 한다.
이산화 함수 discretise는 정수 에 대해 토러스의 엘리먼트 에 곱 의 정수 라운딩을 연관시키는 함수로서 파라미터화되고, 여기서 는 에서 계산된다; 수학적 형식으로 작성되면,
여기서 는 예상 값으로 정수 를 가진다. 인코딩 함수 encode는 그 이미지가 토러스의 하위 구간 에 포함되도록 파라미터화된다. 이러한 방식으로 이면 이고 이다. 실제로, 라면 이고
따라서 이므로 임이 검증된다. 따라서 이들 함수들 discretise 및 encode에 대해, 실제로 , 다시 말해 는 인덱스들의 집합 의 하위 집합이다. 따라서, 본 발명의 실시예들 중 하나에서, 일변량 함수 의 근사 준동형 평가는,
평가되는 함수 의 정의 도메인이 실수 구간 일 때와 평문들 의 네이티브 공간이 토러스 인 때에 인코딩 함수 encode를 위한 가능한 선택은 임이 유의되어야 한다. 그 후에, 에 대해 를 가진다; 임을 주목한다.
구성 는 의 로의 변환의 제1 실시예를 발생시킨다. 집합 의 엘리먼트들이 의 정수들로 직접 보여진다고 가정한다. 인코딩 함수 로서, 항등 함수인 를 고려한다. 이전의 표기들에서, 및 토러스 에 대한 LWE 암호문을 로 표시한다면, 는 로서 정의되고,
따라서, 본 발명의 실시예들 중 하나에서, 일변량 함수 의 근사 준동형 평가는 준동형 암호화 알고리즘 가 LWE-유형 암호화 알고리즘이고 인코딩 함수 가 항등 함수인 것을 더 특징으로 한다.
를 로 변환하는 제2 실시예는 단위의 M-번째 근들을 고려함으로써 획득된다. 이를 통해 곱셈 작업이 가능하다. 보다 구체적으로, 이 짝수이고 의 임의의 다항식 가 고정되어 있다고 가정한다. 인코딩 함수 는 다음의 함수이고
암호화 알고리즘 는 에 대한 RLWE-유형 암호화 알고리즘이다. 및 의 이러한 선택의 변환은 재암호화 기술을 사용한다. 키 하에서 에 대해 의 RGSW-유형 암호문을 로 표시한다.
이 경우 는 계수 에 대한 RLWE-유형 암호화 알고리즘이고; 암호화 키는 임이 관찰된다. 실제로, 수학적 형태 에서 (에 대해) 키 하의 의 RGSW-유형 암호화를 로 설정하면,
을 갖는다.
그리고 유도에 의해,
따라서, 본 발명의 실시예들 중 하나에서, 짝수 정수 에 의해 파라미터화된 일변량 함수 의 대략적인 준동형 평가는 준동형 암호화 알고리즘 가 RLWE-유형 암호화 알고리즘이고 인코딩 함수 는 의 임의의 다항식 에 대한 함수 인 것을 더 특징으로 한다.
이제 이전의 2 개 실시예들 중 어느 하나에 따라 로부터 테이블 의 준동형 평가를 수행하는 것이 가능하다. 양쪽 경우들에서, 는 토러스에 대한 LWE-유형 알고리즘이고 은 짝수이며 과 같다고 가정한다.
2. 제2 경우는 임의의 다항식 에 대한 인코딩 함수 를 가정하고 알고리즘 는 에 대한 RLWE-유형 인코딩 알고리즘이라는 것이다. 이 제2 경우에, 임의의 다항식 에 대한 를 가진다. 제1 하위 단계는 다음으로 구성된다:
두 경우 모두에서, 테이블 의 준동형 평가의 제1 하위 단계의 리턴에서, 예상 다항식 의 RLWE-유형 암호문 가 키 하에서 획득되고, 이 키는 비밀 키 의 비트들 를 암호화하는 RGSW-유형 암호문들 를 생성하도록 사용되는 키이다. 의 형태에 의해 다항식 의 상수항 는 이다. 암호문 의 성분들은 로 표시된다.
각 에 대해 다항식 가 (에 대해)를 가지는 로서 작성된다면, 반환된 벡터 가 키 하에서 의 토러스에 관한 LWE-유형 암호문임을 알 수 있다. 이는 암호화 알고리즘 을 정의한다; 따라서 가 획득된다. 이 경우에, 평문들의 대응하는 네이티브 공간은 이다. 그러므로, 이고 이기 때문에, 실제로 의 근사 값을 가지는 암호화의 LWE-유형 암호문이 획득된다.
따라서, 본 발명의 실시예 중 하나에서, 과 같은 짝수 정수 에 의해 파라미터화되는 일변량 함수 의 근사 준동형 평가는 토러스에 대한 LWE-유형 암호문 가 에서 인 경우에 에서 를 가지는 다항식 를 근사화하는 RLWE 암호문으로부터 추출되는 것을 더 특징으로 한다.
평가되는 함수 의 이미지 가 실수 구간 이고 LWE-유형 암호화를 위한 평문 의 네이티브 공간이 토러스 일 때, 인코딩 함수 encode'에 대한 가능한 선택은 이다. 이 경우에, 대응하는 디코딩 함수는 으로 주어진다.
암호문들의 덧셈 동안 인코딩이 고려되어야 한다. 준동형 암호화 알고리즘 의 암호화 함수를 encode라고 표시하면, 및 를 가지는 가 얻어진다. 인코딩 함수가 준동형이면 실제로는 가 얻어진다. 그렇지 않고 인코딩 함수가 덧셈을 준수하지 않으면 인코딩에 수정 이 적용되어야 한다: , 따라서 . 특히, 인코딩이 encode: 로 정의될 때, 수정은 에 이르고 에 대해 제로이다. LWE-유형 암호화 체계에 대해, 형태 의 업플릿(uplet)은 의 유효한 암호문이라는 점이 상기되어야 한다.
물론 이전의 고려 사항들은 이미지들에 대해 유효하다. 인코딩 함수 encode'을 가지는 준동형 암호화 알고리즘 의 경우 수정 를 위한 가 획득된다. 특히, 인코딩 encode'가 덧셈을 준수할 때 수정 은 제로이다. 수정 은 인코딩 encode': 를 위한 에 이른다.
또 다른 중요한 특정 경우는 동일한 일변량 함수 가 주어진 상수 를 위해 입력들 및 에 대해 동형적으로 평가되어야 할 때이다. 적용의 전형적인 예는 위에서 설명한 Sprecher의 적용에서 내부 함수 이다. 인코딩 함수 encode를 가지는 준동형 암호화 알고리즘 에 대해, 라는 사실을 고려하면, 를 추론하는 것이 가능하고, 그 후에 이전에 설명한 바와 같이 및 가 획득된다. 그러나 모든 단계들을 반복해야 한다. 특히 가 토러스에 대한 LWE-유형 알고리즘이고 입력 에서 인 경우에, 테이블 의 준동형 평가의 제1 하위 단계의 리턴에서, 예상된 다항식 의 RLWE-유형 암호문 을 획득하고, 여기서 다항식 는 함수 를 표로 나타내고 은 이 하위 구간 에 속한다면 예상 값으로서 를 가진다. 예를 들어, 이산화 함수 discretise: 을 가지는 이고,
가 획득되며,
따라서 이다. 이 경우에, 예상된 다항식 의 RLWE-유형 암호문은 와 같이 더 빠르게 획득될 수 있다. 를 위한 값은 따라서 테이블 의 준동형 평가의 제2 하위 단계에 의해 추론된다.
본 발명은 또한 전술한 대안적인 방법들 중 어느 하나에 따른 준동형 암호 평가 방법을 구현하도록 구체적으로 프로그래밍된 정보 프로세싱 시스템을 포함한다.
또한, 전술한 대안적인 방법들 중 어느 하나를 구현하고 이러한 목적으로 프로그래밍된 정보 프로세싱 시스템에 의해 로드(load) 및 구현되도록 구체적으로 설계된 컴퓨터 프로그램 물건을 포함한다.
본 발명의 적용 예들
전술한 발명은 일부 데이터, 예를 들어 배타적이지 않은 개인, 건강, 기밀 정보 데이터(classified information data) 또는 더 일반적으로는 소유자가 비밀로 유지하기를 원하지만 제3 자가 디지털 프로세싱을 수행할 수 있기를 원하는 모든 데이터들의 기밀성을 유지하도록 매우 유리하게 사용될 수 있다. 하나 이상의 제3자 서비스 제공자(들)에 대한 프로세싱의 비국지화(delocalisation)는 몇 가지 이유에서 흥미롭다: 이는 일부 비용이 들거나 이용불가능한 자원들을 요구하는 동작들을 수행하는 것을 허용한다; 또한 비-공개 동작들을 수행하는 것을 허용한다. 차례로, 상기 디지털 프로세싱 동작들을 실행하는 것을 담당하는 제3 자는 실제로 프로세싱의 실제 내용과 이에 의해 구현된 디지털 기능들을 전달하지 않기를 바랄 수 있다.
그와 같은 용도에서, 본 발명은 특히 암호화된 데이터에 대한 디지털 프로세싱의 적용을 담당하는 제3 자 서비스 제공자가 자신 측에서 일변량 함수들의 네트워크를 사전-계산하는데 있어서, 암호화된 데이터를 프로세싱하도록 사용될 함수들 중에서 각각의 다변량 함수 를 위해 구성하는 전술한 제1 사전-계산 단계를 실행하는 클라우드 컴퓨팅 서비스와 같은 원격 디지털 서비스의 구현을 포함한다. 모든 최종 일변량 함수들(를 가지는 주어진 를 위한 ) 중에서, 제3 자는 3 개 기준들 (i) , 및 , (ii) 및 , 또는 (iii) 및 알려진 상수 에 대한 중 하나를 충족시키는 가 존재하도록 제2 단계에서 일변량 함수들 및 그들 각각의 인수 를 사전-선택한다; 이들 일변량 함수들은 적절한 경우에, 최적화된 방식으로 평가될 것이다.
그러면 기밀 데이터 의 소유자는 가 인코딩 함수에 의해 의 인코딩된 값인 경우에 제3 자 유형 데이터 에 전송하도록 준동형 암호화 알고리즘 에 의해 그 암호화를 실행한다. 전형적으로 알고리즘 의 선택은 제3 자 서비스 공급자에 의해 부과된다. 대안적으로, 데이터 소유자는 반드시 준동형일 필요가 없는 자신이 선택한 암호화 알고리즘을 사용할 수 있고, 이 경우 재암호화의 이전 단계는 원하는 형식으로 암호화된 데이터를 획득하도록 제3 자(또는 다른 서비스 제공자)에 의해 수행될 것이다.
따라서, 본 발명의 실시예들 중 하나에서, 전술한 준동형 평가 암호화 방법(들)은 입력 암호화된 데이터가 상기 준동형 암호화 알고리즘 의 암호화들의 암호문들의 형태로 설정되도록 이전 재-암호화 단계로부터 도출되는 것을 특징으로 한다.
일변량 함수 네트워크의 동형 평가 단계에서, 일단 제3 자가 암호화된 유형 데이터 를 획득하면, 암호화 알고리즘 하에서 (에 대한) 입력들에 적용된 의 암호화들의 암호문들을 획득하도록 이들 암호문들에 기초하여 일련의 연속 단계들에서 일변량 함수들의 네트워크들의 각각을 준동형 평가한다.
그러면 기밀 데이터의 소유자는, 제3 자가 상기 데이터에 대해 데이터의 명확한 컨텐츠를 알 수 있었던 하나 이상의 함수(들)의 구현으로 구성되는 디지털 프로세싱을 실행하거나, 상호간에 데이터 소유자가 구현된 함수(들)의 상세를 알아야 할 필요 없이, 자신이 보유한 대응하는 복호화 키에 기초하여, 디코딩 후에 동형적으로 암호화된 입력 데이터 에서 시작하여 하나 이상의 함수(들) 의 결과 값을 획득할 수 있다.
데이터 소유자와 디지털 프로세싱 서비스 제공자 역할을 하는 제3 자 사이의 태스크(task)들의 그와 같은 공유는 원격으로, 특히 데이터 및 관련 프로세싱의 보안에 영향을 미치지 않고 클라우드 컴퓨팅 유형 서비스들 전체를 통해 유리하게 수행될 수 있다. 또한 디지털 프로세싱의 다른 단계들은 서로 다른 서비스 공급자들이 담당할 수 있다.
따라서, 본 발명의 실시예들 중 하나에서, 클라우드 컴퓨팅 유형 원격 서비스는 이전에 설명된 준동형 평가 암호화 방법 중 하나 이상을 구현하고, 태스크들은 데이터 보유자와 디지털 처리 서비스 제공자들 역할을 하는 제3 자(들) 사이에 공유된다.
본 발명의 특정 실시예에서, 비밀로 유지하기를 원하는 데이터 의 소유자 및 상기 데이터에 대한 디지털 프로세싱의 적용을 담당하는 하나 이상의 제3 자(들)와 관련된 원격 서비스는,
1. 관련 제3 자(들)은 본 발명에 따라, 일변량 함수들의 네트워크들을 사전-계산하는 제1 단계와 제2 사전 선택 단계를 실행하고,
3. 일단 관련 제3 자가 암호화된 유형 데이터 를 획득하면, 관련 제3 자는 암호화 알고리즘 하에서 (에 대한) 입력들에 적용된 의 암호화들의 암호문들을 획득하도록 이들 암호문들에 기초하여 일련의 연속 단계들에서 일변량 함수들의 네트워크들의 각각을 준동형 평가하고,
본 실시예의 변형은 상술한 제2 단계(2.)에서 다음을 특징으로 한다:
특히, 본 발명에 따른 원격 디지털 서비스의 서로 다른 적용들이 언급될 수 있다. 따라서 상술한 MajecSTIC '08의 논문에 언급된 바와 같이, 그레이-레벨(grey-level) 이미지들에 적용되는 Kolmogorov 유형 분해-가 좌표들 의 픽셀의 그레이 강도를 제공하는 경우의 이변량 함수 로서 보여질 수 있음-는 원본 이미지의 근사 이미지를 재구성하게 할 수 있다. 결과적으로 바운딩 박스(bounding box)를 정의하는 좌표들 및 의 지식을 통해 간단한 방식으로 크롭핑(cropping) 연산들을 수행하게 할 수 있다. 이변량 함수들, 및 가 각각 빨강, 초록 및 파랑 레벨들을 제공하는 것을 고려하면서 유사한 프로세싱이 컬러 이미지들에 대해 적용된다. 이러한 프로세싱 유형은 비암호화된 데이터에 대해 알려져 있지만, 이제 본 발명은 준동형 암호화를 사용하여 이를 실행하게 할 수 있다. 따라서, 본 발명에 따르면, 사용자가 스포츠 활동 동안 일정한 간격들로(예를 들어 10초마다) 기록된 자신의 GPS 좌표들과 (바운딩 박스를 정의하는) 여행의 극단 좌표들을 암호화된 방식으로 송신하면, 지도 제작 계획의 이미지를 소유한 서비스 제공자는 크롭핑에 의해 활동과 관련된 계획 부분의 암호문을 얻을 수 있을 것이다; 또한 서비스 제공자는 여전히 암호화된 도메인에서, GPS 좌표들의 수신된 암호화된 이미지들에 기초하여 동형적으로 계산된 로컬 속도를 나타내기 위해 예를 들어 컬러 코드를 사용하여 여정을 나타낼 수 있다. 유리하게는, (제3 자) 서비스 제공자는 활동의 정확한 위치(그의 계획에 있는 경우 제외) 또는 사용자의 성과들에 대해 알지 못한다. 또한 제3 자는 지도 전체를 개시하지 않는다.
본 발명은 또한 암호화된 상태로 유지되고 특히 뉴럴 네트워크를 구현하는 서비스 제공자가 상기 암호화된 데이터로부터 도출된 값들에 대해 하나 이상의 활성화 함수(들)를 적용하는 입력 데이터에 대해 특히 머신-러닝(machine-learning) 유형의 인공 지능 프로세싱을 수행하게 할 수 있도록 유리하게 사용될 수 있다. 뉴럴 네트워크의 구현과 관련하여 본 발명을 사용하는 예로서, 가 일변량 함수 에 대응하는 경우에, 뉴럴 네트워크들에 의해 사용되는 상술한 "최대 풀링"으로서 기능하는 함수 의 로의 분해에 대한 참조가 이루어질 수 있다. 또한 매우 유명한 활성화 함수들 및 에 대한 참조가 이루어질 수 있다.
따라서, 본 발명의 실시예들 중 하나에서, 전술한 암호 준동형 평가 방법들 중 하나 이상을 구현하는 원격 서비스는 뉴럴 네트워크들을 구현하는 디지털 프로세싱을 위한 것이다.
특징으로서의 본 발명의 개시
본 발명은 하나 이상의 디지털 정보 프로세싱 시스템(들)의 데이터 계산 및 프로세싱 능력들의 구현을 통해 하나 이상의 기능(들)의 암호화된 데이터에 대한 평가를 가능하게 한다. 경우에 따라 이 함수 또는 이들 함수(들)는 일변량 또는 다변량일 수 있다. 따라서, 그 서로 다른 변형들에서, 본 발명에 따른 방법은 두 가지 유형들의 함수들의 평가를 진행하게 할 수 있다.
청구항 1에 의해 청구된 바와 같이, 평가되는 함수(들)가 일변량 유형인 경우에, 본 발명은 그의 구현들 중 하나에서, 2개의 준동형 암호화 알고리즘들의 입력 및 출력에서의 각각의 구현 및 각각의 고려된 함수를 위한 테이블을 사전-계산하는 단계 이후에 획득된 테이블의 준동형 평가 단계를 제공한다. 유리하게, 하나 이상의 일변량 함수(들)의 준동형 평가의 이러한 양식은 청구항 1에 따른 하나 이상의 다변량 함수(들)에 이전에 적용된 사전-계산 및 사전-선택 단계들의 완료 시에 제공되는 제3 준동형 평가 단계를 수행하도록 구현될 수 있다.
평가되는 함수(들)이 다변량 유형인 경우에, 본 발명은 2 개의 예비 단계들을 실행하는 것을 더 제공한다: 이들 2 개의 예비 단계들의 실행의 완료시에 획득되는 일변량 함수 네트워크(들)에 일변량 함수 준동형 평가를 위한 임의의 알려진 방법에 따른 상기 일변량 함수 네트워크들의 준동형 평가의 제3 단계를 적용하기 전에, 상기 제1 사전-계산 단계 이후에 제2 사전-선택 단계가 후속된다. 이것은 청구항 12의 목적이다.
Claims (16)
- 정의(definition)의 도메인(domain) 에서 임의의 정확도를 가지고 이미지(image) 에서의 실수 값(real value)을 가지는 실수 변수 의 일변량 함수(univariate function) 의 근사 준동형 평가(approximate homomorphic evaluation)를 수행하도록 구체적으로 프로그래밍된 적어도 하나의 정보 프로세싱 시스템(information processing system)에 의해 디지털 형태(digital form)로 실행되는 암호화(cryptographic) 방법으로서,
의 인코딩(encoding)의 암호문(ciphertext)인 를 입력으로서 취하고, 의 근사 값의 인코딩의 암호문인, 를 가지는 를 반환하며, 여기서 및 은 준동형 암호화 알고리즘(homomorphic encryption algorithm)들이고, 각각의 평문(cleartext)들의 네이티브 공간은 및 이고,
- 평가되는 함수 의 입력에서 상기 변수들의 표현의 실제 정확도를 정량화(quantifying)하는 정수 ,
- 입력으로서 상기 도메인 의 엘리먼트를 취하고 의 엘리먼트를 연관시키는 인코딩 함수 encode,
- 입력으로서 상기 이미지 의 엘리먼트를 취하고 의 엘리먼트를 연관시키는 인코딩 함수 encode',
- 입력으로서 의 엘리먼트를 취하고 정수에 의해 표현된 인덱스(index)를 연관시키는 이산화 함수 discretise,
- 암호화 알고리즘 를 가지고 가 적어도 의 카디널리티(cardinality)를 가지는 평문들의 네이티브 공간을 가지는 준동형 암호화 체계(homomorphic encryption scheme),
- 입력으로서 정수를 취하고 의 엘리먼트를 반환하는 인코딩 함수 에 의해 파라미터화(parameterised)되고,
따라서 상기 인코딩 encode 이후에 상기 이산화 discretise가 후속되는 도메인 의 이미지인, 는 으로부터 선택된 최대 개의 인덱스들의 집합이고,
- a. 상기 일변량 함수 에 대응하는 테이블을 사전-계산하는 단계 - 상기 사전-계산하는 단계는,
ο 그 연합이 를 구성하는 개의 선택된 하위-구간(sub-interval)들 로 상기 도메인 를 분해하는 것,
ο 에서의 각 인덱스 에 대해, 하위 구간 에서 대표(representative) 를 결정하고 값 를 계산하는 것,
ο 에 대해 를 가지는 상기 개의 성분(component)들로 구성되는 상기 테이블 를 반환하는 것으로 구성됨 - ,
- b. 상기 테이블의 준동형 평가의 단계 - 준동형 평가의 단계는,
ο 라면 상기 집합 에서 예상 값으로서 상기 인덱스 를 가지는 정수 를 위한 상기 암호문 로 상기 암호문 을 변환하는 것,
ο 상기 암호문 및 테이블 에 기초하여, 예상 값으로서 를 가지는 엘리먼트 를 위한 상기 암호문 을 획득하는 것,
ο 를 반환하는 것으로 구성되는, 디지털 형태로 실행되는 암호화 방법. - 제1 항 내지 제11 항 중 어느 한 항에 있어서,
상기 근사 준동형 평가를 받는 상기 적어도 하나의 일변량 함수는 다음의 사전 단계들:
- a. 상기 다변량 함수들의 각각을 일변량 함수들의 네트워크로 변환하는 것으로 구성되고, 일변량 실수-값 함수들 및 합들의 합성들로 구성된 사전-계산(pre-calculation) 단계,
- b. 사전-계산된 일변량 함수들의 상기 네트워크들에서 3 개 유형들:
ο 동일한 인수들에 적용된 동일한 일변량 함수들
ο 동일한 인수들에 적용된 서로 다른 일변량 함수들,
ο 0이 아닌 덧셈 상수만큼 다른 인수들에 적용된 동일한 일변량 함수들
중 하나의 리던던시(redundancy)들을 식별하고, 그 전부 또는 일부를 선택하는 것으로 구성된 사전-선택 단계,
- c. 상기 사전-계산된 일변량 함수들의 네트워크들의 각각의 준동형 평가 단계 - 이들 일변량 함수들 중 하나 이상의 전부 또는 일부가 재사용될 때, 상기 사전-선택 단계에서 선택된 리던던시들이 공유 방식으로 평가됨 -
을 구현함으로써 적어도 하나의 다변량 함수의 사전 프로세싱으로부터 도출되는, 디지털 형태로 실행되는 암호화 방법. - 제1 항 내지 제13 항 중 어느 한 항에 따른 준동형 평가 암호화 방법을 구현하도록 프로그램되는 정보 프로세싱 시스템(information processing system).
- 제14 항에 따른 정보 프로세싱 시스템에 의해 로드되고 구현되도록 의도되는 컴퓨터 프로그램.
- 태스크(task)들이 디지털 프로세싱 서비스 제공자(digital processing service provides)들 역할을 하는 하나 이상의 제3 자(third-party)들과 데이터 소유자(data holder) 사이에 공유되는, 제1 항 내지 제15 항 중 어느 한 항에 따른 암호화 방법을 구현하는 클라우드 컴퓨팅 유형 원격 서비스(cloud computing type remote service).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2004772A FR3110311B1 (fr) | 2020-05-14 | 2020-05-14 | cryptographiques d’évaluation de fonctions à valeurs réelles sur des données chiffrées |
FRFR2004772 | 2020-05-14 | ||
PCT/FR2021/000050 WO2021229157A1 (fr) | 2020-05-14 | 2021-05-14 | Procédé, systèmes et services cryptographiques d'évaluation de fonctions univariées ou multivariées à valeurs réelles sur des données chiffrées |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230011986A true KR20230011986A (ko) | 2023-01-25 |
Family
ID=74347116
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227043467A KR20230011986A (ko) | 2020-05-14 | 2021-05-14 | 암호화된 데이터에 대해 일변량 또는 다변량 실수-값 함수들을 평가하기 위한 암호화 방법, 시스템들 및 서비스들 |
KR1020227043466A KR20230011985A (ko) | 2020-05-14 | 2021-05-14 | 암호화된 데이터에 대해 실수-값 함수들을 평가하기 위한 암호화 방법, 시스템들 및 서비스들 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227043466A KR20230011985A (ko) | 2020-05-14 | 2021-05-14 | 암호화된 데이터에 대해 실수-값 함수들을 평가하기 위한 암호화 방법, 시스템들 및 서비스들 |
Country Status (9)
Country | Link |
---|---|
US (2) | US20230291540A1 (ko) |
EP (2) | EP4150853A1 (ko) |
JP (2) | JP2023525159A (ko) |
KR (2) | KR20230011986A (ko) |
CN (2) | CN116134782A (ko) |
CA (1) | CA3183278A1 (ko) |
FR (1) | FR3110311B1 (ko) |
IL (2) | IL298173A (ko) |
WO (2) | WO2021229156A1 (ko) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8630422B2 (en) | 2009-11-10 | 2014-01-14 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
US11087223B2 (en) * | 2018-07-11 | 2021-08-10 | International Business Machines Corporation | Learning and inferring insights from encrypted data |
-
2020
- 2020-05-14 FR FR2004772A patent/FR3110311B1/fr active Active
-
2021
- 2021-05-14 EP EP21755798.2A patent/EP4150853A1/fr active Pending
- 2021-05-14 IL IL298173A patent/IL298173A/en unknown
- 2021-05-14 IL IL298162A patent/IL298162A/en unknown
- 2021-05-14 JP JP2022569135A patent/JP2023525159A/ja active Pending
- 2021-05-14 KR KR1020227043467A patent/KR20230011986A/ko active Search and Examination
- 2021-05-14 EP EP21734178.3A patent/EP4150852A1/fr active Pending
- 2021-05-14 CA CA3183278A patent/CA3183278A1/en active Pending
- 2021-05-14 CN CN202180060773.7A patent/CN116134782A/zh active Pending
- 2021-05-14 US US17/924,577 patent/US20230291540A1/en active Pending
- 2021-05-14 KR KR1020227043466A patent/KR20230011985A/ko active Search and Examination
- 2021-05-14 WO PCT/FR2021/000049 patent/WO2021229156A1/fr unknown
- 2021-05-14 JP JP2022569449A patent/JP2023526313A/ja active Pending
- 2021-05-14 CN CN202180060685.7A patent/CN116250208A/zh active Pending
- 2021-05-14 US US17/924,326 patent/US20230188318A1/en active Pending
- 2021-05-14 WO PCT/FR2021/000050 patent/WO2021229157A1/fr unknown
Also Published As
Publication number | Publication date |
---|---|
IL298162A (en) | 2023-01-01 |
US20230291540A1 (en) | 2023-09-14 |
EP4150853A1 (fr) | 2023-03-22 |
CN116250208A (zh) | 2023-06-09 |
JP2023525159A (ja) | 2023-06-14 |
KR20230011985A (ko) | 2023-01-25 |
WO2021229156A1 (fr) | 2021-11-18 |
FR3110311B1 (fr) | 2022-07-01 |
EP4150852A1 (fr) | 2023-03-22 |
IL298173A (en) | 2023-01-01 |
WO2021229157A1 (fr) | 2021-11-18 |
FR3110311A1 (fr) | 2021-11-19 |
WO2021229157A8 (fr) | 2022-12-01 |
WO2021229157A4 (fr) | 2022-01-20 |
WO2021229156A8 (fr) | 2022-12-01 |
CN116134782A (zh) | 2023-05-16 |
JP2023526313A (ja) | 2023-06-21 |
US20230188318A1 (en) | 2023-06-15 |
CA3183278A1 (en) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dulek et al. | Quantum homomorphic encryption for polynomial-sized circuits | |
Halevi | Homomorphic encryption | |
Cascudo et al. | ALBATROSS: publicly attestable batched randomness based on secret sharing | |
Boneh et al. | Fully key-homomorphic encryption, arithmetic circuit ABE and compact garbled circuits | |
Rane et al. | Privacy-preserving nearest neighbor methods: Comparing signals without revealing them | |
US8520854B2 (en) | Sharing a secret using polynomials over polynomials | |
Kiayias et al. | Optimal rate private information retrieval from homomorphic encryption | |
Baum et al. | Better preprocessing for secure multiparty computation | |
JP2001251289A (ja) | 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体 | |
CN112543091B (zh) | 密文长度固定的多密钥全同态加密方法 | |
Brakerski et al. | Constant ciphertext-rate non-committing encryption from standard assumptions | |
Dao et al. | Multi-party homomorphic secret sharing and sublinear MPC from sparse LPN | |
Saliba et al. | A reconciliation approach to key generation based on Module-LWE | |
Biswas et al. | Dynamic multi-key FHE in symmetric key setting from LWE without using common reference matrix | |
KR20230011986A (ko) | 암호화된 데이터에 대해 일변량 또는 다변량 실수-값 함수들을 평가하기 위한 암호화 방법, 시스템들 및 서비스들 | |
Eriguchi et al. | Homomorphic secret sharing for multipartite and general adversary structures supporting parallel evaluation of low-degree polynomials | |
Chmielewski et al. | Fuzzy private matching | |
Koshiba et al. | New assumptions on isogenous pairing groups with applications to attribute-based encryption | |
Karolin et al. | Visual Cryptography Secret Share Creation Techniques with Multiple Image Encryption and Decryption Using Elliptic Curve Cryptography | |
Zhou et al. | Efficient multi-key FHE with short extended ciphertexts and less public parameters | |
Lapets | Implementing Arbitrary Maps over Small Finite Domains using Ring Addition and Scalar Multiplication | |
Lazzeretti et al. | Piecewise function approximation with private data | |
Chen et al. | Publicly Verifiable Homomorphic Secret Sharing for Polynomial Evaluation | |
Sharma et al. | Making data in cloud secure and usable: fully homomorphic encryption with symmetric keys | |
Pignata et al. | General function evaluation in a STPC setting via piecewise linear approximation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |