1 |
1
동형 암호(homomorphic encryption)를 이용한 암호화 방법에 있어서,제1 모듈러스(modulus)에 대응하는 제1 암호문(ciphertext)을 수신하는 단계;상기 제1 암호문에 모듈러스 레이징(modulus rasing)을 수행함으로써 제2 모듈러스에 대응하는 제2 암호문을 생성하는 단계; 및회전 연산에 포함된 복수의 연산들의 교환 법칙(commutative property) 및 결합 법칙(associative property)을 이용하여 상기 제2 암호문을 인코딩함으로써 부트스트래핑(bootstrapping)을 수행하는 단계를 포함하는 암호화 방법
|
2 |
2
제1항에 있어서,상기 제2 암호문을 생성하는 단계는,상기 제1 모듈러스에 미리 결정된 수를 곱한 값이 상기 제2 모듈러스가 되도록 상기 제1 암호문에 모듈러스 레이징을 수행함으로써 상기 제2 암호문을 생성하는 단계 를 포함하는 암호화 방법
|
3 |
3
제1항에 있어서,상기 부트스트래핑을 수행하는 단계는,상기 제2 암호문에 치환(permutation) 연산을 수행하는 단계; 및상기 치환 연산의 결과에 기초하여 키 스위칭(key switching) 연산을 수행함으로써 상기 부트스트래핑을 수행하는 단계를 포함하는 암호화 방법
|
4 |
4
제3항에 있어서,상기 치환 연산의 결과에 기초하여 키 스위칭(key switching) 연산을 수행함으로써 상기 부트스트래핑을 수행하는 단계는,상기 치환 연산에 기초한 리스케일링 연산을 수행하는 단계;상기 리스케일링 연산의 결과에 분해(decompose) 연산을 수행하는 단계; 및상기 분해 연산의 결과에 곱셈합(sum of multiplication)을 수행하는 단계를 포함하는 암호화 방법
|
5 |
5
제3항에 있어서,상기 치환 연산에 기초한 리스케일링 연산을 수행하는 단계는,상기 치환 연산의 결과와 평문과의 곱셈을 수행하는 단계; 및상기 곱셈의 결과를 리스케일링(rescaling)하는 단계를 포함하는 암호화 방법
|
6 |
6
제5항에 있어서,상기 치환 연산의 결과와 평문과의 곱셈을 수행하는 단계는,상기 치환 연산의 결과에 상기 평문에 대응하는 행렬의 대각 성분과의 곱셈을 수행하는 단계를 포함하는 암호화 방법
|
7 |
7
제4항에 있어서,상기 치환 연산의 결과에 기초하여 키 스위칭(key switching) 연산을 수행함으로써 상기 부트스트래핑을 수행하는 단계는,상기 곱셈합의 결과를 더함으로써 덧셈 결과를 생성하는 단계; 및상기 덧셈 결과에 대하여 모듈러스 다운 연산을 수행하는 단계를 더 포함하는 암호화 방법
|
8 |
8
제1항에 있어서,상기 부트스트래핑을 수행하는 단계는,상기 제2 암호문의 인코딩 결과에 모듈러스 리덕션(modulus reduction)을 수행함으로써 상기 부트스트래핑을 수행하는 단계를 포함하는 암호화 방법
|
9 |
9
제8항에 있어서,상기 제2 암호문의 인코딩 결과에 모듈러스 리덕션(modulus reduction)을 수행함으로써 상기 부트스트래핑을 수행하는 단계는,상기 모듈러스 리덕션 결과를 디코딩함으로써 상기 부트스트래핑을 수행하는 단계를 포함하는 암호화 방법
|
10 |
10
하드웨어와 결합되어 제1항 내지 제9항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독가능한 매체에 저장된 컴퓨터 프로그램
|
11 |
11
동형 암호(homomorphic encryption)를 이용한 암호화 장치에 있어서,제1 모듈러스(modulus)에 대응하는 제1 암호문(ciphertext)을 수신하는 수신기; 및상기 제1 암호문에 모듈러스 레이징(modulus rasing)을 수행함으로써 제2 모듈러스에 대응하는 제2 암호문을 생성하고,회전 연산에 포함된 복수의 연산들의 교환 법칙(commutative property) 및 결합 법칙(associative property)을 이용하여 상기 제2 암호문을 인코딩함으로써 부트스트래핑(bootstrapping)을 수행하는 프로세서를 포함하는 암호화 장치
|
12 |
12
제11항에 있어서,상기 프로세서는,상기 제1 모듈러스에 미리 결정된 수를 곱한 값이 상기 제2 모듈러스가 되도록 상기 제1 암호문에 모듈러스 레이징을 수행함으로써 상기 제2 암호문을 생성하는 암호화 장치
|
13 |
13
제11항에 있어서,상기 프로세서는,상기 제2 암호문에 치환(permutation) 연산을 수행하고,상기 치환 연산의 결과에 기초하여 키 스위칭(key switching) 연산을 수행함으로써 상기 부트스트래핑을 수행하는암호화 장치
|
14 |
14
제13항에 있어서,상기 프로세서는,상기 치환 연산에 기초한 리스케일링 연산을 수행하고,상기 리스케일링 연산의 결과에 분해(decompose) 연산을 수행하고,상기 분해 연산의 결과에 곱셈합(sum of multiplication)을 수행하는암호화 장치
|
15 |
15
제13항에 있어서,상기 프로세서는,상기 치환 연산의 결과와 평문과의 곱셈을 수행하고,상기 곱셈의 결과를 리스케일링(rescaling)하는암호화 장치
|
16 |
16
제15항에 있어서,상기 프로세서는,상기 치환 연산의 결과에 상기 평문에 대응하는 행렬의 대각 성분과의 곱셈을 수행하는암호화 장치
|
17 |
17
제14항에 있어서,상기 프로세서는,상기 곱셈합의 결과를 더함으로써 덧셈 결과를 생성하고,상기 덧셈 결과에 대하여 모듈러스 다운 연산을 수행하는암호화 장치
|
18 |
18
제11항에 있어서,상기 프로세서는,상기 제2 암호문의 인코딩 결과에 모듈러스 리덕션(modulus reduction)을 수행함으로써 상기 부트스트래핑을 수행하는암호화 장치
|
19 |
19
제18항에 있어서,상기 프로세서는,상기 모듈러스 리덕션 결과를 디코딩함으로써 상기 부트스트래핑을 수행하는암호화 장치
|