KR101971215B1 - 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 - Google Patents
유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 Download PDFInfo
- Publication number
- KR101971215B1 KR101971215B1 KR1020160075859A KR20160075859A KR101971215B1 KR 101971215 B1 KR101971215 B1 KR 101971215B1 KR 1020160075859 A KR1020160075859 A KR 1020160075859A KR 20160075859 A KR20160075859 A KR 20160075859A KR 101971215 B1 KR101971215 B1 KR 101971215B1
- Authority
- KR
- South Korea
- Prior art keywords
- ciphertext
- binary data
- same
- data
- cipher text
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
본 발명에 의한, 컴퓨터가 수행하는 동형 암호문의 생성 방법은, 소정의 메시지 m에 대해 암호화키 s로 동형 암호화한 동형 암호문의 이진 데이터를 생성하는 제1 단계와; 제1 단계에서 생성된 동형 암호문의 에러 데이터를 최하위 비트(LSB)측에 배치하는 제2 단계와; 동형 암호문의 메시지부를 에러 데이터에 인접한 차하위 비트측에 배치하는 제3 단계를 포함한다.
Description
본 발명은 동형 암호문을 생성하는 방법에 관한 것으로서 좀 더 자세하게는 유효 숫자 연산을 지원하는 동형 암호화 방법과 그러한 동형 암호화 방법에 의해서 생성된 동형 암호문에 대해서 유효 숫자 연산을 수행하는 방법에 관한 것이다.
최근에는 서버에 개인 정보 내지 자료를 저장하고 필요한 경우에 사용자가 사용자 단말기를 통해서 서버에 저장되어 있는 데이터를 이용하도록 하는 클라우드 컴퓨팅 환경이 날로 늘어나고 있다. 개인 정보 내지 데이터를 서버에 보관할 때에는 데이터 유출을 방지하는 등 개인 정보 보호를 위해 데이터를 암호화하여 보관하게 된다. 이처럼 암호화된 데이터가 서버에 보관되어 있는 경우 해당 데이터를 검색하거나 연산을 통한 소정의 작업을 할 때에 암호화된 데이터를 일일이 복호화한 후에 원하는 검색 또는 연산을 수행하여야 하기 때문에 매우 비효율적이고, 연산을 위해 일시적으로 복호화된 개인 정보 내지 자료가 제3자에게 유출될 가능성이 증대되는 단점이 존재한다.
이러한 문제를 해결하기 위해 동형 암호화 방법이 널리 연구되고 있다. 동형 암호화에 의하면, 암호화된 정보나 자료를 복호화하지 않고 암호문 자체에 대해서 연산을 해도 평문에 대해 동일한 연산을 수행한 후 암호화한 결과와 동일한 결과를 얻기 때문에 암호문을 복호화하지 않고도 소정의 연산을 수행할 수 있다.
동형 암호화되어 기록되어 있는 데이터 중 숫자로 구성된 데이터 예를 들어 금융 데이터 또는 숫자화된 헬스 데이터 등을 연산할 때에 비트 단위 연산을 수행하게 되면 비트수가 기하급수적으로 증가하고 연산에 소요되는 시간도 상당히 증가하는 등의 문제가 발생한다.
그러한 문제를 차단하기 위해서는 유효 숫자 연산을 도입하는 것을 고려할 수 있는데 기존의 동형 암호화 방법으로 암호화된 동형 암호문에 대해서 유효 숫자 연산을 수행하면 메시지 공간이 파괴되는 등의 문제가 발생하여 적용하지 못하는 문제가 있었다.
본 발명은 이러한 종래 기술에 의한 동형 암호화 방법의 문제를 해결함으로써 숫자화된 데이터를 동형 암호화하고, 그 동형 암호문에 대해서 유효 숫자 연산을 수행하는 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한, 컴퓨터가 수행하는 동형 암호문의 생성 방법은, 소정의 메시지 m에 대해 암호화키 s로 동형 암호화한 동형 암호문의 이진 데이터를 생성하는 제1 단계와; 제1 단계에서 생성된 동형 암호문의 에러 데이터를 최하위 비트(LSB)측에 배치하는 제2 단계와; 동형 암호문의 메시지부를 에러 데이터에 인접한 차하위 비트측에 배치하는 제3 단계를 포함한다.
본 발명에 의해 생성된 두 개의 동형 암호문의 이진 데이터에 대해 컴퓨터가 유효 숫자 연산을 수행하는 방법은, 어느 하나의 동형 암호문의 이진 데이터와 다른 하나의 동형 암호문의 이진 데이터에 대해 연산을 수행하여 산출 이진 데이터를 생성하는 제1 단계와; 산출 이진 데이터의 메시지부를 소정의 유효 숫자 크기로 축소시키는 제2 단계를 포함한다.
제2 단계는 모듈러스-스위칭(Modulus-Switching Procedure) 방법에 의해 수행되는 것이 바람직하다.
본 발명에 의하면, 동형 암호화 방법에 의해서 생성된 동형 암호문의 이진 데이터에서 암호와 에러 데이터를 최하위 비트(LSB)에 배치함으로써 동형 암호문간의 유효 숫자 연산을 가능케 하는 효과가 있다.
도 1은 본 발명의 동형 암호화 방법 및 유효 숫자 연산 과정을 설명하는 도면.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.
본 출원의 출원일에 앞서 인터넷(http://eprint.iacr.org/2016/421)에 게재되고 특허법 제30조에 의한 신규성 의제 자료로 제출되는 논문은 전체로서 본 명세서의 일부로 합체된다.
본 발명에 의한 암호화 방법 및 연산은 전자적 연산 기능을 가지는 컴퓨터와 같은 전자 장치에 의해서 수행되며, 그러한 전자 장치의 종류는 비제한적인 의미로 정의된다. 그리고 본 발명에 의한 동형 암호화 알고리즘은 기존에 공지되어 있는 동형 암호화 방법 중 본 발명의 목적을 달성하기에 적합한 것이라면 어느 것을 이용해도 무방하며, 동형 암호화 알고리즘 각각의 구체적인 설명은 본 발명의 본질과 거리가 있기 때문에 설명의 편의성 및 간략화를 위해서 본 명세서에 구체적으로 설명하지는 않는다.
도 1에는 본 발명에 의한 동형 암호문 생성 방법과 그 방법에 의해 생성된 동형 암호문간의 유효 숫자 연산 방법을 설명하기 위한 도면이 도시되어 있다.
평문(M1)을 동형 암호화하면 동형 암호화 과정에서 암호화 노이즈(e1)이 발생하는데, 본 발명에서는 이 암호화 노이즈(e1)를 암호문의 이진 데이터의 최하위 비트(LSB)에 배치한다. 메시지부(M1)는 암호화 노이즈(e1)에 인접하여 차하위 비트에 배치될 수 있다.
이와 같은 데이터 배치에 의하면, 후술하는 유효 숫자 동형 연산 과정에서 증대되는 노이즈가 메시지부를 침범하더라도, 유효 숫자 크기로 메시지부가 축소되기 때문에 문제 발생의 여지가 없다.
구체적으로 설명하면 충분히 작은 암호화 노이즈 e1에 대해서 제1 메시지(M1)을 암호화키(s)로 암호화한 암호문 c는 <c, s> = M1 + e1 (mod q)를 만족한다. 암호화 노이즈(e1)의 절대값이 충분히 작다면 근사값 M1 + e1은 유효 숫자 연산에서 원래의 메시지를 동일한 정밀도로 대체할 수 있는 값이다.
입력 데이터의 크기가 너무 작거나 너무 큰 경우라면 스케일링 팩터(scaling factor)를 곱해서 메시지의 크기를 조정할 수 있다. 이 경우 스케일링 팩터는 독립적으로 저장되는 것이 바람직하다.
제2 메시지(M2) 역시 전술한 제1 메시지(M1)과 같은 방식으로 동형 암호화되고 에러 데이터(e2)는 암호문의 이진 데이터의 최하위 비트에 배치된다.
제1 동형 암호문(10)과 제2 동형 암호문(20)을 곱셈하게 되면 산출 이진 데이터(30)가 생성된다. 산출 이진 데이터(30)는 메시지부(M1M2)와 에러 데이터(emult = m1e1 + m2e2)를 포함한다. 곱셈 과정에서 에러 데이터(e1e2)의 크기가 커지기는 하지만, 후술하는 바와 같이 메시지부의 크기가 축소되므로 문제가 발생하지 않는다. 이는 덧셈에 대해서도 동일하게 작용한다.
다음으로 메시지부(M1M2)를 유효 숫자에 해당하는 부분(significand)으로 크기를 축소시켜서 최종 산출 이진 데이터(40)를 생성한다. 이 과정에 모듈러스-스위칭 방법(Modulus-Switching Procedure)을 적용하는 예를 들어서 좀 더 자세하게 설명하면 다음과 같다.
s로 암호화된 m의 암호문을 c라고 하면, <c, s> ≒ m (mod q)라고 할 수 있다.
새로운 모듈러스(q')는 동형 암호문의 모듈러스(q)보다 작은 모듈러스로 설정한다. 암호문(c)에 (q'/q)를 곱하여 반올림(rounding)한 c' = (q'/q)c라고 하면 <c', s> ≒ (q'/q)m이 된다. 반올림 과정에서 추가적인 에러가 발생하기는 하지만 유의미할 정도로 크지는 않다. 결국 (q'/q)m의 길이는 원래 메시지 m에 비해서 크기가 줄어들게 된다.
산출 이진 데이터(30)에 대해서 적절한 q'를 설정하여 위와 같은 과정을 거치면 유효 숫자에 해당하는 가수(significand)의 크기를 일정하게 유지할 수가 있게 된다.
종래와 같은 동형 암호화 방식 즉 최하위 비트(LSB)에 메시지부를 배치하는 방식에 의하면, 이러한 유효 숫자 연산이 불가능하다.
최하위 비트에 메시지부를 두게 되면 전술한 예에서 <c, s> = m + pe (mod q)가 되는데, 위에서 예로 든 모듈러스-스위칭 방법을 사용해서 메시지부의 크기를 줄이는 시도를 하게 되면 <c', s> = (q'/q)m + p(q'/q)e가 되어서 에러 데이터가 더이상 p의 배수가 되지 않고 메시지 공간이 파괴되므로 유효 숫자 연산을 수행할 수 없다.
본 발명에 의하면, 동형 암호화 방법에 의해서 생성된 동형 암호문의 이진 데이터에서 암호와 에러 데이터를 최하위 비트(LSB)에 배치함으로써 동형 암호문간의 유효 숫자 연산을 가능케 하는 효과가 있다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
Claims (3)
- 컴퓨터가 수행하는 동형 암호문의 생성 방법에 있어서,
소정의 메시지 m에 대해 암호화키 s로 동형 암호화하여 이진 데이터 형태의 동형 암호문을 생성하는 제1 단계와,
제1 단계에서 생성된 동형 암호문의 에러 데이터를 상기 이진 데이터의 최하위 비트(LSB)측에 배치하는 제2 단계와,
동형 암호문의 메시지부를 에러 데이터에 인접한 차하위 비트측에 배치하는 제3 단계를 포함하는,
동형 암호문의 생성 방법.
- 청구항 1의 동형 암호문의 생성 방법에 의해서 생성된 두 개의 이진 데이터 형태의 동형 암호문들에 대해 컴퓨터가 유효 숫자 연산을 수행하는 방법에 있어서,
두 개의 이진 데이터 형태의 동형 암호문 중 어느 하나의 동형 암호문과 다른 하나의 동형 암호문에 대해 연산을 수행하여 산출 이진 데이터를 생성하는 제1 단계와,
산출 이진 데이터의 메시지부를 소정의 유효 숫자 크기로 축소시키는 제2 단계를 포함하는,
동형 암호문에 대한 유효 숫자 연산 방법.
- 청구항 2에 있어서,
제2 단계는 모듈러스-스위칭(Modulus-Switching Procedure) 방법에 의해 수행되는,
동형 암호문에 대한 유효 숫자 연산 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160075859A KR101971215B1 (ko) | 2016-06-17 | 2016-06-17 | 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160075859A KR101971215B1 (ko) | 2016-06-17 | 2016-06-17 | 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170142419A KR20170142419A (ko) | 2017-12-28 |
KR101971215B1 true KR101971215B1 (ko) | 2019-04-22 |
Family
ID=60939922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160075859A KR101971215B1 (ko) | 2016-06-17 | 2016-06-17 | 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101971215B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11115182B2 (en) | 2018-07-27 | 2021-09-07 | Crypto Lab Inc. | Apparatus for approximately processing encrypted messages and methods thereof |
US11637700B2 (en) | 2020-08-14 | 2023-04-25 | Samsung Electronics Co., Ltd. | Method and apparatus with encryption based on error variance in homomorphic encryption |
US11671239B2 (en) | 2020-05-08 | 2023-06-06 | Samsung Electronics Co., Ltd. | Encryption method and apparatus based on homomorphic encryption using odd function property |
US11870889B2 (en) | 2021-02-23 | 2024-01-09 | Samsung Electronics Co., Ltd. | Method and apparatus with homomorphic encryption |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020117015A1 (ko) * | 2018-12-07 | 2020-06-11 | 주식회사 크립토랩 | 다변수 패킹을 이용하는 연산 장치 및 방법 |
KR102297536B1 (ko) * | 2018-12-07 | 2021-09-03 | 주식회사 크립토랩 | 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법 |
US11546134B2 (en) | 2020-04-16 | 2023-01-03 | Samsung Electronics Co., Ltd. | Method and apparatus for processing ciphertext based on homomorphic encryption |
US11558172B2 (en) | 2020-04-22 | 2023-01-17 | Samsung Electronics Co., Ltd. | Encryption method and apparatus based on homomorphic encryption using composition of functions |
WO2024186145A1 (ko) * | 2023-03-07 | 2024-09-12 | 주식회사 크립토랩 | 바이너리 데이터에 대한 동형 암호문을 처리하는 전자 장치 및 그 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101659226B1 (ko) | 2015-05-27 | 2016-09-30 | 인하대학교 산학협력단 | 완전 동형 암호를 이용한 원격 바이오 인증 방법 및 시스템 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100403820B1 (ko) * | 2001-07-03 | 2003-10-30 | 삼성에스디에스 주식회사 | 암호화 처리장치 그 방법 |
KR101398216B1 (ko) * | 2012-10-19 | 2014-05-22 | 숭실대학교산학협력단 | 검색 가능한 암호화 방법 및 암호화된 데이터 검색방법 |
KR101608515B1 (ko) * | 2013-10-14 | 2016-04-01 | 서울대학교기술지주 주식회사 | 동형 암호화 알고리즘과 공개키 암호화 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버 |
-
2016
- 2016-06-17 KR KR1020160075859A patent/KR101971215B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101659226B1 (ko) | 2015-05-27 | 2016-09-30 | 인하대학교 산학협력단 | 완전 동형 암호를 이용한 원격 바이오 인증 방법 및 시스템 |
Non-Patent Citations (2)
Title |
---|
Craig Gentry, 'A FULLY HOMOMORPHIC ENCRYPTION SCHEME', STANFORD UNIVERSITY, 2009.September. |
Seiko Arita, 'Fully Homomorphic Encryption for Point Numbers', Graduate school of information security, JAPAN, 2016.04.22. |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11115182B2 (en) | 2018-07-27 | 2021-09-07 | Crypto Lab Inc. | Apparatus for approximately processing encrypted messages and methods thereof |
US11671239B2 (en) | 2020-05-08 | 2023-06-06 | Samsung Electronics Co., Ltd. | Encryption method and apparatus based on homomorphic encryption using odd function property |
US11637700B2 (en) | 2020-08-14 | 2023-04-25 | Samsung Electronics Co., Ltd. | Method and apparatus with encryption based on error variance in homomorphic encryption |
US11870889B2 (en) | 2021-02-23 | 2024-01-09 | Samsung Electronics Co., Ltd. | Method and apparatus with homomorphic encryption |
Also Published As
Publication number | Publication date |
---|---|
KR20170142419A (ko) | 2017-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101971215B1 (ko) | 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 | |
US7899190B2 (en) | Security countermeasures for power analysis attacks | |
EP2279579B1 (en) | A closed galois field cryptographic system | |
García-Martínez et al. | Pseudo-random bit generator based on multi-modal maps | |
JP6575532B2 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
US11075748B2 (en) | Encryption for low-end devices through computation offloading | |
US20160013933A1 (en) | Order-preserving encryption system, device, method, and program | |
EP3667647B1 (en) | Encryption device, encryption method, decryption device, and decryption method | |
CN110505054B (zh) | 一种基于动态白盒的数据处理方法、装置及设备 | |
KR101095386B1 (ko) | 이산화된 카오스 함수를 이용한 암호 시스템 | |
US11569980B2 (en) | Combined SBox and inverse SBox cryptography | |
US9419789B2 (en) | Method and apparatus for scalar multiplication secure against differential power attacks | |
EP1587237B1 (en) | Security countermeasures for power analysis attacks | |
Lone et al. | Generalized RSA using 2k prime numbers with secure key generation | |
KR101566416B1 (ko) | 보안성이 향상된 암·복호화 장치 및 방법 | |
JP5436373B2 (ja) | 秘匿性増強処理演算装置およびこれを備えた量子暗号通信端末 | |
KR101440680B1 (ko) | 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치 | |
Babenko et al. | Algebraic analysis of GOST encryption algorithm | |
US20170302444A1 (en) | System and methods for keyed communications channel encryption and decryption | |
WO2018011825A1 (en) | Encryption and decryption of messages | |
Viswanath et al. | A secure cryptosystem using the decimal expansion of an Irrational number | |
US20170126399A1 (en) | Encryption apparatus, storage system, decryption apparatus, encryption method, decryption method, and computer readable medium | |
CN112913184A (zh) | 计算基于块密码的加密方案系统和方法的密钥轮换周期 | |
Ariffin et al. | AA β public key cryptosystem-A comparative analysis against RSA and ECC | |
KR20150139304A (ko) | 마스터 키를 보호하기 위한 암호화 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |