| 번호 | 청구항 |
|---|---|
| 1 | 하나 이상의 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되는 방법으로서,복소수 데이터에 대한 동형 연산을 지원하는 동형 암호를 이용하여 제1 실수 데이터를 암호화한 제1 암호문 및 상기 동형 암호를 이용하여 제2 실수 데이터를 암호화한 제2 암호문을 복소수 데이터에 대한 암호문인 제3 암호문으로 병합하는 단계;상기 제3 암호문에 대해 동형 컨볼루션 연산 및 부트스트래핑 중 적어도 하나를 수행하여 제4 암호문을 생성하는 단계; 및상기 제4 암호문을 각각 실수 데이터에 대한 암호문인 2개의 암호문으로 분리하는 단계를 포함하는, 방법. |
| 2 | 청구항 1에 있어서,상기 제1 실수 데이터는, 제1 이미지에 대한 데이터이고,상기 제2 실수 데이터는, 상기 제1 이미지와 상이한 제2 이미지에 대한 데이터인, 방법. |
| 3 | 청구항 1에 있어서,상기 제1 암호문은, 상기 제1 실수 데이터가 다중화 패킹 방식으로 패킹된 암호문이고,상기 제2 암호문은, 상기 제2 실수 데이터가 상기 다중화 패킹 방식으로 패킹된 암호문인, 방법. |
| 4 | 하나 이상의 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되는 방법으로서, 동형 회전 연산, 동형 곱셈 연산 및 동형 덧셈 연산을 이용하여, 복수의 채널을 가진 제1 실수 데이터가 다중화 패킹 방식으로 패킹된 제1 암호문으로부터 상기 제1 실수 데이터의 복수의 채널 각각에 대한 컨볼루션 연산 결과를 포함하는 제2 실수 데이터가 패킹된 제2 암호문을 생성하는 단계;상기 동형 회전 연산, 상기 동형 곱셈 연산 및 상기 동형 덧셈 연산을 이용하여, 복수의 채널을 가진 제3 실수 데이터가 상기 다중화 패킹 방식으로 패킹된 제3 암호문으로부터 상기 제3 실수 데이터의 복수의 채널 각각에 대한 컨볼루션 연산 결과를 포함하는 제4 실수 데이터가 패킹된 제4 암호문을 생성하는 단계;상기 제2 암호문과 상기 제4 암호문을 병합하여, 상기 제2 실수 데이터와 상기 제4 실수 데이터가 복소수 형태로 결합된 제1 복소수 데이터에 대한 암호문인 제5 암호문을 생성하는 단계;상기 동형 회전 연산 및 동형 덧셈 연산을 이용하여 상기 제5 암호문으로부터 상기 제1 실수 데이터의 복수의 채널 각각에 대한 컨볼루션 연산 결과를 더한 결과와 상기 제3 실수 데이터의 복수의 채널 각각에 대한 컨볼루션 연산 결과를 더한 결과가 복소수 형태로 결합된 제2 복소수 데이터에 대한 암호문인 제6 암호문을 생성하는 단계;상기 제6 암호문과 사전 설정된 선택 벡터 사이의 동형 곱셈 연산을 이용하여, 상기 제2 복소수 데이터에서 추출된 유효 값들을 포함하는 제3 복소수 데이터에 대한 암호문인 제7 암호문을 생성하는 단계; 및상기 7 암호문을 각각 실수 데이터에 대한 암호문인 2개의 암호문으로 분리하는 단계를 포함하고, 상기 제1 암호문 및 상기 제3 암호문은, 복소수 데이터에 대한 연산을 지원하는 동형 암호를 이용하여 암호화된 암호문인, 방법. |
| 5 | 청구항 4에 있어서,상기 제1 실수 데이터 및 상기 제2 실수 데이터는, 동일한 이미지에 대한 데이터인, 방법. |
| 6 | 청구항 4에 있어서,상기 제2 암호문은, 제1 컨볼루션 필터 계수 벡터를 이용하여 생성되고,상기 제4 암호문은, 제2 컨볼루션 필터 계수 벡터를 이용하여 생성되는, 방법. |
| 7 | 청구항 4에 있어서,상기 분리하는 단계 이전에, 상기 제7 암호문에 대한 부트스트래핑을 수행하는 단계를 더 포함하고,상기 분리하는 단계는, 상기 부트스트래핑이 수행된 제7 암호문을 각각 실수 데이터에 대한 암호문인 2개의 암호문으로 분리하는, 방법. |
| 8 | 하나 이상의 프로세서; 및상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하고,상기 하나 이상의 프로세서는,복소수 데이터에 대한 동형 연산을 지원하는 동형 암호를 이용하여 제1 실수 데이터를 암호화한 제1 암호문 및 상기 동형 암호를 이용하여 제2 실수 데이터를 암호화한 제2 암호문을 복소수 데이터에 대한 암호문인 제3 암호문으로 병합하고,상기 제3 암호문에 대해 동형 컨볼루션 연산 및 부트스트래핑 중 적어도 하나를 수행하여 제4 암호문을 생성하고,상기 제4 암호문을 각각 실수 데이터에 대한 암호문인 2개의 암호문으로 분리하는, 컴퓨팅 장치. |
| 9 | 청구항 8에 있어서,상기 제1 실수 데이터는, 제1 이미지에 대한 데이터이고,상기 제2 실수 데이터는, 상기 제1 이미지와 상이한 제2 이미지에 대한 데이터인, 컴퓨팅 장치. |
| 10 | 청구항 8에 있어서,상기 제1 암호문은, 상기 제1 실수 데이터가 다중화 패킹 방식으로 패킹된 암호문이고,상기 제2 암호문은, 상기 제2 실수 데이터가 상기 다중화 패킹 방식으로 패킹된 암호문인, 컴퓨팅 장치. |
| 11 | 하나 이상의 프로세서; 및상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하고,상기 하나 이상의 프로세서는,동형 회전 연산, 동형 곱셈 연산 및 동형 덧셈 연산을 이용하여, 복수의 채널을 가진 제1 실수 데이터가 다중화 패킹 방식으로 패킹된 제1 암호문으로부터 상기 제1 실수 데이터의 복수의 채널 각각에 대한 컨볼루션 연산 결과를 포함하는 제2 실수 데이터가 패킹된 제2 암호문을 생성하고,상기 동형 회전 연산, 상기 동형 곱셈 연산 및 상기 동형 덧셈 연산을 이용하여, 복수의 채널을 가진 제3 실수 데이터가 상기 다중화 패킹 방식으로 패킹된 제3 암호문으로부터 상기 제3 실수 데이터의 복수의 채널 각각에 대한 컨볼루션 연산 결과를 포함하는 제4 실수 데이터가 패킹된 제4 암호문을 생성하고,상기 제2 암호문과 상기 제4 암호문을 병합하여, 상기 제2 실수 데이터와 상기 제4 실수 데이터가 복소수 형태로 결합된 제1 복소수 데이터에 대한 암호문인 제5 암호문을 생성하고,상기 동형 회전 연산 및 동형 덧셈 연산을 이용하여 상기 제5 암호문으로부터 상기 제1 실수 데이터의 복수의 채널 각각에 대한 컨볼루션 연산 결과를 더한 결과와 상기 제3 실수 데이터의 복수의 채널 각각에 대한 컨볼루션 연산 결과를 더한 결과가 복소수 형태로 결합된 제2 복소수 데이터에 대한 암호문인 제6 암호문을 생성하고,상기 제6 암호문과 사전 설정된 선택 벡터 사이의 동형 곱셈 연산을 이용하여, 상기 제2 복소수 데이터에서 추출된 유효 값들을 포함하는 제3 복소수 데이터에 대한 암호문인 제7 암호문을 생성하고,상기 7 암호문을 각각 실수 데이터에 대한 암호문인 2개의 암호문으로 분리하고, 상기 제1 암호문 및 상기 제3 암호문은, 복소수 데이터에 대한 연산을 지원하는 동형 암호를 이용하여 암호화된 암호문인, 컴퓨팅 장치. |
| 12 | 청구항 11에 있어서,상기 제1 실수 데이터 및 상기 제2 실수 데이터는, 동일한 이미지에 대한 데이터인, 컴퓨팅 장치. |
| 13 | 청구항 11에 있어서,상기 제2 암호문은, 제1 컨볼루션 필터 계수 벡터를 이용하여 생성되고,상기 제4 암호문은, 제2 컨볼루션 필터 계수 벡터를 이용하여 생성되는, 컴퓨팅 장치. |
| 14 | 청구항 11에 있어서,상기 하나 이상의 프로세서는,상기 제7 암호문에 대한 부트스트래핑을 수행하고,상기 부트스트래핑이 수행된 제7 암호문을 각각 실수 데이터에 대한 암호문인 2개의 암호문으로 분리하는, 컴퓨팅 장치. |