KR20230127134A - Method and Device for multi-key homomorphic encryption - Google Patents

Method and Device for multi-key homomorphic encryption Download PDF

Info

Publication number
KR20230127134A
KR20230127134A KR1020220154691A KR20220154691A KR20230127134A KR 20230127134 A KR20230127134 A KR 20230127134A KR 1020220154691 A KR1020220154691 A KR 1020220154691A KR 20220154691 A KR20220154691 A KR 20220154691A KR 20230127134 A KR20230127134 A KR 20230127134A
Authority
KR
South Korea
Prior art keywords
key
multiplication
error
public key
homomorphic encryption
Prior art date
Application number
KR1020220154691A
Other languages
Korean (ko)
Inventor
노종선
김영식
구자현
이준우
Original Assignee
서울대학교산학협력단
조선대학교산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단, 조선대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to US18/169,950 priority Critical patent/US20230269069A1/en
Priority to CN202310141443.1A priority patent/CN116647319A/en
Publication of KR20230127134A publication Critical patent/KR20230127134A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

As a preferred embodiment of the present invention, a device for performing multi-key homomorphic encryption comprises: a public key generating unit that generates a public key by using a private key for each client; and a multiplication key generating unit that generates a multiplication key by reusing a public key protection error used to generate the public key. There is an effect of reducing computation time and memory by reducing a size of the multiplication key by reusing the public key protection error.

Description

다중키 동형암호를 수행하는 장치 및 방법{Method and Device for multi-key homomorphic encryption}Apparatus and method for performing multi-key homomorphic encryption {Method and Device for multi-key homomorphic encryption}

본 발명은 다중키 동형암호에 관한 것이다. 보다 상세히, 다중 키 동형암호에서 에러를 재사용하여 곱셈키를 생성하는 방법에 관한 것이다. The present invention relates to multi-key homomorphic encryption. in more detail, It relates to a method for generating multiplication keys by reusing errors in multi-key homomorphic encryption.

최근에는 사용자의 데이터를 암호화한 상태에서 연산을 수행하여 기업으로부터 사용자가 원하는 연산결과를 받을 수 있는 프라이버시 보존 기계학습 방법들이 개발되고 있다. Recently, privacy-preserving machine learning methods have been developed that allow users to receive desired calculation results from companies by performing calculations while encrypting user data.

프라이버시 보존 기계학습의 일 예로는 다중키 동형암호 방법이 있다. 다중키 동형암호는 각 데이터를 가진 사용자들 각각이 자신만의 비밀키를 생성하기 때문에 다른 사용자의 데이터에 접근이 어렵다. 다중키 동형암호 방법이 적용되는 시스템에서 서버는 사용자마다 공개키와 곱셈키를 보유하며 이를 이용하여 암호문 연산을 수행한다. 그러나, 사용자가 늘어나는 경우 서버는 사용자의 수에 따라 보유해야 하는 공개키와 곱셈키가 선형적으로 증가하게 되어 암호문 연산 수행이 오래 걸릴 수 있으며, 또한 메모리 등의 연산 자원을 많이 소비하게 되는 문제를 초래할 수 있다. An example of privacy-preserving machine learning is a multi-key homomorphic encryption method. In multi-key homomorphic encryption, it is difficult to access other users' data because each user with each data generates their own private key. In a system to which the multi-key homomorphic encryption method is applied, the server holds a public key and a multiplication key for each user and performs cipher text operation using the public key and multiplication key. However, when the number of users increases, the public key and the multiplication key that the server needs to possess increase linearly according to the number of users, so the ciphertext operation can take a long time and also consumes a lot of computational resources such as memory. can cause

KRKR 10-2022-0005705 10-2022-0005705 AA

본 발명의 바람직한 일 실시예에서는 다중 키 동형암호에서 RLWE(Ring learning with error) 기반으로 생성한 공개키의 에러값을 RERLWE 환경에서 곱셈키를 생성할 때 사용하여 곱셈키의 연산을 감소시키고자 한다. RERLWE 환경은 RLWE를 변형한 환경을 의미한다.In a preferred embodiment of the present invention, the error value of the public key generated based on ring learning with error (RLWE) in multi-key homomorphic encryption is used to generate a multiplication key in a RERLWE environment to reduce multiplication key operations. . The RERLWE environment means an environment modified from RLWE.

본 발명의 바람직한 일 실시예로서, 다중키 동형암호를 수행하는 장치는 클라이언트마다 비밀키를 이용하여 공개키를 생성하는 공개키 생성부; 및 상기 공개키 생성에 사용한 공개키보호에러를 재사용하여 곱셈키를 생성하는 곱셈키 생성부;를 포함한다. As a preferred embodiment of the present invention, an apparatus for performing multi-key homomorphic encryption includes a public key generator for generating a public key using a private key for each client; and a multiplication key generating unit generating a multiplication key by reusing the public key protection error used to generate the public key.

