KR101932032B1 - 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법 - Google Patents

선형 길이의 암호문을 가지는 다항식 함수 암호화 방법 Download PDF

Info

Publication number
KR101932032B1
KR101932032B1 KR1020180059827A KR20180059827A KR101932032B1 KR 101932032 B1 KR101932032 B1 KR 101932032B1 KR 1020180059827 A KR1020180059827 A KR 1020180059827A KR 20180059827 A KR20180059827 A KR 20180059827A KR 101932032 B1 KR101932032 B1 KR 101932032B1
Authority
KR
South Korea
Prior art keywords
lde
function
rmod
secret key
value
Prior art date
Application number
KR1020180059827A
Other languages
English (en)
Inventor
천정희
이창민
손용하
홍승완
Original Assignee
주식회사 크립토랩
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 크립토랩, 서울대학교산학협력단 filed Critical 주식회사 크립토랩
Priority to KR1020180059827A priority Critical patent/KR101932032B1/ko
Application granted granted Critical
Publication of KR101932032B1 publication Critical patent/KR101932032B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/06Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system wherein elements corresponding to the signs making up the clear text are operatively connected with elements corresponding to the signs making up the ciphered text, the connections, during operation of the apparatus, being automatically and continuously permuted by a coding or key member
    • G09C1/10Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system wherein elements corresponding to the signs making up the clear text are operatively connected with elements corresponding to the signs making up the ciphered text, the connections, during operation of the apparatus, being automatically and continuously permuted by a coding or key member the connections being electrical
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

본 발명에 의한, 컴퓨터가 수행하는 함수 암복호화 방법은, 메시지 벡터(m)의 각 성분(mi)을 비밀키(skLDE)에 의해서 선형 복호 서킷 암호 스킴(LDE Scheme)으로 암호화한 값을 수신하는 제1 단계와; 제1 단계에서 수신한 암호문으로부터 LDE.Enc(skLDE d, mI)을 산출하는 제2 단계와; 함수 계수(FI)와 비밀키(skLDE d)의 곱을, 비밀키(sI)에 의해서 R 모듈 암호화 스킴으로 암호화한 벡터 RMod.E(sI, FskLDE d, r)을 산출하는 제3 단계와; 제2 단계의 산출값과 제3 단계의 산출값을 곱하여 중간값을 산출하는 제4 단계와; 제4 단계에에서 산출된 중간값들의 전체 합을 산출하는 제5 단계와; 제5 단계에서 산출된 값을 복호화하는 제6 단계를 포함한다.

Description

선형 길이의 암호문을 가지는 다항식 함수 암호화 방법{Polynomial Functional Encryption Method with Linear ciphertext size}
본 발명은 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법에 대한 것으로서 좀 더 자세하게는 암호문의 사이즈가 다항식의 차수(degree)에 비례하지 않고 차수와 관계없이 일정하게 함으로써 암호문의 크기를 현저하게 저감시킬 수 있는 함수 암호화 방법에 대한 것이다.
일반적인 암복호화 방법은, 암호문과 비밀키를 받아서 비밀키로 암호문을 복호화하여 평문을 획득한다.
반면에 함수 암호화 방법은, 암호문과 비밀키를 받아서 복호화를 하면 평문 메시지에 대해서 소정의 함수 연산을 수행한 결과값을 획득한다. 그와 같은 특성 때문에 평문 자체의 비밀성은 유지하면서 평문에 대한 특정 함수 결과값만을 필요로 하는 많은 분야에서 유용성이 있다. 현재까지 효율적인 함수 암호 스킴은 내적 연산 또는 이차 이하의 차수의 다항식에 대한 것만이 알려져 있다.
그러나 기존의 함수 암호화 방법을 이용하여 d차 다항식의 연산을 수행하는 경우 암호문 사이즈가 d에 지수적으로 비례하여 증가하기 때문에 암호문의 사이즈가 과도하게 커져서 실제로 적용하고 구현하는 데에 많은 문제점이 있었다.
본 발명은 그러한 종래 기술의 문제점을 해결함으로써 암호문의 사이즈가 다항식의 차수에 상관없이 일정하게 하여 암호문의 사이즈를 현저하게 감소시킬 수 있는 다항식 함수 암호화 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한, 컴퓨터가 수행하는 함수 암복호화 방법은, 메시지 벡터(m)의 각 성분(mi)을 비밀키(skLDE)에 의해서 선형 복호 서킷 암호 스킴(LDE Scheme)으로 암호화한 값을 수신하는 제1 단계와; 제1 단계에서 수신한 암호문으로부터 LDE.Enc(skLDE d, mI)을 산출하는 제2 단계와; 함수 계수(FI)와 비밀키(skLDE d)의 곱을, 비밀키(sI)에 의해서 R 모듈 암호화 스킴으로 암호화한 벡터 RMod.E(sI, FskLDE d, r)을 산출하는 제3 단계와; 제2 단계의 산출값과 제3 단계의 산출값을 곱하여 중간값을 산출하는 제4 단계와; 제4 단계에에서 산출된 중간값들의 전체 합을 산출하는 제5 단계와; 제5 단계에서 산출된 값을 복호화하는 제6 단계를 포함한다.
d는, 다항식 함수 F의 차수이고, I는 크기 d를 가지는 {1, 2,...
Figure 112018051561001-pat00001
}의 모든 다중 부분집합
Figure 112018051561001-pat00002
의 원소이고,
Figure 112018051561001-pat00003
은 메시지 벡터의 길이이다.
제4 단계의 중간값은 RMod.E(FI·mI)이 될 수 있다.
본 발명에 의한, 컴퓨터에 의한 함수 암호화 방법은, 메시지 벡터
Figure 112018051561001-pat00004
에 대해서 암호문(CT)를 다음과 같이 생성하는 방법이다.
CT = {
Figure 112018051561001-pat00005
,
Figure 112018051561001-pat00006
}
여기에서,
Figure 112018051561001-pat00007
;
Figure 112018051561001-pat00008
이고,
Figure 112018051561001-pat00009
이고,
Figure 112018051561001-pat00010
;
Figure 112018051561001-pat00011
이고,
skLDE는 LDE 암호화 스킴의 비밀키이며,
Figure 112018051561001-pat00012
은 메시지 벡터의 길이이고, n은 암호문 벡터의 길이이며, I는 크기 d를 가지는 {1, 2,...
Figure 112018051561001-pat00013
}의 모든 다중 부분집합
Figure 112018051561001-pat00014
의 원소이고, λ는 보안 인수이며, d는 함수 암호화에 사용되는 다항식 함수의 차수이며, ppRMod는 RMod 암호화 스킴의 공개 파라미터이다.
함수 비밀키(skF)는 다음과 같이 생성될 수 있다.
Figure 112018051561001-pat00015
;
Figure 112018051561001-pat00016
;
Figure 112018051561001-pat00017
Figure 112018051561001-pat00018
;
Figure 112018051561001-pat00019
여기에서 skLDE는 LDE 암호화 스킴의 비밀키이며,
Figure 112018051561001-pat00020
은 메시지 벡터의 길이이고, n은 암호문 벡터의 길이이고, I: 크기 d를 가지는 {1,2,...,
Figure 112018051561001-pat00021
}의 모든 다중 부분 집합
Figure 112018051561001-pat00022
의 원소이고, λ는 보안 인수이며, d는 함수 암호화에 사용되는 다항식 함수의 차수이고, ppRMod는 RMod 암호화 스킴의 공개 파라미터이고, FI는 다항식의 계수이다.
상기 방법에 의해 암호화된 암호문과 함수 비밀키를 수신한 컴퓨터가 암호문을 복호화하는 방법은,
Figure 112018051561001-pat00023
값을 산출하는 제1 단계와; RMod.Dec(c0, (evk0, C)) 알고리즘을 수행하여
Figure 112018051561001-pat00024
값을 획득하는 제2 단계를 포함할 수 있다.
본 발명에 의하면, 다항식의 차수에 따라 암호문의 사이즈가 비례하지 않아서 암호문의 크기가 현저하게 줄어들 수 있는 함수 암복호화 방법을 제공하는 작용 효과가 있다.
도 1은 본 발명에 의한 함수 암복호화 방법의 흐름도.
이하에서는 본 발명에 대해서 자세하게 설명한다.
본 명세서에서 수행되는 정보(데이터) 전송/수신 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것 만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서 "모듈"이라 함은 어떤 링(ring) R에 대해, R-스칼라곱 연산과 곱셈 연산을 가지고 있는 대수적인(algebraic) 객체를 의미한다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 필수적이지 않은 특정 구성요소를 배제하거나 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
본 발명은 전자적 연산이 가능한 컴퓨터 등의 전자적 연산 장치에 의해서 수행되며, 후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.
그리고 본 명세서에서 "값"이라 함은 스칼라값 뿐만 아니라 벡터 및 행렬, 텐서, 다항식도 포함하는 광의의 개념으로 정의된다.
본 명세서에서 특정값에 대해 암호화 또는 해쉬 등과 같은 연산을 하여 소정의 값을 획득한다는 의미는 해당 특정값 뿐만 아니라 해당 특정값의 변형값(예를 들어, 특정값에 소정의 값을 추가로 연산하거나 소정의 규칙에 따라서 해당 특정값을 변화시키는 등의 과정을 통해서 산출된 다른 값)에 대한 암호화 또는 해쉬 등의 연산도 포함하는 것으로 정의된다.
본 명세서에서 벡터는 굵은 글씨체 또는 문자 상부에 화살표로서 표시된다.
본 발명의 자세한 설명에 앞서 본 발명에 적용되는 두 개의 암호 스킴에 대해서 설명한다.
1. 선형 복호 서킷 암호 스킴(Linear Decrpytion Circuit Scheme; LDE)
분해 불가능한 다항식 f(X)에 대해서
Figure 112018051561001-pat00025
인 링(ring)을 R이라고 하고, p를 홀수인 소수(odd prime number)라고 하고,
Figure 112018051561001-pat00026
로 둘 때, LDE는 다음과 같은 공간상에서 정의된다.
메시지 공간: R2
비밀키 공간:
Figure 112018051561001-pat00027
(또는
Figure 112018051561001-pat00028
의 부분집합)
암호문 공간:
Figure 112018051561001-pat00029
공개된 파라미터 pp = {p, f(X)}에 대해서,다음과 같은 성질을 만족하는 LDE.Param, LDE.SKGen, LDE.Enc, LDE.Dec 알고리즘 군을 가지는 스킴을 "LDE" 라고 한다.
LDE.Param(
Figure 112018051561001-pat00030
): 보안인수
Figure 112018051561001-pat00031
로부터 공개 파라미터 pp 출력
LDE.SKGen(p, N): 공개된 파라미터 pp에 대해서
Figure 112018051561001-pat00032
가 되도록 비밀키를 출력
LDE.Enc(
Figure 112018051561001-pat00033
, m): 비밀키
Figure 112018051561001-pat00034
와 메시지
Figure 112018051561001-pat00035
에 대해서 암호문
Figure 112018051561001-pat00036
을 출력
LDE.Dec(
Figure 112018051561001-pat00037
,
Figure 112018051561001-pat00038
): 비밀키
Figure 112018051561001-pat00039
와 암호문
Figure 112018051561001-pat00040
에 대해서 메시지
Figure 112018051561001-pat00041
출력
또한, LDE.Dec 알고리즘은 두 벡터 sk와 c간의 내적으로 표현되고, 이를 통해 두 암호문의 곱셉
Figure 112018051561001-pat00042
을 정의할 수 있다. 즉 LDE.Enc(sk1,m1)
Figure 112018051561001-pat00043
LDE.Enc(sk2, m2)는 LDE.Enc(sk1sk2, m1m2)가 된다.
2. R 모듈 암호화 스킴(R-module Encryption Scheme: RMod)
분해 불가능한 다항식 f(X)에 대해서
Figure 112018051561001-pat00044
인 링(ring)을 R이라고 하고, p를 홀수인 소수(odd prime number)라고 하면, RMod는 다음과 같은 공간상에서 정의된다.
메시지 공간: Rp
비밀키 공간: Rp
무작위성 공간: Rp
암호문 공간: M2 ; (M,
Figure 112018051561001-pat00045
,
Figure 112018051561001-pat00046
)는 Rp-모듈
공개된 파라미터 pp = {p, f(X)}에 대해서, 다음과 같은 성질을 만족하는 RMod.Param, RMod.SKGen, RMod.Enc, RMod.Dec, RMod.D 알고리즘 군을 가지는 스킴을 "RMod" 라고 한다. RMod.D는 특정 조건하에서 비밀키 없이도 복호화를 수행할 수 있는 알고리즘이다.
B는 비밀키의 크기가 B보다 작을 때, 비밀키 없이도 복호화가 가능한 상수를 의미한다.
RMod.Param(
Figure 112018051561001-pat00047
): 보안인수
Figure 112018051561001-pat00048
로부터 공개 파라미터 pp 출력
RMod.SKGen(pp): 공개 파라미터 pp로부터 비밀키
Figure 112018051561001-pat00049
출력
RMod.Enc(sk, m): 비밀키
Figure 112018051561001-pat00050
와 메시지
Figure 112018051561001-pat00051
에 대해서 암호문
Figure 112018051561001-pat00052
출력
RMod.Dec(sk,
Figure 112018051561001-pat00053
): 비밀키
Figure 112018051561001-pat00054
와 암호문
Figure 112018051561001-pat00055
에 대해서 메시지
Figure 112018051561001-pat00056
출력.
RMod는 암호문간의 덧셈
Figure 112018051561001-pat00057
과 스칼라곱
Figure 112018051561001-pat00058
을 지원한다. R의 원소 f에 대해 f
Figure 112018051561001-pat00059
RMod.Enc(sk, m) = RMod.Enc(f·sk, f·m)이 되고, RMod.Enc(sk1, m1)
Figure 112018051561001-pat00060
RMod(sk2, m2)는 RMod.Enc(sk1+sk2, m1+m2)가 된다.
비밀키
Figure 112018051561001-pat00061
와 메시지
Figure 112018051561001-pat00062
와, 랜덤값 r ∈ Rp에 대해서 모듈 M의 원소 c를 출력하는 부분알고리즘 RMod.E가 존재하여, RMod.Enc(sk, m) = (RMod.E(1,0,r), RMod.E(sk, m, r))으로 표현된다.
본 발명이 적용되기 위해 LDE와 RMod를 만족하는 구체적인 스킴은 예를 들어, RLWE 암호 스킴(RLWE Encryption Scheme)과 ElG 암호 스킴(ElGamal Encryption Scheme)이 있다.
본 발명에 대해서 설명한다. 설명의 편의를 위해서 2차 다항식을 예로 들어 개념적으로 설명한다. 그러나 차수가 더 높더라도 수식의 확장을 통해서 이하의 설명은 동일하게 적용될 수 있으며, 일반식을 이용한 설명은 개념적 설명 이후에 후술하기로 한다.
키 분배 장치(10)는 먼저, 전술한 스킴에 따라서 마스터 비밀키를 생성하고(100), 공개 파라미터를 암호화 장치(20)와 함수 키 생성 장치(30)로 전송한다(단계 105, 110).
길이가
Figure 112018051561001-pat00063
인 메시지 벡터
Figure 112018051561001-pat00064
에 대해서, 2차 다항식 함수값 F(
Figure 112018051561001-pat00065
)은 다음과 같이 표현할 수 있다.
Figure 112018051561001-pat00066
Figure 112018051561001-pat00067
는 내적값의 계산 수식에 따라서 결정되는 소정의 계수이다.
본 발명에 의하면, 평문 메시지
Figure 112018051561001-pat00068
은 각각의 구성요소
Figure 112018051561001-pat00069
가 비밀키
Figure 112018051561001-pat00070
로 LDE 스킴에 따라 암호화된다. LDE 스킴은 암호문간의 곱셈을 지원한다.
설명의 편의를 위해,
Figure 112018051561001-pat00071
는 비밀키 si를 곱함으로써 복호화되는 것으로 가정한다. 즉
Figure 112018051561001-pat00072
가 성립한다.
본 발명에 의해 암호화된 제1 암호문 요소
Figure 112018051561001-pat00073
는 다음과 같은 형태를 가진다.
Figure 112018051561001-pat00074
= LDE.Enc(s1, m1), LDE.Enc(s2, m2),..., LDE.Enc(
Figure 112018051561001-pat00075
,
Figure 112018051561001-pat00076
)
본 발명과 같이 이렇게 암호화를 하면, 암호화를 한 값들을 곱해서 암호문을 생성하기 때문에 모든 메시지 벡터의 곱 요소 mi, mj를 암호화하여 암호문을 생성하는 종래 기술에 비해서 암호문의 사이즈가 현저하게 저감되는 효과가 있다.
본 발명의 발명자는, 이와 같은 암호문을 가지고도 함수 암호를 구현하기 위해서 RMod 스킴을 다음과 같이 적용한다. 위 암호화값은, 각 메시지 요소들을 암호화한 값들의 곱으로 구성되어 있기 때문에 후술하는 바와 같이 LDE.Enc(sij, mi·mj)값을 산출할 때에 위 암호화값 중에서 해당하는 값들 즉 LDE.Enc(si, mi)와 LDE.Enc(sj, mj)을 선택해서 곱하기만 된다.
전자적 연산을 통해서 다음과 같은 중간값(intermediate term)을 산출한다(단계 110).
중간값 =
Figure 112018051561001-pat00077
R 모듈 암호화 스킴(RMod)은 스칼라곱을 지원하기 때문에 중간값은 다음과 같은 값으로 변환 가능하다.
Figure 112018051561001-pat00078
=
Figure 112018051561001-pat00079
=
Figure 112018051561001-pat00080
R 모듈 암호화 스킴(RMod)은 덧셈을 지원하기 때문에 모든 중간값들을 합산하여 합산값을 산출한다(단계 120). 이렇게 합산된 값은
Figure 112018051561001-pat00081
의 암호화값이 될 수 있다.
그 암호화 값을 복호화함으로써(단계 130),
Figure 112018051561001-pat00082
값을 획득할 수 있다(단계 135).
암호문 생성 및
Figure 112018051561001-pat00083
의 암호화값의 복호화 과정을 좀 더 자세히 설명한다.이하 설명에서는 다항식의 차수를 d로 하여 일반식으로 설명한다.
먼저 마스터 키 생성 과정에 대해서 설명한다.
소수 p와 분해 불가능한 다항식 f(X)를 정하고, ppLDE와 ppRMod를 {p, f(X)}로 한다.
ppLDE를 ppRMod와 동일하게 설정하고 이를 {p}로 한다.
LDE 비밀키 skLDE와 RMod 비밀키 {s I,i}를 다음과 같이 설정한다.
Figure 112018051561001-pat00084
Figure 112018051561001-pat00085
여기에서 I는, 크기 d를 가지는 {1, 2,...
Figure 112018051561001-pat00086
}의 모든 다중 부분집합
Figure 112018051561001-pat00087
의 원소이다.
그리고 i는 d회의 곱셈을 수행한 이후의 LDE 암호문의 길이를 len(n, d)라고 했을 때, {1, 2,..., len(n, d)}의 원소이다.
마스터키 msk는 다음과 같이 생성한다.
Figure 112018051561001-pat00088
이어서 함수 비밀키 생성 과정(단계 125)에 대해서 설명한다.
RMod 암호화 스킴의 랜덤 공간에서 랜덤 요소 r을 선택하고 다음과 같이 evk0 값을 산출한다.
Figure 112018051561001-pat00089
그리고, 다음과 같이 LDE 곱셈 비밀키를 생성한다.
Figure 112018051561001-pat00090
동일한 랜덤 요소 r에 대해서 RMod 암호화 알고리즘을 수행하여 다음과 같이 evkI,i를 산출한다.
Figure 112018051561001-pat00091
위 값을 이용하여,
Figure 112018051561001-pat00092
를 아래와 같이 산출한다.
Figure 112018051561001-pat00093
위 값을 이용하여 함수 비밀키(skF)를 다음과 같이 생성하고(단계 125), 복호화 장치(40)로 전송된다(단계 130).
Figure 112018051561001-pat00094
길이
Figure 112018051561001-pat00095
을 가지는 메시지 벡터
Figure 112018051561001-pat00096
에 대해서 다음과 같이 암호문을 생성한다.
제1 암호문 요소
Figure 112018051561001-pat00097
는 다음과 같이 생성된다.
Figure 112018051561001-pat00098
;
Figure 112018051561001-pat00099
제2 암호문 요소 c0는 다음과 같이 생성된다.
Figure 112018051561001-pat00100
;
Figure 112018051561001-pat00101
제1 암호문 요소와 제2 암호문 요소가 단계(105)에서 생성되어 복호화 장치(40)로 전송되는 암호문(CT)이 된다. 즉 CT = {
Figure 112018051561001-pat00102
,
Figure 112018051561001-pat00103
}가 된다.
함수 비밀키와 암호문을 수신한 복호화 장치(40)는 다음과 같이 복호화를 수행하여
Figure 112018051561001-pat00104
을 획득한다.(단계 135)
먼저 다음과 같이 C 값을 구한다.
Figure 112018051561001-pat00105
이 C 값에 대해서 다음과 같이 복호화를 하면
Figure 112018051561001-pat00106
값을 획득할 수 있다.
RMod.Dec(c0, (evk0, C)) =
Figure 112018051561001-pat00107
본 발명에 의하면, 다항식의 차수에 따라 암호문의 사이즈가 일정하기 때문에 암호문의 크기를 현저하게 저감할 수 있는 함수 암복호화 방법을 제공하는 작용 효과가 있다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.

