1 |
1
동형 암호(homomorphic encryption)를 이용한 암호화 방법에 있어서,데이터를 암호화함으로써 사이퍼텍스트(ciphertext)를 생성하는 단계; 및상기 사이퍼텍스트에 대응하는 모듈러스(modulus)에 대해 함수의 합성에 기초한 모듈러 리덕션(modular reduction)을 수행함으로써 상기 사이퍼텍스트에 부트스트래핑(bootstrapping)을 수행하는 단계를 포함하는 암호화 방법
|
2 |
2
제1항에 있어서,상기 수행하는 단계는,상기 함수 및 상기 함수의 역함수에 기초하여 상기 모듈러 리덕션을 근사(approximate)함으로써 상기 부트스트래핑을 수행하는 단계를 포함하는 암호화 방법
|
3 |
3
제2항에 있어서,상기 함수 및 상기 함수의 역함수에 기초하여 상기 모듈러 리덕션을 근사(approximate)함으로써 상기 부트스트래핑을 수행하는 단계는,상기 함수의 근사 다항식을 획득하는 단계;상기 역함수의 근사 다항식을 획득하는 단계; 및상기 함수의 근사 다항식 및 상기 역함수의 근사 다항식의 합성 함수에 기초하여 상기 모듈러 리덕션을 근사하는 합성 함수를 생성하는 단계를 포함하는 암호화 방법
|
4 |
4
제1항에 있어서,상기 함수는,삼각 함수를 포함하는 암호화 방법
|
5 |
5
제3항에 있어서,상기 함수의 근사 다항식을 획득하는 단계는,상기 함수가 삼각 함수인 경우, 상기 삼각 함수에 배각 공식을 적용하여 상기 삼각 함수의 배각 함수를 획득하는 단계를 포함하는 암호화 방법
|
6 |
6
제3항에 있어서,상기 함수의 근사 다항식을 획득하는 단계는,상기 근사 다항식의 차수에 기초하여 하나 이상의 기준점을 결정하는 단계;상기 하나 이상의 기준점에 기초하여 임의의 다항식을 획득하는 단계; 및상기 임의의 다항식으로부터 선택된 하나 이상의 극점에 기초하여 상기 근사 다항식을 생성하는 단계를 포함하는 암호화 방법
|
7 |
7
제6항에 있어서,상기 임의의 다항식을 획득하는 단계는,상기 하나 이상의 기준점을 지나는 조각 연속(piecewise continuous) 함수를 획득하는 단계; 및상기 하나 이상의 기준점에서 상기 조각 연속 함수와의 오차의 절대값이 미리 결정된 값이 되는 다항식을 생성함으로써 상기 임의의 다항식을 획득하는 단계를 포함하는 암호화 방법
|
8 |
8
제7항에 있어서,상기 조각 연속 함수와의 오차의 절대값이 미리 결정된 값이 되는 다항식을 생성함으로써 상기 임의의 다항식을 획득하는 단계는,상기 하나 이상의 기준점에 포함된 제1 기준점에서의 오차와 상기 제1 기준점과 인접한 제2 기준점의 오차의 부호가 상이하고 절대값이 상기 미리 결정된 값이 되는 다항식을 생성함으로써 상기 임의의 다항식을 획득하는 단계를 포함하는 암호화 방법
|
9 |
9
제6항에 있어서,상기 임의의 다항식으로부터 선택된 하나 이상의 극점에 기초하여 상기 근사 다항식을 생성하는 단계는,상기 임의의 다항식과 상기 하나 이상의 기준점을 지나는 조각 연속 함수 간의 오차의 극점 중에서 절대값이 미리 결정된 값보다 크거나 같은 후보점들을 획득하는 단계;상기 후보점들 중에서 상기 차수에 기초한 수의 타겟점들을 선택하는 단계; 및상기 타겟점들에 기초하여 상기 근사 다항식을 생성하는 단계를 포함하는 암호화 방법
|
10 |
10
하드웨어와 결합되어 제1항 내지 제9 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램
|
11 |
11
동형 암호(homomorphic encryption)를 이용한 암호화 장치에 있어서,데이터를 암호화함으로써 사이퍼텍스트(ciphertext)를 생성하고, 상기 사이퍼텍스트에 대응하는 모듈러스(modulus)에 대해 함수의 합성에 기초한 모듈러 리덕션(modular reduction)을 수행함으로써 상기 사이퍼텍스트에 부트스트래핑(bootstrapping)을 수행하는 프로세서; 및상기 프로세서에 의해 실행가능한 인스트럭션을 저장하는 메모리를 포함하는 암호화 장치
|
12 |
12
제11항에 있어서,상기 프로세서는,상기 함수 및 상기 함수의 역함수에 기초하여 상기 모듈러 리덕션을 근사(approximate)함으로써 상기 부트스트래핑을 수행하는암호화 장치
|
13 |
13
제12항에 있어서,상기 프로세서는,상기 함수의 근사 다항식을 획득하고,상기 역함수의 근사 다항식을 획득하고,상기 함수의 근사 다항식 및 상기 역함수의 근사 다항식의 합성 함수에 기초하여 상기 모듈러 리덕션을 근사하는 합성 함수를 생성하는암호화 장치
|
14 |
14
제11항에 있어서,상기 함수는,삼각 함수를 포함하는 암호화 장치
|
15 |
15
제13항에 있어서,상기 프로세서는,상기 함수가 삼각 함수인 경우, 상기 삼각 함수에 배각 공식을 적용하여 상기 삼각 함수의 배각 함수를 획득하는암호화 장치
|
16 |
16
제13항에 있어서,상기 프로세서는,상기 근사 다항식의 차수에 기초하여 하나 이상의 기준점을 결정하고,상기 하나 이상의 기준점에 기초하여 임의의 다항식을 획득하고,상기 임의의 다항식으로부터 선택된 하나 이상의 극점에 기초하여 상기 근사 다항식을 생성하는암호화 장치
|
17 |
17
제16항에 있어서,상기 프로세서는,상기 하나 이상의 기준점을 지나는 조각 연속(piecewise continuous) 함수를 획득하고,상기 하나 이상의 기준점에서 상기 조각 연속 함수와의 오차의 절대값이 미리 결정된 값이 되는 다항식을 생성함으로써 상기 임의의 다항식을 획득하는암호화 장치
|
18 |
18
제17항에 있어서,상기 프로세서는,상기 하나 이상의 기준점에 포함된 제1 기준점에서의 오차와 상기 제1 기준점과 인접한 제2 기준점의 오차의 부호가 상이하고 절대값이 상기 미리 결정된 값이 되는 다항식을 생성함으로써 상기 임의의 다항식을 획득하는암호화 장치
|
19 |
19
제16항에 있어서,상기 프로세서는,상기 임의의 다항식과 상기 하나 이상의 기준점을 지나는 조각 연속 함수 간의 오차의 극점 중에서 절대값이 미리 결정된 값보다 크거나 같은 후보점들을 획득하고,상기 후보점들 중에서 상기 차수에 기초한 수의 타겟점들을 선택하고,상기 타겟점들에 기초하여 상기 근사 다항식을 생성하는암호화 장치
|