KR20200054119A - Server and method for exponential function calculation of data encrypted with homomorphic encryption technique - Google Patents

Server and method for exponential function calculation of data encrypted with homomorphic encryption technique Download PDF

Info

Publication number
KR20200054119A
KR20200054119A KR1020190143824A KR20190143824A KR20200054119A KR 20200054119 A KR20200054119 A KR 20200054119A KR 1020190143824 A KR1020190143824 A KR 1020190143824A KR 20190143824 A KR20190143824 A KR 20190143824A KR 20200054119 A KR20200054119 A KR 20200054119A
Authority
KR
South Korea
Prior art keywords
exponential function
value
ciphertext
result
input value
Prior art date
Application number
KR1020190143824A
Other languages
Korean (ko)
Other versions
KR102213835B1 (en
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 고려대학교 산학협력단
Publication of KR20200054119A publication Critical patent/KR20200054119A/en
Application granted granted Critical
Publication of KR102213835B1 publication Critical patent/KR102213835B1/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/544Methods 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 for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions

Landscapes

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

Abstract

According to an embodiment of the present invention, provided is a method for exponential function calculation of data, in a method for exponential function calculation of a binary-encrypted input value by a homogeneous encryption technique performed by an exponential function calculation server, which comprises the steps of: (a) performing pre-processing by converting the ciphertext of the input value in the form of an exponential function into the ciphertext in the form of an exponential part of the binary exponential function; (b) performing a positive binary exponential function operation on a pre-processed input ciphertext and outputting a result; (c) performing a negative binary exponential function operation on the pre-processed input value ciphertext and outputting a result value thereof; and (d) calculating the exponential function result of the ciphertext of the input value by selectively integrating the result of the positive binary exponential function operation and the result of the negative binary exponential function operation.

Description

동형암호 기법으로 암호화된 데이터의 지수 함수 연산 서버 및 방법{SERVER AND METHOD FOR EXPONENTIAL FUNCTION CALCULATION OF DATA ENCRYPTED WITH HOMOMORPHIC ENCRYPTION TECHNIQUE}SERVER AND METHOD FOR EXPONENTIAL FUNCTION CALCULATION OF DATA ENCRYPTED WITH HOMOMORPHIC ENCRYPTION TECHNIQUE}

본 발명은 동형암호(Homomorphic Encryption)를 이용해 암호화된 데이터에 대해 별도의 복호화 없이 지수 함수 연산을 수행하는 서버 및 방법에 관한 것이다.The present invention relates to a server and method for performing an exponential function operation without separate decryption on data encrypted using homomorphic encryption.

일반적으로, 사용자가 원하는 서비스를 서버에 요청하는 경우, 암호화된 파일을 서버에 전송한다. 이 후 서버는 이를 복호화하여 사용자가 원하는 서비스를 처리를 하게 된다. 다만, 여기에서 사용자가 보낸 파일 또는 데이터에 대해 서버가 수집을 할 수 있다는 문제점이 있다.Generally, when a user requests a service desired by a user, an encrypted file is transmitted to the server. After that, the server decrypts it and processes the service desired by the user. However, there is a problem in that the server can collect files or data sent by the user from here.

그러나, 동형암호 기법을 이용하게 되면, 서버는 사용자가 보낸 암호화된 데이터를 암호화된 상태에서 사용자가 원하는 서비스를 처리하여, 결과적으로 서버는 사용자가 보낸 데이터에 대해 어떠한 정보도 얻을 수 없게 된다. 즉, 동형암호는 사용자의 프라이버시를 보존할 수 있는 암호화 기법이다.However, if the homogeneous encryption technique is used, the server processes the service desired by the user while the encrypted data sent by the user is encrypted, and as a result, the server cannot obtain any information about the data sent by the user. That is, homogeneous encryption is an encryption technique that can preserve the user's privacy.

다만, 현재까지 동형암호의 연산은 다양화되지 않았고, 이에 따라 동형암호에 적용되는 기초적인 연산 구축의 필요성이 대두되고 있다.However, until now, the computation of homogeneous cryptography has not been diversified, and accordingly, the necessity of constructing a basic computation applied to the homogeneous cryptography is emerging.

나아가, 기존의 평문 상에서의 지수 함수 값을 구하는 방식으로는 암호화된 상태에서의 지수 함수 값을 구하는데 한계가 있었다. 따라서, 평문 상에서 지수 함수 값을 구하는 방식과는 달리 암호화된 상태에서는 입력 값이 무엇인지 알 수 없기 때문에 이에 대해 다른 알고리즘의 개발이 요구되고 있다.Furthermore, there is a limit to obtaining an exponential function value in an encrypted state as a method of obtaining an exponential function value in the existing plain text. Therefore, unlike the method of obtaining the exponential function value in plain text, it is not possible to know what the input value is in the encrypted state.

대한민국공개특허공보 10-2017-0122458(2017. 11. 06. 공개)Republic of Korea Patent Publication No. 10-2017-0122458 (released on June 06, 2017)

상술한 문제를 해결하기 위하여, 본 발명에 따른 동형암호 기법으로 암호화된 데이터의 지수 연산 서버 및 방법은 동형암호를 이용해 암호화된 데이터에 대하여 복호화 없이 지수 함수 연산을 수행하는 서버 및 방법을 제공하고자 한다. In order to solve the above-mentioned problem, the exponential calculation server and method of data encrypted by the homogeneous encryption method according to the present invention is to provide a server and method for performing exponential function calculation without decryption on data encrypted using the homogeneous encryption method. .

구체적으로, 본 발명은 암호화된 데이터 상에서의 암호문의 밑 변환 전처리, 양의 이진 지수 함수 연산, 음의 이진 지수 함수 연산을 이용하고 마지막으로 선택적 통합 기술을 통해 결과값을 도출하여 지수 함수 연산 결과값을 구하고자 한다.Specifically, the present invention uses the pre-transformation of the base of the cipher text on the encrypted data, the operation of the positive binary exponential function, the operation of the negative binary exponential function, and finally the result of the exponential function calculation by deriving the result value through the optional integration technique. I want to get

본 발명의 일 실시예에 따른 지수 함수 연산 서버에 의해 수행되는 동형암호 기법으로 이진 암호화된 입력값의 지수 함수 연산 방법에 있어서, (a) 지수 함수 형태의 입력값의 암호문을 이진 지수 함수의 지수 부분 형태의 암호문으로 변환하여 전처리하는 단계; (b) 전처리된 입력값의 암호문에 대하여 양의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하는 단계; (c) 전처리된 입력값의 암호문에 대하여 음의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하는 단계; 및 (d) 출력된 양의 이진 지수 함수 연산의 결과값과 음의 이진 지수 함수 연산의 결과값을 선택적 통합하여 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법을 제공하고자 한다.In a method for calculating an exponential function of a binary-encrypted input value by a homogeneous encryption technique performed by an exponential function calculation server according to an embodiment of the present invention, (a) an exponent of a binary exponential function of a cipher text of an input value of an exponential function Pre-processing by converting to a partial type of ciphertext; (b) performing a positive binary exponential function operation on the preprocessed input text ciphertext and outputting the result value; (c) performing a negative binary exponential function operation on the preprocessed input value ciphertext and outputting the result value; And (d) selectively combining the result of the output of the positive binary exponential function operation and the result of the negative binary exponential function operation to calculate the exponential function operation result of the ciphertext of the input value. We want to provide an exponential function calculation method.

