KR101971215B1 - 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 - Google Patents

유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 Download PDF

Info

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
Application number
KR1020160075859A
Other languages
English (en)
Other versions
KR20170142419A (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 KR1020160075859A priority Critical patent/KR101971215B1/ko
Publication of KR20170142419A publication Critical patent/KR20170142419A/ko
Application granted granted Critical
Publication of KR101971215B1 publication Critical patent/KR101971215B1/ko

Links

Images

Classifications

    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, 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

유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법{Homomorphic Encryption Method Supporting Floating-Point Arithmetic and Floating-Point Arithmetic Method for Encrypted Message Generated by the Same}
본 발명은 동형 암호문을 생성하는 방법에 관한 것으로서 좀 더 자세하게는 유효 숫자 연산을 지원하는 동형 암호화 방법과 그러한 동형 암호화 방법에 의해서 생성된 동형 암호문에 대해서 유효 숫자 연산을 수행하는 방법에 관한 것이다.
최근에는 서버에 개인 정보 내지 자료를 저장하고 필요한 경우에 사용자가 사용자 단말기를 통해서 서버에 저장되어 있는 데이터를 이용하도록 하는 클라우드 컴퓨팅 환경이 날로 늘어나고 있다. 개인 정보 내지 데이터를 서버에 보관할 때에는 데이터 유출을 방지하는 등 개인 정보 보호를 위해 데이터를 암호화하여 보관하게 된다. 이처럼 암호화된 데이터가 서버에 보관되어 있는 경우 해당 데이터를 검색하거나 연산을 통한 소정의 작업을 할 때에 암호화된 데이터를 일일이 복호화한 후에 원하는 검색 또는 연산을 수행하여야 하기 때문에 매우 비효율적이고, 연산을 위해 일시적으로 복호화된 개인 정보 내지 자료가 제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)

  1. 컴퓨터가 수행하는 동형 암호문의 생성 방법에 있어서,
    소정의 메시지 m에 대해 암호화키 s로 동형 암호화하여 이진 데이터 형태의 동형 암호문을 생성하는 제1 단계와,
    제1 단계에서 생성된 동형 암호문의 에러 데이터를 상기 이진 데이터의 최하위 비트(LSB)측에 배치하는 제2 단계와,
    동형 암호문의 메시지부를 에러 데이터에 인접한 차하위 비트측에 배치하는 제3 단계를 포함하는,
    동형 암호문의 생성 방법.
  2. 청구항 1의 동형 암호문의 생성 방법에 의해서 생성된 두 개의 이진 데이터 형태의 동형 암호문들에 대해 컴퓨터가 유효 숫자 연산을 수행하는 방법에 있어서,
    두 개의 이진 데이터 형태의 동형 암호문 중 어느 하나의 동형 암호문과 다른 하나의 동형 암호문에 대해 연산을 수행하여 산출 이진 데이터를 생성하는 제1 단계와,
    산출 이진 데이터의 메시지부를 소정의 유효 숫자 크기로 축소시키는 제2 단계를 포함하는,
    동형 암호문에 대한 유효 숫자 연산 방법.
  3. 청구항 2에 있어서,
    제2 단계는 모듈러스-스위칭(Modulus-Switching Procedure) 방법에 의해 수행되는,
    동형 암호문에 대한 유효 숫자 연산 방법.
KR1020160075859A 2016-06-17 2016-06-17 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 KR101971215B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101659226B1 (ko) 2015-05-27 2016-09-30 인하대학교 산학협력단 완전 동형 암호를 이용한 원격 바이오 인증 방법 및 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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 서울대학교기술지주 주식회사 동형 암호화 알고리즘과 공개키 암호화 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101659226B1 (ko) 2015-05-27 2016-09-30 인하대학교 산학협력단 완전 동형 암호를 이용한 원격 바이오 인증 방법 및 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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