본 발명의 바람직한 일 실시예로서, 다중키 동형암호를 수행하는 장치는 RLWE 변형샘플을 이용하여 상기 곱셈키를 생성하며, 이 경우 상기 RLWE 변형샘플은 의 형태로 정의되고,a는 Rq상의 균등분포에서 선택한 원소, s는 비밀키 분포, 그리고 x 및 e는 에러 분포를 나타낸다.As a preferred embodiment of the present invention, an apparatus for performing multi-key homomorphic encryption generates the multiplication key using a RLWE modified sample, in which case the RLWE modified sample is It is defined in the form of, a is an element selected from the uniform distribution on Rq, s is the secret key distribution, and x and e are the error distributions.

본 발명의 바람직한 일 실시예로서, 다중키 동형암호를 수행하는 장치에서 상기 공개키는 의 형태로 정의되고, a는 Rq상의 균등분포에서 선택한 원소, si는 비밀키, 그리고 xi는 상기 공개키보호에러를 나타내는 것을 나타내는 것을 특징으로 한다. As a preferred embodiment of the present invention, in an apparatus for performing multi-key homomorphic encryption, the public key is It is defined in the form of, characterized in that a is an element selected from the uniform distribution on Rq, si is a secret key, and xi indicates the public key protection error.

본 발명의 바람직한 일 실시예로서, 다중키 동형암호를 수행하는 장치에서 상기 곱셈키는 이고, a는 Rq상의 균등분포에서 선택한 원소, 는 비밀키, 그리고 xi 상기 공개키보호에러 및 ei는 곱셈키보호에러를 나타내는 것을 특징으로 한다.As a preferred embodiment of the present invention, in an apparatus for performing multi-key homomorphic encryption, the multiplication key is , and a is an element selected from a uniform distribution on Rq, is the secret key, and x i is It is characterized in that the public key protection error and e i indicate a multiplication key protection error.

본 발명의 바람직한 일 실시예로서, 다중키 동형암호를 수행하는 장치에서 곱셈키생성부는 상기 클라이언트 간에 사전통신이 가능한 경우 모든 곱셈키에 대해 공통된 곱셈키 , 를 생성하는 것을 특징으로 한다.As a preferred embodiment of the present invention, in the apparatus for performing multi-key homomorphic encryption, the multiplication key generation unit provides a common multiplication key for all multiplication keys when pre-communication is possible between the clients. , It is characterized by generating.

본 발명의 또 다른 바람직한 일 실시예로서, 다중키 동형암호를 수행하는 장치는 비밀키를 생성하는 비밀키 생성부; 에러분포에서 공개키보호에러를 선택하는 공개키보호에러선택부; 상기 비밀키 및 상기 공개키보호에러를 이용하여 공개키를 생성하는 공개키 생성부; 에러분포에서 곱셈키보호에러를 선택하는 곱셈키보호에러선택부; 및 상기 비밀키, 상기 공개키보호에러 및 상기 곱셈키보호에러를 이용하여 곱개키를 생성하는 곱셈키 생성부;를 포함한다.As another preferred embodiment of the present invention, an apparatus for performing multi-key homomorphic encryption includes a secret key generator for generating a secret key; a public key protection error selector selecting a public key protection error from the error distribution; a public key generation unit generating a public key using the private key and the public key protection error; a multiplication key protection error selection unit that selects a multiplication key protection error from the error distribution; and a multiplication key generator configured to generate a multiplication key using the private key, the public key protection error, and the multiplication key protection error.

본 발명의 또 다른 바람직한 일 실시예로서, 다중키 동형암호를 수행하는 방법은 공개키 생성부에서 클라이언트마다 비밀키를 이용하여 공개키를 생성하는 단계; 및 곱셈키 생성부에서 상기 공개키 생성에 사용한 공개키보호에러를 재사용하여 곱셈키를 생성하는 단계;를 포함하는 것을 특징으로 한다. As another preferred embodiment of the present invention, a method for performing multi-key homomorphic encryption includes generating a public key using a private key for each client in a public key generating unit; and generating a multiplication key by reusing the public key protection error used in generating the public key in a multiplication key generation unit.

본 발명의 바람직한 일 실시예로서, 다중 키 동형암호에서 에러를 재사용하여 곱셈키를 생성하는 방법은 곱셈키의 크기를 감소시켜 클라이언트 및 서버의 메모리 사용량을 감소시키는 효과가 있다. As a preferred embodiment of the present invention, a method of generating multiplication keys by reusing errors in multi-key homomorphic encryption has the effect of reducing memory usage of clients and servers by reducing the size of multiplication keys.

또한, 클라이언트간 통신을 이용하지 않은 다중 키 동형암호의 경우, 기존 방식에서는 한 번의 동형 곱셈을 수행하기 위해서는 ModUp과 ModDown연산이 각각 두 번 필요하지만, 본 발명의 바람직한 일 실시예에 따른 다중키 동형암호 방법은 곱셈키의 크기를 감소시키면서 동시에 ModUp연산과 ModDown연산이 한번만 필요하게 되어 전체 곱셈의 연산 시간을 감소시키는 효과가 있다.In addition, in the case of multi-key homomorphic encryption without using inter-client communication, two ModUp and ModDown operations are required to perform homomorphic multiplication once in the conventional method, but multi-key isomorphic according to a preferred embodiment of the present invention. The encryption method has the effect of reducing the size of the multiplication key and at the same time reducing the operation time of the entire multiplication by requiring the ModUp operation and the ModDown operation only once.

도 1 은 RLWE 기반의 다중키 동형암호화 시스템(100)에서 클라이언트 간에 사전통신이 불가능한 경우 다중키 동형암호를 수행하는 일 예를 도시한다.
도 2 는 본 발명의 바람직한 일 실시예로서, 다중키 동형암호를 수행하는 장치의 내부 구성을 도시한다.
도 3 은 본 발명의 바람직한 일 실시예로서, 클라이언트 간에 사전통신이 불가능한 경우 다중키 동형암호를 통해 곱셈키를 생성하는 일 예를 도시한다.
FIG. 1 shows an example of performing multi-key homomorphic encryption when pre-communication between clients is impossible in the RLWE-based multi-key homomorphic encryption system 100.
2 shows the internal configuration of an apparatus for performing multi-key homomorphic encryption as a preferred embodiment of the present invention.
FIG. 3 shows an example of generating a multiplication key through multi-key homomorphic encryption when prior communication between clients is impossible as a preferred embodiment of the present invention.

이하에서 도면을 참고하여 설명한다. Hereinafter, it will be described with reference to the drawings.

도 1 은 RLWE 기반의 다중키 동형암호화 시스템(100)에서 사용자 간에 사전통신이 불가능한 경우 다중키 동형암호를 수행하는 일 예를 도시한다. 1 illustrates an example of performing multi-key homomorphic encryption when prior communication between users is impossible in the RLWE-based multi-key homomorphic encryption system 100.

다중키 동형암호화 시스템(100)은 클라이언트(110, 112, 114)와 서버(120)를 포함한다. 클라이언트(110, 112, 114)와 서버(120)는 각각 프로세서와 메모리를 포함한다.The multi-key homomorphic encryption system 100 includes clients 110, 112, and 114 and a server 120. Clients 110, 112, 114 and server 120 each include a processor and memory.

서버(120)는 LWE(learning with error) 기반의 암호 기법에 따른 동형 암호화를 수행할 수 있으며, 동형암호연산부(122)를 통해 RLWE(Ring learning with error) 기반의 암호 기법에 따른 동형 암호화를 이용하여 연산을 수행할 수 있다. The server 120 may perform homomorphic encryption according to a learning with error (LWE)-based encryption method, and use homomorphic encryption according to a ring learning with error (RLWE) based encryption method through the homomorphic encryption operation unit 122. you can perform the calculation.

서버(120)는 다중키 동형암호화 시스템의 두 암호문에 대해 곱셈 연산을 수행하기 위해서는 각 클라이언트의 공개키와 곱셈키가 필요하다. The server 120 requires a public key and a multiplication key of each client to perform a multiplication operation on two ciphertexts of the multi-key homomorphic encryption system.

RLWE 기반의 다중키 동형암호화 시스템에서 클라이언트간에 사전통신이 가능한 경우 공통된 공개키

Figure pat00007
와 공통된 곱셈키
Figure pat00008
가 사용된다. Common public key when pre-communication is possible between clients in RLWE-based multi-key homomorphic encryption system
Figure pat00007
Multiplication key common with
Figure pat00008
is used

그러나, 도 1에 도시된 예와 같이 클라이언트 간에 사전통신이 불가능한 경우 클라이언트(110, 112, 114)는 각각 서버(120)에 공개키 pki, 곱셈키 mki 그리고 암호문 cti을 전송하고, 서버(120)의 동형암호연산부(122)는 동형암호연산을 수행한 후 생성된 암호문

Figure pat00011
를 각 사용자(110, 112, 114)에게 전송한다. 그리고, 클라이언트들(110, 112, 114)은 협력하여 복호화를 진행한다. However, as in the example shown in FIG. 1, when prior communication between clients is impossible, the clients 110, 112, and 114 each transmit a public key pk i , a multiplication key mk i , and a ciphertext ct i to the server 120, and the server The homomorphic encryption operation unit 122 of (120) performs the homomorphic encryption operation and then generates the cipher text.
Figure pat00011
is transmitted to each user (110, 112, 114). Then, the clients 110, 112, and 114 cooperate to decrypt.

