1 |
1
완전동형암호기법으로 암호화된 데이터의 연산 장치에 있어서,암호화된 데이터를 송수신하는 통신 모듈;연산 프로그램이 저장된 메모리; 및상기 연산 프로그램을 실행하는 프로세서를 포함하되,상기 연산 프로그램은 제 1 동형암호 데이터와 제 2 동형암호 데이터를 비트별로 연산하는 XOR연산 로직, XNOR연산 로직, AND연산 로직 및 OR 연산 로직을 각각 포함하고, 동형암호 데이터에 대한 보수를 반환하는 보수 연산 로직, 동형암호 데이터에 대한 절댓값을 반환하는 절댓값 연산 로직, 동형암호 데이터를 오른쪽으로 이동시킨 결괏값을 반환하는 오른쪽 이동 연산 로직, 동형암호 데이터를 왼쪽으로 이동시킨 결괏값을 반환하는 왼쪽 이동 연산 로직 및 입력된 복수의 동형암호 데이터 중 어느 하나를 출력하는 MUX연산 로직을 포함하고,입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터 중 먼저 입력한 값이 큰 값이면 '1' 비트를 암호화한 제 1 암호화 값을 출력하는 제 1 대소 비교 연산 로직과 입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터 중 먼저 입력한 값이 작은 값이면 상기 제 1 암호화 값을 출력하는 제 2 대소 비교 연산 로직을 포함하되,상기 제 1 대소 비교 연산 로직은 상기 입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터를 상기 XNOR 연산 로직에 입력하여 제 1 출력값을 구하고, MUX 연산 로직을 통해 상기 제 1 출력값에 따라 '0' 비트를 암호화한 제 2 암호화 값 또는 제 1 동형암호 데이터를 출력하고,상기 제 2 대소 비교 연산 로직은 상기 입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터를 상기 XNOR 연산 로직에 입력하여 제 1 출력값을 구하고, MUX 연산 로직을 통해 상기 제 1 출력값에 따라 '0' 비트를 암호화한 제 2 암호화 값 또는 상기 제 2 동형암호 데이터를 출력하고, 완전동형암호기법으로 암호화된 데이터의 연산 장치
|
2 |
2
제1항에 있어서, 상기 연산 프로그램은 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 암호화된 상태에서 덧셈하는 덧셈 로직을 더 포함하되,상기 덧셈 로직은상기 제 1 동형암호 데이터와 제 2 동형암호 데이터가 입력되어 제 1 출력값을 출력하는 제1 XOR 연산 로직, 상기 제 1 출력값과 제 1 캐리 값이 입력되어 결과값을 출력하는 제 2 XOR 연산 로직, 상기 제 1 출력값과 상기 제 1 캐리 값이 입력되어 제 2 출력값을 출력하는 제1 AND 연산 로직, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터가 입력되어 제 3 출력값을 출력하는 제2 AND 연산 로직 및 상기 제 2 출력값과 제 3 출력값이 입력되어 제 2 캐리값을 출력하는 OR 연산 로직을 포함하는, 완전동형암호기법으로 암호화된 데이터의 연산 장치
|
3 |
3
제2항에 있어서, 상기 연산 프로그램은 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 암호화된 상태에서 뺄셈하는 뺄셈 로직을 더 포함하되,상기 뺄셈 로직은상기 제 1 동형암호 데이터와 제 2 동형암호 데이터가 입력되어 제 1 출력값을 출력하는 제1 XOR 연산 로직, 상기 제 1 출력값과 제 1 캐리 값이 입력되어 결과값을 출력하는 제 2 XOR 연산 로직, 상기 제 1 동형암호 데이터를 반전시킨 값과 제 2 동형 암호 데이터가 입력되어 제 2 출력값을 출력하는 제1 AND 연산 로직, 상기 제 1 출력값을 반전시킨 값과 제 1 캐리 값이 입력되어 제 3 출력값을 출력하는 제 2 AND 연산 로직, 상기 제 2 출력값과 제 3 출력값이 입력되어 제 2 캐리값을 출력하는 OR 연산 로직을 포함하는, 완전동형암호기법으로 암호화된 데이터의 연산 장치
|
4 |
4
제3항에 있어서, 상기 연산 프로그램은 입력된 동형암호 데이터가 암호화된 상태에서 절댓값을 산출하는 절댓값 로직을 더 포함하되,상기 절댓값 로직은 입력된 동형 암호데이터의 최상위 비트의 암호문에 따라 입력된 동형암호데이터에 대한 2의 보수 및 입력된 동형 암호데이터 중 어느 하나를 출력하는 MUX연산 로직을 포함하는, 완전동형암호기법으로 암호화된 데이터의 연산 장치
|
5 |
5
제4항에 있어서, 상기 연산 프로그램은 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 암호화된 상태에서 곱셈하는 곱셈 로직을 더 포함하되,상기 곱셈 로직은상기 제 1 동형 암호 데이터의 부호 비트와 상기 제 2 동형 암호 데이터의 부호 비트가 입력되어 제 1 부호 비트를 출력하는 XOR 연산 로직, 상기 제 1 부호 비트를 반전 시켜 제 2 부호 비트를 출력하는 NOT 연산 로직, 상기 제 1 동형 암호 데이터의 절댓값을 구하는 제 1 절댓값 로직, 상기 제 2 동형 암호 데이터의 절댓값을 구하는 제 2 절댓값 로직, 상기 제 1 절댓값 로직의 출력에 대하여 제 2 절댓값 로직의 출력을 비트별로 곱셈하는 절댓값 이진 곱셈 로직, 상기 절댓값 이진 곱셈 로직의 출력에 대하여 2의 보수를 구하는 보수 출력 로직, 상기 절댓값 이진 곱셈 로직의 출력에 대하여 상기 제 2 부호 비트를 비트별로 곱하여 제 1 결괏값을 출력하는 제 1 AND 연산 로직, 상기 보수 출력 로직의 출력에 대하여 상기 제 1 부호 비트를 비트별로 곱하여 제 2 결괏값을 출력하는 제 2 AND 연산 로직, 상기 제 1 결괏값과 제 2 결괏값이 입력되어 최종 결괏값을 출력하는 상기 덧셈 로직을 포함하는, 완전동형암호기법으로 암호화된 데이터의 연산 장치
|
6 |
6
제5항에 있어서, 상기 연산 프로그램은 피제수(Q)인 제 1 동형암호 데이터로 제수(M)인 제 2 동형암호 데이터를 암호화된 상태에서 나눗셈하는 나눗셈 로직을 더 포함하되,상기 나눗셈 로직은 상기 제 1 동형 암호 데이터의 부호 비트와 상기 제 2 동형 암호 데이터의 부호 비트가 입력되어 제 1 부호 비트를 출력하는 XOR 연산 로직, 상기 제 1 동형 암호 데이터의 절댓값을 구하는 제 1 절댓값 로직, 상기 제 2 동형 암호 데이터의 절댓값을 구하는 제 2 절댓값 로직, 상기 제 1 절댓값 로직의 출력을 제 2 절댓값 로직의 출력으로 비트별로 나눗셈하는 절댓값 이진 나눗셈 로직, 상기 절댓값 이진 나눗셈 로직의 출력에 대하여 2의 보수를 구하는 보수 출력 로직, 상기 절댓값 이진 나눗셈 로직의 출력에 대하여 상기 제 1 부호 비트를 반전시킨 제 2 부호 비트를 비트별로 곱하여 제 1 결괏값을 출력하는 제 1 AND 연산 로직, 상기 보수 출력 로직의 출력에 대하여 상기 제 1 부호 비트를 비트별로 곱하여 제 2 결괏값을 출력하는 제 2 AND 연산 로직, 상기 제 1 결괏값과 제 2 결괏값이 입력되어 최종 결괏값을 출력하는 상기 덧셈 로직을 포함하되, 완전동형암호기법으로 암호화된 데이터의 연산 장치
|
7 |
7
완전동형암호기법으로 암호화된 데이터의 연산 장치를 이용한 암호화된 데이터의 연산 방법에 있어서,상기 암호화된 데이터의 연산 장치는 제 1 동형암호 데이터와 제 2 동형암호 데이터를 비트별로 연산하는 XOR연산 로직, XNOR연산 로직, AND연산 로직 및 OR 연산 로직을 각각 포함하고, 동형암호 데이터에 대한 보수를 반환하는 보수 연산 로직, 동형암호 데이터에 대한 절댓값을 반환하는 절댓값 연산 로직, 동형암호 데이터를 오른쪽으로 이동시킨 결괏값을 반환하는 오른쪽 이동 연산 로직, 동형암호 데이터를 왼쪽으로 이동시킨 결괏값을 반환하는 왼쪽 이동 연산 로직 및 입력된 복수의 동형암호 데이터 중 어느 하나를 출력하는 MUX연산 로직을 포함하는 연산 프로그램이 설치된 것이고,입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터를 제 1 대소 비교 연산 로직에 입력하여 대소 비교를 수행하는 단계 및입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터를 제 2 대소 비교 연산 로직에 입력하여 대소 비교를 수행하는 단계를 포함하되,상기 제 1 대소 비교 연산 로직은 먼저 입력한 값이 큰 값이면 '1' 비트를 암호화한 제 1 암호화 값을 출력하는 것이고, 상기 입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터를 상기 XNOR 연산 로직에 입력하여 제 1 출력값을 구하고, MUX 연산 로직을 통해 상기 제 1 출력값에 따라 '0' 비트를 암호화한 제 2 암호화 값 또는 제 1 동형암호 데이터를 출력하는 것이고,상기 제 2 대소 비교 연산 로직은 먼저 입력한 값이 작은 값이면 상기 제 1 암호화 값을 출력하는 것이고, 상기 입력된 제 1 동형암호 데이터와 제 2 동형암호 데이터를 상기 XNOR 연산 로직에 입력하여 제 1 출력값을 구하고, MUX 연산 로직을 통해 상기 제 1 출력값에 따라 '0' 비트를 암호화한 제 2 암호화 값 또는 상기 제 2 동형암호 데이터를 출력하는 것인, 암호화된 데이터의 연산 방법
|
8 |
8
제7항에 있어서, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 덧셈로직에 입력하여 암호화된 상태에서 덧셈하는 단계를 더 포함하되,상기 덧셈 로직은상기 제 1 동형암호 데이터와 제 2 동형암호 데이터가 입력되어 제 1 출력값을 출력하는 제1 XOR 연산 로직, 상기 제 1 출력값과 제 1 캐리 값이 입력되어 결과값을 출력하는 제 2 XOR 연산 로직, 상기 제 1 출력값과 상기 제 1 캐리 값이 입력되어 제 2 출력값을 출력하는 제1 AND 연산 로직, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터가 입력되어 제 3 출력값을 출력하는 제2 AND 연산 로직 및 상기 제 2 출력값과 제 3 출력값이 입력되어 제 2 캐리값을 출력하는 OR 연산 로직을 포함하는 것인, 완전동형암호기법으로 암호화된 데이터의 연산 방법
|
9 |
9
제8항에 있어서, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 뺄셈로직에 입력하여 암호화된 상태에서 뺄셈하는 단계를 더 포함하되,상기 뺄셈 로직은상기 제 1 동형암호 데이터와 제 2 동형암호 데이터가 입력되어 제 1 출력값을 출력하는 제1 XOR 연산 로직, 상기 제 1 출력값과 제 1 캐리 값이 입력되어 결과값을 출력하는 제 2 XOR 연산 로직, 상기 제 1 동형암호 데이터를 반전시킨 값과 제 2 동형 암호 데이터가 입력되어 제 2 출력값을 출력하는 제1 AND 연산 로직, 상기 제 1 출력값을 반전시킨 값과 제 1 캐리 값이 입력되어 제 3 출력값을 출력하는 제 2 AND 연산 로직, 상기 제 2 출력값과 제 3 출력값이 입력되어 제 2 캐리값을 출력하는 OR 연산 로직을 포함하는, 완전동형암호기법으로 암호화된 데이터의 연산 방법
|
10 |
10
제9항에 있어서, 입력된 동형암호 데이터를 절댓값 로직에 입력하여 암호화된 상태에서 절댓값을 산출하는 단계를 더 포함하되,상기 절댓값 로직은 입력된 동형 암호데이터의 최상위 비트의 암호문에 따라 입력된 동형암호데이터에 대한 2의 보수 및 입력된 동형 암호데이터 중 어느 하나를 출력하는 MUX연산 로직을 포함하는, 완전동형암호기법으로 암호화된 데이터의 연산 방법
|
11 |
11
제10항에 있어서, 상기 제 1 동형암호 데이터와 제 2 동형암호 데이터를 곱셈로직에 입력하여 암호화된 상태에서 곱셈하는 단계를 더 포함하되,상기 곱셈 로직은상기 제 1 동형 암호 데이터의 부호 비트와 상기 제 2 동형 암호 데이터의 부호 비트가 입력되어 제 1 부호 비트를 출력하는 XOR 연산 로직, 상기 제 1 부호 비트를 반전 시켜 제 2 부호 비트를 출력하는 NOT 연산 로직, 상기 제 1 동형 암호 데이터의 절댓값을 구하는 제 1 절댓값 로직, 상기 제 2 동형 암호 데이터의 절댓값을 구하는 제 2 절댓값 로직, 상기 제 1 절댓값 로직의 출력에 대하여 제 2 절댓값 로직의 출력을 비트별로 곱셈하는 절댓값 이진 곱셈 로직, 상기 절댓값 이진 곱셈 로직의 출력에 대하여 2의 보수를 구하는 보수 출력 로직, 상기 절댓값 이진 곱셈 로직의 출력에 대하여 상기 제 2 부호 비트를 비트별로 곱하여 제 1 결괏값을 출력하는 제 1 AND 연산 로직, 상기 보수 출력 로직의 출력에 대하여 상기 제 1 부호 비트를 비트별로 곱하여 제 2 결괏값을 출력하는 제 2 AND 연산 로직, 상기 제 1 결괏값과 제 2 결괏값이 입력되어 최종 결괏값을 출력하는 상기 덧셈 로직을 포함하는, 완전동형암호기법으로 암호화된 데이터의 연산 방법
|
12 |
12
제11항에 있어서, 나눗셈 로직을 이용하여 피제수(Q)인 제 1 동형암호 데이터로 제수(M)인 제 2 동형암호 데이터를 암호화된 상태에서 나눗셈하는 단계를 더 포함하되,상기 나눗셈 로직은 상기 제 1 동형 암호 데이터의 부호 비트와 상기 제 2 동형 암호 데이터의 부호 비트가 입력되어 제 1 부호 비트를 출력하는 XOR 연산 로직, 상기 제 1 동형 암호 데이터의 절댓값을 구하는 제 1 절댓값 로직, 상기 제 2 동형 암호 데이터의 절댓값을 구하는 제 2 절댓값 로직, 상기 제 1 절댓값 로직의 출력을 제 2 절댓값 로직의 출력으로 비트별로 나눗셈하는 절댓값 이진 나눗셈 로직, 상기 절댓값 이진 나눗셈 로직의 출력에 대하여 2의 보수를 구하는 보수 출력 로직, 상기 절댓값 이진 나눗셈 로직의 출력에 대하여 상기 제 1 부호 비트를 반전시킨 제 2 부호 비트를 비트별로 곱하여 제 1 결괏값을 출력하는 제 1 AND 연산 로직, 상기 보수 출력 로직의 출력에 대하여 상기 제 1 부호 비트를 비트별로 곱하여 제 2 결괏값을 출력하는 제 2 AND 연산 로직, 상기 제 1 결괏값과 제 2 결괏값이 입력되어 최종 결괏값을 출력하는 상기 덧셈 로직을 포함하되, 완전동형암호기법으로 암호화된 데이터의 연산 방법
|