KR102339833B1 - 다변수 패킹을 이용하는 연산 장치 및 방법 - Google Patents
다변수 패킹을 이용하는 연산 장치 및 방법 Download PDFInfo
- Publication number
- KR102339833B1 KR102339833B1 KR1020190160996A KR20190160996A KR102339833B1 KR 102339833 B1 KR102339833 B1 KR 102339833B1 KR 1020190160996 A KR1020190160996 A KR 1020190160996A KR 20190160996 A KR20190160996 A KR 20190160996A KR 102339833 B1 KR102339833 B1 KR 102339833B1
- Authority
- KR
- South Korea
- Prior art keywords
- messages
- ciphertext
- matrix
- multivariate
- homomorphic
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012856 packing Methods 0.000 title description 11
- 239000011159 matrix material Substances 0.000 claims description 91
- 238000012545 processing Methods 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000036961 partial effect Effects 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 28
- 239000013598 vector Substances 0.000 description 25
- 238000004891 communication Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000000605 extraction Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 229940050561 matrix product Drugs 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000021615 conjugation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000017105 transposition Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000007790 scraping Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000000844 transformation Methods 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- 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
-
- 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/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
-
- 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/34—Encoding or coding, e.g. Huffman coding or error correction
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
Description
도 2는 본 개시의 일 실시 예에 따른 연산 장치의 구성을 나타낸 블럭도,
도 3은 본 개시의 일 실시 예에 따른 암호화 방법을 설명하기 위한 흐름도,
도 4는 본 개시의 일 실시 예에 따른 행(row) 합산 방법을 설명하기 위한 도면,
도 5는 본 개시의 일 실시 예에 따른 대각 추출(Diagonal Extraction) 방법을 설명하기 위한 도면,
도 6은 본 개시의 일 실시 예에 따른 벡터 곱(Matrix by Vector Multiplication) 방법을 설명하기 위한 도면,
도 7은 본 개시의 일 실시 예에 따른 행렬 곱(Matrix Multiplication) 방법을 설명하기 위한 도면,
도 8은 본 개시의 일 실시 예에 따른 치환 행렬(Permutation Matrix)의 행렬 곱을 설명하기 위한 도면,
도 9는 본 개시의 일 실시 예에 따른 전치(transposition) 행렬 생성방법을 설명하기 위한 도면,
도 10은 본 개시의 일 실시 예에 따른 역행렬 연산 방법을 설명하기 위한 도면,
도 11은 본 개시의 일 실시 예에 따른 열(column)에서 행(row)로 선형 변환 방법을 설명하기 위한 도면, 그리고,
도 12는 본 개시의 일 실시 예에 따른 행(row)에서 열(column)로 선형 변환 방법을 설명하기 위한 도면이다.
300: 제2 서버 장치 400: 연산 장치
410: 통신 장치 420: 메모리
430: 디스플레이 440: 조작 입력 장치
450: 프로세서
Claims (14)
- 복수의 메시지를 입력받는 단계;
상기 복수의 메시지를 다변수로 정의되는 다항식으로 인코딩하는 단계; 및
상기 다변수로 정의되는 다항식을 암호화하여 동형 암호문을 생성하는 단계;를 포함하며,
상기 인코딩하는 단계는,
상기 다변수의 개수에 대응되는 다차원 텐서(tensor)로 배치하고, 상기 다차원 텐서로 배치된 복수의 메시지를 다항식으로 인코딩하는 암호화 방법. - 삭제
- 복수의 메시지를 입력받는 단계;
상기 복수의 메시지를 다변수로 정의되는 다항식으로 인코딩하는 단계; 및
상기 다변수로 정의되는 다항식을 암호화하여 동형 암호문을 생성하는 단계;를 포함하며,
상기 다변수는 제1 변수 및 제2 변수를 포함하고,
상기 인코딩하는 단계는,
상기 복수의 메시지를 복수의 열 및 복수의 행으로 구성되는 행렬 형태로 배치하고, 상기 행렬 형태로 배치된 복수의 메시지를 제1 변수 및 제2 변수로 정의되는 다항식으로 인코딩하는 암호화 방법. - 제3항에 있어서,
상기 인코딩하는 단계는,
상기 행렬의 슬롯 각각을 상기 제1 변수 및 상기 제2 변수로 정의되는 다항식의 계수로 변환하는 암호화 방법. - 복수의 메시지를 입력받는 단계;
상기 복수의 메시지를 다변수로 정의되는 다항식으로 인코딩하는 단계;
상기 다변수로 정의되는 다항식을 암호화하여 동형 암호문을 생성하는 단계; 및
복수의 동형 암호문에 대한 연산 처리를 수행하는 단계;를 포함하며,
상기 연산 처리는 행렬 곱이며,
상기 연산 처리를 수행하는 단계는,
상기 복수의 동형 암호문에 대한 하다마다 곱 연산을 수행하는 단계;
상기 하다마다 곱 연산 결과의 성분 합산을 통하여 행렬 곱 결과의 일부 성분 값을 산출하는 단계; 및
상기 복수의 동형 암호문 중 하나의 동형 암호문 내의 성분 위치를 이동하여 상기 하다마다 곱 연산을 수행하는 단계 및 상기 산출하는 단계를 반복하는 단계;를 포함하는 암호화 방법. - 삭제
- 제5항에 있어서,
상기 하다마다 곱 연산을 수행하는 단계는,
상기 복수의 동형 암호문을 구성하는 복수의 성분 중 상기 일부 성분 값 산출에 반영되는 성분만 하다마다 곱 연산을 수행하는 암호화 방법. - 연산 장치에 있어서,
적어도 하나의 인스트럭션(instruction) 및 기결정된 복수의 소수 정보를 저장하는 메모리; 및
상기 적어도 하나의 인스트럭션을 실행하는 프로세서;를 포함하고,
상기 프로세서는,
상기 적어도 하나의 인스트럭션을 실행함으로써,
복수의 메시지를 다변수로 정의되는 다항식으로 인코딩하고,
상기 다변수로 정의되는 다항식을 암호화하여 동형 암호문을 생성하며,
상기 인코딩은,
상기 다변수의 개수에 대응되는 다차원 텐서(tensor)로 배치하고, 상기 다차원 텐서로 배치된 복수의 메시지를 다항식으로 인코딩하는 연산 장치. - 삭제
- 연산 장치에 있어서,
적어도 하나의 인스트럭션(instruction) 및 기결정된 복수의 소수 정보를 저장하는 메모리; 및
상기 적어도 하나의 인스트럭션을 실행하는 프로세서;를 포함하고,
상기 프로세서는,
상기 적어도 하나의 인스트럭션을 실행함으로써,
복수의 메시지를 다변수로 정의되는 다항식으로 인코딩하고,
상기 다변수로 정의되는 다항식을 암호화하여 동형 암호문을 생성하며,
상기 다변수는 제1 변수 및 제2 변수를 포함하고,
상기 인코딩은,
상기 복수의 메시지를 복수의 열 및 복수의 행으로 구성되는 행렬 형태로 배치하고, 상기 행렬 형태로 배치된 복수의 메시지를 제1 변수 및 제2 변수로 정의되는 다항식으로 인코딩하는 연산 장치. - 제10항에 있어서,
상기 프로세서는,
상기 행렬의 슬롯 각각을 상기 제1 변수 및 상기 제2 변수로 정의되는 다항식의 계수로 변환하는 연산 장치. - 연산 장치에 있어서,
적어도 하나의 인스트럭션(instruction) 및 기결정된 복수의 소수 정보를 저장하는 메모리; 및
상기 적어도 하나의 인스트럭션을 실행하는 프로세서;를 포함하고,
상기 프로세서는,
상기 적어도 하나의 인스트럭션을 실행함으로써,
복수의 메시지를 다변수로 정의되는 다항식으로 인코딩하고,
상기 다변수로 정의되는 다항식을 암호화하여 동형 암호문을 생성하고,
복수의 동형 암호문에 대한 연산 처리를 수행하며,
상기 연산 처리는 행렬 곱이며,
상기 수행하는 연산 처리는,
상기 복수의 동형 암호문에 대한 하다마다 곱 연산을 수행하고,
상기 하다마다 곱 연산 결과의 성분 합산을 통하여 행렬 곱 결과의 일부 성분 값을 산출하고,
상기 복수의 동형 암호문 중 하나의 동형 암호문 내의 성분 위치를 이동하여 상기 하다마다 곱 연산 및 상기 산출하는 동작을 반복하여 상기 행렬 곱 결과의 전체 성분 값을 산출하는 연산 장치. - 삭제
- 제12항에 있어서,
상기 프로세서는,
상기 복수의 동형 암호문을 구성하는 복수의 성분 중 상기 일부 성분 값 산출에 반영되는 성분만 하다마다 곱 연산을 수행하는 연산 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/311,578 US12063290B2 (en) | 2018-12-07 | 2019-12-06 | Operating device and method using multivariate packing |
PCT/KR2019/017237 WO2020117015A1 (ko) | 2018-12-07 | 2019-12-06 | 다변수 패킹을 이용하는 연산 장치 및 방법 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862776883P | 2018-12-07 | 2018-12-07 | |
US62/776,883 | 2018-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200070121A KR20200070121A (ko) | 2020-06-17 |
KR102339833B1 true KR102339833B1 (ko) | 2021-12-16 |
Family
ID=71405480
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190128403A KR102297536B1 (ko) | 2018-12-07 | 2019-10-16 | 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법 |
KR1020190160996A KR102339833B1 (ko) | 2018-12-07 | 2019-12-05 | 다변수 패킹을 이용하는 연산 장치 및 방법 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190128403A KR102297536B1 (ko) | 2018-12-07 | 2019-10-16 | 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3893429A4 (ko) |
KR (2) | KR102297536B1 (ko) |
CN (1) | CN113169860B (ko) |
SG (1) | SG11202105753TA (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220040309A (ko) | 2020-09-23 | 2022-03-30 | 삼성전자주식회사 | 동형 암호화 장치 및 그 동작 방법 |
KR102409958B1 (ko) | 2020-11-10 | 2022-06-20 | 서울대학교산학협력단 | 전자 장치, 그 제어 방법 및 서버 |
KR20220078155A (ko) | 2020-12-03 | 2022-06-10 | 삼성전자주식회사 | 암호 프로세서, 암호 프로세서의 동작 방법 및 이를 포함한 전자 장치 |
US11870889B2 (en) | 2021-02-23 | 2024-01-09 | Samsung Electronics Co., Ltd. | Method and apparatus with homomorphic encryption |
KR102304992B1 (ko) | 2021-04-07 | 2021-09-27 | 서울대학교산학협력단 | 동형 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법 |
US11477007B1 (en) | 2021-04-13 | 2022-10-18 | International Business Machines Corporation | Packing arbitrary tensors into tiles with descriptive shapes |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170147835A1 (en) | 2015-11-25 | 2017-05-25 | International Business Machines Corporation | Efficient two party oblivious transfer using a leveled fully homomorphic encryption |
KR101861089B1 (ko) * | 2016-07-28 | 2018-05-25 | 서울대학교산학협력단 | 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9083526B2 (en) * | 2011-04-29 | 2015-07-14 | International Business Machines Corporation | Fully homomorphic encryption |
US9281941B2 (en) * | 2012-02-17 | 2016-03-08 | International Business Machines Corporation | Homomorphic evaluation including key switching, modulus switching, and dynamic noise management |
US9819650B2 (en) * | 2014-07-22 | 2017-11-14 | Nanthealth, Inc. | Homomorphic encryption in a healthcare network environment, system and methods |
US9900147B2 (en) * | 2015-12-18 | 2018-02-20 | Microsoft Technology Licensing, Llc | Homomorphic encryption with optimized homomorphic operations |
US20170293913A1 (en) * | 2016-04-12 | 2017-10-12 | The Governing Council Of The University Of Toronto | System and methods for validating and performing operations on homomorphically encrypted data |
KR101971215B1 (ko) * | 2016-06-17 | 2019-04-22 | 서울대학교산학협력단 | 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 |
-
2019
- 2019-10-16 KR KR1020190128403A patent/KR102297536B1/ko active IP Right Grant
- 2019-11-13 SG SG11202105753TA patent/SG11202105753TA/en unknown
- 2019-11-13 CN CN201980080489.9A patent/CN113169860B/zh active Active
- 2019-11-13 EP EP19892114.0A patent/EP3893429A4/en active Pending
- 2019-12-05 KR KR1020190160996A patent/KR102339833B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170147835A1 (en) | 2015-11-25 | 2017-05-25 | International Business Machines Corporation | Efficient two party oblivious transfer using a leveled fully homomorphic encryption |
KR101861089B1 (ko) * | 2016-07-28 | 2018-05-25 | 서울대학교산학협력단 | 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법 |
Non-Patent Citations (1)
Title |
---|
MATTHEW FRANKLIN 외 1명, Efficient and Secure Evaluation of Multivariate Polynomials and Applications, ACNS 2010, LNCS 6123, pp.236-254 (2010.06.)* |
Also Published As
Publication number | Publication date |
---|---|
KR102297536B1 (ko) | 2021-09-03 |
KR20200070090A (ko) | 2020-06-17 |
CN113169860A (zh) | 2021-07-23 |
KR20200070121A (ko) | 2020-06-17 |
SG11202105753TA (en) | 2021-06-29 |
CN113169860B (zh) | 2025-01-07 |
EP3893429A4 (en) | 2022-08-24 |
EP3893429A1 (en) | 2021-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11101976B2 (en) | Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof | |
KR102339833B1 (ko) | 다변수 패킹을 이용하는 연산 장치 및 방법 | |
US11239995B2 (en) | Apparatus for processing approximately encrypted messages and methods thereof | |
US12063290B2 (en) | Operating device and method using multivariate packing | |
KR102349855B1 (ko) | 공간 복잡도를 고려한 동형 암호화 또는 복호화 방법 | |
KR102393942B1 (ko) | 비밀 키에 대한 정족수 설계를 수행하는 장치 및 방법 | |
KR102167565B1 (ko) | 근사 암호화된 암호문에 대한 재부팅 연산을 수행하는 장치 및 방법 | |
KR20220121221A (ko) | 동형 암호문의 변환 장치 및 방법 | |
JP7170878B2 (ja) | 暗号文に対する非多項式演算を行う装置及び方法 | |
US20240235809A1 (en) | Method for homomorphic encryption or decryption in consideration of spatial complexity | |
US20230344617A1 (en) | Apparatus for bootstrap processing homomorphic encrypted message and method thereof | |
KR102304992B1 (ko) | 동형 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법 | |
KR102452181B1 (ko) | 근사 암호화된 암호문에 대한 정렬 장치 및 방법 | |
KR102160294B1 (ko) | 비밀 키에 대한 정족수 설계를 수행하는 장치 및 방법 | |
KR102393941B1 (ko) | 근사 암호화된 암호문에 대한 인코딩 또는 디코딩 | |
KR102418016B1 (ko) | 래티스를 기반으로 하는 신원 기반 암호화 방법 | |
US20240039695A1 (en) | Electronic apparatus for generating homomorphic encrypted message and method therefor | |
KR20230049052A (ko) | 격자전자서명의 비밀 키 생성 방법 및 이를 이용한 장치 | |
KR20240101372A (ko) | 동형 암호문 처리 방법 및 전자 장치 | |
KR20240108784A (ko) | 동형 암호문 처리 방법 및 전자 장치 | |
KR20240102803A (ko) | 동형 암호문의 선형변환 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20191205 |
|
PA0201 | Request for examination | ||
PN2301 | Change of applicant |
Patent event date: 20200116 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20210805 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20211207 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20211210 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20211213 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20241210 Start annual number: 4 End annual number: 4 |