1 |
1
완전동형암호기법으로 암호화된 데이터의 회귀분석 연산 장치에 있어서,암호화된 데이터를 송수신하는 통신 모듈;연산 프로그램이 저장된 메모리; 및상기 연산 프로그램을 실행하는 프로세서를 포함하되,상기 연산 프로그램은 제 1 동형암호 데이터와 제 2 동형암호 데이터를 비트별로 연산하는 XOR연산 로직, XNOR연산 로직, AND연산 로직 및 OR 연산 로직을 각각 포함하고, 동형암호 데이터에 대한 보수를 반환하는 보수 연산 로직, 동형암호 데이터에 대한 절댓값을 반환하는 절댓값 연산 로직, 동형암호 데이터를 오른쪽으로 이동시킨 결괏값을 반환하는 오른쪽 이동 연산 로직, 동형암호 데이터를 왼쪽으로 이동시킨 결괏값을 반환하는 왼쪽 이동 연산 로직 및 입력된 복수의 동형암호 데이터 중 어느 하나를 출력하는 MUX연산 로직, 입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터 의 크기를 비교하는 대소 비교 연산 로직, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 암호화된 상태에서 덧셈하는 덧셈 로직, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 암호화된 상태에서 뺄셈하는 뺄셈 로직, 입력된 동형암호 데이터가 암호화된 상태에서 절댓값을 산출하는 절댓값 로직, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 암호화된 상태에서 곱셈하는 곱셈 로직, 피제수(Q)인 제 1 동형암호 데이터로 제수(M)인 제 2 동형암호 데이터를 암호화된 상태에서 나눗셈하는 나눗셈 로직 및 동형암호 데이터에 대해 지수함수 값을 산출하는 지수함수 로직을 포함하고,상기 연산 프로그램은 시그모이드 함수 연산을 수행하는 시그모이드 함수 로직을 포함하되,상기 시그모이드 함수 로직은 상기 보수 연산 로직에 상기 입력된 동형암호 데이터를 입력하여 2의 보수를 출력하고, 상기 보수 연산 로직의 출력을 상기 지수 함수 로직에 입력하고, '1' 비트를 암호화한 제 1 암호화 값과 상기 지수 함수 로직의 출력을 상기 덧셈 로직에 입력하고, 상기 제 1 암호화 값을 피제수(Q)로서, 상기 덧셈 로직의 출력을 제수(M)로서 상기 나눗셈 로직에 입력하고, 상기 나눗셈 로직의 출력을 반환하는 것인, 회귀분석 연산 장치
|
2 |
2
제 1항에 있어서, 상기 연산 프로그램은 동형암호화된 입력데이터(X(i))와 동형 암호화된 분류 데이터(Y(i) )에 대하여 로지스틱 회귀분석을 수행하는 회귀분석 로직을 더 포함하되,상기 회귀분석 로직은 수학식 1을 정의하는 동형암호화된 입력데이터(X(i))에 대한 복수의 파라메타()값을 산출하는 것으로서, 기울기 하강법에 따라 상기 입력 데이터(X(i))와 이에 매칭되는 동형 암호화된 분류 데이터(Y(i) )간의 오차를 나타내는 수학식 2의 값이 최소가 되는 방향으로 파라메타를 업데이트 하는 것인, 회귀분석 연산 장치
|
3 |
3
제 2항에 있어서, 상기 회귀분석 로직은,(a) 각각의 파라메타 초기값을 '0'비트를 암호화한 값으로 설정하는 단계; (b) '0'비트를 암호화한 값을 그래디언트값의 초기값으로 설정하는 단계;(c) 학습 데이터의 개수(n)만큼, 상기 수학식 1을 상기 시그모이드 함수 로직에 입력하여 시그모이드 함수 로직의 출력을 산출하는 단계, 상기 뺄셈 로직에 상기 시그모이드 함수의 출력과 상기 동형암호화된 분류 데이터(Y(i) )를 입력하여 뺄셈 연산을 수행하는 단계, 상기 곱셈로직에 상기 뺄셈 로직의 출력과 상기 동형암호화된 입력 데이터(X(i))를 입력하여 곱셈 연산을 수행하는 단계, 및 상기 덧셈로직에 상기 곱셈로직의 출력과 상기 그래디언트값을 입력하여 덧셈 연산을 수행하고, 덧셈 연산의 출력을 상기 그래디언트값으로서 갱신하는 단계를 반복 수행하는 단계; 및(d) 상기 (c) 단계에서 갱신된 그래디언트 값을 미리 설정된 값 만큼 우측으로 이동시켜 갱신하고, 상기 뺄셈로직에 각 파라메타 및 상기 갱신된 그래디언트 값을 입력하여 뺄셈 연산의 출력을 상기 파라메타의 값으로서 갱신하는 단계를 수행하되, 상기 (b) 내지 (d) 단계는 차원(d)의 개수 만큼 반복 수행되어, 각 차원의 파라메타 값을 산출하는 것인, 회귀분석 연산 장치
|
4 |
4
제 3항에 있어서, 상기 회귀분석 로직의 상기 (b) 내지 (d) 단계는 미리 설정된 반복 횟수만큼 반복 수행되어, 각 차원의 파라메타 값이 갱신되는 것인, 회귀분석 연산 장치
|
5 |
5
제 3항에 있어서, 상기 (d) 단계의 미리 설정된 값(b)은 아래 수학식 3에 기초하여 산출되는 것인, 회귀분석 연산 장치
|
6 |
6
완전동형암호기법으로 암호화된 데이터의 회귀분석 연산 장치를 이용한 암호화된 데이터의 회귀분석 연산 방법에 있어서,상기 암호화된 데이터의 회귀분석 연산 장치는 제 1 동형암호 데이터와 제 2 동형암호 데이터를 비트별로 연산하는 XOR연산 로직, XNOR연산 로직, AND연산 로직 및 OR 연산 로직을 각각 포함하고, 동형암호 데이터에 대한 보수를 반환하는 보수 연산 로직, 동형암호 데이터에 대한 절댓값을 반환하는 절댓값 연산 로직, 동형암호 데이터를 오른쪽으로 이동시킨 결괏값을 반환하는 오른쪽 이동 연산 로직, 동형암호 데이터를 왼쪽으로 이동시킨 결괏값을 반환하는 왼쪽 이동 연산 로직 및 입력된 복수의 동형암호 데이터 중 어느 하나를 출력하는 MUX연산 로직, 입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터 의 크기를 비교하는 대소 비교 연산 로직, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 암호화된 상태에서 덧셈하는 덧셈 로직, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 암호화된 상태에서 뺄셈하는 뺄셈 로직, 입력된 동형암호 데이터가 암호화된 상태에서 절댓값을 산출하는 절댓값 로직, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 암호화된 상태에서 곱셈하는 곱셈 로직, 피제수(Q)인 제 1 동형암호 데이터로 제수(M)인 제 2 동형암호 데이터를 암호화된 상태에서 나눗셈하는 나눗셈 로직 및 동형암호 데이터에 대해 지수함수 값을 산출하는 지수함수 로직을 포함하는 연산 프로그램이 설치된 것이고,입력된 동형암호 데이터에 대하여 시그모이드 함수 로직을 통해 시그모이드 연산을 수행하는 단계를 포함하되,상기 시그모이드 함수 로직은 상기 보수 연산 로직에 상기 입력된 동형암호 데이터를 입력하여 2의 보수를 출력하고, 상기 보수 연산 로직의 출력을 상기 지수 함수 로직에 입력하고, '1' 비트를 암호화한 제 1 암호화 값과 상기 지수 함수 로직의 출력을 상기 덧셈 로직에 입력하고, 상기 제 1 암호화 값을 피제수(Q)로서, 상기 덧셈 로직의 출력을 제수(M)로서 상기 나눗셈 로직에 입력하고, 상기 나눗셈 로직의 출력을 반환하는 것인,암호화된 데이터의 회귀 분석 연산 방법
|
7 |
7
제 6항에 있어서, 회귀분석 로직을 통해 동형암호화된 입력데이터(X(i))와 동형 암호화된 분류 데이터(Y(i) )에 대하여 로지스틱 회귀분석을 수행하는 단계를 더 포함하되,상기 회귀분석 로직은 수학식 1을 정의하는 동형암호화된 입력데이터(X(i))에 대한 복수의 파라메타()값을 산출하는 것으로서, 기울기 하강법에 따라 상기 입력 데이터(X(i))와 이에 매칭되는 동형 암호화된 분류 데이터(Y(i) )간의 오차를 나타내는 수학식 2의 값이 최소가 되는 방향으로 파라메타를 업데이트 하는 것인, 암호화된 데이터의 회귀 분석 연산 방법
|
8 |
8
제 7항에 있어서, 상기 회귀분석 로직은,(a) 각각의 파라메타 초기값을 '0'비트를 암호화한 값으로 설정하는 단계; (b) '0'비트를 암호화한 값을 그래디언트값의 초기값으로 설정하는 단계;(c) 학습 데이터의 개수(n)만큼, 상기 수학식 1을 상기 시그모이드 함수 로직에 입력하여 시그모이드 함수 로직의 출력을 산출하는 단계, 상기 뺄셈 로직에 상기 시그모이드 함수의 출력과 상기 동형암호화된 분류 데이터(Y(i) )를 입력하여 뺄셈 연산을 수행하는 단계, 상기 곱셈로직에 상기 뺄셈 로직의 출력과 상기 동형암호화된 입력 데이터(X(i))를 입력하여 곱셈 연산을 수행하는 단계, 및 상기 덧셈로직에 상기 곱셈로직의 출력과 상기 그래디언트값을 입력하여 덧셈 연산을 수행하고, 덧셈 연산의 출력을 상기 그래디언트값으로서 갱신하는 단계를 반복 수행하는 단계; 및(d) 상기 (c) 단계에서 갱신된 그래디언트 값을 미리 설정된 값 만큼 우측으로 이동시켜 갱신하고, 상기 뺄셈로직에 각 파라메타 및 상기 갱신된 그래디언트 값을 입력하여 뺄셈 연산의 출력을 상기 파라메타의 값으로서 갱신하는 단계를 수행하되, 상기 (b) 내지 (d) 단계는 차원(d)의 개수만큼 반복 수행되어, 각 차원의 파라메타 값을 산출하는 것인, 암호화된 데이터의 회귀 분석 연산 방법
|
9 |
9
제 8항에 있어서, 상기 회귀분석 로직의 상기 (b) 내지 (d) 단계는 미리 설정된 반복 횟수만큼 반복 수행되어, 각 차원의 파라메타 값이 갱신되는 것인, 암호화된 데이터의 회귀 분석 연산 방법
|
10 |
10
제 8항에 있어서, 상기 (d) 단계의 미리 설정된 값(b)은 아래 수학식 3에 기초하여 산출되는 것인, 암호화된 데이터의 회귀 분석 연산 방법
|