Claims (5)

  1. 컴퓨터가 수행하는 함수 암복호화 방법에 있어서,
    메시지 벡터(m)의 각 성분(mi)을 비밀키(skLDE)에 의해서 선형 복호 서킷 암호 스킴(LDE Scheme)으로 암호화한 값을 수신하는 제1 단계와,
    제1 단계에서 수신한 암호문으로부터 LDE.Enc(skLDE d, mI)을 산출하는 제2 단계와,
    함수 계수(FI)와 비밀키(skLDE d)의 곱을, 비밀키(sI)에 의해서 R 모듈 암호화 스킴으로 암호화한 벡터 RMod.E(sI, FskLDE d, r)을 산출하는 제3 단계와,
    제2 단계의 산출값과 제3 단계의 산출값을 곱하여 중간값을 산출하는 제4 단계와,
    제4 단계에서 산출된 중간값들의 전체 합을 산출하는 제5 단계와,
    제5 단계에서 산출된 값을 복호화하는 제6 단계를 포함하는,
    컴퓨터를 이용한 함수 암복호화 방법
    d: 다항식 함수 F의 p차수
    r: 랜덤값
    Figure 112018051561001-pat00108
    Rp
    I: 크기 d를 가지는 {1, 2,...
    Figure 112018051561001-pat00109
    }의 모든 다중 부분집합
    Figure 112018051561001-pat00110
    의 원소
    Figure 112018051561001-pat00111
    : 메시지 벡터의 길이.
  2. 청구항 1에 있어서,
    제4 단계의 중간값은 RMod.E(FI·mI)인,
    컴퓨터를 이용한 함수 암복호화 방법.
  3. 컴퓨터를 이용한 함수 암호화 방법에 있어서,
    메시지 벡터
    Figure 112018051561001-pat00112
    에 대해서 암호문(CT)를 다음과 같이 생성하는 방법
    CT = {
    Figure 112018051561001-pat00113
    ,
    Figure 112018051561001-pat00114
    };
    여기에서,
    Figure 112018051561001-pat00115
    ;
    Figure 112018051561001-pat00116
    ;
    Figure 112018051561001-pat00117
    이며,
    Figure 112018051561001-pat00118
    ;
    Figure 112018051561001-pat00119
    이며
    skLDE: LDE 암호화 스킴의 비밀키
    Figure 112018051561001-pat00120
    : 메시지 벡터의 길이
    n: 암호문 벡터의 길이
    I: 크기 d를 가지는 {1, 2,...
    Figure 112018051561001-pat00121
    }의 모든 다중 부분집합
    Figure 112018051561001-pat00122
    의 원소
    λ: 보안 인수
    d: 함수 암호화에 사용되는 다항식 함수의 차수
    ppRMod: RMod 암호화 스킴의 공개 파라미터
    len(n, d): d회의 곱셈을 수행한 이후의 LDE 암호문의 길이
  4. 청구항 3에 있어서,
    함수 비밀키(skF)는 다음과 같이 생성되는,
    컴퓨터를 이용한 함수 암호화 방법
    Figure 112018051561001-pat00123
    ;
    Figure 112018051561001-pat00124

    Figure 112018051561001-pat00125

    Figure 112018051561001-pat00126

    Figure 112018051561001-pat00127

    skLDE: LDE 암호화 스킴의 비밀키
    Figure 112018051561001-pat00128
    : 메시지 벡터의 길이
    n: 암호문 벡터의 길이
    I: 크기 d를 가지는 {1, 2,...,
    Figure 112018051561001-pat00129
    }의 모든 다중 부분 집합
    Figure 112018051561001-pat00130
    의 원소
    λ: 보안 인수
    d: 함수 암호화에 사용되는 다항식 함수의 차수
    ppRMod: RMod 암호화 스킴의 공개 파라미터
    FI: 다항식의 계수
  5. 청구항 4에 의해 암호화된 암호문과 함수 비밀키를 수신한 컴퓨터가 암호문을 복호화하는 방법에 있어서,
    Figure 112018051561001-pat00131
    값을 산출하는 제1 단계와,
    RMod.Dec(c0, (evk0, C)) 알고리즘을 수행하여
    Figure 112018051561001-pat00132
    값을 획득하는 제2 단계를 포함하는,
    컴퓨터가 함수 암호문을 복호화하는 방법.
KR1020180059827A 2018-05-25 2018-05-25 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법 KR101932032B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180059827A KR101932032B1 (ko) 2018-05-25 2018-05-25 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180059827A KR101932032B1 (ko) 2018-05-25 2018-05-25 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법

Publications (1)

Publication Number Publication Date
KR101932032B1 true KR101932032B1 (ko) 2018-12-24

Family

ID=65010192

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180059827A KR101932032B1 (ko) 2018-05-25 2018-05-25 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법

Country Status (1)

Country Link
KR (1) KR101932032B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225343A (ja) 2014-05-25 2015-12-14 富士通株式会社 リレーショナル暗号化
US20170352296A1 (en) 2014-12-26 2017-12-07 Dnp Hypertech Co., Ltd. Encoding device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225343A (ja) 2014-05-25 2015-12-14 富士通株式会社 リレーショナル暗号化
US20170352296A1 (en) 2014-12-26 2017-12-07 Dnp Hypertech Co., Ltd. Encoding device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김진수 외 1명. 랜덤선형부호의 복호화 문제와 그의 암호학적 응용. 2015.05.

Similar Documents

Publication Publication Date Title
KR101861089B1 (ko) 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법
JP5291795B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
JP4786531B2 (ja) 暗号システム、暗号装置、復号装置、プログラムおよび集積回路
JP6413743B2 (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
Chatterjee et al. Accelerating sorting of fully homomorphic encrypted data
KR101618941B1 (ko) 동형 암호 알고리즘과 페어링 기반 암호 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버
WO2016088453A1 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
JP5273141B2 (ja) 調整値付きブロック暗号装置、暗号生成方法および記録媒体
Lin et al. Cryptanalysis of a chaotic stream cipher and its improved scheme
CN113810170A (zh) 数据传输方法、装置及电子设备、存储介质
JP2014002230A (ja) 認証暗号化装置、認証復号装置、およびプログラム
JP7117964B2 (ja) 復号装置、暗号システム、復号方法及び復号プログラム
Chaouch et al. Software application for simulation-based AES, RSA and elliptic-curve algorithms
KR101932032B1 (ko) 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법
TWI731770B (zh) 運算系統
JP2018092010A (ja) 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム
JP2010049217A (ja) 表現変換装置、演算装置、表現変換方法及びプログラム
Hazzazi et al. Asymmetric Key Cryptosystem for Image Encryption by Elliptic Curve over Galois Field GF (2 n).
WO2017203743A1 (ja) 暗号化装置、復号装置及び暗号システム
JP2013205437A (ja) 非線形関数S−boxの計算方法及び装置
Thakkar et al. Cryptographic Method to Enhance Data Security Using RSA Algorithm and Mellin Transform
KR101880517B1 (ko) Lwe에 기반한 공개키 암호화 방법
JP2008064853A (ja) 鍵管理方法、暗号処理方法、復号権限を与えるデータ作成方法。
Sneha Sree et al. Text Encryption Using ECC and Chaotic Map
Ngwe et al. Digital Envelope System Based on Optimized NTRU (Number Theory Research Unit) and RC6 Algorithm

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant