KR20140028233A - 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치 - Google Patents

중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치 Download PDF

Info

Publication number
KR20140028233A
KR20140028233A KR1020120094061A KR20120094061A KR20140028233A KR 20140028233 A KR20140028233 A KR 20140028233A KR 1020120094061 A KR1020120094061 A KR 1020120094061A KR 20120094061 A KR20120094061 A KR 20120094061A KR 20140028233 A KR20140028233 A KR 20140028233A
Authority
KR
South Korea
Prior art keywords
crt
chinese
modular
equation
encryption
Prior art date
Application number
KR1020120094061A
Other languages
English (en)
Other versions
KR101440680B1 (ko
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 KR1020120094061A priority Critical patent/KR101440680B1/ko
Priority to US14/127,478 priority patent/US20150312028A1/en
Priority to PCT/KR2013/007743 priority patent/WO2014035146A2/ko
Publication of KR20140028233A publication Critical patent/KR20140028233A/ko
Application granted granted Critical
Publication of KR101440680B1 publication Critical patent/KR101440680B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Abstract

평문(p)으로부터 모듈러(M)를 연산하는 단계, 상기 모듈러(M)에 에러(E)를 부가하여 랜덤화하는 단계, 및 랜덤화된 모듈러(A)에 대하여 중국인 나머지 정리(CRT)를 적용하여 암호화문(c)을 생성하는 단계를 포함하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법이 개시된다.

Description

중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치{Homomorphic Encryption and Decryption Method using Chinese Remainder Theorem and apparatus using the same}
본 발명은 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치에 관한 것이다.
준동형 암호화 기술은 암호화된 상태에서 곱셈이나 덧셈이 가능하도록 하는 암호화 기술로서, 여러 분야에서 활용이 기대되고 있다. 예를 들면, 프라이버시를 보호할 필요가 있는 경우, 준동형 암호화 기술은 복호화를 할 필요없이 암호화된 상태에서 처리가 가능하므로, 유용할 수 있다.
2009년 완전 준동형 암호화 기술을 제시된 뒤로 완전 준동형 암호에 대한 연구가 활발하게 이루어지고 있으며, 특히, 정수 기반 완전 준동형 암호화 기술은 횟수에 제한 없이 암호문간의 더하기와 곱하기 연산을 지원할 수 있는 기술이다. 하지만, 이러한 기술은 공개키의 크기가 지나치게 클 뿐만 아니라 암호화에 많은 시간이 걸린다고 하는 단점이 있다.
또한, 종래 다른 완전 준동형 암호화 기술들은, 안전하지 못하거나 충분한 횟수만큼 덧셈이나 곱셈을 지원하지 못하는 단점이 있다.
본 발명의 일 실시예에 따르면, 안전하고, 덧셈 및 곱셈의 횟수가 수용가능하고, 평문의 크기에 제한이 없고 속도와 저장 용량이 효율적인, 중국인 나머지 정리에 기반한 준동형 암복호화 방법이 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 안전하고, 덧셈 및 곱셈의 횟수가 수용가능하고, 평문의 크기에 제한이 없고 속도와 저장 용량이 효율적인, 중국인 나머지 정리에 기반한 준동형 암호화 장치 또는 복호화 장치가 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 안전하고, 덧셈 및 곱셈의 횟수가 수용가능하고, 평문의 크기에 제한이 없고 속도와 저장 용량이 효율적인, 중국인 나머지 정리에 기반한 준동형 암호화 또는 복호화 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체가 제공될 수 있다.
본 발명의 일 실시예에 따르면, 평문(p)으로부터 모듈러(M)를 연산하는 단계; 상기 모듈러(M)에 에러(E)를 부가하여 랜덤화하는 단계; 및 랜덤화된 모듈러(A)에 대하여 중국인 나머지 정리(CRT)를 적용하여 암호화문(c)을 생성하는 단계;를 포함하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법이 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 평문(p)으로부터 모듈러(M)를 연산하는 모듈러 연산부; 상기 모듈러(M)에 에러(E)를 부가하여 랜덤화하는 램덤화부; 및 랜덤화된 모듈러(A)에 대하여 중국인 나머지 정리(CRT)를 적용하여 암호화문(c)을 생성하는 CRT 연산부;를 포함하는 중국인 나머지 정리에 기반한 준동형 암호화 장치가 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 암호화문(c)을 복호화하는 복호화부;를 포함하며, 상기 복호화부는, 수학식 M = (c mod S) mod Q에 의해 모듈러를 계산하고,
수학식 p = CRTQ(M) 에 의해 중국인 나머지 정리(CRT)를 적용하여 평문(p)을 생성하며, 상기 암호화문(c)는, 제13항 내지 제15항 중 어느 하나의 항에 의해 암호화된 암호화문 인것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 복호화 장치가 제공될 수 있다.
본 발명의 실시예에 따른 방법을 실행하기 위한 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체가 제공될 수 있다.
본 발명의 하나 이상의 실시예에 따르면, 안전한 레벨까지 암호화가 가능하며, 암호화된 상태에서 덧셈 및 곱셈의 횟수가 현실적으로 수용가능한 횟수까지 지원이 될 수 있다. 또한, 암호화를 할 평문의 크기에 제한이 없고 속도와 저장 용량이 효율적일 수 있다.
도 1은 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치를 설명하기 위한 도면이고,
도 2는 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치에 사용되는 용어 및 파라미터들을 정의한 도면이고,
도 3은 도 1의 실시예에 의해 암호화된 암호화문을 복호화하는 복호화 장치를 설명하기 위한 도면이고,
도 4는 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치에 의해 암호화된 암호화문의 덧셈 및 곱셈을 설명하기 위한 도면이고,
도 5는 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치 및/또는 복호화 장치가 적용되는 컴퓨터 시스템을 설명하기 위한 도면이고,
도 6은 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 방법을 설명하기 위한 도면이고,
도 7은 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 복호화 방법을 설명하기 위한 도면이고,
도 8은 본 발명의 다른 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치를 설명하기 위한 도면이고, 그리고
도 9는 도 8의 실시예에 의해 암호화된 암호화문을 복호화하는 복호화 장치를 설명하기 위한 도면이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. 본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
도 1은 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치를 설명하기 위한 도면이고, 도 2는 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치에 사용되는 용어 및 파라미터들을 정의한 도면이다.
이들 도면을 참조하여, 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치(이하, '준동형 암호화 장치'라고 함)를 설명하기로 한다.
본 발명의 일 실시예에 따른 준동형 암호화 장치는, 평문(p)으로부터 모듈러(M)를 연산하는 모듈러 연산부(10), 모듈러(M)에 에러(E)를 부가하여 랜덤화하는 램덤화부(20), 및 랜덤화된 모듈러(A)에 대하여 중국인 나머지 정리(CRT)를 적용하여 암호화문(c)을 생성하는 CRT 연산부(30)를 포함할 수 있다.
모듈러 연산부(10)는 다음의 수학식 1에 의해서, 평문(p)으로부터 모듈러(modular)(M)를 계산한다.
<수학식 1>
M= p mod Q
여기서, Q = {qi| 1≤i≤k, i와 k는 양의 정수} = {q1, q2, ... , qk}이고, qi는 서로 소인 양의 정수이며, qi는 d 비트의 길이를 가질 수 있다.
수학식 1에 의거하여, 모듈러 연산부(10)는 M = {mi| 1≤i≤k, i와 k는 양의 정수} = {m1, m2, ... , mk} 값을 출력한다.
모듈러 연산부(10)는, 평문(p)의 사이즈를 크게 하는 동작을 수행하는 것으로서, 일 예에 따르면, 평문(p)의 사이즈를 k배 만큼 크게 할 수 있다.
램덤화부(20)는, 다음의 수학식 2에 의해서, 모듈러 연산부(10)에 의해 출력되는 M에 에러를 부여하여 랜덤화하는 동작을 수행한다.
<수학식 2>
A = M + E·Q
여기서, E= {ei| 1≤i≤k, i와 k는 양의 정수} = {e1, e2, ... , ek}이고, ei는 λ비트를 가질 수 있다. 한편, λ는 ρ = 2 ·λ 에 의해 정의될 수 있고, 여기서, ρ는 시큐어리티 파라미터이다.
본 발명의 일 실시예에 따르면, 에러 ei는 랜덤하게 선택된 것일 수 있다.
랜덤화부(20)는, 램덤하게 선택한 에러값을 더하여 평문(p)을 숨기기 위한 동작을 수행하는 것이다. 본 실시예에서는, 랜덤하게 선택한 에러값을 E와 곱하였지만, 후술하는 대체 실시예(도 8과 도 9의 실시예를 참조)에서는 램덤하게 선택한 에러값을 M과 곱할 수 있다.
CRT 연산부(30)는, 다음의 수학식 3에 의해, 램덤화부(20)에 의해 출력되는 램덤화된 모듈러에 대하여 CRT(Chinese Remainder Theorem: CRT)을 적용하여 암호화문(c)을 출력한다.
<수학식 3>
c = CRTS(A)
CRT는 중국인의 나머지 정리를 적용하는 연산자이고, S= {si| 1≤i≤k, i와 k는 양의 정수} 로서 키(Key)이며, k는 키의 갯수를 나타낸다. 본 발명의 실시예에 따르면, 여기서 키(Key)는 비밀키일 수 있다.
CRT는, 예를 들면, s_1, s_2, ..., s_k가 서로 소인 정수라고 하고, b = s_1· s_2· s_3· ... s_k 라고 하면, 이때 임의의 수열 a_1, a_2, ..., a_k 대하여 c=a_k (mod s_k) 가 되는 c가 mod s 로 유일하게 존재한다는 정리이다.
c에 대한 연립 합동식은 다음과 같이 기재될 수 있다.
c = a_1 (mod s_1)
c = a_2 (mod s_2)
.
.
.
c = a_k (mod s_k)
상기 수식 CRTS(A)에서, A는 나머지에 해당하고 S는 제수(나누는 수)에 해당하며, 수식 CRTS(A)의 해 c 는 상기 연립 합동식을 만족하는 값이 된다.
S는 비밀키로서, {q1· s1, q2·s2, ..., qk·sk}가 서로 소인 집합이 되도록 소수 s1, s2, ..., sk가 선택될 수 있다.
CRT 연산부(30)는, 비밀키 S = {s1, s2, ..., sk}를 적용하여 연산하기 때문에, 비밀키를 모르는 공격자로부터는 안전한 암호화 동작을 수행한다. 본 실시예는, EACDP(Error-free Approximate Greatest Common Divisor Problem)가 안전하기만 하면, 안전한 암호 시스템이라고 할 수 있다.
한편, 상술한 모듈러 연산부(10), 랜덤화부(20), 및 CRT 연산부(30)는 각각 Q, E, S와 같은 값들을 입력값으로 이용하며, 이들 값들은 d, k, λ, η, 및 ρ와 같은 파라미터들과 도 2의 (b)에 나타낸 수식으로서 정의될 수 있다.
본 발명의 일 실시예에 따르면, 위 파라미터들은 예를 들면, T 번 곱셈을 한다고 가정하면, 수학식 4를 만족하도록, λ , d, 및 η 가 정의될 수 있을 것이다.
<수학식 4>
(T+1)·(2·λ + d) 〈 η
다만, 수학식 4는 예시적인 것으로서 본원 발명이 수학식 4에 의해서만 한정되는 것이 아님을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자(이하, '당업자')라면 이해할 수 있을 것이다.
도시하지는 않았지만, 본 발명의 대체적 실시예에 따른 준동형 암호화 장치는, 파라미터 선택부를 더 포함할 수 있다. 파라미터 선택부는, 예를 들면, 위 파라미터들 d, k, λ, η, 및 ρ와 Q 및 E를 선택할 수 있다.
일반적으로, λ가 커지면 안전성이 높아지므로, 본원 명세서에는 λ를 종종 시큐어리티 파라미터라고 부르기로 한다.
또한, 도시하지는 않았지만, 본 발명의 대체적 실시예에 따른 준동형 암호화 장치는, 비밀 키 생성부를 더 포함할 수 있다. 비밀 키 생성부는, 예를 들면, {q1· s1, q2·s2, ..., qk·sk}가 서로 소인 집합이 되도록 소수 s1, s2, ..., sk 를 선택할 수 있다.
도 3은 도 1의 실시예에 의해 암호화된 암호화문을 복호화하는 복호화 장치를 설명하기 위한 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 복호화 장치는, 도 1을 참조하여 설명한 암호화 장치에 의해 암호화된 암호화문을 복호화하는 복호화부를 포함할 수 있다.
본 발명의 일 실시예에 따르면 복호화부는, 다음의 수학식 5에 의해서, 모듈러를 계산하는 제2 모듈러 연산부(40)를 포함할 수 있다.
<수학식 5>
M = (c mod S) mod Q
여기서, C는 도 1을 참조하여 설명한 암호화 장치에 의해 암호화된 암호화 문이다.
제2 모듈러 연산부(40)는 도 3에 도시된 바와 같이 암호화문(c), 비밀키(S), 및 Q를 입력받아서, 모듈러 M을 출력할 수 있다.
복호화부는, 또한, 다음의 수학식 6에 의해서, CRT 연산을 수행하는 제2 CRT 연산부(50)를 더 포함할 수 있다.
<수학식 6>
p = CRTQ(M)
제2 CRT 연산부(50)는, 도 3에 도시된 바와 같이, 제2 모듈러 연산부(40)가 출력하는 모듈러에 중국인 나머지 정리(CRT)를 적용하여 평문(p)을 생성할 수 있다.
이상 도 3을 참조하여 설명한 복호화부는, 도 1을 참조하여 설명한 암호화 장치에 포함되도록 구성되거나, 또는 도 1을 참조하여 설명한 암호화 장치와는 무관하게 독립된 장치(예를 들면, 모바일 기기, 데스크 탑, 서버 등)에 포함되도록 구성될 수 있다.
도 4는 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치에 의해 암호화된 암호화문의 덧셈 및 곱셈을 설명하기 위한 도면이다.
도 4(a)를 참조하면, 본 발명의 일 실시예에 따른 준동형 암호화 장치는, 도 1을 참조하여 설명한 암호화 장치에 의해 암호화된 암호화문 c1과 c2를, 다음의 수학식 7에 의해서 덧셈 연산하는 덧셈 연산부(60)를 더 포함할 수 있다.
<수학식 7>
(c1+c2) mod N
여기서 N은 도 2에 나타낸 바와 같이 수학식
Figure pat00001
에 의해 정의된다.
도 4(b)를 참조하면, 본 발명의 일 실시예에 따른 준동형 암호화 장치는, 도 1을 참조하여 설명한 암호화 장치에 의해 암호화된 암호화문 c1과 c2를, 다음의 수학식 8에 의해서 곱셈 연산하는 곱셈 연산부(70)를 더 포함할 수 있다.
<수학식 8>
(c1×c2) mod N
도 4(a) 또는 도 4(b)에 도시된 바와 같은 수학식에 따른 연산동작을 수행하는 덧셈 연산부 및/또는 곱셈 연산부는, 도 1을 참조하여 설명한 암호화 장치에 포함되도록 구성되거나, 또는 도 3을 참조하여 설명한 복호화 장치에 포함되도록 구성되거나, 또는 도 1 또는 도 3에서 설명한 장치들과는 무관하게 독립된 장치에 포함되도록 구성될 수 있다.
도 5는 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치 및/또는 복호화 장치가 적용되는 컴퓨터 시스템을 설명하기 위한 도면이다.
도 1 내지 도 4를 참조하여 설명한 본 발명의 실시예들과, 도 6 이하를 참조하여 설명할 본원 발명의 실시예들은, 예를 들면 도 5에 도시된 컴퓨터 시스템에 구현될 수 있다.
도 5의 컴퓨터 시스템은 스마트 폰이나 PDA와 같은 모바일 기기, 데스크 탑 PC, 타블렛 PC, 또는 서버와 같은 컴퓨터 시스템 중의 어느 하나일 수 있으나, 이들 컴퓨터 시스템에만 한정되는 것이 아니다.
도 5의 컴퓨터 시스템에는, 도 1 과 도 2 를 참조하여 설명한 본 발명의 암호화 장치나, 도 6 과 도 8을 참조하여 설명한 암호화 방법이 구현될 수 있다.
다르게는, 도 5의 컴퓨터 시스템에는, 도 3을 참조하여 설명한 본 발명의 복호화 장치나, 도 9를 참조하여 설명한 암호화 방법이 구현될 수 있다.
또한, 도 5의 컴퓨터 시스템에는, 상술한 본원 발명에 따른 암호화 장치 및 복호화 장치, 및 그 방법들이 모두 구현될 수도 있다.
또한, 도 5의 컴퓨터 시스템에는, 도 4를 참조하여 설명한 덧셈 또는 곱셈 동작을 수행하는 연산부가 구현될 수도 있다.
도 5를 참조하면, 컴퓨터 시스템(100)은, 프로그램 로직(101), 프로세서(103), 저장부(105), 및 메모리(107)를 포함할 수 있다.
프로그램 로직(101)은, 컴퓨터에서 실행가능한 코드(Code)의 형태로 구현될 수 있으며, 저장부(105)에 저장되어 있다가 프로세서(103)의 제어하에 메모리(107)에 로딩되어 동작할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 1을 참조하여 설명한 모듈러 연산부(10), 랜덤화부(20), 및 CRT 연산부(30)의 동작을 수행하는 코드(code)를 포함할 수 있으며, 이러한 코드는 메모리(107)에 로딩되어 동작할 수 있다.
다른 예를 들면, 프로그램 로직(101)은, 도 3을 참조하여 설명한 제2모듈러 연산부(40), 및 제2 CRT 연산부(50)의 동작을 수행하는 코드(code)를 포함할 수 있다.
또 다른 예를 들면, 프로그램 로직(101)은, 도 4를 참조하여 설명한 곱셈 및 덧셈 연산을 수행하는 코드(code)를 포함할 수 있다.
다른 예를 들면, 프로그램 로직(101)은, 도 6 및/또는 도 7 동작을 수행하는 코드(code)를 포함할 수 있다.
또 다른 예를 들면, 프로그램 로직(101)은, 도 8 및/또는 도 9의 동작을 수행하는 코드(code)를 포함할 수 있다.
다른 예를 들면, 프로그램 로직(101)은, 파라미터 선택부(미도시)나 비밀키 생성부(미도시)의 동작을 수행하는 코드를 포함할 수 있다.
이상 설명한 실시예는, 도 1, 도 3, 도 4, 도 6 내지 도 9를 참조하여 설명한 실시예들이 모두 컴퓨터에서 실행가능한 프로그램의 코드로 구현되는 예를 설명하였지만, 상술한 구성요소들 중 적어도 일부는 하드웨어 로직으로도 구현이 가능할 것이다. 예를 들면, 모듈러 연산부(10), 랜덤화부(20), 또는 CRT 연산부(30)는 하드웨어 로직으로도 구현이 가능할 것이다. 다른 구성요소들도 마찬가지로 하드웨어 로직으로도 구현이 가능하다.
도 6은 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 방법을 설명하기 위한 도면이다.
발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 방법(이하, '본 준동형 암호화 방법'이라고 함)을 도 6을 참조하여 설명하되, 도 5의 컴퓨터 시스템(100)에 적용한 것을 예로 들어서 설명하기로 한다.
프로그램 로직(101)은, 메모리(107)에 로딩되어 프로세서(103)의 제어하에, 공개용 정보 및 대칭키(비밀키) 생성 동작을 수행한다(S101). 여기서, 공개용 정보는 도 2에 도시된 정보들 중 적어도 일부이며, 대칭키는 S일 수 있다.
이후, 프로그램 로직(101)은, 메모리(107)에 로딩되어 프로세서(103)의 제어하에, 모듈러 연산 동작을 수행한다(S103). 여기서, 모듈러 연산 동작은, 예를 들면, 상술한 수학식 1에 의한 연산 동작일 수 있다.
프로그램 로직(101)은, 메모리(107)에 로딩되어 프로세서(103)의 제어하에, 램덤화 동작을 수행한다(S105). 여기서, 랜덤화 동작은, 예를 들면, 상술한 수학식 2에 의한 연산 동작일 수 있다.
프로그램 로직(101)은, 메모리(107)에 로딩되어 프로세서(103)의 제어하에, CRT 연산 동작을 수행한다(S107). 여기서, CRT 연산 동작은, 예를 들면, 상술한 수학식 3에 의한 연산 동작일 수 있다. S107의 동작이 완료되면 암호화문(c)가 출력되며, 후술할 도 7에서의 모듈러 연산(S201)의 입력이 될 수 있다.
도 7은 본 발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 복호화 방법을 설명하기 위한 도면이다.
발명의 일 실시예에 따른 중국인 나머지 정리에 기반한 준동형 복호화 방법(이하, '본 준동형 암호화 방법'이라고 함)을 도 7을 참조하여 설명하되, 도 5의 컴퓨터 시스템(100)에 적용한 것을 예로 들어서 설명하기로 한다.
프로그램 로직(101)은, 메모리(107)에 로딩되어 프로세서(103)의 제어하에, 모듈러 연산 동작을 수행한다(S201). 여기서, 모듈러 연산 동작은,, 예를 들면, 상술한 수학식 5에 의한 연산 동작일 수 있다.
이후, 프로그램 로직(101)은, 메모리(107)에 로딩되어 프로세서(103)의 제어하에, CRT 연산 동작을 수행한다(S203). 여기서, CRT 연산 동작은, 예를 들면, 상술한 수학식 6에 의한 연산 동작일 수 있다.
도 8은 본 발명의 다른 실시예에 따른 중국인 나머지 정리에 기반한 준동형 암호화 장치를 설명하기 위한 도면이다.
도 8을 참조하면, 도 1의 실시예의 대체 실시예로서, 도 1의 랜덤화부(20)는 수학식 2에 의한 동작 대신에, 다음의 수학식 9에 의한 랜덤화 동작을 수행할 수 있다.
<수학식 9>
A' = E·M + Q
수학식 2의 결과물과 구별하기 위해서, 수학식 9의 결과물은 A'로서 표기하였으며, A'는 CRT 연산부(30)의 입력이 되며, A'는 CRT 연산부(30)에 의해서 암호화문 c'로서 출력된다.
도 9는 도 8의 실시예에 의해 암호화된 암호화문을 복호화하는 복호화 장치를 설명하기 위한 도면이다.
도 9를 참조하면, 도 3의 실시예의 대체 실시예로서, 도 3의 제2 모듈러 연산부(40)는 수학식 5 대신에, 다음의 수학식 10에 의한 모듈러 연산 동작을 수행할 수 있다.
<수학식 10>
M =[(c mod S)/Q ]
여기서, [ ]는 가우스 기호로서 소수점 이하의 값을 버리는 것이다.
이후, CRT 연산부 동작은 전술한 도 3의 실시예의 동작과 동일하므로, 생략하기로 한다.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 모듈러 연산부 20: 랜덤화부
30: CRT 연산부
60: 덧셈 연산부 70: 곱셈 연산부
100; 컴퓨터 시스템 101: 프로그램 로직
103: 프로세서 107: 메모리
109: 저장부

Claims (20)

  1. 평문(p)으로부터 모듈러(M)를 연산하는 단계;
    상기 모듈러(M)에 에러(E)를 부가하여 랜덤화하는 단계; 및
    랜덤화된 모듈러(A)에 대하여 중국인 나머지 정리(CRT)를 적용하여 암호화문(c)을 생성하는 단계;를 포함하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  2. 제1항에 있어서,
    상기 모듈러(M)를 연산하는 단계는,
    수학식 M = p mod Q
    에 의해 연산하는 단계이며, 여기서, Q = {qi| 1≤i≤k, i와 k는 양의 정수}이고, qi는 서로 소인 양의 정수인 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  3. 제2항에 있어서,
    상기 램덤화하는 단계는,
    수학식 A = M + E·Q
    에 의해 연산하는 단계이며, 여기서, E= {ei| 1≤i≤k, i와 k는 양의 정수}인 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  4. 제3항에 있어서,
    상기 암호화문을 생성하는 단계는,
    수학식 c = CRTS(A)
    에 의해 연산하는 단계이며, 여기서 CRT는 중국인의 나머지 정리이고, S= si| 1≤i≤k, i와 k는 양의 정수} 로서 키(Key)인 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  5. 제3항에 있어서,
    상기 qi의 길이는 d 이고,
    상기 ei의 길이는 2·λ이고,
    상기 λ는 에러의 크기를 정의하기 위한 시큐어리티 파라미터이고,
    상기 k는 상기 키(Key)의 갯수를 정의하는 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  6. 제5항에 있어서,
    수학식 (T+1)·(2·λ + d) 〈 η)를 만족하도록, λ , d, 및 η 가 정의되며,
    여기서, T는 곱셈의 횟수를 의미하며, η는 Si의 길이인 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  7. 제1항에 있어서,
    평문 p1으로부터, 상기 모듈러를 연산하는 단계, 상기 램덤화하는 단계, 및 상기 암호화문을 생성하는 단계를 순차적으로 수행하여 생성된 암호화문이 c1라고 하고,
    평문 p2으로부터, 상기 모듈러를 연산하는 단계, 상기 램덤화하는 단계, 및 상기 암호화문을 생성하는 단계를 순차적으로 수행하여 생성된 암호화문이 c2라고 할 때,
    수학식 (c1+c2) mod N
    에 의해 상기 c1과 상기 c2의 덧셈이 수행될 수 있으며, 여기서 N은 다음 수학식
    Figure pat00002
    에 의해 정의되는 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  8. 제7항에 있어서,
    수학식 (c1×c2) mod N
    에 의해 상기 c1과 상기 c2의 곱셈이 수행될 수 있는 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  9. 제2항에 있어서,
    상기 램덤화하는 단계는,
    수학식 A = E·M + Q
    에 의해 연산하는 단계이며, 여기서, E= {ei| 1≤i≤k, i와 k는 양의 정수}인 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  10. 제4항에 있어서,
    상기 암호화문(c)를 복호화하는 단계;를 더 포함하며,
    상기 복호화하는 단계는,
    수학식 M = (c mod S) mod Q
    에 의해 모듈러를 계산하는 단계; 및
    수학식 p = CRTQ(M)
    에 의해 중국인 나머지 정리(CRT)를 적용하여 평문(p)을 생성하는 단계;를 포함하는 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암복호화 방법.
  11. 평문(p)으로부터 모듈러(M)를 연산하는 모듈러 연산부;
    상기 모듈러(M)에 에러(E)를 부가하여 랜덤화하는 램덤화부; 및
    랜덤화된 모듈러(A)에 대하여 중국인 나머지 정리(CRT)를 적용하여 암호화문(c)을 생성하는 CRT 연산부;를 포함하는 중국인 나머지 정리에 기반한 준동형 암호화 장치.
  12. 제11항에 있어서,
    상기 모듈러 연산부는,
    수학식 M = p mod Q
    에 의해 연산하며, 여기서, Q = {qi| 1≤i≤k, i와 k는 양의 정수}이고, qi는 서로 소인 양의 정수인 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암호화 장치.
  13. 제12항에 있어서,
    상기 램덤화부는,
    수학식 A = M + E·Q
    에 의해 연산하며, 여기서, E= {ei| 1≤i≤k, i와 k는 양의 정수}인 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암호화 장치.
  14. 제13항에 있어서,
    상기 CRT 연산부는,
    수학식 c = CRTS(A)
    에 의해 연산하며, 여기서 CRT는 중국인의 나머지 정리이고, S= si| 1≤i≤k, i와 k는 양의 정수} 로서 키(Key)이고,
    상기 qi의 길이는 d 이고, 상기 ei의 길이는 2·λ이고,
    상기 λ는 에러의 크기를 정의하기 위한 시큐어리티 파라미터이고,
    상기 k는 상기 키(Key)의 갯수를 정의하는 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암호화 장치.
  15. 제14항에 있어서,
    수학식 (T+1)·(2·λ + d) 〈 η)를 만족하도록, λ , d, 및 η 가 정의되며,
    여기서, T는 곱셈의 횟수를 의미하며, η는 Si의 길이인 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암호화 장치.
  16. 제11항에 있어서,
    평문 p1으로부터, 상기 모듈러 연산부, 상기 램덤화부, 및 상기 CRT 연산부의 순차적 동작에 의해 생성된 암호화문이 c1라고 하고,
    평문 p2으로부터, 상기 모듈러 연산부, 상기 램덤화부, 및 상기 CRT 연산부의 순차적 동작에 의해 생성된 암호화문이 c2라고 할 때,
    수학식 (c1+c2) mod N
    에 의해 c1과 c2의 덧셈이 수행될 수 있으며, 여기서 N은 다음 수학식
    Figure pat00003
    에 의해 정의되는 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암호화 장치.
  17. 제16항에 있어서,
    수학식 (c1×c2) mod N
    에 의해 곱셈이 수행될 수 있는 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암호화 장치.
  18. 제12항에 있어서,
    상기 램덤화부는,
    수학식 A = E·M + Q
    에 의해 연산하며, 여기서, E= {ei| 1≤i≤k, i와 k는 양의 정수}인 것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 암호화 장치.
  19. 암호화문(c)을 복호화하는 복호화부;를 포함하며,
    상기 복호화부는
    수학식 M = (c mod S) mod Q
    에 의해 모듈러를 계산하고,
    수학식 p = CRTQ(M)
    에 의해 중국인 나머지 정리(CRT)를 적용하여 평문(p)을 생성하며,
    상기 암호화문(c)는, 제13항 내지 제15항 중 어느 하나의 항에 의해 암호화된 암호화문 인것을 특징으로 하는 중국인 나머지 정리에 기반한 준동형 복호화 장치.
  20. 제1항 내지 제10항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
KR1020120094061A 2012-08-28 2012-08-28 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치 KR101440680B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120094061A KR101440680B1 (ko) 2012-08-28 2012-08-28 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치
US14/127,478 US20150312028A1 (en) 2012-08-28 2013-08-28 Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same
PCT/KR2013/007743 WO2014035146A2 (ko) 2012-08-28 2013-08-28 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120094061A KR101440680B1 (ko) 2012-08-28 2012-08-28 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치

Publications (2)

Publication Number Publication Date
KR20140028233A true KR20140028233A (ko) 2014-03-10
KR101440680B1 KR101440680B1 (ko) 2014-09-15

Family

ID=50641695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120094061A KR101440680B1 (ko) 2012-08-28 2012-08-28 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치

Country Status (1)

Country Link
KR (1) KR101440680B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160017226A (ko) * 2014-08-01 2016-02-16 서울대학교산학협력단 co-ACD 문제 기반의 부가적 동형 암호화 및 복호화 방법과 이를 이용하는 장치
US11303427B2 (en) 2018-01-12 2022-04-12 Korea Smart Authentication Corp. Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack
CN117113442A (zh) * 2023-08-28 2023-11-24 哈尔滨理工大学 一种面向同态加密算法Paillier的数据通路的加速系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627893A (en) * 1992-12-22 1997-05-06 Telstra Corporation Limited Cryptographic method
KR100954844B1 (ko) * 2008-10-07 2010-04-28 고려대학교 산학협력단 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
US8462939B2 (en) 2010-12-07 2013-06-11 King Fahd University Of Petroleum And Minerals RNS-based cryptographic system and method
US8837715B2 (en) 2011-02-17 2014-09-16 Gradiant, Centro Tecnolóxico de Telecomunicacións de Galica Method and apparatus for secure iterative processing and adaptive filtering

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160017226A (ko) * 2014-08-01 2016-02-16 서울대학교산학협력단 co-ACD 문제 기반의 부가적 동형 암호화 및 복호화 방법과 이를 이용하는 장치
US11303427B2 (en) 2018-01-12 2022-04-12 Korea Smart Authentication Corp. Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack
CN117113442A (zh) * 2023-08-28 2023-11-24 哈尔滨理工大学 一种面向同态加密算法Paillier的数据通路的加速系统
CN117113442B (zh) * 2023-08-28 2024-04-05 哈尔滨理工大学 一种面向同态加密算法Paillier的数据通路的加速系统

Also Published As

Publication number Publication date
KR101440680B1 (ko) 2014-09-15

Similar Documents

Publication Publication Date Title
US20220141038A1 (en) Method of rsa signature or decryption protected using a homomorphic encryption
JP5001176B2 (ja) 署名生成装置、署名生成方法及び署名生成プログラム
JP4086503B2 (ja) 暗号演算装置及び方法並びにプログラム
EP3596876B1 (en) Elliptic curve point multiplication device and method for signing a message in a white-box context
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
CN105406969A (zh) 数据加密装置及方法
US8976960B2 (en) Methods and apparatus for correlation protected processing of cryptographic operations
US20160013933A1 (en) Order-preserving encryption system, device, method, and program
JP2014207717A (ja) 指数難読化
KR101913644B1 (ko) 메시지 인증이 가능한 부호 기반 암호화 장치 및 방법
KR20180110550A (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
KR101440680B1 (ko) 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치
EP3664359A1 (en) A computation device using shared shares
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
JP6397921B2 (ja) 暗号アルゴリズムにおける演算子リフティング
JP2007187908A (ja) サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法
US11288985B2 (en) Encryption device, decryption device, encryption method, decryption method, encryption program product, and decryption program product
JP7371757B2 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法およびプログラム
KR100954844B1 (ko) 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
KR20090004625A (ko) 공개 키 암호화 연산의 순서 변경 방법
KR20090080842A (ko) Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체
KR100953716B1 (ko) Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
JP2008286964A (ja) ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190829

Year of fee payment: 6