본 실시예에 있어서, (a) 단계는, 입력값(

Figure pat00001
)의 암호문(
Figure pat00002
)을 아래의 [수학식 1]에 기초하여 이진 지수 함수의 지수 부분 형태의 암호문(
Figure pat00003
)으로 전처리하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법을 제공할 수 있다.In this embodiment, step (a) is, the input value (
Figure pat00001
) 'S ciphertext (
Figure pat00002
) Based on [Equation 1] below.
Figure pat00003
), It is possible to provide a method for calculating the exponential function of the encrypted data.

[수학식 1][Equation 1]

Figure pat00004
Figure pat00004

본 실시예에 있어서, (b) 단계는, 전처리된 입력값의 암호문은 비트 형태로 표현되며, 암호문의 정수 부분(Integer Part)은 1로 대체하고, 1을 암호문의 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 정수 연산값으로 산출하는 단계; 암호문의 소수 부분(Decimal Part)은 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 소수 연산값으로 산출하는 단계; 및 제1 정수 연산값과 제1 소수 연산값을 더하여 양의 이진 지수 함수 연산 결과값으로 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법을 제공할 수 있다.In the present embodiment, in step (b), the ciphertext of the pre-processed input value is expressed in a bit form, the integer part of the ciphertext is replaced by 1, and 1 is shifted to the number of integer values of the ciphertext. Calculating a first integer arithmetic value by performing a left shift operation; Decimal part of the ciphertext is calculated by calculating a first decimal value by performing a left shift operation by a number of integer values; And adding a first integer arithmetic value and a first decimal arithmetic value to calculate the result of a positive binary exponential function calculation.

본 실시예에 있어서, (c) 단계는, 전처리된 입력값의 암호문은 비트 형태로 표현되며, 암호문에 절대값 연산을 수행하여 양수화 암호문으로 변환하는 단계; 양수화 암호문의 정수 부분(Integer Part)은 1로 대체하고, 1을 양수화 암호문의 정수값의 횟수로 우이동연산(Right Shift Operation)하여 제2 정수 연산값으로 산출하는 단계; 소수 부분(Decimal Part)은 양수화 암호문의 소수 부분을 정수값+1의 횟수로 우이동연산(Left Shift Operation)하여 제2 소수 연산값으로 산출하는 단계; 및 제2 정수 연산값에서 제2 소수 연산값을 빼주어 음의 이진 지수 함수 연산 결과값으로 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법을 제공할 수 있다.In the present embodiment, step (c) comprises: a step of converting the ciphertext of the pre-processed input value into a ciphertext by performing an absolute value operation on the ciphertext; Replacing the integer part of the quantization ciphertext with 1, and calculating 1 as a second integer operation value by performing a right shift operation with 1 times the number of integer values of the positive ciphertext; The decimal part includes calculating a second fractional value by performing a left shift operation on the fractional part of the quantization ciphertext by an integer value +1 times; And subtracting the second decimal operation value from the second integer operation value, and calculating the result as a negative binary exponential function operation value.

본 실시예에 있어서, (d) 단계는, 전처리된 입력값의 암호문의 부호 비트에 NOT 연산을 수행하고, 이를 양의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제1 부분 결과값을 산출하는 단계; 전처리된 입력값의 암호문의 부호 비트를 음의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제2 부분 결과값을 산출하는 단계; 제1 부분 결과값과 제2 부분 결과값을 합산하여 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법을 제공할 수 있다.In the present embodiment, step (d) performs NOT operation on the sign bit of the ciphertext of the preprocessed input value, and performs AND operation with the result of the positive binary exponential function operation to calculate the first partial result value To do; Calculating a second partial result value by ANDing the sign bit of the ciphertext of the pre-processed input value with a negative binary exponential function operation result value; It is possible to provide a method for calculating an exponential function of encrypted data, comprising summing the first partial result value and the second partial result value to calculate an exponential function calculation result of the ciphertext of the input value.

본 발명의 일 실시예에 따른 지수 함수 연산 서버에 있어서, 동형암호 기법으로 이진 암호화된 입력값의 지수 함수 연산 방법 프로그램이 기록된 메모리; 및 메모리에 기록된 프로그램을 실행하는 프로세서를 포함하고, 프로세서는 프로그램의 실행에 따라, 지수 함수 형태의 입력값의 암호문을 이진 지수 함수의 지수 부분 형태의 암호문으로 변환하여 전처리하고, 전처리된 입력값의 암호문에 대하여 양의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하고, 전처리된 입력값의 암호문에 대하여 음의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하고, 출력된 양의 이진 지수 함수 연산의 결과값과 음의 이진 지수 함수 연산의 결과값을 선택적 통합하여 입력값의 암호문의 지수 함수 연산 결과값을 산출하는, 암호화된 데이터의 지수 함수 연산 서버를 제공하고자 한다.An exponential function calculation server according to an embodiment of the present invention, comprising: a memory in which an exponential function calculation method program of a binary-encoded input value by a homogeneous encryption technique is recorded; And a processor that executes the program recorded in the memory, wherein the processor converts the cipher text of the input value of the exponential function form into a cipher text of the exponential part form of the binary exponential function according to the execution of the program, and preprocesses the preprocessed input value. Performs a positive binary exponential function operation on the ciphertext of and outputs the result value, performs a negative binary exponential function operation on the ciphertext of the preprocessed input value, outputs the result value, and outputs the positive binary index function. It is intended to provide an exponential function calculation server for encrypted data that selectively integrates the result of the function operation and the result of the negative binary exponential function operation to calculate the result of the exponential function operation of the ciphertext of the input value.

본 실시예에 있어서, 지수 함수 형태의 입력값의 암호문을 이진 지수 함수의 지수 부분 형태의 암호문으로 변환하여 전처리하는 것은, 입력값(

Figure pat00005
)의 암호문(
Figure pat00006
)을 아래의 [수학식 1]에 기초하여 이진 지수 함수의 지수 부분 형태의 암호문(
Figure pat00007
)으로 전처리하는 것인, 암호화된 데이터의 지수 함수 연산 서버를 제공할 수 있다.In this embodiment, the pre-processing by converting the cipher text of the input value in the form of an exponential function to the cipher text in the form of the exponential part of the binary exponential function is the input value (
Figure pat00005
) 'S ciphertext (
Figure pat00006
) Based on [Equation 1] below.
Figure pat00007
It is possible to provide an exponential function calculation server for encrypted data, which is pre-processed with).

본 실시예에 있어서, 전처리된 입력값의 암호문에 대하여 양의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하는 것은, 전처리된 입력값의 암호문은 비트 형태로 표현되며, 암호문의 정수 부분(Integer Part)은 1로 대체하고, 1을 암호문의 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 정수 연산값으로 산출하고, 암호문의 소수 부분(Decimal Part)은 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 소수 연산값으로 산출하고, 제1 정수 연산값과 제1 소수 연산값을 더하여 양의 이진 지수 함수 연산 결과값으로 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 서버를 제공할 수 있다.In the present embodiment, performing a positive binary exponential function operation on the preprocessed input value ciphertext and outputting the result value, the ciphertext of the preprocessed input value is expressed in bits, and an integer part of the ciphertext (Integer Part) is replaced with 1, 1 is calculated as the first integer value by left shift operation by the number of integer values of the ciphertext, and the decimal part of the ciphertext is left by the number of integer values. Comprising the step of calculating a first decimal operation value by performing a shift operation (Left Shift Operation), and adding the first integer operation value and the first decimal operation value to calculate a result of a positive binary exponential function operation, the encrypted data Exponential function calculation server can be provided.

본 실시예에 있어서, 전처리된 입력값의 암호문에 대하여 음의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하는 것은, 전처리된 입력값의 암호문은 비트 형태로 표현되며, 암호문에 절대값 연산을 수행하여 양수화 암호문으로 변환하고, 양수화 암호문의 정수 부분(Integer Part)은 1로 대체하고, 1을 양수화 암호문의 정수값의 횟수로 우이동연산(Right Shift Operation)하여 제2 정수 연산값으로 산출하고, 소수 부분(Decimal Part)은 양수화 암호문의 소수 부분을 정수값+1의 횟수로 우이동연산(Left Shift Operation)하여 제2 소수 연산값으로 산출하고, 제2 정수 연산값에서 제2 소수 연산값을 빼주어 음의 이진 지수 함수 연산 결과값으로 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 서버를 제공할 수 있다.In this embodiment, performing a negative binary exponential function operation on the preprocessed input value ciphertext and outputting the resulting value, the ciphertext of the preprocessed input value is expressed in a bit form, and the absolute value operation is performed on the ciphertext. To convert it into a positive cipher text, replace the integer part of the positive cipher text with 1, and perform a right shift operation with 1 as the number of integer values of the positive cipher text to be the second integer operation value. Calculate, and the decimal part calculates the fractional part of the quantization ciphertext as the second decimal operation value by performing a left shift operation by an integer value +1 times, and calculates the second fraction from the second integer operation value. It is possible to provide an exponential function calculation server for encrypted data, including the step of subtracting the calculation value and calculating a result of a negative binary exponential function calculation.

본 실시예에 있어서, 출력된 양의 이진 지수 함수 연산의 결과값과 음의 이진 지수 함수 연산의 결과값을 선택적 통합하여 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 것은, 전처리된 입력값의 암호문의 부호 비트에 NOT 연산을 수행하고, 이를 양의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제1 부분 결과값을 산출하고, 전처리된 입력값의 암호문의 부호 비트를 음의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제2 부분 결과값을 산출하고, 제1 부분 결과값과 제2 부분 결과값을 합산하여 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 것인, 암호화된 데이터의 지수 함수 연산 서버를 제공할 수 있다.In the present exemplary embodiment, calculating the output value of the exponential function of the ciphertext of the input value by selectively integrating the result of the output of the positive binary exponential function operation and the result of the negative binary exponential function operation is a pre-processed input value. Performs NOT operation on the sign bit of the ciphertext of, and performs AND operation with the result of the positive binary exponential function operation to calculate the first partial result value, and the sign bit of the ciphertext of the preprocessed input value is negative binary exponent Encryption that calculates the exponential function result of the ciphertext of the input value by summing the first partial result value and the second partial result value by performing an AND operation with the function operation result value. It is possible to provide an exponential function calculation server for the data.

본 발명에 따른 동형암호 기법으로 암호화된 데이터의 지수 연산 서버 및 방법은 동형암호를 이용해 암호화된 데이터에 대하여 복호화 없이 지수 함수 연산을 수행하는 서버 및 방법을 제공할 수 있다. The exponential calculation server and method for data encrypted by the homogeneous encryption technique according to the present invention can provide a server and method for performing exponential function calculation without decryption on data encrypted using the homogeneous password.

구체적으로, 본 발명은 암호화된 데이터 상에서의 암호문의 밑 변환 전처리, 양의 이진지수함수, 음의 이진지수함수를 이용하고 마지막으로 선택적 통합 기술을 통해 결과값을 도출하여 지수 함수 연산 결과값을 구할 수 있다.Specifically, the present invention uses the pre-transformation of the cipher text on the encrypted data, a positive binary exponential function, and a negative binary exponential function, and finally derives the result value through an optional integrated technique to obtain the exponential function operation result value. Can be.

도 1은 본 발명의 일 실시예에 따른 동형암호 기법으로 암호화된 데이터의 지수 함수 연산 서버를 보여주는 개략도이다.
도 2는 본 발명의 일 실시예에 따른 동형암호 기법으로 암호화된 데이터의 지수 함수 연산 방법을 보여주는 순서도이다.
도 3은 본 발명의 일 실시예에 따른 입력값의 암호문을 전처리하는 과정을 보여주는 개략도이다.
도 4는 본 발명의 일 실시예에 따른 입력값의 암호문에 대하여 양의 이진 지수 함수 연산 방법을 보여주는 순서도이다.
도 5는 본 발명의 일 실시예에 따른 입력값의 암호문을 비트 형태로 표현한 것을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 따른 입력값의 암호문에 대하여 양의 이진 지수 함수 연산 방법을 보여주는 개략도이다.
도 7은 본 발명의 일 실시예에 따른 입력값의 암호문에 대하여 음의 이진 지수 함수 연산 방법을 보여주는 순서도이다.
도 8은 본 발명의 일 실시예에 따른 입력값의 암호문에 대하여 음의 이진 지수 함수 연산 방법을 보여주는 개략도이다.
도 9는 본 발명의 일 실시예에 따른 양의 이진 지수 함수 연산 결과값과 음의 이진 지수 함수 연산 결과값을 선택적 통합하여 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 과정을 보여주는 순서도이다.
도 10은 본 발명의 일 실시예에 따른 입력값의 암호문의 지수 함수 연산 결과값을 참값과 비교한 그래프를 보여주는 도면이다.
1 is a schematic diagram showing an exponential function calculation server of data encrypted by a homogeneous encryption technique according to an embodiment of the present invention.
2 is a flow chart showing a method of calculating an exponential function of data encrypted by a homogeneous encryption technique according to an embodiment of the present invention.
3 is a schematic diagram showing a process of pre-processing an encrypted text of an input value according to an embodiment of the present invention.
4 is a flowchart illustrating a method of calculating a positive binary exponential function for an input value ciphertext according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating that a ciphertext of an input value according to an embodiment of the present invention is expressed in bit form.
6 is a schematic diagram showing a method of calculating a positive binary exponential function for an input value ciphertext according to an embodiment of the present invention.
7 is a flowchart illustrating a method of calculating a negative binary exponential function for an input value ciphertext according to an embodiment of the present invention.
8 is a schematic diagram showing a negative binary exponential function calculation method for an input value ciphertext according to an embodiment of the present invention.
FIG. 9 is a flowchart illustrating a process of calculating the exponential function result value of the ciphertext of the input value by selectively integrating the positive binary exponential function result value and the negative binary exponential function result value according to an embodiment of the present invention. .
FIG. 10 is a graph showing a result of comparing an exponential function result of a cipher text of an input value with a true value according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those skilled in the art to which the present invention pertains can easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . Also, when a part is said to "include" a certain component, this means that other components may be further included rather than excluding other components, unless otherwise stated.

이하에서는, 첨부된 도면을 참조하여 동형암호 기법으로 암호화된 데이터를 지수 함수 연산하는 서버를 이용한 지수 함수 연산 방법에 대하여 설명하기로 한다.Hereinafter, an exponential function calculation method using a server that performs exponential function calculation of data encrypted by the homogeneous encryption technique will be described with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 동형암호 기법으로 암호화된 데이터의 지수 함수 연산 서버를 보여주는 개략도이다.1 is a schematic diagram showing an exponential function calculation server of data encrypted by a homogeneous encryption technique according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 동형암호 기법으로 암호화된 데이터의 지수 함수 연산 서버는 사용자 단말로부터 입력값의 암호문을 수신하고, 이에 대하여 지수 함수 연산을 포함하는 알고리즘을 수행하여 그 암호화된 결과값을 사용자 단말에 전송할 수 있다. 사용자 단말에서는 암호화된 결과값을 복호화하여 결과적으로 입력 데이터의 지수 함수 연산 결과 데이터를 얻을 수 있다.Referring to FIG. 1, the exponential function calculation server of data encrypted by the homogeneous encryption method according to an embodiment of the present invention receives an input text cipher text from a user terminal and performs an algorithm including exponential function calculation The encrypted result value can be transmitted to the user terminal. The user terminal can decrypt the encrypted result value and, as a result, obtain the exponential function result data of the input data.

한편 암호화된 데이터의 지수 함수 연산 서버는 통신 모듈, 메모리, 프로세서를 포함할 수 있다.Meanwhile, the exponential function calculation server of the encrypted data may include a communication module, a memory, and a processor.

통신 모듈은 통신망과 연동하여 암호화된 데이터의 지수 함수 연산 서버에 통신 인터페이스를 제공하는데, 사용자 단말과 데이터를 송수신하는 역할을 수행할 수 있다. 여기서, 통신 모듈은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다. The communication module provides a communication interface to an exponential function calculation server of encrypted data in cooperation with a communication network, and may perform a role of transmitting and receiving data to and from a user terminal. Here, the communication module may be a device including hardware and software necessary for transmitting and receiving a signal such as a control signal or a data signal through a wired or wireless connection with another network device.

메모리는 암호화된 데이터의 지수 함수 연산 프로그램이 기록된 것일 수 있다. 또한, 메모리는 프로세서가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 여기서, 메모리는 휘발성 저장 매체(volatile storage media) 또는 비휘발성 저장 매체(non-volatile storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The memory may be one in which an exponential function calculation program of encrypted data is recorded. In addition, the memory may function to temporarily or permanently store data processed by the processor. Here, the memory may include volatile storage media or non-volatile storage media, but the scope of the present invention is not limited thereto.

프로세서는 암호화된 데이터의 지수 함수 연산 서버에서 암호화된 데이터의 지수 함수 연산 프로그램이 수행하는 전체 과정을 제어할 수 있다. 프로세서가 수행하는 과정의 각 단계에 대해서는 도 2 내지 도 10을 참조하여 후술하기로 한다.The processor may control the entire process performed by the exponential function calculation program of the encrypted data in the exponential function calculation server of the encrypted data. Each step of the process performed by the processor will be described later with reference to FIGS. 2 to 10.

여기서, 프로세서는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.Here, the processor may include any kind of device capable of processing data, such as a processor. Here, a 'processor' may mean a data processing device embedded in hardware having physically structured circuits, for example, to perform functions represented by codes or instructions included in a program. As an example of such a data processing device embedded in hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, and an application-specific integrated ASIC circuit, a field programmable gate array (FPGA), or the like, but the scope of the present invention is not limited thereto.

도 2는 본 발명의 일 실시예에 따른 동형암호 기법으로 암호화된 데이터의 지수 함수 연산 방법을 보여주는 순서도이다. 도 3은 본 발명의 일 실시예에 따른 입력값의 암호문을 전처리하는 과정을 보여주는 개략도이다.2 is a flow chart showing a method of calculating an exponential function of data encrypted by a homogeneous encryption technique according to an embodiment of the present invention. 3 is a schematic diagram showing a process of pre-processing an encrypted text of an input value according to an embodiment of the present invention.

도 2 및 도 3을 참조하여, 본 발명의 일 실시예에 따른 지수 함수 연산 서버에 의해 수행되는 동형암호 기법으로 이진 암호화된 입력값의 지수 함수 연산 방법에 대하여 설명하기로 한다.With reference to FIGS. 2 and 3, a method for calculating an exponential function of a binary-encrypted input value by a homogeneous encryption technique performed by an exponential function calculation server according to an embodiment of the present invention will be described.

본 발명의 일 실시예에 따른 암호화된 입력값의 지수 함수 연산 방법은 먼저 입력값의 암호문을 전처리하고, 전처리한 암호문의 지수 부분이 양수, 음수 두 가지 경우에 서로 다른 알고리즘을 적용할 수 있다. 또한 암호문의 값이 양수 또는 음수인지 알 수 없으므로, 두 가지 알고리즘을 전부 수행하고 마지막 단계에서 선택적 통합(Selective Integration)을 통해 결과를 도출할 수 있다.In the method of calculating an exponential function of an encrypted input value according to an embodiment of the present invention, a pre-processing of the ciphertext of the input value is first performed, and different algorithms may be applied when the exponent part of the preprocessed ciphertext is positive or negative. In addition, since it is not known whether the value of the ciphertext is positive or negative, both algorithms can be performed and the result can be derived through selective integration in the final step.

전체 과정의 첫번째 과정으로서, 지수 함수 형태의 입력값의 암호문을 이진 지수 함수의 지수 부분 형태의 암호문으로 변환하여 전처리(Preprocessing)하는 단계(S210)가 수행될 수 있다.As a first process of the entire process, step S210 of converting the ciphertext of the input value in the form of an exponential function into a ciphertext in the form of an exponential part of the binary exponential function may be performed (S210).

전처리 단계는, 입력값(

Figure pat00008
)의 암호문(
Figure pat00009
)을 아래의 [수학식 1]에 기초하여 이진 지수 함수의 지수 부분 형태의 암호문(
Figure pat00010
)으로 전처리하는 단계를 포함할 수 있다.Pre-processing step, input value (
Figure pat00008
) 'S ciphertext (
Figure pat00009
) Based on [Equation 1] below.
Figure pat00010
).

[수학식 1][Equation 1]

Figure pat00011
Figure pat00011

구체적으로, 전처리 과정으로 암호문을 밑 변환 처리를 하게 되면, 일반적인 지수함수 값을 도출할 수 있다. 일반적으로 입력값(

Figure pat00012
)의 밑변환은
Figure pat00013
과 같이 구할 수 있고, 밑이 2에서 일반적인
Figure pat00014
로 변경하는 경우에는
Figure pat00015
와 같이 입력 값
Figure pat00016
에 대해서
Figure pat00017
값을 곱해주면 된다. 이 새로운 값
Figure pat00018
을 다음단계의 입력으로 주게 되면, 이진 지수 함수 연산 알고리즘을 통해 입력값(
Figure pat00019
)을 구할 수 있다.Specifically, when the ciphertext is converted to a preprocessing step, a general exponential function value can be derived. Normally input value (
Figure pat00012
)
Figure pat00013
Can be found as
Figure pat00014
If you change to
Figure pat00015
As input value
Figure pat00016
about
Figure pat00017
Just multiply the values. This new value
Figure pat00018
If is given as the input of the next step, the input value through the binary exponential function algorithm
Figure pat00019
).

도 4는 본 발명의 일 실시예에 따른 입력값의 암호문에 대하여 양의 이진 지수 함수 연산 방법을 보여주는 순서도이다. 도 5는 본 발명의 일 실시예에 따른 입력값의 암호문을 비트 형태로 표현한 것을 보여주는 도면이다. 도 6은 본 발명의 일 실시예에 따른 입력값의 암호문에 대하여 양의 이진 지수 함수 연산 방법을 보여주는 개략도이다.4 is a flowchart illustrating a method of calculating a positive binary exponential function for an input value ciphertext according to an embodiment of the present invention. FIG. 5 is a diagram illustrating that a ciphertext of an input value according to an embodiment of the present invention is expressed in bit form. 6 is a schematic diagram showing a method of calculating a positive binary exponential function for an input value ciphertext according to an embodiment of the present invention.

도 5를 참조하면, 입력값이 8비트의 경우를 표현한 예시로서, 일반적으로 부호비트 1비트와 정수부분(

Figure pat00020
bit) 그리고 소수부분(
Figure pat00021
bit)으로 나누어 표현한 것을 알 수 있다. 한편, length는 입력값의 비트 길이를 의미하며, 여기서는 8이될 수 있다.Referring to FIG. 5, as an example of the case where the input value is 8 bits, generally, 1 bit of the sign bit and an integer part (
Figure pat00020
bit) and fractional part (
Figure pat00021
bit). Meanwhile, length means the bit length of the input value, and may be 8 here.

도 4 및 도 6을 참조하면 전체 과정의 두번째 과정으로서, 전처리된 입력값의 암호문에 대하여 양의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하는 단계(S220)가 수행될 수 있다.Referring to FIGS. 4 and 6, as a second step of the entire process, a step S220 of performing a positive binary exponential function operation on the preprocessed input value ciphertext and outputting the result value may be performed.

이 단계에서는 구체적으로, 전처리된 입력값의 암호문이 비트 형태로 표현되며, 먼저 이 암호문의 정수 부분(Integer Part)은 1로 대체하고, 1을 암호문의 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 정수 연산값으로 산출하는 단계(S410)가 수행될 수 있다. 즉, 입력값을 양의 이진 지수 함수의 결과 값의 정수부분에 대하여 1을 지수(

Figure pat00022
)의 정수값의 횟수만큼 좌이동연산된 값으로 저장될 수 있다. In this step, specifically, the ciphertext of the pre-processed input value is expressed in a bit form, first the integer part of the ciphertext is replaced by 1, and 1 is shifted by the number of integer values of the ciphertext (Left Shift) Operation) to calculate the first integer arithmetic value (S410). That is, the input value is exponent 1 for the integer part of the result of the positive binary exponential function (
Figure pat00022
) Can be stored as the value of the left shift operation by the number of integer values.

다음으로, 암호문의 소수 부분은 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 소수 연산값으로 산출하는 단계(S420)가 수행될 수 있다. 즉, 양의 이진 지수 함수의 결과값의 소수 부분은 지수(

Figure pat00023
)의 소수부분을 지수(
Figure pat00024
)의 정수값의 횟수만큼 좌이동연산된 값으로 저장될 수 있다.Next, a step (S420) of calculating a first decimal operation value by performing a left shift operation on the decimal portion of the ciphertext as the number of integer values may be performed. In other words, the fractional part of the result of a positive binary exponential function is exponential (
Figure pat00023
The fractional part of)
Figure pat00024
) Can be stored as the value of the left shift operation by the number of integer values.

다음으로, 제1 정수 연산값과 제1 소수 연산값을 더하여 양의 이진 지수 함수 연산 결과값으로 산출하는 단계(S430)가 수행될 수 있다. 즉, 위의 두 연산값을 더해주면 양의 이진 지수 함수의 결과값이 될 수 있다. 도 6에 표시된 예시에 따른 양의 이진 지수 함수 연산 결과값은

Figure pat00025
이 될 수 있다.Next, an operation (S430) of calculating a positive binary exponential function operation result value by adding the first integer operation value and the first decimal operation value may be performed. That is, adding the two above values can be the result of a positive binary exponential function. The result of calculating the positive binary exponential function according to the example shown in FIG. 6 is
Figure pat00025
Can be

도 7은 본 발명의 일 실시예에 따른 입력값의 암호문에 대하여 음의 이진 지수 함수 연산 방법을 보여주는 순서도이다. 도 8은 본 발명의 일 실시예에 따른 입력값의 암호문에 대하여 음의 이진 지수 함수 연산 방법을 보여주는 개략도이다.7 is a flowchart illustrating a method of calculating a negative binary exponential function for an input value ciphertext according to an embodiment of the present invention. 8 is a schematic diagram showing a negative binary exponential function calculation method for an input value ciphertext according to an embodiment of the present invention.

도 7 및 도8을 참조하여 전체 과정의 세번째로서, 암호문의 음의 이진 지수 함수(Binary Negative Exponential Function) 연산 방법을 설명하기로 한다.As a third step of the entire process with reference to FIGS. 7 and 8, a method of calculating a negative binary exponential function of a ciphertext will be described.

이 단계에서는 구체적으로, 전처리된 입력값의 암호문은 비트 형태로 표현되며, 먼저 암호문에 절대값 연산을 수행하여 양수화 암호문으로 변환하는 단계(S710)가 수행될 수 있다. 즉,

Figure pat00026
Figure pat00027
으로 변환할 수 있다. 이에 대해, 양의 이진지수함수와 마찬가지로 비슷한 연산을 하게 되는데, 여기서 이동연산의 방향과 이동거리를 다르게 취할 수 있다. 음의 이진 지수 함수 알고리즘 또한 입력 값을 소수부분과 정수부분 두 가지로 나누어 진행할 수 있다.In this step, specifically, the ciphertext of the pre-processed input value is expressed in a bit form, and first, an operation of performing an absolute value on the ciphertext to convert it into a positive ciphertext (S710) may be performed. In other words,
Figure pat00026
of
Figure pat00027
Can be converted to On the other hand, similar calculations are performed as in the positive binary exponential function, where the direction and distance of movement can be taken differently. A negative binary exponential function algorithm can also be performed by dividing the input value into two parts, a decimal part and an integer part.

이에 대해, 먼저 양수화 암호문의 정수 부분(Integer Part)은 1로 대체하고, 상기 1을 양수화 암호문의 정수값의 횟수로 우이동연산(Right Shift Operation)하여 제2 정수 연산값으로 산출하는 단계(S720)가 수행될 수 있다. 즉, 음의 이진지수함수의 결과 값의 정수부분은 1을

Figure pat00028
의 정수 값만큼 우이동연산된 값을 저장할 수 있다.On the other hand, first, the integer part of the positive ciphertext is replaced with 1, and the first is computed as the second integer operation value by performing right shift operation with the number of integer values of the positive ciphertext ( S720) may be performed. In other words, the integer part of the result of the negative binary exponent is 1
Figure pat00028
The right shifted value can be stored as much as the integer value of.

다음으로, 소수 부분(Decimal Part)은 양수화 암호문의 소수 부분을 정수값+1의 횟수로 우이동연산(Left Shift Operation)하여 제2 소수 연산값으로 산출하는 단계(S730)가 수행될 수 있다. 즉, 그 다음으로, 음의 이진지수함수의 결과 값의 소수부분은

Figure pat00029
의 소수부분을
Figure pat00030
의 (정수+1) 값만큼 우이동연산된 값을 저장할 수 있다.Next, in the decimal part, a step S730 of calculating a second decimal value by performing a right shift operation on the decimal part of the positive ciphertext by an integer value +1 (S730) may be performed. That is, next, the fractional part of the result of the negative binary exponent
Figure pat00029
Fractional part of
Figure pat00030
You can store the value of the right shift operation by the value of (integer +1).

다음으로, 제2 정수 연산값에서 제2 소수 연산값을 빼주어 음의 이진 지수 함수 연산 결과값으로 산출하는 단계(S740)가 수행될 수 있다. 즉, 위의 두 연산값에 대하여 제2 정수 연산값에서 제2 소수 연산값을 빼주면 음의 이진 지수 함수의 결과 값이 될 수 있다. 도 8에 개시된 예시의 결과값은

Figure pat00031
가 될 수 있다.Next, a step (S740) of subtracting the second decimal operation value from the second integer operation value and calculating the result as a negative binary exponential function operation may be performed. That is, subtracting the second decimal operation value from the second integer operation value for the above two operation values may result in a negative binary exponential function. The result of the example disclosed in FIG. 8 is
Figure pat00031
Can be

도 9는 본 발명의 일 실시예에 따른 양의 이진 지수 함수 연산 결과값과 음의 이진 지수 함수 연산 결과값을 선택적 통합하여 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 과정을 보여주는 순서도이다.FIG. 9 is a flowchart illustrating a process of calculating the exponential function result of the ciphertext of the input value by selectively integrating the positive binary exponential function result and the negative binary exponential function result according to an embodiment of the present invention. .

도 9를 참조하여 전체 과정의 네번째 과정으로서, 결과 값의 선택적 통합 방법에 대하여 설명하기로 한다. As a fourth process of the entire process with reference to FIG. 9, a method of selectively integrating the result values will be described.

이 과정에서는 먼저, 전처리된 입력값의 암호문의 부호 비트에 NOT 연산을 수행하고, 이를 상기 양의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제1 부분 결과값을 산출하는 단계(S910)이 수행될 수 있다.In this process, first, a NOT operation is performed on the sign bit of the ciphertext of the preprocessed input value, and the AND operation is performed with the result of the positive binary exponential function operation to calculate the first partial result value (S910). Can be performed.

암호화된 지수 값이 양 또는 음인지 판별할 수 없으므로 두 값을 선택적으로 합해야 한다. 수식으로 설명하면, ~x[부호비트]∧A + x[부호비트]∧B가 되고, 여기서 A는 양의 이진 지수 함수의 결과 값이고 B는 음의 이진 지수 함수의 결과 값이 될 수 있다. 즉, 암호문이 양의 이진 지수일 경우는

Figure pat00032
의 부호비트가 0이 되고, 이에 NOT 연산을 취해주면 1이 될 수 있다. 이 값에 대해 A와 AND 연산을 취해주면 A의 결과가 나오게 된다.Since it is not possible to determine whether the encrypted exponent value is positive or negative, the two values must be summed selectively. Explained by the formula, ~ x [sign bit] ∧A + x [sign bit] ∧B, where A is the result of a positive binary exponential function and B can be the result of a negative binary exponential function. . That is, if the ciphertext is a positive binary index,
Figure pat00032
The sign bit of is 0, and if NOT operation is performed, it can be 1. If AND operation is performed on this value, the result of A is obtained.

다음으로, 전처리된 입력값의 암호문의 부호 비트를 상기 음의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제2 부분 결과값을 산출하는 단계(S920)가 수행될 수 있다. 여기서 암호문이 양의 이진 지수일 경우 B의 결과는 x[부호비트]∧B에 의해서 0이 될 수 있다.Next, an operation (S920) of calculating a second partial result value by performing an AND operation with the result value of the negative binary exponential function operation on the sign bit of the ciphertext of the preprocessed input value may be performed (S920). Here, if the ciphertext is a positive binary exponent, the result of B can be 0 by x [sign bit] ∧B.

다음으로, 제1 부분 결과값과 상기 제2 부분 결과값을 합산하여 상기 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 단계(S930)가 수행될 수 있다. 결과적으로 제1 부분 결과값과 제2 부분 결과값을 합산하게 되면

Figure pat00033
의 결과만 나올 수 있다. 반대로 암호문이 음의 이진 지수 함수인 경우의 결과값은 x[부호비트]가 1이므로 A의 결과값은 0이 되고 B의 결과값만이 출력될 수 있다.Next, a step S930 of calculating an exponential function operation result of the ciphertext of the input value by summing the first partial result value and the second partial result value may be performed. As a result, if the first partial result value and the second partial result value are added up,
Figure pat00033
Only results can be produced. Conversely, since the result of the case where the ciphertext is a negative binary exponential function is x [sign bit], the result of A becomes 0 and only the result of B can be output.

도 10은 본 발명의 일 실시예에 따른 입력값의 암호문의 지수 함수 연산 결과값을 참값과 비교한 그래프를 보여주는 도면이다.FIG. 10 is a graph showing a result of comparing an exponential function result of a cipher text of an input value with a true value according to an embodiment of the present invention.

도 10을 참조하면, 정수인

Figure pat00034
에 대한
Figure pat00035
값의 좌표, 즉
Figure pat00036
를 일차선으로 잇는 그래프가 동형암호 지수 함수를 근사하는 함수가 되는 것을 알 수 있다. 이로써, 본 발명의 일 실시예에 따른 동형암호로 암호화된 암호문의 지수 함수 연산 방법이 정확하다는 것을 알 수 있다.10, an integer
Figure pat00034
About
Figure pat00035
The coordinates of the value,
Figure pat00036
It can be seen that the graph connecting the first line becomes a function approximating the homogeneous cryptographic exponential function. Thus, it can be seen that the exponential function calculation method of the ciphertext encrypted with the homogeneous password according to an embodiment of the present invention is correct.

이상으로 설명한 본 발명에 따른 동형암호 기법으로 암호화된 데이터의 지수 연산 서버 및 방법은 동형암호를 이용해 암호화된 데이터에 대하여 복호화 없이 지수 함수 연산을 수행하는 서버 및 방법을 제공할 수 있다. The exponential calculation server and method for data encrypted by the homogeneous encryption technique according to the present invention described above may provide a server and method for performing exponential function calculation without decryption on data encrypted using the homogeneous password.

구체적으로, 본 발명은 암호화된 데이터 상에서의 암호문의 밑 변환 전처리, 양의 이진지수함수, 음의 이진지수함수를 이용하고 마지막으로 선택적 통합 기술을 통해 결과값을 도출하여 지수 함수 연산 결과값을 구할 수 있다.Specifically, the present invention uses the pre-transformation of the cipher text on the encrypted data, a positive binary exponential function, and a negative binary exponential function, and finally derives the result value through an optional integrated technique to obtain the exponential function operation result value. Can be.

한편, 본 발명의 일 실시예에 따른 암호화된 데이터의 지수 함수 연산 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Meanwhile, the method for calculating an exponential function of encrypted data according to an embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, computer readable media may include computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general purpose hardware architecture.

이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예는 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may make various modifications and variations without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain them, and the scope of the technical spirit of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the claims below, and all technical spirits within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

Claims (11)

지수 함수 연산 서버에 의해 수행되는 동형암호 기법으로 이진 암호화된 입력값의 지수 함수 연산 방법에 있어서,
(a) 지수 함수 형태의 입력값의 암호문을 이진 지수 함수의 지수 부분 형태의 암호문으로 변환하여 전처리하는 단계;
(b) 상기 전처리된 입력값의 암호문에 대하여 양의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하는 단계;
(c) 상기 전처리된 입력값의 암호문에 대하여 음의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하는 단계; 및
(d) 출력된 상기 양의 이진 지수 함수 연산의 결과값과 상기 음의 이진 지수 함수 연산의 결과값을 선택적 통합하여 상기 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법.
In the method of calculating the exponential function of a binary-encoded input value by the homogeneous encryption technique performed by the exponential function calculation server,
(a) converting the ciphertext of the input value in the form of an exponential function into a ciphertext in the form of an exponential part of the binary exponential function and preprocessing it;
(b) performing a positive binary exponential function operation on the preprocessed input ciphertext and outputting the result value;
(c) performing a negative binary exponential function operation on the encrypted text of the pre-processed input value and outputting the result value; And
(d) calculating the exponential function result of the ciphertext of the input value by selectively integrating the output result of the positive binary exponential function operation and the result value of the negative binary exponential function operation, encryption Of the exponential function of the old data.
제1항에 있어서,
(a) 단계는,
입력값(
Figure pat00037
)의 암호문(
Figure pat00038
)을 아래의 [수학식 1]에 기초하여 이진 지수 함수의 지수 부분 형태의 암호문(
Figure pat00039
)으로 전처리하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법.
[수학식 1]
Figure pat00040
According to claim 1,
Step (a),
Input value (
Figure pat00037
) 'S ciphertext (
Figure pat00038
) Based on [Equation 1] below.
Figure pat00039
) Pre-processing, the method of calculating the exponential function of the encrypted data.
[Equation 1]
Figure pat00040
제1항에 있어서,
(b) 단계는,
상기 전처리된 입력값의 암호문은 비트 형태로 표현되며, 상기 암호문의 정수 부분(Integer Part)은 1로 대체하고, 상기 1을 상기 암호문의 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 정수 연산값으로 산출하는 단계;
상기 암호문의 소수 부분(Decimal Part)은 상기 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 소수 연산값으로 산출하는 단계; 및
상기 제1 정수 연산값과 제1 소수 연산값을 더하여 양의 이진 지수 함수 연산 결과값으로 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법.
According to claim 1,
Step (b),
The ciphertext of the pre-processed input value is expressed in the form of a bit, the integer part of the ciphertext is replaced by 1, and 1 is shifted to the number of integer values of the ciphertext to perform the left shift operation to perform the shift. Calculating with an integer arithmetic value;
A step of calculating a first decimal value by performing a left shift operation on the decimal part of the ciphertext by the number of times of the integer value; And
And adding the first integer arithmetic value and the first decimal arithmetic value to calculate a result of a positive binary exponential function calculation.
제3항에 있어서,
(c) 단계는,
상기 전처리된 입력값의 암호문은 비트 형태로 표현되며, 상기 암호문에 절대값 연산을 수행하여 양수화 암호문으로 변환하는 단계;
상기 양수화 암호문의 정수 부분(Integer Part)은 1로 대체하고, 상기 1을 상기 양수화 암호문의 정수값의 횟수로 우이동연산(Right Shift Operation)하여 제2 정수 연산값으로 산출하는 단계;
소수 부분(Decimal Part)은 상기 양수화 암호문의 소수 부분을 상기 정수값+1의 횟수로 우이동연산(Left Shift Operation)하여 제2 소수 연산값으로 산출하는 단계; 및
상기 제2 정수 연산값에서 상기 제2 소수 연산값을 빼주어 음의 이진 지수 함수 연산 결과값으로 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법.
According to claim 3,
Step (c),
The pre-processed input value cipher text is expressed in a bit form, and performing an absolute value operation on the cipher text to convert it into a positive cipher text;
Replacing the integer part of the quantization ciphertext with 1, and calculating the first integer value by performing a right shift operation with the number of integer values of the quantization ciphertext (Right Shift Operation);
The decimal part includes calculating a second fractional value by performing a left shift operation on the fractional part of the quantization ciphertext by the integer value +1 times; And
And subtracting the second decimal arithmetic value from the second integer arithmetic value to calculate a negative binary exponential function operation result value.
제4항에 있어서,
(d) 단계는,
상기 전처리된 입력값의 암호문의 부호 비트에 NOT 연산을 수행하고, 이를 상기 양의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제1 부분 결과값을 산출하는 단계;
상기 전처리된 입력값의 암호문의 부호 비트를 상기 음의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제2 부분 결과값을 산출하는 단계;
상기 제1 부분 결과값과 상기 제2 부분 결과값을 합산하여 상기 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 방법.
The method of claim 4,
Step (d),
Performing a NOT operation on the sign bit of the ciphertext of the pre-processed input value, and performing an AND operation with the result of the positive binary exponential function operation to calculate a first partial result value;
Calculating a second partial result value by ANDing the sign bit of the ciphertext of the preprocessed input value with the result of the negative binary exponential function operation;
And summing the first partial result value and the second partial result value to calculate an exponential function operation result value of the ciphertext of the input value.
지수 함수 연산 서버에 있어서,
동형암호 기법으로 이진 암호화된 입력값의 지수 함수 연산 방법 프로그램이 기록된 메모리; 및
상기 메모리에 기록된 프로그램을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 프로그램의 실행에 따라,
지수 함수 형태의 입력값의 암호문을 이진 지수 함수의 지수 부분 형태의 암호문으로 변환하여 전처리하고, 상기 전처리된 입력값의 암호문에 대하여 양의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하고, 상기 전처리된 입력값의 암호문에 대하여 음의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하고, 출력된 상기 양의 이진 지수 함수 연산의 결과값과 상기 음의 이진 지수 함수 연산의 결과값을 선택적 통합하여 상기 입력값의 암호문의 지수 함수 연산 결과값을 산출하는, 암호화된 데이터의 지수 함수 연산 서버.
In the exponential function server,
A memory in which a program for calculating an exponential function of a binary-encoded input value using the homogeneous encryption technique is recorded; And
It includes a processor for executing the program recorded in the memory,
The processor according to the execution of the program,
Convert the ciphertext of the input value in the form of an exponential function to a ciphertext in the form of an exponential part of the binary exponential function, perform a positive binary exponential function operation on the ciphertext of the preprocessed input value, output the result, and Performs a negative binary exponential function operation on the preprocessed input value ciphertext, outputs the result, and selectively integrates the result of the output of the positive binary exponential function operation and the result value of the negative binary exponential function operation. By calculating the exponential function result of the cipher text of the input value, the exponential function calculation server of the encrypted data.
제6항에 있어서,
지수 함수 형태의 입력값의 암호문을 이진 지수 함수의 지수 부분 형태의 암호문으로 변환하여 전처리하는 것은,
입력값(
Figure pat00041
)의 암호문(
Figure pat00042
)을 아래의 [수학식 1]에 기초하여 이진 지수 함수의 지수 부분 형태의 암호문(
Figure pat00043
)으로 전처리하는 것인, 암호화된 데이터의 지수 함수 연산 서버.
The method of claim 6,
Preprocessing by converting the ciphertext of the input value in the form of an exponential function into the ciphertext in the form of the exponential part of the binary exponential function,
Input value (
Figure pat00041
) 'S ciphertext (
Figure pat00042
) Based on [Equation 1] below.
Figure pat00043
), The pre-processing of the encrypted data, the exponential function calculation server.
제6항에 있어서,
상기 전처리된 입력값의 암호문에 대하여 양의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하는 것은,
상기 전처리된 입력값의 암호문은 비트 형태로 표현되며, 상기 암호문의 정수 부분(Integer Part)은 1로 대체하고, 상기 1을 상기 암호문의 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 정수 연산값으로 산출하고, 상기 암호문의 소수 부분(Decimal Part)은 상기 정수값의 횟수로 좌이동연산(Left Shift Operation)하여 제1 소수 연산값으로 산출하고, 상기 제1 정수 연산값과 제1 소수 연산값을 더하여 양의 이진 지수 함수 연산 결과값으로 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 서버.
The method of claim 6,
Performing a positive binary exponential function operation on the encrypted text of the pre-processed input value and outputting the result value,
The ciphertext of the pre-processed input value is expressed in the form of a bit, the integer part of the ciphertext is replaced by 1, and 1 is shifted to the number of integer values of the ciphertext to perform the left shift operation to perform the shift. 1 Calculated as an integer operation value, and the decimal part of the cipher text is calculated as a first decimal operation value by left shift operation by the number of times of the integer value, and is calculated as the first integer operation value. Comprising the step of adding a fractional operation value and calculating a result of a positive binary exponential function operation, an exponential function operation server for encrypted data.
제8항에 있어서
상기 전처리된 입력값의 암호문에 대하여 음의 이진 지수 함수 연산을 수행하고 그 결과값을 출력하는 것은,
상기 전처리된 입력값의 암호문은 비트 형태로 표현되며, 상기 암호문에 절대값 연산을 수행하여 양수화 암호문으로 변환하고, 상기 양수화 암호문의 정수 부분(Integer Part)은 1로 대체하고, 상기 1을 상기 양수화 암호문의 정수값의 횟수로 우이동연산(Right Shift Operation)하여 제2 정수 연산값으로 산출하고, 소수 부분(Decimal Part)은 상기 양수화 암호문의 소수 부분을 상기 정수값+1의 횟수로 우이동연산(Left Shift Operation)하여 제2 소수 연산값으로 산출하고, 상기 제2 정수 연산값에서 상기 제2 소수 연산값을 빼주어 음의 이진 지수 함수 연산 결과값으로 산출하는 단계를 포함하는, 암호화된 데이터의 지수 함수 연산 서버.
The method of claim 8
Performing a negative binary exponential function operation on the encrypted text of the pre-processed input value and outputting the result value,
The ciphertext of the pre-processed input value is expressed in a bit form, and an absolute value operation is performed on the ciphertext to convert it into a positive ciphertext, and the integer part of the positive ciphertext is replaced by 1, and 1 is substituted. Right shift operation is performed as the number of integer values of the positive ciphertext to calculate the second integer value, and the decimal part is the decimal part of the positive ciphertext to the integer value +1. Encryption comprising: calculating a second decimal operation value by performing a left shift operation and subtracting the second decimal operation value from the second integer operation value to calculate a negative binary exponential function operation result value; Exponential function calculation server of the collected data.
제9항에 있어서,
출력된 상기 양의 이진 지수 함수 연산의 결과값과 상기 음의 이진 지수 함수 연산의 결과값을 선택적 통합하여 상기 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 것은,
상기 전처리된 입력값의 암호문의 부호 비트에 NOT 연산을 수행하고, 이를 상기 양의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제1 부분 결과값을 산출하고, 상기 전처리된 입력값의 암호문의 부호 비트를 상기 음의 이진 지수 함수 연산 결과값과 AND 연산을 수행하여 제2 부분 결과값을 산출하고, 상기 제1 부분 결과값과 상기 제2 부분 결과값을 합산하여 상기 입력값의 암호문의 지수 함수 연산 결과값을 산출하는 것인, 암호화된 데이터의 지수 함수 연산 서버.
The method of claim 9,
To selectively output the result of the positive binary exponential function operation and the result of the negative binary exponential function operation to calculate the exponential function result value of the ciphertext of the input value,
NOT operation is performed on the sign bit of the ciphertext of the preprocessed input value, and AND operation is performed with the result of the positive binary exponential function calculation to calculate a first partial result value, and the ciphertext of the preprocessed input value Perform a AND operation with the result of the negative binary exponential function operation on the sign bit to calculate a second partial result, and sum the first partial result and the second partial result to exponent the ciphertext of the input value. An exponential function calculation server for encrypted data that calculates a function calculation result value.
제1항 내지 제5항에 따른 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.A computer-readable recording medium on which a program for implementing the method according to claims 1 to 5 is recorded.
KR1020190143824A 2018-11-09 2019-11-11 Server and method for exponential function calculation of data encrypted with homomorphic encryption technique KR102213835B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180137580 2018-11-09
KR20180137580 2018-11-09

Publications (2)

Publication Number Publication Date
KR20200054119A true KR20200054119A (en) 2020-05-19
KR102213835B1 KR102213835B1 (en) 2021-02-09

Family

ID=70913274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190143824A KR102213835B1 (en) 2018-11-09 2019-11-11 Server and method for exponential function calculation of data encrypted with homomorphic encryption technique

Country Status (1)

Country Link
KR (1) KR102213835B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210067961A (en) 2019-11-29 2021-06-08 고려대학교 산학협력단 Device and method for operation of encrypted data using fully homomorphic encryption
KR20210067958A (en) 2019-11-29 2021-06-08 고려대학교 산학협력단 Device and method for logistic regression analysis operation of encrypted data using fully homomorphic encryption
EP4369648A1 (en) 2022-11-11 2024-05-15 Electronics and Telecommunications Research Institute Program conversion apparatus and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090094086A (en) * 2006-12-11 2009-09-03 소니 가부시끼 가이샤 Encryption device, encryption method, and computer program
KR20150083391A (en) * 2014-01-09 2015-07-17 서울대학교산학협력단 Computation Method of encrypted data using Homomorphic Encryption and Pairing-based Encryption and Server using the same
KR20170122458A (en) 2016-04-27 2017-11-06 서울대학교산학협력단 Homomorphic Encryption Method by Which Ciphertext Size Is Reduced

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090094086A (en) * 2006-12-11 2009-09-03 소니 가부시끼 가이샤 Encryption device, encryption method, and computer program
KR20150083391A (en) * 2014-01-09 2015-07-17 서울대학교산학협력단 Computation Method of encrypted data using Homomorphic Encryption and Pairing-based Encryption and Server using the same
KR20170122458A (en) 2016-04-27 2017-11-06 서울대학교산학협력단 Homomorphic Encryption Method by Which Ciphertext Size Is Reduced

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bai, Liwang, and Yuqing Lan. "A homomorphic arithmetic scheme on real number with fixed precision." AIP Conference Proceedings. Vol. 1839. No. 1. AIP Publishing LLC(2017.) 1부.* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210067961A (en) 2019-11-29 2021-06-08 고려대학교 산학협력단 Device and method for operation of encrypted data using fully homomorphic encryption
KR20210067958A (en) 2019-11-29 2021-06-08 고려대학교 산학협력단 Device and method for logistic regression analysis operation of encrypted data using fully homomorphic encryption
EP4369648A1 (en) 2022-11-11 2024-05-15 Electronics and Telecommunications Research Institute Program conversion apparatus and method

Also Published As

Publication number Publication date
KR102213835B1 (en) 2021-02-09

Similar Documents

Publication Publication Date Title
US11551035B2 (en) Machine learning based on homomorphic encryption
KR20200054119A (en) Server and method for exponential function calculation of data encrypted with homomorphic encryption technique
US10333710B2 (en) Method and system for determining desired size of private randomness using Tsallis entropy
CN108712375B (en) Coordinate encryption method, coordinate encryption system and vehicle with coordinate encryption system
US9501646B2 (en) Program verification apparatus, program verification method, and computer readable medium
KR102550812B1 (en) Method for comparing ciphertext using homomorphic encryption and apparatus for executing thereof
US11277257B2 (en) Method and apparatus for performing operation using encrypted data
US8311215B2 (en) Encryption apparatus, decryption apparatus, key generation apparatus, and storage medium
JP2018148493A (en) Key generator, intermediate encryption device, consignment encryption device, data retrieval device, decryption device, and programs therefor
US20180034636A1 (en) Method and system for creating public randomness
GB2540220A (en) Distributed encryption system and method
CN112437060A (en) Data transmission method and device, computer equipment and storage medium
CN111159730B (en) Data processing method, query method, device, electronic equipment and system
JP7184159B2 (en) SYSTEM, CLIENT DEVICE, DATA PROCESSING METHOD, COMPUTER PROGRAM AND RECORDING MEDIUM
US20190163933A1 (en) Secure computation system, secure computation device, secure computation method, and program
CN112231718A (en) Data encryption processing method and device, computer equipment and storage medium
KR102213819B1 (en) Server and method for logarithm calculation of data encrypted with homomorphic encryption technique
CN112434094A (en) Database connection method and device based on encryption algorithm and computer equipment
JP5458116B2 (en) Data distribution device, distributed data conversion device, data restoration device
AU2019223507B2 (en) Secure computation device, secure computation authentication system, secure computation method, and program
WO2013153628A1 (en) Calculation processing system and calculation result authentication method
CN116489427A (en) Information embedding method, device, terminal equipment, system and readable storage medium
KR20210082019A (en) Apparatus and method for set intersection operation
CN108390887B (en) Movie data transmission method and device
US10459878B2 (en) Medium storing data conversion program, data conversion device, and data conversion method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant