KR20210083974A - 근사 함수를 이용한 연산 장치 및 방법 - Google Patents
근사 함수를 이용한 연산 장치 및 방법 Download PDFInfo
- Publication number
- KR20210083974A KR20210083974A KR1020190176814A KR20190176814A KR20210083974A KR 20210083974 A KR20210083974 A KR 20210083974A KR 1020190176814 A KR1020190176814 A KR 1020190176814A KR 20190176814 A KR20190176814 A KR 20190176814A KR 20210083974 A KR20210083974 A KR 20210083974A
- Authority
- KR
- South Korea
- Prior art keywords
- error value
- encrypted data
- function
- target function
- isomorphic
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000006870 function Effects 0.000 claims description 74
- 238000004364 calculation method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Complex Calculations (AREA)
Abstract
근사 함수를 이용한 연산 장치 및 방법이 개시된다. 일 실시예에 따른 연산 방법은, 암호화된 데이터에 에러 값을 부여하는 단계; 및 상기 에러 값이 부여된 암호화된 데이터를 입력 값으로 이용하여 대상 함수를 근사화한 근사 함수에 대한 동형 연산을 수행하는 단계를 포함한다.
Description
개시되는 실시예들은 동형 암호 기술과 관련된다.
동형 암호(Homomorphic encryption)는 암호화된 데이터를 복호화하지 않고 연산이 가능하여 데이터의 프라이버시가 보호된 상태로 머신 러닝(machine learning) 등의 분석이 가능한 최신 암호기술이다.
일반적으로 동형 암호는 덧셈, 곱셈과 같은 기본적인 동형 연산을 지원하고 있어 이를 이용해 효율적인 다항식 동형 연산 수행이 가능하다. 다항식 외의 연산은 동형연산이 크게 비효율적인 경우가 많아 근사다항식을 이용하여 효율성을 높인다. 그러나, 근사다항식의 경우 특정범위(ex. 불연속점)에서 실제 값과 차이가 커지는 본질적인 한계가 있어 계산 결과의 정확도가 떨어지게 되며, 이를 해결하기 위해 더 높은 차수의 근사다항식을 사용하게 되면 다시 효율성이 떨어지는 문제가 발생한다.
개시되는 실시예들은 근사 함수를 이용한 연산 장치 및 방법을 제공하기 위한 것이다.
일 실시예에 따른 연산 방법은, 암호화된 데이터에 에러 값을 부여하는 단계; 및 상기 에러 값이 부여된 암호화된 데이터를 입력 값으로 이용하여 대상 함수를 근사화한 근사 함수에 대한 동형 연산을 수행하는 단계를 포함한다.
상기 근사 함수는, 상기 대상 함수를 n(이때, n은 n≥1인 자연수)차 다항식으로 근사화한 함수일 수 있다.
상기 암호화된 데이터는, 곱셈에 대한 동형 연산 및 덧셈에 대한 동형 연산 중 적어도 하나를 지원하는 동형 암호 알고리즘을 이용하여 암호화된 데이터이고, 상기 동형 연산을 수행하는 단계는, 곱셈에 대한 동형 연산 및 덧셈에 대한 동형 연산 중 적어도 하나를 이용하여 근사 함수에 대한 동형 연산을 수행할 수 있다.
상기 에러 값을 부여하는 단계는, 상기 암호화된 데이터에 상기 에러 값을 더하여 상기 에러 값을 상기 암호화된 데이터에 부여할 수 있다.
상기 에러 값을 부여하는 단계는, 아래의 수학식 1을 만족하는 에러 값을 상기 암호화된 데이터에 더할 수 있다.
[수학식 1]
(이때, f(x)는 상기 대상 함수, fn(x)는 상기 n차 다항식, fm(x)는 상기 대상 함수에 대한 m차 다항식, m은 m≫n인 자연수, e는 상기 에러 값)
상기 에러 값을 부여하는 단계는, 상기 암호화된 데이터에 상기 에러 값을 곱하여 상기 에러 값을 상기 암호화된 데이터에 부여할 수 있다.
상기 에러 값을 부여하는 단계는, 아래의 수학식 2를 만족하는 에러 값을 상기 암호화된 데이터에 곱할 수 있다.
[수학식 2]
(이때, f(x)는 상기 대상 함수, fn(x)는 상기 n차 다항식, fm(x)는 상기 대상 함수에 대한 m차 다항식, m은 m≫n인 자연수, a는 상기 에러 값)
일 실시예에 따른 연산 장치는, 하나 이상의 명령어를 저장하는 메모리; 및 상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 암호화된 데이터에 기 설정된 에러 값을 부여하고, 상기 에러 값이 부여된 암호화된 데이터를 입력 값으로 이용하여 대상 함수를 근사화한 근사 함수에 대한 동형 연산을 수행한다.
상기 근사 함수는, 상기 대상 함수를 n(이때, n은 n≥1인 자연수)차 다항식으로 근사화한 함수일 수 있다.
상기 암호화된 데이터는, 곱셈에 대한 동형 연산 및 덧셈에 대한 동형 연산 중 적어도 하나를 지원하는 동형 암호 알고리즘을 이용하여 암호화된 데이터이고, 상기 하나 이상의 프로세서는, 곱셈에 대한 동형 연산 및 덧셈에 대한 동형 연산 중 적어도 하나를 이용하여 근사 함수에 대한 동형 연산을 수행할 수 있다.
상기 하나 이상의 프로세서는, 상기 암호화된 데이터에 상기 에러 값을 더하여 상기 에러 값을 상기 암호화된 데이터에 부여할 수 있다.
상기 하나 이상의 프로세서는, 아래의 수학식 1을 만족하는 에러 값을 상기 암호화된 데이터에 더할 수 있다.
[수학식 1]
(이때, f(x)는 상기 대상 함수, fn(x)는 상기 n차 다항식, fm(x)는 상기 대상 함수에 대한 m차 다항식, m은 m≫n인 자연수, e는 상기 에러 값)
상기 하나 이상의 프로세서는, 상기 암호화된 데이터에 상기 에러 값을 곱하여 상기 에러 값을 상기 암호화된 데이터에 부여할 수 있다.
상기 하나 이상의 프로세서는, 아래의 수학식 2를 만족하는 에러 값을 상기 암호화된 데이터에 곱할 수 있다.
[수학식 2]
(이때, f(x)는 상기 대상 함수, fn(x)는 상기 n차 다항식, fm(x)는 상기 대상 함수에 대한 m차 다항식, m은 m≫n인 자연수, a는 상기 에러 값)
개시되는 실시예들에 따르면, 대상 함수에 대한 근사 함수를 이용하여 동형 연산을 수행하되 입력 값에 적절한 에러 값을 부가함으로써, 낮은 차수의 근사다항식을 사용하더라도 계산 효율성을 높이는 동시에 동형 연산의 정확도를 향상시킬 수 있게 된다.
도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 2는 일 실시예에 따른 근사 함수를 이용한 연산 방법의 순서도
도 3은 근사 다항식의 그래프의 일 예를 나타낸 예시도
도 2는 일 실시예에 따른 근사 함수를 이용한 연산 방법의 순서도
도 3은 근사 다항식의 그래프의 일 예를 나타낸 예시도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, “포함” 또는 “구비”와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 않은 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 후술할 암호문 비교 방법을 수행하기 위한 장치일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
도 2는 일 실시예에 따른 근사 함수를 이용한 연산 방법의 순서도이다.
도 2에 도시된 각 단계들은 예를 들어, 컴퓨팅 장치(12)에 의해 수행될 수 있다.
도 2를 참조하면, 우선, 컴퓨팅 장치(12)는 암호화된 데이터에 에러 값을 부여한다(210).
일 실시예에 따르면, 암호화된 데이터는 동형 암호 알고리즘(Homomorphic encryption)을 이용하여 암호화된 데이터일 수 있다. 이때, 동형 암호 알고리즘은 덧셈에 대한 동형 연산 및 곱셈에 대한 동형 연산 중 적어도 하나를 지원하는 공지된 다양한 동형 암호 알고리즘 중 하나일 수 있으며, 반드시 특정한 동형 암호 알고리즘으로 한정되는 것은 아니다.
한편, 동형 암호 알고리즘이 특정 연산에 대한 동형 연산을 지원한다는 것은 동형 암호 알고리즘을 이용하여 암호화된 암호문을 암호화된 상태로 연산하여 암호문의 평문에 대해 특정 연산을 적용한 결과에 대한 암호문을 생성할 수 있음을 의미한다. 구체적으로, 덧셈에 대한 동형 연산 , 곱셈에 대한 동형 연산 및 함수 f에 대한 동형 연산 은 각각 아래의 수학식 1 내지 3을 만족할 수 있다.
[수학식 1]
[수학식 2]
[수학식 3]
한편, 암호화된 데이터에 부여되는 에러 값은 사전 설정된 값 내지는 사전 설정된 범위 내의 값들 중 임의로 선택된 값일 수 있다. 예를 들어, 에러 값 내지는 에러 값의 범위는 대상 함수, 대상 함수에 대한 근사 함수의 차수, 연산량, 연산의 정확도 등을 고려하여 실시예에 따라 변경될 수 있다.
한편, 일 실시예에 따르면, 컴퓨팅 장치(12)는 암호화된 데이터에 에러 값을 더하여 암호화된 데이터에 에러 값을 부여할 수 있다.
다른 실시예에 따르면, 컴퓨팅 장치(12)는 암호화된 데이터에 에러 값을 곱하여 암호화된 데이터에 에러 값을 부여할 수 있다.
한편, 컴퓨팅 장치(12)는 암호화된 데이터에 에러 값을 부여한 후, 에러 값이 부여된 암호화된 데이터를 입력 값으로 이용하여 대상 함수를 근사화한 근사 함수에 대한 동형 연산을 수행한다(220).
일 실시예에 따르면, 근사 함수는 대상 함수를 n(이때, n은 n≥1인 자연수)차 다항식으로 근사화한 함수일 수 있다. 이때, 근사 함수의 차수는 사전 설정될 수 있으며, 연산량, 연산의 정확도 등을 고려하여 실시예에 따라 변경될 수 있다.
일 실시예에서, 대상 함수는 예를 들어, 근사 함수보다 높은 차수를 가진 다항식 함수이거나, 다항식으로 근사 가능한 비(非)다항식 함수일 수 있으나, 다항식으로 근사화 가능하다면 반드시 특정한 함수로 한정되는 것은 아니다.
한편, 대상 함수 f(x)를 근사화한 n차 다항식 fn(x)과 m(이때, m≫n)차 다항식 fm(x)이 입력 값 x에 대해 아래의 수학식 4 또는 수학식 5를 만족하는 경우를 가정해보자.
[수학식 4]
[수학식 5]
수학식 4에서 e는 작은 에러 값으로서 양수 또는 음수이며, 수학식 5에서 a는 1에 가까운 에러 값으로서 양수이다.
이때, fn(x)과 fm(x)의 입력 값이 동일한 경우, 차수가 높은 근사 다항식인 fm(x)이 fn(x)보다 대상 함수 f(x)에 근접할 수 있다. 그러나, 상술한 수학식 4를 만족하는 e가 더해진 입력 값 x+e를 fn(x)의 입력 값으로 이용하거나 수학식 5를 만족하는 a가 곱해진 입력 값 ax를 fn(x)의 입력 값으로 이용하는 경우, x를 fm(x)의 입력 값으로 이용하는 경우보다 대상 함수 f(x)에 근접한 결과를 얻을 수 있게 된다.
또한, 다항식에 대한 동형 연산은 곱셈에 대한 동형 연산 및 덧셈에 대한 동형 연산 중 하나 이상의 조합을 통해 수행될 수 있으므로, fn(x)에 대한 동형 연산은 fm(x)에 대한 동형 연산과 비교하여 연산량과 연산에 소요되는 시간이 줄어들게 될 수 있다.
결과적으로, 암호화된 데이터에 상술한 수학식 4 또는 5를 만족하는 에러를 부가한 값을 입력 값으로 이용하여 fn(x)에 대한 동형 연산을 수행하는 경우, 에러 값 부가 없이 암호화된 데이터 자체를 입력 값으로 이용하여 fm(x)에 대한 동형 연산을 수행하는 경우보다 연산의 효율성과 정확성이 향상될 수 있다.
구체적인 예로, 아래의 수학식 6과 같이 임의의 수치 데이터 a와 b 사이의 대소 비교를 위해 이용될 수 있는 함수 g(x)를 가정해보자.
[수학식 6]
이때, x∈(0, 1)에 대해 함수 g(x)를 근사화한 32차 근사 다항식 g32(x)와 4차 근사 다항식 g4(x)의 그래프는 도 3에 도시된 예와 같다.
도 3에 도시된 g32(x)의 그래프(310)와 g4(x)의 그래프(320)를 참조하면, g(x)의 불연속 점인 x=0에 가까워질수록 g32(x)가 g4(x)에 비해 g(x)에 근접하게 되나, g32(x)에 대한 동형 연산을 위해서는 곱셈에 대한 동형 연산이 다섯 번 이상 중첩 수행되어야 하므로 g4(x)에 대한 동형 연산에 비해 시간 복잡도가 증가하게 된다.
한편, x=0.05에서 일 때, x=0.05에서 g32(x)와 g(x) 사이의 오차는 이다. 한편, x에 작은 에러 값을 더한 를 g4(x)의 입력 값으로 이용하면 이고, g4(x+e)와 g(x) 사이의 오차는 이므로, g4(x+e)는 g32(x)와 비슷한 수준의 오차를 가지게 된다. 즉, g4(x+e)에 대한 동형 연산은 g32(x)에 대한 동형 연산에 비해 비슷한 수준의 정확도를 가지나, 곱셈에 대한 동형 연산이 2번 중첩 수행되므로 시간 복잡도가 크게 줄어들게 된다.
한편, 머신 러닝(Machine Learning) 지도학습(Supervised learning)의 일종인 의사결정 트리 학습(Decision tree learning)에서는 데이터의 특징을 나타내는 특징 값과 결과 값을 나타내는 라벨(label)로 이루어진 학습 데이터를 이용하여 라벨이 없는 데이터의 라벨 값을 가장 잘 예측하는 특징 값들을 트리 구조의 질문들로 구성하는 것을 목표로 하고 있다.
구체적으로, 의사결정 트리 학습에서는 각 특징들을 기준으로 데이터를 분류해보고 라벨이 잘 분류되는 순서대로 루트 노드(root node)부터 트리 모델을 생성한다. 이때, 라벨이 잘 분류되었는지 여부를 판단하는 척도로서 불순도(impurity)를 나타내는 지니 계수(Gini index), 불확실성(Uncertainty)을 나타내는 엔트로피(Entropy)를 이용한 정보 획득(Information gain) 등이 사용되며, 데이터를 불순도가 작은 순서 또는 정보 획득이 큰 순서로 트리 모델의 루트 노드부터 특징 값에 대한 질문을 확정하게 된다.
즉, 트리 모델을 생성을 위해서는 라벨에 대한 분류 척도(지니 계수, 정보 획득 등)의 최대 값 또는 최소 값을 가지는 특징 값에 접근이 필요하고, 이는 MaxIndex 함수 또는 MinIndex 함수 등을 이용하여 수행될 수 있다. 이때, MaxIndex 함수는 예를 들어 아래의 수학식 7과 같이 표현될 수 있다.
[수학식 7]
충분히 큰 d에 대해 이므로 의 근삿값으로 를 생각할 수 있으며, d가 커질수록 근삿값 과 참값 사이의 오차도 작아진다. 이때, 은 아래의 수학식 8과 같이 에 대한 근사 다항식을 이용하여 계산 가능하다.
[수학식 8]
한편, 인 와 의 값이 아주 가까운 경우 d가 커짐에 따라 에서는 천천히 , 으로 수렴하게 된다. 따라서, 동형 연산을 이용하여 MaxIndex 함수에 대한 유효한 결과값을 얻기 위해서는 아주 큰 d를 이용해야 하므로 시간 복잡도가 크게 증가한다. 그러나, 상술한 실시예와 같이 와 각각에 에러 값을 부가하여 값이 커지게 되면 더 작은 () 에 대하여 , 과 근사한 값을 얻게 되고, 동형 연산의 효율성을 향상시킬 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
Claims (14)
- 암호화된 데이터에 에러 값을 부여하는 단계; 및
상기 에러 값이 부여된 암호화된 데이터를 입력 값으로 이용하여 대상 함수를 근사화한 근사 함수에 대한 동형 연산을 수행하는 단계를 포함하는 연산 방법.
- 청구항 1에 있어서,
상기 근사 함수는, 상기 대상 함수를 n(이때, n은 n≥1인 자연수)차 다항식으로 근사화한 함수인 연산 방법.
- 청구항 2에 있어서,
상기 암호화된 데이터는, 곱셈에 대한 동형 연산 및 덧셈에 대한 동형 연산 중 적어도 하나를 지원하는 동형 암호 알고리즘을 이용하여 암호화된 데이터이고,
상기 동형 연산을 수행하는 단계는, 곱셈에 대한 동형 연산 및 덧셈에 대한 동형 연산 중 적어도 하나를 이용하여 근사 함수에 대한 동형 연산을 수행하는 연산 방법.
- 청구항 2에 있어서,
상기 에러 값을 부여하는 단계는, 상기 암호화된 데이터에 상기 에러 값을 더하여 상기 에러 값을 상기 암호화된 데이터에 부여하는 연산 방법.
- 청구항 2에 있어서,
상기 에러 값을 부여하는 단계는, 상기 암호화된 데이터에 상기 에러 값을 곱하여 상기 에러 값을 상기 암호화된 데이터에 부여하는 연산 방법.
- 하나 이상의 명령어를 저장하는 메모리; 및
상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,
상기 하나 이상의 프로세서는,
암호화된 데이터에 기 설정된 에러 값을 부여하고,
상기 에러 값이 부여된 암호화된 데이터를 입력 값으로 이용하여 대상 함수를 근사화한 근사 함수에 대한 동형 연산을 수행하는 연산 장치.
- 청구항 8에 있어서,
상기 근사 함수는, 상기 대상 함수를 n(이때, n은 n≥1인 자연수)차 다항식으로 근사화한 함수인 연산 장치.
- 청구항 9에 있어서,
상기 암호화된 데이터는, 곱셈에 대한 동형 연산 및 덧셈에 대한 동형 연산 중 적어도 하나를 지원하는 동형 암호 알고리즘을 이용하여 암호화된 데이터이고,
상기 하나 이상의 프로세서는, 곱셈에 대한 동형 연산 및 덧셈에 대한 동형 연산 중 적어도 하나를 이용하여 근사 함수에 대한 동형 연산을 수행하는 연산 장치.
- 청구항 9에 있어서,
상기 하나 이상의 프로세서는, 상기 암호화된 데이터에 상기 에러 값을 더하여 상기 에러 값을 상기 암호화된 데이터에 부여하는 연산 장치.
- 청구항 9에 있어서,
상기 하나 이상의 프로세서는, 상기 암호화된 데이터에 상기 에러 값을 곱하여 상기 에러 값을 상기 암호화된 데이터에 부여하는 연산 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190176814A KR20210083974A (ko) | 2019-12-27 | 2019-12-27 | 근사 함수를 이용한 연산 장치 및 방법 |
US16/884,957 US11411714B2 (en) | 2019-12-27 | 2020-05-27 | Apparatus and method for performing operation using approximation function |
EP20195188.6A EP3843318A1 (en) | 2019-12-27 | 2020-09-09 | Apparatus and method for performing homomorphic operation using approximation function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190176814A KR20210083974A (ko) | 2019-12-27 | 2019-12-27 | 근사 함수를 이용한 연산 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210083974A true KR20210083974A (ko) | 2021-07-07 |
Family
ID=72432795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190176814A KR20210083974A (ko) | 2019-12-27 | 2019-12-27 | 근사 함수를 이용한 연산 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11411714B2 (ko) |
EP (1) | EP3843318A1 (ko) |
KR (1) | KR20210083974A (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102475273B1 (ko) * | 2020-06-15 | 2022-12-08 | 주식회사 크립토랩 | 동형 암호 시스템에 대한 시뮬레이션 장치 및 방법 |
CN113965313B (zh) * | 2021-12-15 | 2022-04-05 | 北京百度网讯科技有限公司 | 基于同态加密的模型训练方法、装置、设备以及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101965628B1 (ko) | 2017-12-15 | 2019-04-04 | 서울대학교산학협력단 | 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4220464A1 (en) * | 2017-03-22 | 2023-08-02 | Visa International Service Association | Privacy-preserving machine learning |
US10778409B2 (en) * | 2017-12-15 | 2020-09-15 | Crypto Lab Inc. | Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof |
WO2020145503A1 (en) * | 2019-01-10 | 2020-07-16 | Crypto Lab Inc. | Apparatus for processing approximately encrypted messages and methods thereof |
-
2019
- 2019-12-27 KR KR1020190176814A patent/KR20210083974A/ko not_active Application Discontinuation
-
2020
- 2020-05-27 US US16/884,957 patent/US11411714B2/en active Active
- 2020-09-09 EP EP20195188.6A patent/EP3843318A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101965628B1 (ko) | 2017-12-15 | 2019-04-04 | 서울대학교산학협력단 | 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들 |
Also Published As
Publication number | Publication date |
---|---|
EP3843318A1 (en) | 2021-06-30 |
US20210203474A1 (en) | 2021-07-01 |
US11411714B2 (en) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023682B2 (en) | Vector representation based on context | |
CN111476264A (zh) | 访问受限的系统的对抗鲁棒性的测试 | |
CN108733508B (zh) | 用于控制数据备份的方法和系统 | |
US20200104366A1 (en) | Personalized interactive semantic parsing using a graph-to-sequence model | |
US10878032B2 (en) | Labeled graph isomorphism allowing for false positive | |
US20210064666A1 (en) | Natural language interaction with automated machine learning systems | |
KR20210083974A (ko) | 근사 함수를 이용한 연산 장치 및 방법 | |
JP2012208924A (ja) | 適応的重み付けを用いた様々な文書間類似度計算方法に基づいた文書比較方法および文書比較システム | |
US10664743B2 (en) | Modeling a subject process by machine learning with adaptive inputs | |
KR20220009126A (ko) | 뉴럴 네트워크 연산 처리 장치 및 방법 | |
CN115081598A (zh) | 算子处理方法及装置、电子设备、计算机可读存储介质 | |
US20170220322A1 (en) | Generating gaussian random numbers using inverse sampling and recurrence relationship | |
KR20210130044A (ko) | 데이터 분석 장치 및 방법 | |
US20210217204A1 (en) | Neural network model compression with selective structured weight unification | |
US11573785B2 (en) | Predicting code vulnerabilities using machine learning classifier models trained on internal analysis states | |
US20210334646A1 (en) | Robustness-aware quantization for neural networks against weight perturbations | |
US11227231B2 (en) | Computational efficiency in symbolic sequence analytics using random sequence embeddings | |
US11947426B2 (en) | Method, electronic device, and computer program product for recommending protection strategy | |
CN114548407A (zh) | 层级目标定向因果发现方法、装置及电子设备 | |
US10831635B2 (en) | Preemption of false positives in code scanning | |
US20210232891A1 (en) | Neural network model compression with structured weight unification | |
US11163953B2 (en) | Natural language processing and candidate response evaluation | |
US10482157B2 (en) | Data compression apparatus and data compression method and storage medium | |
US10832466B2 (en) | View-dependent stochastic volume rendering with Monte Carlo ray exploration | |
CN111723247A (zh) | 基于图的假设计算 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal |