1 |
1
정수 기반의 제1 동형 암호 알고리즘을 이용하여, 정수 벡터인 비밀키에 대한 암호문을 생성하는 단계; 키 스트림 생성기를 이용하여 논스(nonce) 및 상기 비밀키로부터 상기 정수 벡터인 키 스트림(key stream)을 생성하는 단계;상기 제1 동형 암호 알고리즘의 메시지 인코딩 함수를 이용하여 상기 키 스트림을 인코딩하는 단계;실수 기반의 제2 동형 암호 알고리즘의 메시지 인코딩 함수를 이용하여, 실수 벡터인 메시지를 인코딩하는 단계;상기 키 스트림에 대한 인코딩 결과 및 상기 메시지에 대한 인코딩 결과를 이용하여 상기 메시지에 대한 암호문을 생성하는 단계; 및상기 논스, 상기 비밀키에 대한 암호문 및 상기 메시지에 대한 암호문을 암호문 변환 장치로 전송하는 단계를 포함하는 암호화 방법
|
2 |
2
청구항 1에 있어서,상기 제1 동형 암호 알고리즘은, 소수(prime number) t를 법(modulus)으로 하는 모듈로 연산(modulo operation)을 지원하는 동형 암호 알고리즘인 암호화 방법
|
3 |
3
청구항 2에 있어서,상기 제1 동형 암호 알고리즘의 메시지 공간은, 상기 소수 t를 법으로 하는 유한체(finite field) 상의 벡터 공간이고, 상기 논스, 상기 비밀키, 상기 키 스트림 및 상기 메시지에 대한 암호문은 각각 상기 벡터 공간의 원소인 암호화 방법
|
4 |
4
청구항 1에 있어서,상기 키 스트림 생성기는, 상기 논스 및 카운터에 기초하여 기 설정된 길이의 랜덤 벡터를 생성하는 생성 함수 및 상기 랜덤 수열에 기초하여 상기 비밀키에 대해 순차적으로 적용되는 r(이때, r≥1) 개의 라운드 함수를 포함하는 암호화 방법
|
5 |
5
청구항 1에 있어서,상기 제2 동형 암호 알고리즘의 메시지 공간은, 실수 공간 또는 복소수 공간이고, 상기 메시지는, 상기 실수 공간 또는 상기 복소수 공간의 원소인 암호화 방법
|
6 |
6
청구항 1에 있어서,상기 암호문을 생성하는 단계는, 상기 키 스트림에 대한 인코딩 결과 및 상기 메시지에 대한 인코딩 결과에 대해 소수 t를 법으로 하는 모듈로 덧셈(modulo addition)을 수행하여 상기 메시지에 대한 암호문을 생성하는 암호화 방법
|
7 |
7
암호화 장치로부터, 논스(nonce), 정수 벡터인 비밀키에 대한 암호문 및 실수 벡터인 메시지에 대한 암호문을 수신하는 단계;상기 논스 및 상기 비밀키에 대한 암호문에 기초하여, 상기 암호화 장치가 상기 메시지에 대한 암호문의 생성을 위해 이용한 키 스트림(key stream)에 대한 암호문을 생성하는 단계; 및상기 키 스트림에 대한 암호문 및 상기 메시지에 대한 암호문을 이용하여 상기 메시지에 대한 암호문을 변환하는 단계를 포함하고,상기 비밀키에 대한 암호문은, 정수 기반의 제1 동형 암호 알고리즘을 이용하여 암호화된 암호문이고,상기 메시지에 대한 암호문은, 상기 제1 동형 암호 알고리즘의 메시지 인코딩 함수를 이용하여 상기 키 스트림을 인코딩한 결과 및 실수 기반의 제2 동형 암호 알고리즘의 메시지 인코딩 함수를 이용하여 상기 메시지를 인코딩한 결과를 이용하여 생성된 암호문이며,상기 키 스트림은, 키 스트림 생성기를 이용하여 상기 논스 및 상기 비밀키로부터 생성된 정수 벡터이고,상기 키 스트림에 대한 암호문을 생성하는 단계는, 상기 키 스트림 생성기에 대한 상기 제1 동형 암호 알고리즘 기반의 동형 연산을 이용하여 상기 키 스트림에 대한 암호문을 생성하고,상기 변환하는 단계는, 상기 메시지에 대한 암호문을 상기 제2 동형 암호 알고리즘 기반의 암호문으로 변환하는 암호문 변환 방법
|
8 |
8
청구항 7에 있어서,상기 제1 동형 암호 알고리즘은, 소수(prime number) t를 법(modulus)으로 하는 모듈로 연산(modulo operation)을 지원하는 동형 암호 알고리즘인 암호문 변환 방법
|
9 |
9
청구항 8에 있어서,상기 제1 동형 암호 알고리즘의 메시지 공간은, 상기 소수 t를 법으로 하는 유한체(finite field) 상의 벡터 공간이고, 상기 논스, 상기 비밀키, 상기 키 스트림 및 상기 메시지에 대한 암호문은 각각 상기 벡터 공간의 원소인 암호문 변환 방법
|
10 |
10
청구항 7에 있어서,상기 키 스트림 생성기는, 상기 논스 및 카운터에 기초하여 기 설정된 길이의 랜덤 벡터를 생성하는 생성 함수 및 상기 랜덤 수열에 기초하여 상기 비밀키에 대해 순차적으로 적용되는 r(이때, r≥1) 개의 라운드 함수를 포함하는 암호문 변환 방법
|
11 |
11
청구항 7에 있어서,상기 제2 동형 암호 알고리즘의 메시지 공간은, 실수 공간 또는 복소수 공간이고, 상기 메시지는, 상기 실수 공간 또는 상기 복소수 공간의 원소인 암호문 변환 방법
|
12 |
12
청구항 7에 있어서,상기 메시지에 대한 암호문은, 상기 키 스트림을 인코딩한 결과 및 상기 메시지를 인코딩한 결과에 대해 소수 t를 법으로 하는 모듈로 덧셈(modulo addition)을 수행하여 생성된 암호문이고, 상기 변환하는 단계는, 상기 키 스트림에 대한 암호문 및 상기 메시지에 대한 암호문에 대해 상기 제2 동형 암호 알고리즘에 설정된 정수 q를 법으로 하는 모듈로 뺄셈을 수행하여 상기 메시지에 대한 암호문을 상기 제2 동형 암호 알고리즘 기반의 암호문으로 변환하는 암호문 변환 방법
|
13 |
13
하나 이상의 명령어를 저장하는 메모리; 및상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,상기 하나 이상의 프로세서는,정수 기반의 제1 동형 암호 알고리즘을 이용하여, 정수 벡터인 비밀키에 대한 암호문을 생성하는 단계; 키 스트림 생성기를 이용하여 논스(nonce) 및 상기 비밀키로부터 상기 정수 벡터인 키 스트림(key stream)을 생성하는 단계;상기 제1 동형 암호 알고리즘의 메시지 인코딩 함수를 이용하여 상기 키 스트림을 인코딩하는 단계;실수 기반의 제2 동형 암호 알고리즘의 메시지 인코딩 함수를 이용하여, 실수 벡터인 메시지를 인코딩하는 단계;상기 키 스트림에 대한 인코딩 결과 및 상기 메시지에 대한 인코딩 결과를 이용하여 상기 메시지에 대한 암호문을 생성하는 단계; 및상기 논스, 상기 비밀키에 대한 암호문 및 상기 메시지에 대한 암호문을 암호문 변환 장치로 전송하는 단계를 수행하는 암호화 장치
|
14 |
14
청구항 13에 있어서,상기 제1 동형 암호 알고리즘은, 소수(prime number) t를 법(modulus)으로 하는 모듈로 연산(modulo operation)을 지원하는 동형 암호 알고리즘인 암호화 장치
|
15 |
15
청구항 14에 있어서,상기 제1 동형 암호 알고리즘의 메시지 공간은, 상기 소수 t를 법으로 하는 유한체(finite field) 상의 벡터 공간이고, 상기 논스, 상기 비밀키, 상기 키 스트림 및 상기 메시지에 대한 암호문은 각각 상기 벡터 공간의 원소인 암호화 장치
|
16 |
16
청구항 13에 있어서,상기 키 스트림 생성기는, 상기 논스 및 카운터에 기초하여 기 설정된 길이의 랜덤 벡터를 생성하는 생성 함수 및 상기 랜덤 수열에 기초하여 상기 비밀키에 대해 순차적으로 적용되는 r(이때, r≥1) 개의 라운드 함수를 포함하는 암호화 장치
|
17 |
17
청구항 13에 있어서,상기 제2 동형 암호 알고리즘의 메시지 공간은, 실수 공간 또는 복소수 공간이고, 상기 메시지는, 상기 실수 공간 또는 상기 복소수 공간의 원소인 암호화 장치
|
18 |
18
청구항 13에 있어서,상기 암호문을 생성하는 단계는, 상기 키 스트림에 대한 인코딩 결과 및 상기 메시지에 대한 인코딩 결과에 대해 소수 t를 법으로 하는 모듈로 덧셈(modulo addition)을 수행하여 상기 메시지에 대한 암호문을 생성하는 암호화 장치
|
19 |
19
하나 이상의 명령어를 저장하는 메모리; 및상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,상기 하나 이상의 프로세서는,암호화 장치로부터, 논스(nonce), 정수 벡터인 비밀키에 대한 암호문 및 실수 벡터인 메시지에 대한 암호문을 수신하는 단계;상기 논스 및 상기 비밀키에 대한 암호문에 기초하여, 상기 암호화 장치가 상기 메시지에 대한 암호문의 생성을 위해 이용한 키 스트림(key stream)에 대한 암호문을 생성하는 단계; 및상기 키 스트림에 대한 암호문 및 상기 메시지에 대한 암호문을 이용하여 상기 메시지에 대한 암호문을 변환하는 단계를 수행하고,상기 비밀키에 대한 암호문은, 정수 기반의 제1 동형 암호 알고리즘을 이용하여 암호화된 암호문이고,상기 메시지에 대한 암호문은, 상기 제1 동형 암호 알고리즘의 메시지 인코딩 함수를 이용하여 상기 키 스트림을 인코딩한 결과 및 실수 기반의 제2 동형 암호 알고리즘의 메시지 인코딩 함수를 이용하여 상기 메시지를 인코딩한 결과를 이용하여 생성된 암호문이며,상기 키 스트림은, 키 스트림 생성기를 이용하여 상기 논스 및 상기 비밀키로부터 생성된 정수 벡터이고,상기 키 스트림에 대한 암호문을 생성하는 단계는, 상기 키 스트림 생성기에 대한 상기 제1 동형 암호 알고리즘 기반의 동형 연산을 이용하여 상기 키 스트림에 대한 암호문을 생성하고,상기 변환하는 단계는, 상기 메시지에 대한 암호문을 상기 제2 동형 암호 알고리즘 기반의 암호문으로 변환하는 암호문 변환 장치
|
20 |
20
청구항 19에 있어서,상기 제1 동형 암호 알고리즘은, 소수(prime number) t를 법(modulus)으로 하는 모듈로 연산(modulo operation)을 지원하는 동형 암호 알고리즘인 암호문 변환 장치
|
21 |
21
청구항 20에 있어서,상기 제1 동형 암호 알고리즘의 메시지 공간은, 상기 소수 t를 법으로 하는 유한체(finite field) 상의 벡터 공간이고, 상기 논스, 상기 비밀키, 상기 키 스트림 및 상기 메시지에 대한 암호문은 각각 상기 벡터 공간의 원소인 암호문 변환 장치
|
22 |
22
청구항 19에 있어서,상기 키 스트림 생성기는, 상기 논스 및 카운터에 기초하여 기 설정된 길이의 랜덤 벡터를 생성하는 생성 함수 및 상기 랜덤 수열에 기초하여 상기 비밀키에 대해 순차적으로 적용되는 r(이때, r≥1) 개의 라운드 함수를 포함하는 암호문 변환 장치
|
23 |
23
청구항 19에 있어서,상기 제2 동형 암호 알고리즘의 메시지 공간은, 실수 공간 또는 복소수 공간이고, 상기 메시지는, 상기 실수 공간 또는 상기 복소수 공간의 원소인 암호문 변환 장치
|
24 |
24
청구항 19에 있어서,상기 메시지에 대한 암호문은, 상기 키 스트림을 인코딩한 결과 및 상기 메시지를 인코딩한 결과에 대해 소수 t를 법으로 하는 모듈로 덧셈(modulo addition)을 수행하여 생성된 암호문이고, 상기 변환하는 단계는, 상기 키 스트림에 대한 암호문 및 상기 메시지에 대한 암호문에 대해 상기 제2 동형 암호 알고리즘에 설정된 정수 q를 법으로 하는 모듈로 뺄셈을 수행하여 상기 메시지에 대한 암호문을 상기 제2 동형 암호 알고리즘 기반의 암호문으로 변환하는 암호문 변환 장치
|