1 |
1
동적 언어로 기술된, 주석(Annotation)을 포함하는 소스 코드를 입력 받는 코드 입력 모듈;상기 소스 코드를 파싱하고, 상기 파싱된 소스 코드와 대응되되 상이한 형식에 따라 기술된 제1 중간 코드를 생성하는 전단부 컴파일 모듈; 및상기 제1 중간 코드를 파싱하고, 상기 파싱된 제1 중간 코드에 포함된 적어도 일부 연산을 동형 암호 연산으로 대체하여 제2 중간 코드를 생성하는 동형 암호 컴파일 모듈을 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 장치
|
2 |
2
청구항 1항에 있어서,상기 코드 입력 모듈은,함수 또는 연산자를 래핑(Wrapping)한 하나 이상의 래퍼 함수에 주석이 부가된 소스 코드를 입력 받는, 동형 암호 활용을 위한 소스 코드 컴파일 장치
|
3 |
3
청구항 1항에 있어서,상기 제1 중간 코드는,상기 소스 코드에 포함된 함수, 연산자 및 주석에 각각 대응되는 함수, 연산자 및 주석을 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 장치
|
4 |
4
청구항 1항에 있어서,상기 제1 중간 코드는,상기 소스 코드에 포함된 데이터 중 동형 암호화될 데이터와 나머지 데이터를 구별하는 기 설정된 기호를 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 장치
|
5 |
5
청구항 1항에 있어서,상기 제2 중간 코드는,상기 제1 중간 코드에 포함된 연산 중 동형 암호화될 입력 값을 갖는 연산을 대체하는 하나 이상의 동형 암호 연산을 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 장치
|
6 |
6
청구항 5항에 있어서,상기 하나 이상의 동형 암호 연산은,입력되는 매개 변수가 암호화된 값인지 여부에 기초하여 선언되는 동형 암호 연산자의 종류를 달리하는, 동형 암호 활용을 위한 소스 코드 컴파일 장치
|
7 |
7
청구항 1항에 있어서,상기 파싱된 제1 중간 코드에 포함된 데이터 중 동형 암호화되지 않을 데이터 사이의 연산을 최적화하여 제3 중간 코드를 생성하는 연산 최적화 컴파일 모듈을 더 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 장치
|
8 |
8
청구항 7항에 있어서,상기 제2 중간 코드 및 상기 제3 중간 코드를 저레벨 가상 머신(LLVM; Low-Level Virtual Machine)에 기초하여 컴파일함으로써 LLVM 중간 코드를 생성하는 LLVM 컴파일 모듈을 더 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 장치
|
9 |
9
청구항 8항에 있어서,상기 LLVM 중간 코드를 기 정의된 동형 암호 라이브러리와 연동하여 동형 암호화된 입출력을 갖는 실행 프로그램을 생성하는 실행 프로그램 생성 모듈을 더 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 장치
|
10 |
10
하나 이상의 프로세서들, 및상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,동적 언어로 기술된, 주석(Annotation)을 포함하는 소스 코드를 입력 받는 단계;상기 소스 코드를 파싱하는 단계;상기 파싱된 소스 코드와 대응되되 상이한 형식에 따라 기술된 제1 중간 코드를 생성하는 단계;상기 제1 중간 코드를 파싱하는 단계; 및상기 파싱된 제1 중간 코드에 포함된 적어도 일부 연산을 동형 암호 연산으로 대체하여 제2 중간 코드를 생성하는 단계를 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 방법
|
11 |
11
청구항 10항에 있어서,상기 소스 코드를 입력 받는 단계는,함수 또는 연산자를 래핑(Wrapping)한 하나 이상의 래퍼 함수에 주석이 부가된 소스 코드를 입력 받는, 동형 암호 활용을 위한 소스 코드 컴파일 방법
|
12 |
12
청구항 10항에 있어서,상기 제1 중간 코드는,상기 소스 코드에 포함된 함수, 연산자 및 주석에 각각 대응되는 함수, 연산자 및 주석을 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 방법
|
13 |
13
청구항 10항에 있어서,상기 제1 중간 코드는,상기 소스 코드에 포함된 데이터 중 동형 암호화될 데이터와 나머지 데이터를 구별하는 기 설정된 기호를 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 방법
|
14 |
14
청구항 10항에 있어서,상기 제2 중간 코드는,상기 제1 중간 코드에 포함된 연산 중 동형 암호화될 입력 값을 갖는 연산을 대체하는 하나 이상의 동형 암호 연산을 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 방법
|
15 |
15
청구항 14항에 있어서,상기 하나 이상의 동형 암호 연산은,입력되는 매개 변수가 암호화된 값인지 여부에 기초하여 선언되는 동형 암호 연산자의 종류를 달리하는, 동형 암호 활용을 위한 소스 코드 컴파일 방법
|
16 |
16
청구항 10항에 있어서,상기 파싱된 제1 중간 코드에 포함된 데이터 중 동형 암호화되지 않을 데이터 사이의 연산을 최적화하여 제3 중간 코드를 생성하는 단계를 더 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 방법
|
17 |
17
청구항 16항에 있어서,상기 제2 중간 코드 및 상기 제3 중간 코드를 저레벨 가상 머신(LLVM; Low-Level Virtual Machine)에 기초하여 컴파일함으로써 LLVM 중간 코드를 생성하는 단계를 더 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 방법
|
18 |
18
청구항 17항에 있어서,상기 LLVM 중간 코드를 기 정의된 동형 암호 라이브러리와 연동하여 동형 암호화된 입출력을 갖는 실행 프로그램을 생성하는 단계를 더 포함하는, 동형 암호 활용을 위한 소스 코드 컴파일 방법
|