KR102027508B1 - Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법 - Google Patents

Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법 Download PDF

Info

Publication number
KR102027508B1
KR102027508B1 KR1020170183661A KR20170183661A KR102027508B1 KR 102027508 B1 KR102027508 B1 KR 102027508B1 KR 1020170183661 A KR1020170183661 A KR 1020170183661A KR 20170183661 A KR20170183661 A KR 20170183661A KR 102027508 B1 KR102027508 B1 KR 102027508B1
Authority
KR
South Korea
Prior art keywords
value
public key
public
key
module
Prior art date
Application number
KR1020170183661A
Other languages
English (en)
Other versions
KR20190081259A (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 KR1020170183661A priority Critical patent/KR102027508B1/ko
Priority to PCT/KR2018/016014 priority patent/WO2019132354A1/ko
Publication of KR20190081259A publication Critical patent/KR20190081259A/ko
Application granted granted Critical
Publication of KR102027508B1 publication Critical patent/KR102027508B1/ko
Priority to US16/904,806 priority patent/US11658819B2/en

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명에 의해, 컴퓨터가 수행하는 공개키와 비밀키 생성 방법은, 비밀키(
Figure 112017130985682-pat00098
)를
Figure 112017130985682-pat00099
위의 임의의 분포에서 샘플링하여 결정하는 제1 단계와; 제1 에러 벡터(
Figure 112017130985682-pat00100
)를
Figure 112017130985682-pat00101
에서 샘플링하여 결정하고, 제2 에러값(e')을
Figure 112017130985682-pat00102
에서 샘플링하여 결정하는 제2 단계와;
Figure 112017130985682-pat00103
를 만족하는 랜덤하게 균일한 행렬
Figure 112017130985682-pat00104
을 선택하는 제3 단계와;
Figure 112017130985682-pat00105
을 만족하는 랜덤 열벡터
Figure 112017130985682-pat00106
를 선택하는 제4 단계와; 공개키(pk)를
Figure 112017130985682-pat00107
로 결정하는 제4 단계를 포함한다.

Description

Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법{Method for Key Generation, Encryption and Decryption for Public Key Encryption Scheme Based on Module-Wavy and Module-LWR}
본 발명은 래티스(lattice) 기반 공개키 암호화 방법에 대한 것으로서, 좀 더 구체적으로는 Module-Wavy와 Module-LWR에 기반한 공개키와 비밀키 생성 및 그러한 키를 이용한 공개키 암호화/복호화 방법에 대한 것이다.
암호화 방법에는 크게 대칭키 암호화 방법과 비대칭키 암호화 방법이 있다. 대칭키 암호화 방법은 암호화에 사용하는 키와 복호화에 사용하는 키가 동일하기 때문에 속도는 빠르지만 키의 분실 등이 발생하는 경우 보안성이 담보되지 않은 단점이 있다. 그러한 문제를 해결하기 위하여 등장한 것이 비대칭키 암호화 방법인데, 비대칭키 암호화 방법에 의하면 제3자에게 공개하는 공개키와, 사용자 본인만 보유하는 비밀키(개인키)를 사용하며, 암호문을 수신한 공개키로 암호화하면, 수신인은 암호문을 자신만이 가지고 있는 비밀키로 복호화할 수 있다.
공개키 암호화 방법 중 가장 널리 사용되는 것은 RSA 방식인데 현재 연구가 활발하고 향후 등장할 예정인 양자 컴퓨터가 실용화되면 양자 컴퓨터에 의해 손쉽게 풀릴 수 있어서 그에 대한 대안이 필요한 상황이다.
그러한 대안 중 하나로 래티스 기반 공개키 암호화 방식이 제안된 바 있는데 그 예로 최근에 NIST call for post-quantum standards를 겨냥해서 소개한 스킴인 Kyber((Bos, J., Ducas, L., Kiltz, E., Lepoint, T., Lyubashevsky, V., Schanck, J.M., Schwabe, P., Stehl´e, D.: CRYSTALS - kyber: a CCA-secure module lattice-based KEM. Cryptology ePrint Archive, Report 2017/634 (2017). http://eprint.iacr.org/2017/634))가 있다. 그런데 이 스킴은 암호문의 요소(component)가 두 개이기 때문에 암호문의 크기가 크고, 기존의 방식(NTRU 방식)에 비해서 속도도 느린 단점이 있다.
본 발명은 그러한 종래 기술의 문제를 해결함으로써 암호문의 크기도 저감시키고 실제 적용시에 통신 부하와 통신량을 줄이며 그리고 비용도 절감할 수 있는 래티스 기반 공개키 암호화 방법을 제공하는 것을 목적으로 한다.
본 발명에 의해, 컴퓨터가 수행하는 공개키와 비밀키 생성 방법은, 비밀키(
Figure 112017130985682-pat00001
)를
Figure 112017130985682-pat00002
위의 임의의 분포에서 샘플링하여 결정하는 제1 단계와; 제1 에러 벡터(
Figure 112017130985682-pat00003
)를
Figure 112017130985682-pat00004
에서 샘플링하여 결정하고, 제2 에러값(e')을
Figure 112017130985682-pat00005
에서 샘플링하여 결정하는 제2 단계와;
Figure 112017130985682-pat00006
를 만족하는 랜덤하게 균일한 행렬
Figure 112017130985682-pat00007
을 선택하는 제3 단계와;
Figure 112017130985682-pat00008
을 만족하는 랜덤 열벡터
Figure 112017130985682-pat00009
를 선택하는 제4 단계와; 공개키(pk)를
Figure 112017130985682-pat00010
로 결정하는 제4 단계를 포함한다.
제1 단계에서 생성되는 비밀키(
Figure 112017130985682-pat00011
)는
Figure 112017130985682-pat00012
에서 샘플링될 수 있다.
본 발명에 의해 컴퓨터에 의해서 수행되는, 공개키를 이용한 메시지 암호화 방법은, 공개키와 메시지(
Figure 112017130985682-pat00013
)를 수신하는 제1 단계와; -1,0,1 중 어느 하나의 계수를 가지는 n차 다항식 d개를 랜덤하게 추출하는 제2 단계와; 상기 다항식들 및 공개키의 일부를 연산하여 제1 값을 산출하는 제3 단계와; 상기 메시지를 공개키의 일부를 사용하여 인코딩하여 제2 값을 산출하는 제4 단계; 상기 제1 값과 제2 값을 연산하여 제3 값을 산출하는 제5 단계와; 제3값에 대해 기설정된 하위 비트를 제거하기 위한 라운딩 처리를 수행하여 암호문을 산출하는 제6 단계를 포함한다.
암호화 방법의 제2 단계는, 다항식 벡터(polynomial vector)
Figure 112017130985682-pat00014
Figure 112017130985682-pat00015
에서 샘플링하여 결정하는 단계가 될 수 있다. 제1 값은
Figure 112017130985682-pat00016
이며, 제2 값은
Figure 112017130985682-pat00017
이며, 제3 값은
Figure 112017130985682-pat00018
으로 산출될 수 있다.
제6 단계에서 라운딩 처리된 암호문은
Figure 112017130985682-pat00019
로 산출될 수 있다.
본 발명에 의한 복호화 방법은, 암호문(
Figure 112017130985682-pat00020
)을 수신하는 제1 단계와; 다음 수학식에 의해서 복호화하는 제2 단계를 포함한다.
[수학식]
Figure 112017130985682-pat00021
본 발명에 의한 암호문 c는 기존의 Kyber 방식과 달리 암호문이 하나의 요소(component)만을 가지고 있으며, 더욱이 p<q 이기 때문에 암호문의 크기 역시 현저하게 축소된다. 따라서 기존의 래티스 기반 공개키 암호화 방식에 비하여 빠른 처리가 가능하고 암호화 통신에 있어서 통신부하 및 통신량이 현저하게 감소하여 관련 비용 역시 저감할 수 있는 효과가 제공된다.
도 1은 본 발명에 의한 공개키 및 비밀키 생성 방법의 흐름도.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.
본 명세서에서 수행되는 정보(데이터) 전송/수신 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것 만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 필수적이지 않은 특정 구성요소를 배제하거나 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
본 발명은 전자적 연산이 가능한 컴퓨터 등의 전자적 연산 장치에 의해서 수행되며, 후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.
그리고 본 명세서에서 "값"이라 함은 스칼라값 뿐만 아니라 벡터 및 행렬도 포함하는 광의의 개념으로 정의된다.
본 명세서에서 일반적으로 소문자 볼드체는 열벡터, 대문자는 행렬을 의미한다.
본 명세서에서 사용되는 변수 등을 아래와 같이 정의한다.
n: 2의 거듭 제곱
d: 양의 정수
q: 양의 정수; 큰 모듈러스(large modulus)
p: q보다 작은 양의 정수; 라운딩 모듈러스(rounding modulus)
Figure 112017130985682-pat00022
; -q/2보다 크고, q/2보다 같거나 작은 정수의 집합(
Figure 112017130985682-pat00023
도 같은 방식으로 정의됨)
Figure 112017130985682-pat00024
Figure 112017130985682-pat00025
Figure 112017130985682-pat00026
(f(x)): f(x)로 생성되는
Figure 112017130985682-pat00027
의 이데알(ideal)
f(x): n차 다항식(예를 들어, n=
Figure 112017130985682-pat00028
일 때 사이클로토믹 다항식
링 R: 계수가 정수인 n차 다항식의 집합
링 R에서 연산: 모든 다항식을 연산한 후에 f(x)로 나눈 나머지를 계산
링 Rq: 계수가
Figure 112017130985682-pat00029
의 원소인 n차 다항식의 집합
링 Rq에서 연산: 모든 다항식을 연산한 후에 f(x)로 나누고 각 계수에 q를 필요한 만큼 더하거나 빼서 모든 계수가
Figure 112017130985682-pat00030
에 포함되도록 함.
링 Rt: 계수가
Figure 112017130985682-pat00031
의 원소인 n차 다항식의 집합.
링 Rt에서 연산: 모든 다항식을 연산한 후에 f(x)로 나누고, 각 계수에 t를 필요한 만큼 더하거나 빼서 모든 계수가
Figure 112017130985682-pat00032
에 포함되도록 함.
Figure 112017130985682-pat00033
: 실수 r과 가장 가까운 정수; 같은 거리의 경우 올림
같은 개수의 행을 가지는 두 개의 행렬 또는 벡터 A와 B에 대해서,
Figure 112017130985682-pat00034
는 행렬 A와 B의 다음과 같은 연접(concatenation)을 의미한다.
Figure 112017130985682-pat00035
이고
Figure 112017130985682-pat00036
일 때에 A와 B의 연접 행렬 C의 요소 Ci,j는 다음과 같이 정의된다.
Figure 112017130985682-pat00037
Figure 112017130985682-pat00038
: 분포 D에 따라 x를 샘플링하는 것. 분포 D가 유한 집합일 때에는 균일한 샘플링이 된다.
Figure 112017130985682-pat00039
: 이산 가우시안 분포(discrete Gaussian distribution); 정수 x에 대해서
Figure 112017130985682-pat00040
에 비례하는 확률을 나타내는 확률 분포.
Figure 112017130985682-pat00041
가 아주 작지 않은 경우에는
Figure 112017130985682-pat00042
의 분산(variance)은
Figure 112017130985682-pat00043
에 아주 근접한다.
0 이상 n 이하인 정수 h에 대해서, 분포
Figure 112017130985682-pat00044
Figure 112017130985682-pat00045
에서 0이 아닌 원소의 개수가 h개인 벡터를 균등하게 샘플링하는 분포이다.
1보다 크거나 같은 정수 n에 대해서,
Figure 112017130985682-pat00046
은 분포 D를 따르는 n개의 독립 랜덤 변수들(independent and identically distributed random variables)의 곱을 나타낸다.
본 발명의 기초가 되는 Module-LWR 문제는 Alperin-Sheriff, Jacob, and Daniel Apon. "Dimension-Preserving Reductions from LWE to LWR." IACR Cryptology ePrint Archive report 2016/589. (2016). http://eprint.iacr.org/2016/589에 공개되어 있다. 또다른 기초인 Moudle-Wavy 문제는 본 발명의 발명자들에 의해서 다음과 같이 정의된다.
Figure 112017130985682-pat00047
의 원소인 비밀 다항식 s에 대해서 에러 다항식 e를
Figure 112017130985682-pat00048
에서 샘플링하고,
Figure 112017130985682-pat00049
를 만족하는
Figure 112017130985682-pat00050
를 균등하고 랜덤하게 선택하고 a의 분포를
Figure 112017130985682-pat00051
로 표시할 때, Module-Wavy 문제는 s를 D에서 샘플링 했을 때,
Figure 112017130985682-pat00052
와,
Figure 112017130985682-pat00053
상의 균등 분포를 구별하는 문제이다.
다음으로는 본 발명에 의한 공개키 암호화 및 복호화 방법에 있어서 사용되는 공개키와 비밀키 생성 방법에 대해서 설명한다.
키 생성에 앞서서 먼저 보안 인수(security parameter) λ를 정하고 그에 기초하여 앞서 정의한 변수 n, p, q, d를 결정하고, 추가적인 변수로 양의 정수 hs 및 hr과 에러 파라미터 α를 다음과 같이 결정한다. 보안 인수 λ는 암호 스킴(scheme)이 얼마나 안전한지를 나타내는 척도로서 예를 들어 128이 될 수 있다.
hs < n
hr < n
0<α<1
먼저 다음과 같이 다항식 열벡터 s를 샘플링하여 결정한다(단계 S100)
Figure 112017130985682-pat00054
열벡터 s의 다항식은 0, -1, +1 의 계수를 가지며, 후술하는 바와 같이 비밀키로 결정된다.
이어서 제1 에러 벡터(e)와 제2 에러값(e')을 다음과 같이 샘플링하여 결정한다(단계 S110)
Figure 112017130985682-pat00055
Figure 112017130985682-pat00056
그리고
Figure 112017130985682-pat00057
를 만족하는 행렬
Figure 112017130985682-pat00058
을 랜덤하고 균일하게(uniformly at random) 선택한다(단계 S120).
다음으로는 다음 관계를 만족하는 랜덤 열벡터 b를 선택한다(단계 S130)
Figure 112017130985682-pat00059
Figure 112017130985682-pat00060
는 q/2의 내림값을 의미한다.
이러한 과정을 거쳐서 결정되거나 선택된 행렬과 벡터를 이용하여 본 발명에 의한 공개키와 비밀키를 다음과 같이 생성한다(단계 S140)
공개키(pk) =
Figure 112017130985682-pat00061
비밀키(sk) = s
이와 같이 공개키와 비밀키를 생성한 후에 메시지를 암호화하고 복호화하는 과정에 대해서 설명한다.
공개키를 소유한 자는 메시지(
Figure 112017130985682-pat00062
)를 입력받는다. 즉 메시지 m은 각 계수가
Figure 112017130985682-pat00063
의 원소인 n차 다항식으로 표시된다.
0, -1, +1 의 계수를 가지는 다항식 열벡터 r을 다음과 같이 샘플링하여 결정한다.
Figure 112017130985682-pat00064
위에서 설명한 샘플링에서
Figure 112017130985682-pat00065
Figure 112017130985682-pat00066
Figure 112017130985682-pat00067
상의 임의의 분포, 즉 -1, 0, 1의 계수를 가지는 n차 다항식 d개를 각각
Figure 112017130985682-pat00068
Figure 112017130985682-pat00069
에서 랜덤하게 추출하는 과정으로 볼 수 있다.
이 다항식들과 공개키의 일부를 연산하여 제1 값을 산출하고, 메시지를 공개키 일부를 사용하여 인코딩한 제2 값을 산출한 후에, 제1 값과 제2 값을 연산하여 제3 값을 산출한다.
제1 값은 예를 들어,
Figure 112017130985682-pat00070
가 될 수 있고, 제2 값은
Figure 112017130985682-pat00071
가 될 수 있으며, 제3 값은, 제1 값과 제2 값의 합인
Figure 112017130985682-pat00072
가 될 수 있다.
이 제3 값에 대해서 기설정된 하위 비트를 제거하기 위한 라운딩(rounding) 처리를 수행하기 위해 제3 값에 p/q를 곱해서 다음과 같이 암호문을 산출한다.
Figure 112017130985682-pat00073
Figure 112017130985682-pat00074
는, 각각의 계수가
Figure 112017130985682-pat00075
에 포함되어 있는 n차 다항식 d개의 튜플(tuple)을 원소로 갖는 링을 의미한다.
본 발명에 의한 암호문 c는 기존의 Kyber 방식과 달리 암호문이 하나의 요소(component)만을 가지고 있으며, 더욱이 p<q 이기 때문에 암호문의 크기 역시 현저하게 축소된다. 따라서 기존의 래티스 기반 공개키 암호화 방식에 비하여 빠른 처리가 가능하고 암호화 통신에 있어서 통신부하 및 통신량이 현저하게 감소하여 관련 비용 역시 저감할 수 있는 효과가 제공된다.
본 발명에 의한 암호문 c는 다음과 같이 복호화될 수 있다.
Figure 112017130985682-pat00076
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.

Claims (5)

  1. 컴퓨터에 의해서 수행되는 공개키와 비밀키 생성 방법에 있어서,
    비밀키(
    Figure 112017130985682-pat00077
    )를
    Figure 112017130985682-pat00078
    위의 임의의 분포에서 샘플링하여 결정하는 제1 단계와,
    제1 에러 벡터(
    Figure 112017130985682-pat00079
    )를
    Figure 112017130985682-pat00080
    에서 샘플링하여 결정하고, 제2 에러값(e')을
    Figure 112017130985682-pat00081
    에서 샘플링하여 결정하는 제2 단계와,
    Figure 112017130985682-pat00082
    를 만족하는 랜덤하게 균일한 행렬
    Figure 112017130985682-pat00083
    을 선택하는 제3 단계와,
    Figure 112017130985682-pat00084
    을 만족하는 랜덤 열벡터
    Figure 112017130985682-pat00085
    를 선택하는 제4 단계와,
    공개키(pk)를
    Figure 112017130985682-pat00086
    로 결정하는 제4 단계를 포함하는,
    공개키와 비밀키 생성 방법.
  2. 청구항 1에 있어서,
    제1 단계에서 생성되는 비밀키(
    Figure 112017130985682-pat00087
    )는
    Figure 112017130985682-pat00088
    에서 샘플링되는,
    공개키와 비밀키 생성 방법.
  3. 컴퓨터에 의해 수행되는, 청구항 2의 공개키와 비밀키 생성 방법에 의해서 생성된 공개키를 이용한 메시지 암호화 방법에 있어서,
    공개키와 메시지(
    Figure 112017130985682-pat00089
    )를 수신하는 제1 단계와,
    -1,0,1 중 어느 하나의 계수를 가지는 n차 다항식 d개를 랜덤하게 추출하는 제2 단계와,
    상기 다항식들 및 공개키의 일부를 연산하여 제1 값을 산출하는 제3 단계와,
    상기 메시지를 공개키의 일부를 사용하여 인코딩하여 제2 값을 산출하는 제4 단계;
    상기 제1 값과 제2 값을 연산하여 제3 값을 산출하는 제5 단계와,
    제3값에 대해 기설정된 하위 비트를 제거하기 위한 라운딩 처리를 수행하여, 암호문을 산출하는 제6 단계를 포함하는,
    암호화 방법.
  4. 청구항 3에 있어서,
    제2 단계는, 다항식 벡터(polynomial vector)
    Figure 112019041138887-pat00090
    Figure 112019041138887-pat00091
    에서 샘플링하여 결정하는 단계이며,
    제1 값은
    Figure 112019041138887-pat00092
    이며, 제2 값은
    Figure 112019041138887-pat00093
    이며, 제3 값은
    Figure 112019041138887-pat00094
    이며,
    제6 단계에서 라운딩 처리된 암호문은
    Figure 112019041138887-pat00095
    로 산출되는,
    암호화 방법.
  5. 컴퓨터에 의해 수행되는, 청구항 3의 암호화 방법에 의해 암호화된 암호문을 복호화하는 방법에 있어서,
    암호문(
    Figure 112019041138887-pat00096
    )을 수신하는 제1 단계와,
    다음 수학식에 의해서 복호화하는 제2 단계를 포함하는,
    복호화 방법.
    [수학식]
    Figure 112019041138887-pat00097

KR1020170183661A 2017-12-29 2017-12-29 Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법 KR102027508B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170183661A KR102027508B1 (ko) 2017-12-29 2017-12-29 Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법
PCT/KR2018/016014 WO2019132354A1 (ko) 2017-12-29 2018-12-17 Module-wavy와 module-lwr에 기반한 공개키 암호 키 생성 및 암복호화 방법
US16/904,806 US11658819B2 (en) 2017-12-29 2020-06-18 Method for generating public key and secret key based on module-wavy and module-LWR and method of encryption and decryption using the keys

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170183661A KR102027508B1 (ko) 2017-12-29 2017-12-29 Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법

Publications (2)

Publication Number Publication Date
KR20190081259A KR20190081259A (ko) 2019-07-09
KR102027508B1 true KR102027508B1 (ko) 2019-10-01

Family

ID=67064202

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170183661A KR102027508B1 (ko) 2017-12-29 2017-12-29 Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법

Country Status (3)

Country Link
US (1) US11658819B2 (ko)
KR (1) KR102027508B1 (ko)
WO (1) WO2019132354A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210133801A (ko) 2020-04-29 2021-11-08 국방과학연구소 Ring-LWR기반 양자내성 서명 방법 및 그 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102027508B1 (ko) 2017-12-29 2019-10-01 서울대학교산학협력단 Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법
KR20210081471A (ko) 2019-12-23 2021-07-02 삼성전자주식회사 프로그램 코드를 저장하는 비일시적 컴퓨터 판독가능 매체, 복호화 장치, 및 암호화 장치와 복호화 장치를 포함하는 통신 시스템
CN115913544B (zh) * 2022-12-02 2023-11-07 北京瑞莱智慧科技有限公司 数据处理方法、装置、电子设备和计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8861716B2 (en) * 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
KR102027508B1 (ko) 2017-12-29 2019-10-01 서울대학교산학협력단 Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Anamaria Costache and Nigel P. Smart, "Homomorphic Encryption without Gaussian Noise", IACR Cryptology ePrint Archive 2017 (2017.02.23.)*
Melissa Chase et al., "Security of homomorphic encryption", HomomorphicEncryption.org, Redmond WA, Tech. Rep, (2017.07.14.)*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210133801A (ko) 2020-04-29 2021-11-08 국방과학연구소 Ring-LWR기반 양자내성 서명 방법 및 그 시스템
US11909891B2 (en) 2020-04-29 2024-02-20 Agency For Defense Development Ring-LWR-based quantum-resistant signature method and system thereof

Also Published As

Publication number Publication date
US11658819B2 (en) 2023-05-23
WO2019132354A1 (ko) 2019-07-04
US20200322147A1 (en) 2020-10-08
KR20190081259A (ko) 2019-07-09

Similar Documents

Publication Publication Date Title
KR102027508B1 (ko) Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법
JP6720424B1 (ja) 鍵共有デバイス及び方法
KR101861089B1 (ko) 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법
KR101795771B1 (ko) 정수 기반 준동형 암호 기법에서 압축 암복호화를 제공하는 시스템 및 방법
EP2924911B1 (en) Secure pattern matching using somewhat homomorphic encryption
CN113904808B (zh) 一种私钥分发、解密方法、装置、设备及介质
KR100561847B1 (ko) 공개키를 이용한 데이터 암호화 및 복호화 방법
US11329799B2 (en) Calculation device for encryption using public key and encryption method thereof
JP2008301391A (ja) 放送用暗号システムと暗号通信方法、復号器及び復号プログラム
CN110572370B (zh) 一种抗量子攻击的代理重加密系统及方法
CN110474772B (zh) 一种基于格的加密方法
US20070121933A1 (en) Information transfer system, encryption device, and decryption device
CN113904768B (zh) 基于sm9密钥封装机制的在线离线解密方法
RU2459276C1 (ru) Способ шифрования сообщения м, представленного в виде многоразрядного двоичного числа
CN116722977B (zh) 基于国密sm9的条件代理重加密方法
EP2457344B1 (fr) Procede de conversion d&#39;un premier chiffre en un deuxieme chiffre
Somsuk The improving decryption process of RSA by choosing new private key
Raghunandan et al. Key generation and security analysis of text cryptography using cubic power of Pell's equation
CN112398646B (zh) 理想格上具有短公共参数的身份基加密方法及系统
CN110912673B (zh) 具有双解密机制的加性同态加解密方法
Rachmawanto et al. Secured PVD video steganography method based on AES and linear congruential generator
CN109861821B (zh) 一种用于lwe公钥密码的错误协调方法
CN111865578A (zh) 一种基于sm2的多接收方公钥加密方法
CN113343258B (zh) 一种适用于体测成绩云共享的格基密文策略的属性基代理重加密方法
US20130058483A1 (en) Public key cryptosystem and technique

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