1 |
1
마스터 키에 기초하여 복수의 사용자 각각에 대한 사용자 비밀 키를 생성하는 단계; 및상기 복수의 사용자 중 제1 사용자에 대한 제1 사용자 비밀 키 및 상기 복수의 사용자 중 제2 사용자에 대한 제2 사용자 비밀 키에 기초하여, 상기 제1 사용자 비밀 키를 이용하여 암호화된 제1 데이터 집합과 상기 제2 사용자 비밀 키를 이용하여 암호화된 제2 데이터 집합에 대한 교집합을 생성하기 위한 함수 키를 생성하는 단계를 포함하고,상기 사용자 비밀키를 생성하는 단계는, 아래의 수학식 1[수학식 1](이때, i는 i∈[n]을 만족하는 사용자 인덱스, n은 상기 복수의 사용자의 총 수, EKi는 상기 사용자 인덱스가 i인 사용자 대한 사용자 비밀키, z는 상기 마스터 키, PRF()는 의사 랜덤 함수(pseudo-random function))을 이용하여 상기 복수의 사용자 각각에 대한 사용자 비밀 키를 생성하는, 방법
|
2 |
2
삭제
|
3 |
3
청구항 1에 있어서,상기 함수 키를 생성하는 단계는, 아래의 수학식 2[수학식 2](이때, SKi,j는 상기 함수 키, 는 위수가 소수 p인 순환군 의 생성원)를 이용하여 상기 함수 키를 생성하는, 방법
|
4 |
4
키 생성 장치로부터 사용자 비밀 키를 획득하는 단계;데이터 집합에 대한 라벨(label) 및 상기 사용자 비밀 키에 기초하여, 상기 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소 및 제2 암호문 요소를 생성하는 단계; 및상기 라벨, 상기 각 원소에 대한 제1 암호문 요소 및 제2 암호문 요소를 포함하는 암호문을 생성하는 단계를 포함하고, 상기 사용자 비밀 키는, 제1 비밀키 요소 및 제2 비밀키 요소를 포함하고,상기 제1 암호문 요소 및 제2 암호문 요소를 생성하는 단계는, 상기 제1 비밀키 요소 및 상기 라벨에 기초하여 상기 각 원소에 대한 제1 암호문 요소를 생성하고, 상기 제2 비밀키 요소 및 상기 라벨에 기초하여 상기 각 원소에 대한 제2 암호문 요소를 생성하는, 방법
|
5 |
5
청구항 4에 있어서,상기 제1 암호문 요소 및 제2 암호문 요소를 생성하는 단계는, 상기 제1 비밀키 요소 및 상기 라벨에 기초하여 상기 각 원소에 대한 제1 암호문 요소를 생성하는 단계;상기 제2 비밀키 요소 및 상기 라벨에 기초하여 상기 각 원소에 대한 대칭 키를 생성하는 단계; 및상기 각 원소에 대한 대칭 키를 암호화 키로 이용한 대칭 키 암호 알고리즘을 이용하여 상기 각 원소에 대한 제2 암호문 요소를 생성하는 단계를 포함하는, 방법
|
6 |
6
청구항 5에 있어서,상기 제1 암호문 요소를 생성하는 단계는, 아래의 수학식 1[수학식 1](이때, i는 i∈[n]을 만족하는 사용자 인덱스, n은 암호화에 참여할 복수의 사용자의 총 수, 는 상기 데이터 집합에 포함된 ki번째 원소 에 대한 제1 암호문 요소, T는 상기 라벨, αi는 상기 제1 비밀키 요소, H1()은 H1:{0,1}*→G를 만족하는 제1 해시 함수, G는 위수가 소수 p인 순환군)을 이용하여 상기 각 원소에 대한 제1 암호문 요소를 생성하고,상기 대칭 키를 생성하는 단계는, 아래의 수학식 2[수학식 2](이때, 는 상기 ki번째 원소 에 대한 대칭 키, e는 를 만족하는 겹선형 함수(bilinear map), 및 는 위수가 소수 p인 순환군, 는 의 생성원, βi는 상기 제2 비밀키 요소, H2()는 H2:GT→K를 만족하는 제2 해시 함수, K는 상기 대칭 키 암호 알고리즘의 키 공간(key space))를 이용하여 상기 각 원소에 대한 대칭 키를 생성하고,상기 제2 암호문 요소를 생성하는 단계는, 아래의 수학식 3[수학식 3](이때, 는 상기 ki번째 원소 에 대한 제2 암호문 요소, Encrypt()는 대칭 키 암호 알고리즘을 이용한 암호화)을 이용하여 상기 각 원소에 대한 제2 암호문 요소를 생성하는, 방법
|
7 |
7
청구항 6에 있어서,상기 암호문은 아래의 수학식 4[수학식 4](이때, ℓi는 상기 데이터 집합에 포함된 원소의 개수)를 만족하는, 방법
|
8 |
8
제1 암호화 장치로부터 제1 사용자에 대한 제1 사용자 비밀 키를 이용하여 암호화된 제1 데이터 집합에 대한 제1 암호문을 획득하고, 제2 암호화 장치로부터 제2 사용자에 대한 제2 사용자 비밀 키를 이용하여 암호화된 제2 데이터 집합에 대한 제2 암호문을 획득하는 단계;키 생성 장치로부터 상기 제1 사용자 비밀 키 및 상기 제2 사용자 비밀 키에 기초하여 생성된 함수 키를 획득하는 단계; 및상기 제1 암호문, 상기 제2 암호문 및 상기 함수 키를 이용하여 상기 제1 데이터 집합과 상기 제2 데이터 집합에 대한 교집합을 생성하는 단계를 포함하고, 상기 제1 암호문은, 상기 제1 데이터 집합에 대한 라벨, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소 및 상기 제1 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소를 포함하고, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소는, 상기 제1 사용자 비밀키에 포함된 제1 비밀키 요소 및 상기 제1 데이터 집합에 대한 라벨에 기초하여 생성되고, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소는, 상기 제1 사용자 비밀키에 포함된 제2 비밀키 요소 및 상기 제1 데이터 집합에 대한 라벨에 기초하여 생성되고, 상기 제2 암호문은, 상기 제2 데이터 집합에 대한 라벨, 상기 제2 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소 및 상기 제2 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소를 포함하고, 상기 제2 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소는, 상기 제2 사용자 비밀키에 포함된 제1 비밀키 요소 및 상기 제2 데이터 집합에 대한 라벨에 기초하여 생성되고, 상기 제2 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소는, 상기 제2 사용자 비밀키에 포함된 제2 비밀키 요소 및 상기 제2 데이터 집합에 대한 라벨에 기초하여 생성되는, 방법
|
9 |
9
삭제
|
10 |
10
청구항 8에 있어서,상기 교집합을 생성하는 단계는, 상기 제1 데이터 집합에 대한 라벨과 상기 제2 데이터 집합에 대한 라벨이 동일한지 여부를 판단하는 단계;상기 제1 데이터 집합에 대한 라벨과 상기 제2 데이터 집합에 대한 라벨이 동일한 경우, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소, 상기 제2 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소 및 상기 함수 키에 기초하여 복수의 대칭 키를 생성하는 단계;상기 복수의 대칭 키 각각을 복호화 키로 이용한 대칭 키 암호 알고리즘을 이용하여, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소를 복호화하는 단계; 및상기 복호화된 제2 암호문 요소 각각과 상기 제1 데이터 집합에 대한 라벨에 기초하여 상기 교집합을 생성하는 단계를 포함하는 방법
|
11 |
11
청구항 10에 있어서,상기 제1 암호문은, 아래의 수학식 1[수학식 1](이때, i는 i∈[n]을 만족하는 상기 제1 사용자에 대한 사용자 인덱스, T는 상기 제1 데이터 집합에 대한 라벨, CTi,T는 상기 제1 암호문, 는 상기 제1 데이터 집합에 포함된 ki번째 원소 에 대한 제1 암호문 요소, αi는 상기 제1 사용자 비밀 키에 포함된 제1 비밀 키 요소, H1()은 H1:{0,1}*→G를 만족하는 제1 해시 함수, G는 위수가 소수 p인 순환군, 는 상기 ki번째 원소 에 대한 제2 암호문 요소, 는 상기 ki번째 원소 에 대한 대칭 키, Encrypt()는 대칭 키 암호 알고리즘을 이용한 암호화, ℓi는 상기 제1 데이터 집합에 포함된 원소의 개수)을 만족하고, 상기 제2 암호문은 아래의 수학식 2[수학식 2](이때, j는 j∈[n] 및 j≠i를 만족하는 상기 제2 사용자에 대한 사용자 인덱스, T'는 상기 제2 데이터 집합에 대한 라벨, CTj,T'는 상기 제2 암호문, 는 상기 제2 데이터 집합에 포함된 kj번째 원소 에 대한 제1 암호문 요소, αj는 상기 제2 사용자 비밀 키에 포함된 제1 비밀 키 요소, 는 상기 kj번째 원소 에 대한 제2 암호문 요소, 는 상기 kj번째 원소 에 대한 대칭 키, ℓj는 상기 제2 데이터 집합에 포함된 원소의 개수)를 만족하고,상기 함수 키는, 아래의 수학식 3[수학식 3](이때, SKi,j는 상기 함수 키, 는 위수가 소수 p인 순환군 의 생성원, βi는 상기 제1 사용자 비밀 키에 포함된 제2 비밀 키 요소)을 만족하는, 방법
|
12 |
12
청구항 11에 있어서,상기 및 는, 각각 아래의 수학식 4 및 수학식 5[수학식 4][수학식 5](이때, e는 를 만족하는 겹선형 함수(bilinear map), 는 위수가 소수 p인 순환군, 는 의 생성원, βj는 상기 제2 사용자 비밀 키에 포함된 제2 비밀키 요소, H2()는 H2:GT→K를 만족하는 제2 해시 함수, K는 상기 대칭 키 암호 알고리즘의 키 공간(key space))를 만족하고,상기 복수의 대칭 키를 생성하는 단계는, 아래의 수학식 6[수학식 6](이때, 는 상기 ki 및 상기 kj의 조합 (ki, kj)에 대응되는 대칭 키)을 이용하여 상기 복수의 대칭 키를 생성하는, 방법
|
13 |
13
청구항 12에 있어서,상기 제2 암호문 요소를 복호화하는 단계는, 아래의 수학식 7[수학식 7](이때, Decrypt()는 상기 대칭 키 암호 알고리즘을 이용한 복호화)을 이용하여 상기 제1 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소를 복호화하고,상기 교집합을 생성하는 단계는,를 만족하는 경우, 상기 를 상기 교집합에 포함시키는, 방법
|
14 |
14
하나 이상의 프로세서;메모리; 및하나 이상의 프로그램을 포함하는 장치로서,상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,상기 프로그램은,마스터 키에 기초하여 복수의 사용자 각각에 대한 사용자 비밀 키를 생성하는 단계; 및상기 복수의 사용자 중 제1 사용자에 대한 제1 사용자 비밀 키 및 상기 복수의 사용자 중 제2 사용자에 대한 제2 사용자 비밀 키에 기초하여, 상기 제1 사용자 비밀 키를 이용하여 암호화된 제1 데이터 집합과 상기 제2 사용자 비밀 키를 이용하여 암호화된 제2 데이터 집합에 대한 교집합을 생성하기 위한 함수 키를 생성하는 단계를 실행하기 위한 명령어들을 포함하고, 상기 사용자 비밀키를 생성하는 단계는, 아래의 수학식 1[수학식 1](이때, i는 i∈[n]을 만족하는 사용자 인덱스, n은 상기 복수의 사용자의 총 수, EKi는 상기 사용자 인덱스가 i인 사용자 대한 사용자 비밀키, z는 상기 마스터 키, PRF()는 의사 랜덤 함수(pseudo-random function))을 이용하여 상기 복수의 사용자 각각에 대한 사용자 비밀 키를 생성하는, 장치
|
15 |
15
삭제
|
16 |
16
청구항 14에 있어서,상기 함수 키를 생성하는 단계는, 아래의 수학식 2[수학식 2](이때, SKi,j는 상기 함수 키, 는 위수가 소수 p인 순환군 의 생성원)를 이용하여 상기 함수 키를 생성하는, 장치
|
17 |
17
하나 이상의 프로세서;메모리; 및하나 이상의 프로그램을 포함하는 장치로서,상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,상기 프로그램은,키 생성 장치로부터 사용자 비밀 키를 획득하는 단계;데이터 집합에 대한 라벨(label) 및 상기 사용자 비밀 키에 기초하여, 상기 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소 및 제2 암호문 요소를 생성하는 단계; 및상기 라벨, 상기 각 원소에 대한 제1 암호문 요소 및 제2 암호문 요소를 포함하는 암호문을 생성하는 단계를 실행하기 위한 명령어들을 포함하고, 상기 사용자 비밀 키는, 제1 비밀 키 요소 및 제2 비밀 키 요소를 포함하고,상기 제1 암호문 요소 및 제2 암호문 요소를 생성하는 단계는, 상기 제1 비밀키 요소 및 상기 라벨에 기초하여 상기 각 원소에 대한 제1 암호문 요소를 생성하고, 상기 제2 비밀키 요소 및 상기 라벨에 기초하여 상기 각 원소에 대한 제2 암호문 요소를 생성하는, 장치
|
18 |
18
청구항 17에 있어서,상기 제1 암호문 요소 및 제2 암호문 요소를 생성하는 단계는, 상기 제1 비밀키 요소 및 상기 라벨에 기초하여 상기 각 원소에 대한 제1 암호문 요소를 생성하는 단계;상기 제2 비밀키 요소 및 상기 라벨에 기초하여 상기 각 원소에 대한 대칭 키를 생성하는 단계; 및상기 각 원소에 대한 대칭 키를 암호화 키로 이용한 대칭 키 암호 알고리즘을 이용하여 상기 각 원소에 대한 제2 암호문 요소를 생성하는 단계를 포함하는, 장치
|
19 |
19
청구항 18에 있어서,상기 제1 암호문 요소를 생성하는 단계는, 아래의 수학식 1[수학식 1](이때, i는 i∈[n]을 만족하는 사용자 인덱스, n은 암호화에 참여할 복수의 사용자의 총 수, 는 상기 데이터 집합에 포함된 ki번째 원소 에 대한 제1 암호문 요소, T는 상기 라벨, αi는 상기 제1 비밀키 요소, H1()은 H1:{0,1}*→G를 만족하는 제1 해시 함수, G는 위수가 소수 p인 순환군)을 이용하여 상기 각 원소에 대한 제1 암호문 요소를 생성하고,상기 대칭 키를 생성하는 단계는, 아래의 수학식 2[수학식 2](이때, 는 상기 ki번째 원소 에 대한 대칭 키, e는 를 만족하는 겹선형 함수(bilinear map), 및 는 위수가 소수 p인 순환군, 는 의 생성원, βi는 상기 제2 비밀키 요소, H2()는 H2:GT→K를 만족하는 제2 해시 함수, K는 상기 대칭 키 암호 알고리즘의 키 공간(key space))를 이용하여 상기 각 원소에 대한 대칭 키를 생성하고,상기 제2 암호문 요소를 생성하는 단계는, 아래의 수학식 3[수학식 3](이때, 는 상기 ki번째 원소 에 대한 제2 암호문 요소, Encrypt()는 대칭 키 암호 알고리즘을 이용한 암호화)을 이용하여 상기 각 원소에 대한 제2 암호문 요소를 생성하는, 장치
|
20 |
20
청구항 19에 있어서,상기 암호문은 아래의 수학식 4[수학식 4](이때, ℓi는 상기 데이터 집합에 포함된 원소의 개수)를 만족하는, 장치
|
21 |
21
하나 이상의 프로세서;메모리; 및하나 이상의 프로그램을 포함하는 장치로서,상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,상기 프로그램은,제1 암호화 장치로부터 제1 사용자에 대한 제1 사용자 비밀 키를 이용하여 암호화된 제1 데이터 집합에 대한 제1 암호문을 획득하고, 제2 암호화 장치로부터 제2 사용자에 대한 제2 사용자 비밀 키를 이용하여 암호화된 제2 데이터 집합에 대한 제2 암호문을 획득하는 단계;키 생성 장치로부터 상기 제1 사용자 비밀 키 및 상기 제2 사용자 비밀 키에 기초하여 생성된 함수 키를 획득하는 단계; 및상기 제1 암호문, 상기 제2 암호문 및 상기 함수 키를 이용하여 상기 제1 데이터 집합과 상기 제2 데이터 집합에 대한 교집합을 생성하는 단계를 실행하기 위한 명령어들을 포함하고, 상기 제1 암호문은, 상기 제1 데이터 집합에 대한 라벨, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소 및 상기 제1 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소를 포함하고, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소는, 상기 제1 사용자 비밀키에 포함된 제1 비밀키 요소 및 상기 제1 데이터 집합에 대한 라벨에 기초하여 생성되고, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소는, 상기 제1 사용자 비밀키에 포함된 제2 비밀키 요소 및 상기 제1 데이터 집합에 대한 라벨에 기초하여 생성되고, 상기 제2 암호문은, 상기 제2 데이터 집합에 대한 라벨, 상기 제2 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소 및 상기 제2 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소를 포함하고, 상기 제2 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소는, 상기 제2 사용자 비밀키에 포함된 제1 비밀키 요소 및 상기 제2 데이터 집합에 대한 라벨에 기초하여 생성되고, 상기 제2 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소는, 상기 제2 사용자 비밀키에 포함된 제2 비밀키 요소 및 상기 제2 데이터 집합에 대한 라벨에 기초하여 생성되는, 장치
|
22 |
22
삭제
|
23 |
23
청구항 21에 있어서,상기 교집합을 생성하는 단계는, 상기 제1 데이터 집합에 대한 라벨과 상기 제2 데이터 집합에 대한 라벨이 동일한지 여부를 판단하는 단계;상기 제1 데이터 집합에 대한 라벨과 상기 제2 데이터 집합에 대한 라벨이 동일한 경우, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소, 상기 제2 데이터 집합에 포함된 각 원소에 대한 제1 암호문 요소 및 상기 함수 키에 기초하여 복수의 대칭 키를 생성하는 단계;상기 복수의 대칭 키 각각을 복호화 키로 이용한 대칭 키 암호 알고리즘을 이용하여, 상기 제1 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소를 복호화하는 단계; 및상기 복호화된 제2 암호문 요소 각각과 상기 제1 데이터 집합에 대한 라벨에 기초하여 상기 교집합을 생성하는 단계를 포함하는 장치
|
24 |
24
청구항 23에 있어서,상기 제1 암호문은, 아래의 수학식 1[수학식 1](이때, i는 i∈[n]을 만족하는 상기 제1 사용자에 대한 사용자 인덱스, T는 상기 제1 데이터 집합에 대한 라벨, CTi,T는 상기 제1 암호문, 는 상기 제1 데이터 집합에 포함된 ki번째 원소 에 대한 제1 암호문 요소, αi는 상기 제1 사용자 비밀 키에 포함된 제1 비밀 키 요소, H1()은 H1:{0,1}*→G를 만족하는 제1 해시 함수, G는 위수가 소수 p인 순환군, 는 상기 ki번째 원소 에 대한 제2 암호문 요소, 는 상기 ki번째 원소 에 대한 대칭 키, Encrypt()는 대칭 키 암호 알고리즘을 이용한 암호화, ℓi는 상기 제1 데이터 집합에 포함된 원소의 개수)을 만족하고, 상기 제2 암호문은 아래의 수학식 2[수학식 2](이때, j는 j∈[n] 및 j≠i를 만족하는 상기 제2 사용자에 대한 사용자 인덱스, T'는 상기 제2 데이터 집합에 대한 라벨, CTj,T'는 상기 제2 암호문, 는 상기 제2 데이터 집합에 포함된 kj번째 원소 에 대한 제1 암호문 요소, αj는 상기 제2 사용자 비밀 키에 포함된 제1 비밀 키 요소, 는 상기 kj번째 원소 에 대한 제2 암호문 요소, 는 상기 kj번째 원소 에 대한 대칭 키, ℓj는 상기 제2 데이터 집합에 포함된 원소의 개수)를 만족하고,상기 함수 키는, 아래의 수학식 3[수학식 3](이때, SKi,j는 상기 함수 키, 는 위수가 소수 p인 순환군 의 생성원, βi는 상기 제1 사용자 비밀 키에 포함된 제2 비밀 키 요소)을 만족하는, 장치
|
25 |
25
청구항 24에 있어서,상기 및 상기 는, 각각 아래의 수학식 4 및 수학식 5[수학식 4][수학식 5](이때, e는 를 만족하는 겹선형 함수(bilinear map), 는 위수가 소수 p인 순환군, 는 의 생성원, βj는 상기 제2 사용자 비밀 키에 포함된 제2 비밀키 요소, H2()는 H2:GT→K를 만족하는 제2 해시 함수, K는 상기 대칭 키 암호 알고리즘의 키 공간(key space))를 만족하고,상기 복수의 대칭 키를 생성하는 단계는, 아래의 수학식 6[수학식 6](이때, 는 상기 ki 및 상기 kj의 조합 (ki, kj)에 대응되는 대칭 키)을 이용하여 상기 복수의 대칭 키를 생성하는, 장치
|
26 |
26
청구항 25에 있어서,상기 제2 암호문 요소를 복호화하는 단계는, 아래의 수학식 7[수학식 7](이때, Decrypt()는 상기 대칭 키 암호 알고리즘을 이용한 복호화)을 이용하여 상기 제1 데이터 집합에 포함된 각 원소에 대한 제2 암호문 요소를 복호화하고,상기 교집합을 생성하는 단계는,를 만족하는 경우, 상기 를 상기 교집합에 포함시키는, 장치
|