1 |
1
복수의 암호화 숫자들 - 상기 복수의 암호화 숫자들 각각은 복수의 원본 숫자들 각각이 동형 암호화(Homomorphic Encryption)되어 생성된 숫자임 - 로 구성된 배열이 저장되어 있는 암호화 데이터 저장부;쉘 정렬(shell sort)을 위한 미리 설정된 갭(gap) 시퀀스가 저장되어 있는 갭 시퀀스 저장부; 및상기 갭 시퀀스를 구성하는 갭들에 대해 내림차순으로 각 갭을 이용함으로써 상기 배열에 대한 쉘 정렬을 수행하는 쉘 정렬 수행부를 포함하고,상기 쉘 정렬 수행부는상기 갭 시퀀스를 구성하는 갭들 중 n(n은 자연수)번째 갭을 이용하여 상기 배열에 대한 쉘 정렬을 수행할 때, n-1번째 갭을 이용하여 쉘 정렬이 완료된 상기 배열 - n이 1인 경우에는 상기 암호화 데이터 저장부에 최초의 상태로 저장되어 있는 상기 배열이 사용됨 - 로부터 상기 n번째 갭에 따른 부분 리스트들을 생성하는 부분 리스트 생성부;상기 부분 리스트들 각각에 대해, 각 부분 리스트를 구성하는 암호화 숫자들에 대응되는 원본 숫자들의 크기를 기초로 삽입 정렬(insertion sort)을 수행함으로써, 상기 부분 리스트들에 대한 정렬을 수행하는 부분 리스트 정렬부; 및상기 부분 리스트들에 대한 정렬이 완료되면, 정렬이 완료된 상기 부분 리스트들을 결합함으로써, 상기 n번째 갭을 이용하여 쉘 정렬이 완료된 상기 배열을 생성하는 정렬 완료 처리부를 포함하는 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치
|
2 |
2
제1항에 있어서,상기 부분 리스트 정렬부는상기 부분 리스트들 각각에 대한 삽입 정렬의 수행을 위해, 각 부분 리스트에서의 어느 두 암호화 숫자인 제1 암호화 숫자와 제2 암호화 숫자 간의 비교를 통한 삽입 정렬이 수행될 때, 상기 제1 암호화 숫자에 대응되는 제1 원본 숫자와 상기 제2 암호화 숫자에 대응되는 제2 원본 숫자 간의 최대 값을 산출하기 위한 제1 연산식에 대응되는 미리 정해진 제1 동형 연산식에 상기 제1 암호화 숫자와 상기 제2 암호화 숫자를 인가하여 연산을 수행함으로써 제3 암호화 숫자를 산출하고, 상기 제1 원본 숫자와 상기 제2 원본 숫자 간의 최소 값을 산출하기 위한 제2 연산식에 대응되는 미리 정해진 제2 동형 연산식에 상기 제1 암호화 숫자와 상기 제2 암호화 숫자를 인가하여 연산을 수행함으로써 제4 암호화 숫자를 산출한 후, 부분 리스트 상에서 상기 제1 암호화 숫자가 위치하던 자리에 상기 제4 암호화 숫자를 입력하고, 상기 제2 암호화 숫자가 위치하던 자리에 상기 제3 암호화 숫자를 입력하는 방식으로 상기 제1 암호화 숫자와 상기 제2 암호화 숫자 간의 삽입 정렬을 처리함으로써, 상기 부분 리스트들 각각에 대한 삽입 정렬을 수행하는 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치
|
3 |
3
제2항에 있어서,상기 제1 동형 연산식은 하기의 수학식 1로 표현한 연산식이고, 상기 제2 동형 연산식은 하기의 수학식 2로 표현한 연산식인 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치
|
4 |
4
제1항에 있어서,상기 부분 리스트 정렬부는상기 부분 리스트들 각각의 길이를 기초로 삽입 정렬을 수행할 윈도우 길이를 결정하는 윈도우 결정부; 및상기 부분 리스트들 각각에서 삽입 정렬을 수행할 때, 삽입 정렬의 대상이 되는 암호화 숫자를 기준으로 상기 윈도우 길이만큼에 해당되는 부분 배열에 대해서만 삽입 정렬을 수행하는 삽입 정렬 처리부를 포함하는 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치
|
5 |
5
제4항에 있어서,상기 윈도우 결정부는하기의 수학식 3에 기초하여 상기 윈도우 길이를 결정하는 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치
|
6 |
6
복수의 암호화 숫자들 - 상기 복수의 암호화 숫자들 각각은 복수의 원본 숫자들 각각이 동형 암호화(Homomorphic Encryption)되어 생성된 숫자임 - 로 구성된 배열이 저장되어 있는 암호화 데이터 저장부를 유지하는 단계;쉘 정렬(shell sort)을 위한 미리 설정된 갭(gap) 시퀀스가 저장되어 있는 갭 시퀀스 저장부를 유지하는 단계; 및상기 갭 시퀀스를 구성하는 갭들에 대해 내림차순으로 각 갭을 이용함으로써 상기 배열에 대한 쉘 정렬을 수행하는 단계를 포함하고,상기 쉘 정렬을 수행하는 단계는상기 갭 시퀀스를 구성하는 갭들 중 n(n은 자연수)번째 갭을 이용하여 상기 배열에 대한 쉘 정렬을 수행할 때, n-1번째 갭을 이용하여 쉘 정렬이 완료된 상기 배열 - n이 1인 경우에는 상기 암호화 데이터 저장부에 최초의 상태로 저장되어 있는 상기 배열이 사용됨 - 로부터 상기 n번째 갭에 따른 부분 리스트들을 생성하는 단계;상기 부분 리스트들 각각에 대해, 각 부분 리스트를 구성하는 암호화 숫자들에 대응되는 원본 숫자들의 크기를 기초로 삽입 정렬(insertion sort)을 수행함으로써, 상기 부분 리스트들에 대한 정렬을 수행하는 단계; 및상기 부분 리스트들에 대한 정렬이 완료되면, 정렬이 완료된 상기 부분 리스트들을 결합함으로써, 상기 n번째 갭을 이용하여 쉘 정렬이 완료된 상기 배열을 생성하는 단계를 포함하는 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치의 동작 방법
|
7 |
7
제6항에 있어서,상기 부분 리스트들에 대한 정렬을 수행하는 단계는상기 부분 리스트들 각각에 대한 삽입 정렬의 수행을 위해, 각 부분 리스트에서의 어느 두 암호화 숫자인 제1 암호화 숫자와 제2 암호화 숫자 간의 비교를 통한 삽입 정렬이 수행될 때, 상기 제1 암호화 숫자에 대응되는 제1 원본 숫자와 상기 제2 암호화 숫자에 대응되는 제2 원본 숫자 간의 최대 값을 산출하기 위한 제1 연산식에 대응되는 미리 정해진 제1 동형 연산식에 상기 제1 암호화 숫자와 상기 제2 암호화 숫자를 인가하여 연산을 수행함으로써 제3 암호화 숫자를 산출하고, 상기 제1 원본 숫자와 상기 제2 원본 숫자 간의 최소 값을 산출하기 위한 제2 연산식에 대응되는 미리 정해진 제2 동형 연산식에 상기 제1 암호화 숫자와 상기 제2 암호화 숫자를 인가하여 연산을 수행함으로써 제4 암호화 숫자를 산출한 후, 부분 리스트 상에서 상기 제1 암호화 숫자가 위치하던 자리에 상기 제4 암호화 숫자를 입력하고, 상기 제2 암호화 숫자가 위치하던 자리에 상기 제3 암호화 숫자를 입력하는 방식으로 상기 제1 암호화 숫자와 상기 제2 암호화 숫자 간의 삽입 정렬을 처리함으로써, 상기 부분 리스트들 각각에 대한 삽입 정렬을 수행하는 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치의 동작 방법
|
8 |
8
제7항에 있어서,상기 제1 동형 연산식은 하기의 수학식 1로 표현한 연산식이고, 상기 제2 동형 연산식은 하기의 수학식 2로 표현한 연산식인 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치의 동작 방법
|
9 |
9
제6항에 있어서,상기 부분 리스트들에 대한 정렬을 수행하는 단계는상기 부분 리스트들 각각의 길이를 기초로 삽입 정렬을 수행할 윈도우 길이를 결정하는 단계; 및상기 부분 리스트들 각각에서 삽입 정렬을 수행할 때, 삽입 정렬의 대상이 되는 암호화 숫자를 기준으로 상기 윈도우 길이만큼에 해당되는 부분 배열에 대해서만 삽입 정렬을 수행하는 단계를 포함하는 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치의 동작 방법
|
10 |
10
제9항에 있어서,상기 윈도우 길이를 결정하는 단계는하기의 수학식 3에 기초하여 상기 윈도우 길이를 결정하는 쉘 정렬을 이용하여 동형 암호문에 대한 정렬을 수행하는 전자 장치의 동작 방법
|
11 |
11
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
|
12 |
12
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램
|