이 경우, 서버(120)는 클라이언트의 수가 증가되면 보유해야 하는 클라이언트들(110, 112, 114)의 공개키 pki,그리고 곱셈키 mki가 증가하게 되어 메모리 사용량이 증가하는 문제가 발생한다. 또한, 클라이언트들(110, 112, 114)간의 통신이 불가능한 경우 서버(120)에서 모든 동형연산을 모두 수행해야 하고, 곱셈연산을 위한 연산시간이 길어지는 문제가 발생될 수 있다. In this case, when the number of clients increases, the server 120 increases the public key pk i and the multiplication key mk i of the clients 110, 112, and 114, resulting in an increase in memory usage. In addition, when communication between the clients 110, 112, and 114 is impossible, all isomorphic operations must be performed by the server 120, and the operation time for the multiplication operation becomes long.

도 1 을 참고하여, 클라이언트들 간에 통신이 불가능한 경우 RLWE 기반의 다중키 동형암호화를 수행하는 방법을 설명한다. Referring to FIG. 1, a method of performing RLWE-based multi-key homomorphic encryption when communication between clients is impossible will be described.

다중키 동형암호를 수행하기 위하여 각 클라이언트(110, 112, 114)는 암호문 계수(modulus) q0,q1,...qL와 특수계수(speicial modulus) p0,p1,...,pK를 생성한다. 이 경우, RLWE 샘플의 형식을 다음과 같이 정의한다. In order to perform multi-key homomorphic encryption, each client 110, 112, 114 has ciphertext modulus q 0 ,q 1 ,...q L and special modulus p 0 ,p 1 ,... ,p produces K. In this case, the format of the RLWE sample is defined as follows.

, , , , , ,

a는 모든 클라이언트가 공유하고 있어야 하는 원소를 의미하며, RQ* RP 상에서 정의된 균등분포에서 선택한다. s는 비밀키 분포, 그리고 e는 에러 분포를 각각 나타낸다. 여기서, RQ* RP = 이며, ,그리고 로 정의한다. a means an element that should be shared by all clients, and is selected from the uniform distribution defined on R Q * R P. s represents the secret key distribution, and e represents the error distribution, respectively. where R Q * R P = is, ,and is defined as

각 클라이언트는 RLWE 샘플을 통해 비밀키 si를 생성하고, 비밀키 si를 이용하여 공개키 pki와 곱셈키 mki를 생성한다.Each client generates a private key s i through the RLWE sample, and uses the private key s i to generate a public key pk i and a multiplication key mk i .

, ,

곱셈키 mki의 각 원소는 다음과 같다.Each element of the multiplication key mk i is as follows.

mki,0은 RQ* RP 상에서 정의된 균등분포에서 선택한다.mk i,0 selects from the uniform distribution defined on R Q * R P.

는 RQ상의 에러분포를 나타내고, 로 ri 는 키(key)분포에서 선택된다. 예를 들어, ri는 비밀키 분포에서 선택되며, 곱셈연산 과정에서 ri는 제거되어 곱셈연산을 수행하기 위해 사용되는 임시 비밀키의 기능을 수행한다. and Represents the error distribution on R Q , R i is selected from the key distribution. For example, ri is selected from the secret key distribution, and ri is removed during the multiplication operation to serve as a temporary secret key used to perform the multiplication operation.

도 1에 도시된 예시와 같이 클라이언트들(110, 112, 114) 간에 사전 통신이 불가능한 경우, 서버(120)에서 보유해야 하는 공개키 pki=(a,bi = -asi+xi)와 곱셈키 가 방대해지는 문제가 있다. 또한 클라이언트가 휴대폰 등과 같이 메모리 등이 제한된 리소스를 지닌 전자장치를 이용하는 경우 동형연산을 위해 키를 생성하는 것이 부담이 될 수 있다. As shown in the example shown in FIG. 1 , when prior communication between the clients 110 , 112 , and 114 is impossible, the public key pk i =(a,b i = -as i +x i ) to be held by the server 120 and multiplication key There is a problem that becomes massive. In addition, when a client uses an electronic device having limited resources such as a memory, such as a mobile phone, generating a key for isomorphic operation may be burdensome.

이러한 문제점을 해결하기 위하여, 본 발명의 바람직한 일 실시예에서는 RLWE(Ring learning with error) 샘플을 생성할 때 사용한 공개키보호에러를 재사용하여 곱셈키의 크기를 줄이고, 연산시간을 감소시킬 수 있다. 도 2 를 참고하여 설명한다.In order to solve this problem, in a preferred embodiment of the present invention, the size of the multiplication key and the operation time can be reduced by reusing the public key protection error used when generating the RLWE (Ring Learning with Error) sample. This will be described with reference to FIG. 2 .

도 2 는 본 발명의 바람직한 일 실시예로서, 다중키 동형암호를 수행하는 장치의 내부 구성을 도시한다. 2 shows the internal configuration of an apparatus for performing multi-key homomorphic encryption as a preferred embodiment of the present invention.

다중키 동형암호를 수행하는 장치(200)는 Re-RLWE환경에서 구현된다. Re-RLWE환경은 RLWE(Ring learning with error) 샘플을 생성할 때 사용한 에러를 재사용하는 변형된 환경을 지칭한다. Re-RLWE 샘플의 형식을 다음과 같이 정의한다. The apparatus 200 for performing multi-key homomorphic encryption is implemented in a Re-RLWE environment. The Re-RLWE environment refers to a modified environment that reuses errors used when generating RLWE (Ring learning with error) samples. The format of the Re-RLWE sample is defined as follows.

, , , , , ,

a는 RQ상의 균등분포에서 선택한 원소, s는 비밀키 분포, 그리고 x 및 e는 RQ상의 에러 분포를 나타낸다. x는 공개키보호에러를 그리고 e는 곱셈키보호에러를 나타낸다. 공개키보호에러 및 곱셈키보호에러는 임의의 키분포에서 선택되며, 임의의 키분포의 일 예로는 이산 가우시안 분포(Discrete Gaussian Distribution)가 있다.a is an element selected from a uniform distribution on R Q , s is a secret key distribution, and x and e are error distributions on R Q. x represents a public key protection error and e represents a multiplication key protection error. The public key protection error and the multiplication key protection error are selected from an arbitrary key distribution, and an example of the arbitrary key distribution is a Discrete Gaussian Distribution.

다중키 동형암호를 수행하는 장치(200)는 비밀키생성부(210), 공개키생성부(220), 공개키보호에러선택부(230), 곱셈키생성부(240) 및 곱셈키보호에러선택부(250)를 포함한다.The apparatus 200 for performing multi-key homomorphic encryption includes a secret key generator 210, a public key generator 220, a public key protection error selector 230, a multiplication key generator 240, and a multiplication key protection error A selection unit 250 is included.

비밀키생성부(210)는 비밀키 si를 Re-RLWE 샘플을 통해 생성한다. Re-RLWE 샘플은 RLWE 샘플과 달리 ax+e가 추가함으로써 곱셈키의 크기를 줄일 수 있다. The secret key generation unit 210 generates a secret key s i through the Re-RLWE sample. Unlike the RLWE sample, the Re-RLWE sample can reduce the size of the multiplication key by adding ax+e.

예를 들어, 클라이언트 간 통신이 어려운 경우 RLWE 다중키 동형암호의 곱셈을 수행하기 위해서는 공개키 와 및 곱셈키 mki=(a',b',c')= 가 필요하였다. 그러나, 본 발명의 바람직한 일 실시예에 따를 경우 클라이언트 간 통신이 어려운 경우 RLWE 다중키 동형암호의 곱셈을 수행하기 위해서는 공개키 와 및 곱셈키 mki=c=ax+e 가 요구된다. 즉, 기존에는 곱셈키가 로 3개의 항목(element)이 필요하였으나 본 발명에서는 곱셈키가 mki 로 1개의 항목로 줄어들어 곱셈키의 크기가 줄어드는 효과가 있다.For example, if communication between clients is difficult, public key is required to perform RLWE multi-key homomorphic encryption multiplication. and multiplication key mki=(a',b',c')= was needed However, according to a preferred embodiment of the present invention, when communication between clients is difficult, a public key is required to perform RLWE multi-key homomorphic encryption multiplication. and multiplication keys mki=c=ax+e are required. That is, in the past, the multiplication key Although three elements were required in the present invention, the multiplication key is reduced to one item as mki, which has the effect of reducing the size of the multiplication key.

공개키생성부(220)는 비밀키 si와 공개키보호에러선택부(230)에서 선택한 공개키보호에러 를 이용하여 공개키 를 생성한다. The public key generation unit 220 determines the secret key s i and the public key protection error selected by the public key protection error selection unit 230 public key using generate

곱셈키생성부(240)는 비밀키 si, 공개키보호에러 xi 그리고 곱셈키보호에러선택부(250)에서 선택한 곱셈키보호에러 ei 를 이용하여 곱셈키 를 생성한다. 다시 말해, 공개키 를 생성할 때 사용한 공개키보호에러 xi를 곱셈키를 생성할 때 재사용하여 곱셈키의 크기를 감소시킨다. 곱셈키보호에러선택부(250)는 에서 곱셈키보호에러 ei 를 선택한다. 예를 들어, 이산 가우시안 분포(Discrete Gaussian Distribution)에서 선택될 수 있다.The multiplication key generator 240 generates a multiplication key using the secret key s i , the public key protection error xi and the multiplication key protection error e i selected by the multiplication key protection error selection unit 250. generate In other words, the public key The size of the multiplication key is reduced by reusing the public key protection error x i used when generating the multiplication key when generating the multiplication key. The multiplication key protection error selection unit 250 Select multiplication key protection error e i in For example, it can be selected from the Discrete Gaussian Distribution.

