KR102027508B1 - Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법 - Google Patents
Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, 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
Description
본 발명은 래티스(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 방식)에 비해서 속도도 느린 단점이 있다.
본 발명은 그러한 종래 기술의 문제를 해결함으로써 암호문의 크기도 저감시키고 실제 적용시에 통신 부하와 통신량을 줄이며 그리고 비용도 절감할 수 있는 래티스 기반 공개키 암호화 방법을 제공하는 것을 목적으로 한다.
본 발명에 의해, 컴퓨터가 수행하는 공개키와 비밀키 생성 방법은, 비밀키()를 위의 임의의 분포에서 샘플링하여 결정하는 제1 단계와; 제1 에러 벡터()를 에서 샘플링하여 결정하고, 제2 에러값(e')을 에서 샘플링하여 결정하는 제2 단계와; 를 만족하는 랜덤하게 균일한 행렬 을 선택하는 제3 단계와; 을 만족하는 랜덤 열벡터 를 선택하는 제4 단계와; 공개키(pk)를 로 결정하는 제4 단계를 포함한다.
본 발명에 의해 컴퓨터에 의해서 수행되는, 공개키를 이용한 메시지 암호화 방법은, 공개키와 메시지()를 수신하는 제1 단계와; -1,0,1 중 어느 하나의 계수를 가지는 n차 다항식 d개를 랜덤하게 추출하는 제2 단계와; 상기 다항식들 및 공개키의 일부를 연산하여 제1 값을 산출하는 제3 단계와; 상기 메시지를 공개키의 일부를 사용하여 인코딩하여 제2 값을 산출하는 제4 단계; 상기 제1 값과 제2 값을 연산하여 제3 값을 산출하는 제5 단계와; 제3값에 대해 기설정된 하위 비트를 제거하기 위한 라운딩 처리를 수행하여 암호문을 산출하는 제6 단계를 포함한다.
암호화 방법의 제2 단계는, 다항식 벡터(polynomial vector) 을 에서 샘플링하여 결정하는 단계가 될 수 있다. 제1 값은 이며, 제2 값은 이며, 제3 값은 으로 산출될 수 있다.
[수학식]
본 발명에 의한 암호문 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)
링 R: 계수가 정수인 n차 다항식의 집합
링 R에서 연산: 모든 다항식을 연산한 후에 f(x)로 나눈 나머지를 계산
같은 개수의 행을 가지는 두 개의 행렬 또는 벡터 A와 B에 대해서,
: 이산 가우시안 분포(discrete Gaussian distribution); 정수 x에 대해서 에 비례하는 확률을 나타내는 확률 분포. 가 아주 작지 않은 경우에는 의 분산(variance)은 에 아주 근접한다.
1보다 크거나 같은 정수 n에 대해서, 은 분포 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 문제는 본 발명의 발명자들에 의해서 다음과 같이 정의된다.
의 원소인 비밀 다항식 s에 대해서 에러 다항식 e를 에서 샘플링하고, 를 만족하는 를 균등하고 랜덤하게 선택하고 a의 분포를 로 표시할 때, Module-Wavy 문제는 s를 D에서 샘플링 했을 때, 와, 상의 균등 분포를 구별하는 문제이다.
다음으로는 본 발명에 의한 공개키 암호화 및 복호화 방법에 있어서 사용되는 공개키와 비밀키 생성 방법에 대해서 설명한다.
키 생성에 앞서서 먼저 보안 인수(security parameter) λ를 정하고 그에 기초하여 앞서 정의한 변수 n, p, q, d를 결정하고, 추가적인 변수로 양의 정수 hs 및 hr과 에러 파라미터 α를 다음과 같이 결정한다. 보안 인수 λ는 암호 스킴(scheme)이 얼마나 안전한지를 나타내는 척도로서 예를 들어 128이 될 수 있다.
hs < n
hr < n
0<α<1
먼저 다음과 같이 다항식 열벡터 s를 샘플링하여 결정한다(단계 S100)
열벡터 s의 다항식은 0, -1, +1 의 계수를 가지며, 후술하는 바와 같이 비밀키로 결정된다.
이어서 제1 에러 벡터(e)와 제2 에러값(e')을 다음과 같이 샘플링하여 결정한다(단계 S110)
다음으로는 다음 관계를 만족하는 랜덤 열벡터 b를 선택한다(단계 S130)
이러한 과정을 거쳐서 결정되거나 선택된 행렬과 벡터를 이용하여 본 발명에 의한 공개키와 비밀키를 다음과 같이 생성한다(단계 S140)
비밀키(sk) = s
이와 같이 공개키와 비밀키를 생성한 후에 메시지를 암호화하고 복호화하는 과정에 대해서 설명한다.
0, -1, +1 의 계수를 가지는 다항식 열벡터 r을 다음과 같이 샘플링하여 결정한다.
이 다항식들과 공개키의 일부를 연산하여 제1 값을 산출하고, 메시지를 공개키 일부를 사용하여 인코딩한 제2 값을 산출한 후에, 제1 값과 제2 값을 연산하여 제3 값을 산출한다.
이 제3 값에 대해서 기설정된 하위 비트를 제거하기 위한 라운딩(rounding) 처리를 수행하기 위해 제3 값에 p/q를 곱해서 다음과 같이 암호문을 산출한다.
본 발명에 의한 암호문 c는 기존의 Kyber 방식과 달리 암호문이 하나의 요소(component)만을 가지고 있으며, 더욱이 p<q 이기 때문에 암호문의 크기 역시 현저하게 축소된다. 따라서 기존의 래티스 기반 공개키 암호화 방식에 비하여 빠른 처리가 가능하고 암호화 통신에 있어서 통신부하 및 통신량이 현저하게 감소하여 관련 비용 역시 저감할 수 있는 효과가 제공된다.
본 발명에 의한 암호문 c는 다음과 같이 복호화될 수 있다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
Claims (5)
- 컴퓨터에 의해 수행되는, 청구항 2의 공개키와 비밀키 생성 방법에 의해서 생성된 공개키를 이용한 메시지 암호화 방법에 있어서,
공개키와 메시지()를 수신하는 제1 단계와,
-1,0,1 중 어느 하나의 계수를 가지는 n차 다항식 d개를 랜덤하게 추출하는 제2 단계와,
상기 다항식들 및 공개키의 일부를 연산하여 제1 값을 산출하는 제3 단계와,
상기 메시지를 공개키의 일부를 사용하여 인코딩하여 제2 값을 산출하는 제4 단계;
상기 제1 값과 제2 값을 연산하여 제3 값을 산출하는 제5 단계와,
제3값에 대해 기설정된 하위 비트를 제거하기 위한 라운딩 처리를 수행하여, 암호문을 산출하는 제6 단계를 포함하는,
암호화 방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210133801A (ko) | 2020-04-29 | 2021-11-08 | 국방과학연구소 | Ring-LWR기반 양자내성 서명 방법 및 그 시스템 |
Families Citing this family (3)
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)
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에 기반한 공개키 암호 키 생성 및 암복호화 방법 |
-
2017
- 2017-12-29 KR KR1020170183661A patent/KR102027508B1/ko active IP Right Grant
-
2018
- 2018-12-17 WO PCT/KR2018/016014 patent/WO2019132354A1/ko active Application Filing
-
2020
- 2020-06-18 US US16/904,806 patent/US11658819B2/en active Active
Non-Patent Citations (2)
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)
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'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 |