곱셈키 에서 , ei는 Re-RLWE샘플을 구성하는 요소이다. ei는 곱셈키보호에러를 나타내며, ei를 통해 공개키보호에러 xi를 쉽게 찾을 수 없게 되어 전체 분포가 균등분포처럼 보이게 만들어 준다. P는 동형암호 연산에서 곱셈을 수행할 때 에러값이 빠르게 커지는 것을 방지하기 위한 변수이다. multiplication key at , e i are elements constituting the Re-RLWE sample. e i represents the multiplication key protection error, and it is not easy to find the public key protection error x i through e i , making the entire distribution look like a uniform distribution. P is a variable to prevent an error value from rapidly increasing when multiplication is performed in a homomorphic encryption operation.

곱셈키생성부(240)는 클라이언트 간에 사전통신이 가능한 경우 모든 곱셈키에 대해 공통된 곱셈키 를 생성한다. k는 클라이언트의 수를 나타낸다. The multiplication key generation unit 240 is a common multiplication key for all multiplication keys when pre-communication is possible between clients. generate k represents the number of clients.

도 3 은 본 발명의 바람직한 일 실시예로서, 클라이언트간 사전 통신이 불가능한 경우 RLWE환경과 Re-RLWE환경에서 곱셈키를 각각 나타낸다. 3 shows a multiplication key in a RLWE environment and a Re-RLWE environment, respectively, when preliminary communication between clients is impossible as a preferred embodiment of the present invention.

종래에는 클라이언트간 사전 통신이 불가능한 경우, 클라이언트(310)는 비밀키(secret key), 공개키(a,b) 및 곱셈키 생성하였다. 본 발명의 바람직한 일 실시예에서, 클라이언트(320)는 비밀키(secret key), 공개키(a,b) 및 변형된 곱셈키 mki를 생성함으로써, 곱셈키가 에서 로 변경되어 곱셈키의 크기가 1/3로 감소하는 효과가 있다. Conventionally, when prior communication between clients is impossible, the client 310 uses a secret key, a public key (a, b) and a multiplication key. Created. In a preferred embodiment of the present invention, the client 320 generates a secret key, a public key (a, b) and a modified multiplication key mk i , so that the multiplication key is at , which has the effect of reducing the size of the multiplication key to 1/3.

클라이언트간 사전 통신이 가능한 경우에도, 종래에는 클라이언트는 비밀키(secret key), 공개키(a,b) 및 곱셈키를 생성하였다. 본 발명의 바람직한 일 실시예에서, 클라이언트는 사전 통신이 가능한 경우 비밀키(secret key), 공개키(a,b) 및 곱셈키 mki를 생성함으로써, 곱셈키가에서 로 변경되어 곱셈키의 크기가 1/2로 감소하는 효과가 있다. Even if prior communication between clients is possible, conventionally, the client has a secret key, a public key (a, b) and a multiplication key. was created. In a preferred embodiment of the present invention, the client generates a secret key, a public key (a, b), and a multiplication key mk i when prior communication is possible, so that the multiplication key is at , which has the effect of reducing the size of the multiplication key to 1/2.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved. Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

Claims (13)

클라이언트마다 비밀키를 이용하여 공개키를 생성하는 공개키 생성부; 및
상기 공개키 생성에 사용한 공개키보호에러를 재사용하여 곱셈키를 생성하는 곱셈키 생성부;를 포함하는 것을 특징으로 하는 다중키 동형암호를 수행하는 장치.
a public key generator for generating a public key using a private key for each client; and
and a multiplication key generating unit generating a multiplication key by reusing the public key protection error used to generate the public key.
제 1 항에 있어서,
RLWE(Ring learning with error) 변형샘플을 이용하여 상기 곱셈키를 생성하며, 이 경우 상기 RLWE 변형샘플은 의 형태로 정의되고,
a는 Rq상의 균등분포에서 선택한 원소, s는 비밀키 분포, 그리고 x 및 e는 에러 분포를 나타내는 것을 특징으로 하는 다중키 동형암호를 수행하는 장치.
According to claim 1,
The multiplication key is generated using a ring learning with error (RLWE) variant sample, in which case the RLWE variant sample is is defined in the form of
An apparatus for performing multi-key homomorphic encryption, characterized in that a is an element selected from the uniform distribution on Rq, s is a secret key distribution, and x and e are error distributions.
제 1 항에 있어서,
상기 공개키는 의 형태로 정의되고, a는 Rq상의 균등분포에서 선택한 원소, si는 비밀키, 그리고 xi는 상기 공개키보호에러를 나타내는 것을 나타내는 것을 특징으로 하는 다중키 동형암호를 수행하는 장치.
According to claim 1,
The public key is An apparatus for performing multi-key homomorphic encryption, wherein a is an element selected from a uniform distribution on Rq, si is a private key, and xi is an indication of the public key protection error.
제 1 항에 있어서,
상기 곱셈키는 이고, a는 Rq상의 균등분포에서 선택한 원소, 는 비밀키, 그리고 xi 상기 공개키보호에러 및 ei는 곱셈키보호에러를 나타내는 것을 특징으로 하는 다중키 동형암호를 수행하는 장치.
According to claim 1,
The multiplication key is , and a is an element selected from a uniform distribution on Rq, is the secret key, and x i is The apparatus for performing multi-key homomorphic encryption, characterized in that the public key protection error and e i represent a multiplication key protection error.
제 4항에 있어서,
상기 클라이언트 간에 사전통신이 가능한 경우 모든 곱셈키에 대해 공통된 곱셈키 , 를 생성하는 것을 특징으로 하는 다중키 동형암호를 수행하는 장치.
According to claim 4,
Common multiplication key for all multiplication keys if prior communication is possible between the clients , An apparatus for performing multi-key homomorphic encryption, characterized in that for generating.
비밀키를 생성하는 비밀키 생성부;
에러분포에서 공개키보호에러를 선택하는 공개키보호에러선택부;
상기 비밀키 및 상기 공개키보호에러를 이용하여 공개키를 생성하는 공개키 생성부;
에러분포에서 곱셈키보호에러를 선택하는 곱셈키보호에러선택부; 및
상기 비밀키, 상기 공개키보호에러 및 상기 곱셈키보호에러를 이용하여 곱개키를 생성하는 곱셈키 생성부;를 포함하는 것을 특징으로 하는 다중키 동형암호를 수행하는 장치.
a secret key generation unit that generates a secret key;
a public key protection error selector selecting a public key protection error from the error distribution;
a public key generation unit generating a public key using the private key and the public key protection error;
a multiplication key protection error selection unit that selects a multiplication key protection error from the error distribution; and
and a multiplication key generator configured to generate a multiplication key using the private key, the public key protection error, and the multiplication key protection error.
제 6 항에 있어서, 상기 비밀키는
RLWE(Ring learning with error) 변형샘플을 이용하여 생성되고, 상기 RLWE 변형샘플은 의 형태로 정의되며, 상기 곱셈키를 생성하며, 이 경우
a는 Rq상의 균등분포에서 선택한 원소, s는 비밀키 분포, x는 공개키보호에러, 그리고 e는 곱셈키보호에러를 나타내는 것을 특징으로 하는 다중키 동형암호를 수행하는 장치.
7. The method of claim 6, wherein the secret key is
It is generated using a ring learning with error (RLWE) variant sample, and the RLWE variant sample is It is defined in the form of, generates the multiplication key, in this case
A device for performing multi-key homomorphic encryption, characterized in that a is an element selected from the uniform distribution on Rq, s is a secret key distribution, x is a public key protection error, and e is a multiplication key protection error.
공개키 생성부에서 클라이언트마다 비밀키를 이용하여 공개키를 생성하는 단계; 및
곱셈키 생성부에서 상기 공개키 생성에 사용한 공개키보호에러를 재사용하여 곱셈키를 생성하는 단계;를 포함하는 것을 특징으로 하는 다중키 동형암호를 수행하는 방법.
generating a public key by using a private key for each client in a public key generating unit; and
and generating a multiplication key by reusing the public key protection error used to generate the public key in a multiplication key generation unit.
제 8 항에 있어서,
RLWE(Ring learning with error) 변형샘플을 이용하여 상기 곱셈키를 생성하며, 이 경우 상기 RLWE 변형샘플은 의 형태로 정의되고,
a는 Rq상의 균등분포에서 선택한 원소, s는 비밀키 분포, 그리고 x 및 e는 에러 분포를 나타내는 것을 특징으로 하는 다중키 동형암호를 수행하는 방법.
According to claim 8,
The multiplication key is generated using a ring learning with error (RLWE) variant sample, in which case the RLWE variant sample is is defined in the form of
A method for performing multi-key homomorphic encryption, characterized in that a is an element selected from the uniform distribution on Rq, s is a secret key distribution, and x and e are error distributions.
제 8 항에 있어서,
상기 공개키는 의 형태로 정의되고, a는 Rq상의 균등분포에서 선택한 원소, si는 비밀키, 그리고 xi는 상기 공개키보호에러를 나타내는 것을 나타내는 것을 특징으로 하는 다중키 동형암호를 수행하는 방법.
According to claim 8,
The public key is A method for performing multi-key homomorphic encryption, characterized in that a is an element selected from the uniform distribution on Rq, si is a secret key, and xi indicates the public key protection error.
제 8 항에 있어서,
상기 곱셈키는 이고, a는 Rq상의 균등분포에서 선택한 원소, 는 비밀키 분포, 그리고 xi 상기 공개키보호에러 및 ei는 곱셈키보호에러를 나타내는 것을 특징으로 하는 다중키 동형암호를 수행하는 방법.
According to claim 8,
The multiplication key is , and a is an element selected from a uniform distribution on Rq, is the secret key distribution, and x i is The method of performing multi-key homomorphic encryption, characterized in that the public key protection error and e i represent a multiplication key protection error.
제 11 항에 있어서,
상기 클라이언트 간에 사전통신이 가능한 경우 모든 곱셈키에 대해 공통된 곱셈키 , 를 생성하는 것을 특징으로 하는 다중키 동형암호를 수행하는 방법.
According to claim 11,
Common multiplication key for all multiplication keys if prior communication is possible between the clients , A method for performing multi-key homomorphic encryption, characterized in that for generating.
제 8 항 내지 제 12 항 중 어느 한 항에 기재된 전자도면자동생성방법을 실행하기 위한 프로그램을 기록한 것을 특징으로 하는 컴퓨터판독기록매체.


A computer-readable recording medium characterized in that a program for executing the automatic electronic drawing generation method according to any one of claims 8 to 12 is recorded.


KR1020220154691A 2022-02-24 2022-11-17 Method and Device for multi-key homomorphic encryption KR20230127134A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/169,950 US20230269069A1 (en) 2022-02-24 2023-02-16 Method and device for multi-key homomorphic encryption
CN202310141443.1A CN116647319A (en) 2022-02-24 2023-02-20 Method and apparatus for homomorphic encryption of multiple keys

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220024657 2022-02-24
KR20220024657 2022-02-24

Publications (1)

Publication Number Publication Date
KR20230127134A true KR20230127134A (en) 2023-08-31

Family

ID=87847629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220154691A KR20230127134A (en) 2022-02-24 2022-11-17 Method and Device for multi-key homomorphic encryption

Country Status (1)

Country Link
KR (1) KR20230127134A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220005705A (en) 2020-07-07 2022-01-14 삼성전자주식회사 The electronic device for using homomorphic encryption and the method for processing encrypted data thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220005705A (en) 2020-07-07 2022-01-14 삼성전자주식회사 The electronic device for using homomorphic encryption and the method for processing encrypted data thereof

Similar Documents

Publication Publication Date Title
EP3916604B1 (en) Method and apparatus for processing privacy data of block chain, device, storage medium and computer program product
RU2691874C2 (en) Method of protecting information in cloud computing using homomorphic encryption
US9900147B2 (en) Homomorphic encryption with optimized homomorphic operations
JP2021189431A5 (en)
JP2023549929A (en) Secure reencryption of homomorphically encrypted data
CN110516462B (en) Method and apparatus for encrypting data
EP4049154B1 (en) Private password constraint validation
CN110795747A (en) Data encryption storage method, device, equipment and readable storage medium
KR101697868B1 (en) Method for encrypting data for sharing or searching the data and apparatus for performing the method
CN114039785B (en) Data encryption, decryption and processing methods, devices, equipment and storage medium
Yadav et al. Mobile cloud computing issues and solution framework
CN112560003A (en) User authority management method and device
CN116866029B (en) Random number encryption data transmission method, device, computer equipment and storage medium
CN111046431B (en) Data processing method, query method, device, electronic equipment and system
CN110390516B (en) Method, apparatus and computer storage medium for data processing
Gupta et al. C 3 T: Cloud based cyclic cryptographic technique and it’s comparative analysis with classical cipher techniques
KR20230127134A (en) Method and Device for multi-key homomorphic encryption
US20230085239A1 (en) Querying fully homomorphic encryption encrypted databases using client-side preprocessing or post-processing
Hu et al. An embedded DSP hardware encryption module for secure e‐commerce transactions
Chavan et al. Secure CRM cloud service using RC5 algorithm
CN113612799A (en) Block chain hash encryption method and device based on SM2 algorithm
CN112380548A (en) Data storage method, system, equipment and readable storage medium
Yudheksha et al. A study of AES and RSA algorithms based on GPUs
US20230269069A1 (en) Method and device for multi-key homomorphic encryption
Yagoub et al. An intelligent cloud data protection technique based on multi agent system using advanced cryptographic algorithms