KR102040120B1 - 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법 - Google Patents

근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법 Download PDF

Info

Publication number
KR102040120B1
KR102040120B1 KR1020180087928A KR20180087928A KR102040120B1 KR 102040120 B1 KR102040120 B1 KR 102040120B1 KR 1020180087928 A KR1020180087928 A KR 1020180087928A KR 20180087928 A KR20180087928 A KR 20180087928A KR 102040120 B1 KR102040120 B1 KR 102040120B1
Authority
KR
South Korea
Prior art keywords
threshold
homogeneous
processor
plain text
operation result
Prior art date
Application number
KR1020180087928A
Other languages
English (en)
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 KR1020180087928A priority Critical patent/KR102040120B1/ko
Priority to PCT/KR2019/001486 priority patent/WO2020022598A1/ko
Priority to JP2019560690A priority patent/JP6964688B2/ja
Priority to US16/270,228 priority patent/US11115182B2/en
Application granted granted Critical
Publication of KR102040120B1 publication Critical patent/KR102040120B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Abstract

동형 암호문 처리 방법이 개시된다. 본 방법은, 에러를 포함하는 근사 메시지에 대한 동형 암호문들에 대한 연산을 수행하는 단계 및 연산에 의해 획득된 연산 결과 암호문 내의 근사 메시지 비중이 임계치를 초과하면, 연산 결과 암호문의 평문 공간을 확장하는 단계를 포함한다. 이에 따라, 효율적인 암호화 및 복호화가 가능해진다.

Description

근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법 { APPARATUS FOR PROCESSING APPROXIMATE ENCRIPTED MESSAGES AND METHODS THEREOF }
본 발명은 근사 암호화된 암호문들에 대한 연산을 효율적으로 수행하기 위한 장치 및 방법에 대한 것이다.
통신 기술이 발달하고, 전자 장치의 보급이 활발해짐에 따라, 전자 장치 간의 통신 보안을 유지하기 위한 노력이 지속적으로 이루어지고 있다. 이에 따라, 대부분의 통신 환경에서는 암호화/복호화 기술이 사용되고 있다.
암호화 기술에 의해 암호화된 메시지가 상대방에게 전달되면, 상대방은 메시지를 이용하기 위해서는 복호화를 수행하여야 한다. 이 경우, 상대방은 암호화된 데이터를 복호화하는 과정에서 자원 및 시간 낭비가 발생하게 된다. 또한, 상대방이 연산을 위해 일시적으로 메시지를 복호화한 상태에서 제3자의 해킹이 이루어지는 경우, 그 메시지가 제3자에게 손쉽게 유출될 수 있다는 문제점도 있었다.
이러한 문제를 해결하기 위하여 동형 암호화 방법이 연구되고 있다. 동형 암호화에 따르면, 암호화된 정보를 복호화하지 않고 암호문 자체에서 연산을 하더라도, 평문에 대해 연산한 후 암호화한 값과 동일한 결과를 얻을 수 있다. 따라서, 암호문을 복호화하지 않은 상태에서 각종 연산을 수행할 수 있다.
하지만, 동형 암호문을 연산에 여러번 반복 사용할 경우, 그 암호문 내의 평문 영역이 부족해져서 더 이상 연산을 수행할 수 없게 되는 문제점이 있었다. 이에 따라, 효율적인 데이터 처리 방법에 대한 필요성이 대두되었다.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은 동형 암호문의 연산을 수행하면서 재부팅을 수행하여 효율적으로 처리할 수 있는 방법 및 그 장치를 제공함에 있다.
본 발명은 이상과 같은 목적을 달성하기 위한 것으로, 본 발명의 일 실시 예에 따른 동형 암호문 처리 방법은, 에러를 포함하는 근사 메시지에 대한 동형 암호문들에 대한 연산을 수행하는 단계 및 연산에 의해 획득된 연산 결과 암호문 내의 근사 메시지 비중이 임계치를 초과하면, 상기 연산 결과 암호문의 평문 공간을 확장하는 단계를 포함한다.
여기서, 상기 평문 공간을 확장하는 단계는, 암호화된 입력값을 기 설정된 스케일링 팩터로 나눈 몫을 구하고 제거하도록 정의된 함수를 상기 연산 결과 암호문에 적용하여 상기 평문 공간을 확장할 수 있다.
또한, 상기 임계치는, 조기 재부팅(early rebooting)을 위하여 한계치 미만의 값으로 설정될 수 있다.
이상과 같은 방법에서, 상기 연산 결과 암호문의 복호화에 사용될 부가 정보를 제공하는 단계를 더 포함할 수도 있다. 여기서, 부가 정보는, 연산 과정에서 변경된 스케일링 팩터 및 상기 평문 공간 확장에 사용된 모듈러스 값을 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른 연산 장치는, 에러를 포함하는 근사 메시지에 대한 동형 암호문들을 입력받기 위한 인터페이스, 상기 동형 암호문들을 저장하는 메모리 및 상기 동형 암호문들에 대한 연산을 수행하는 프로세서를 포함한다. 여기서, 상기 프로세서는, 연산에 의해 획득된 연산 결과 암호문 내의 근사 메시지 비중이 임계치를 초과하면, 상기 연산 결과 암호문의 평문 공간을 확장한다.
여기서, 상기 프로세서는, 암호화된 입력값을 기 설정된 스케일링 팩터로 나눈 몫을 구하고 제거하도록 정의된 함수를 상기 연산 결과 암호문에 적용하여 상기 평문 공간을 확장한다.
상기 임계치는, 조기 재부팅(early rebooting)을 위하여 한계치 미만의 값으로 설정되어 상기 메모리에 저장될 수 있다.
또한, 상기 프로세서는, 상기 연산 결과 암호문의 복호화에 사용될 부가 정보를 상기 메모리에 저장하고, 상기 부가 정보는, 연산 과정에서 변경된 스케일링 팩터 및 상기 평문 공간 확장에 사용된 모듈러스 값을 포함할 수 잇다.
이상과 같은 본 발명의 다양한 실시 예들에 따르면, 보다 효율적인 암호화, 복호화 및 데이터 처리를 수행할 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템을 설명하기 위한 블럭도,
도 2는 본 발명의 일 실시 예에 따른 암호화 장치의 구성을 나타내는 블럭도,
도 3은 본 발명의 일 실시 예에 따른 연산 장치의 구성을 나타내는 블럭도,
도 4는 연산 장치의 동작을 설명하기 위한 도면,
도 5는 도 1의 데이터 처리 시스템의 동작을 설명하기 위한 도면, 그리고,
도 6은 본 발명의 일 실시 예에 따른 동형 암호문 처리 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다. 본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, 반드시 A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다.
본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
그리고 본 명세서에서 "값"이라 함은 스칼라값 뿐만 아니라 벡터도 포함하는 개념으로 정의된다.
후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.
이하에서 설명하는 구체적인 수학식은 가능한 여러 대안 중에서 예시적으로 설명되는 것이며, 본 발명의 권리 범위가 본 명세서에 언급된 수학식에 제한되는 것으로 해석되어서는 아니된다.
이하에서는 첨부된 도면을 이용하여 본 발명의 다양한 실시 예들에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템의 구성을 나타내는 도면이다. 도 1에 따르면, 데이터 처리 시스템은 복수의 장치(100-1 ~ 100-3) 및 연산 장치(200)를 포함한다. 도 1에서는 3개의 장치를 포함하는 것으로 도시하였으나, 이는 사용 예에 따라 달라질 수 있다. 예를 들어, 하나의 장치만으로 구현될 수도 있고, 3개 이상의 장치로 구현될 수도 있다.
각 장치(100-1 ~ 100-3) 및 연산 장치(200)는 휴대폰, 태블릿, 게임 플레이어, PC, 랩탑 PC, 홈서버, 키오스크 등과 같은 다양한 형태의 장치로 구현될 수 있으며, 이밖에 IoT 기능이 적용된 가전 제품 형태로도 구현될 수 있다.
제1 장치(100-1) 및 제2 장치(100-2)는 각각 동형 암호화를 수행하여, 그 결과값인 동형 암호문을 연산 장치(200)로 제공한다. 여기서, 동형 암호문은 각각 에러를 포함하는 근사 메시지에 대한 동형암호문을 의미한다.
구체적으로는, 제1 및 제2 장치(100-1, 100-2)에서 생성하는 동형 암호문은, 추후에 비밀키를 이용하여 복호화하였을 때 메시지 및 에러 값을 포함하는 결과값이 복원되는 형태로 생성될 수 있다. 이하, 본 명세서에서는 메시지에 에러가 포함된 상태를 근사 메시지라 한다.
제1 및 제2 장치(100-1, 100-2)는 각각 전송하고자 하는 메시지가 입력되면, 에러를 포함하는 근사 메시지에 대한 동형 암호문을 생성한다.
일 예로, 제1 및 제2 장치(100-1, 100-2) 각각은 자체적으로 생성한 에러를 메시지에 포함시켜 근사 메시지를 만들수 있다. 구체적으로는, 전송할 메시지 M이 입력되면, 제1 및 제2 장치(100-1, 100-2) 각각은 임의의 다항식 c1을 랜덤하게 생성하고 작은 에러 e를 생성한 후, c0= -c1*s+M+e(mod q)를 계산하여, 동형 암호문 E(m,s)=ct=(c0, c1)을 생성한다. 추후에 이를 복호화하게 되면, Dec(ct)=M+e(mod q)가 됨을 알 수 있다.
다른 예로, 제1 및 제2 장치(100-1, 100-2) 각각이 메시지를 동형 암호화 하는 과정에서 에러가 추가되어 근사 메시지 형태가 될 수도 있다. 구체적으로는, 제1 및 제2 장치(100-1, 100-2) 각각이 생성하는 동형 암호문은 비밀키를 이용하여 복호화 하였을 때 다음과 같은 성질을 만족하는 형태로 생성된다.
[수학식 1]
Dec(ct,sk) = <ct,sk> = M+e(mod q)
여기서 < , >는 내적 연산(usual inner product), ct는 암호문, sk는 비밀키, M은 평문 메시지, e는 암호화 에러 값, q는 암호문의 모듈러스(Modulus)를 의미한다.
연산 장치(200)는 수신된 동형 암호문들에 대한 연산을 수행한다. 연산의 종류는 다양하게 설정될 수 있다. 동형 암호문의 성질 상, 연산 장치(200)는 복호화를 하지 않은 상태에서 연산을 수행할 수 있고, 그 결과값도 암호문 형태가 된다. 본 명세서에서는 연산에 의해 획득된 결과값을 연산 결과 암호문이라 한다. 연산 장치(200)는 연산 결과 암호문을 제3 장치(100-3)로 전송한다. 제3 장치(100-3)는 수신된 연산 결과 암호문을 복호화하여, 각 동형 암호문들에 포함된 데이터들의 연산 결과값을 획득할 수 있다.
도 1에서는 제1 및 제2 장치에서 암호화를 수행하고, 제3 장치가 복호화를 수행하는 경우를 도시하였으나, 반드시 이에 한정되는 것은 아니다. 예를 들어, 연산 장치(100)는 연산 결과값을 제1 및 제2 장치 중 적어도 하나로 제공할 수도 있다. 또한, 하나의 장치, 예를 들어, 제1 장치(100-1)에서 두번의 암호화를 수행하여, 두 개의 동형 암호문을 제공하여 줄 수도 있다.
연산 장치(200)는 사용자 요청에 따라 연산을 수차례 수행할 수 있다. 이 경우, 매번 연산마다 획득되는 연산 결과 암호문 내의 근사 메시지 비중이 달라지게 된다. 연산 장치(200)는 근사 메시지 비중이 임계치를 초과하면, 연산 결과 암호문 내의 평문 공간을 확장하는 동작을 수행한다.
구체적으로는, 상술한 수학식 1에서 q가 M보다 작다면 M+e(mod q)는 M+e와 다른 값을 가지므로 복호화가 불가능해진다. 따라서, q 값은 항상 M보다 크게 유지되어야 한다. 하지만, 연산이 진행됨에 따라 q값은 점차 감소하게 된다. 평문 공간의 확장이란 암호문 ct를 더 큰 모듈러스(modulus)를 가지는 암호문으로 변화시키는 것을 의미한다. 평문 공간을 확장하는 동작은 다르게는 재부팅(rebooting)이라 할 수도 있다. 재부팅을 수행함에 따라, 암호문은 다시 연산이 가능한 상태가 될 수 있다.
이하에서 각 장치들의 구성 및 동작에 대해서 설명한다.
도 2는 본 발명의 일 실시 예에 따른 암호화 장치의 구성을 나타낸다. 도 1의 시스템에서 제1, 2 장치(100-1, 100-2)와 같이 동형 암호화를 수행하는 장치들을 다르게는 암호화 장치라고 할 수도 있다.
도 2에 따르면, 암호화 장치(100)는 프로세서(110), 메모리(120)를 포함한다. 도 2에서는 암호화 동작에 필요한 최소한의 구성만을 도시하였으며, 암호화 장치(100)의 종류에 따라서 다양한 구성요소들이 더 추가될 수도 있다. 예를 들어, 통신 인터페이스, 디스플레이부, 입력 수단 등이 더 포함될 수 있으나, 이러한 구성들은 동형 암호화와 직접적인 관련성이 없으므로 도시 및 설명은 생략한다.
프로세서(110)는 전송하고자 하는 메시지가 입력되면 메모리(120)에 저장한다. 프로세서(110)는 메모리(120)에 저장된 각종 설정 값 및 프로그램을 이용하여, 메시지를 동형 암호화한다. 이 경우, 공개키가 사용될 수 있다.
프로세서(110)는 암호화를 수행하는데 필요한 공개 키를 자체적으로 생성하여 사용할 수도 있고, 외부 장치로부터 수신하여 사용할 수도 있다. 일 예로, 복호화를 수행하는 제3 장치(100-3)가 공개 키를 다른 장치들에게 배포할 수 있다.
자체적으로 키를 생성하는 경우, 프로세서(110)는 Ring-LWE 기법을 이용하여 공개 키를 생성할 수 있다. 구체적으로 설명하면, 프로세서(110)는 먼저 각종 파라미터 및 링을 설정하여, 메모리(120)에 저장한다. 파라미터의 예로는 평문 메시지 비트의 길이, 공개 키 및 비밀키의 크기 등이 있을 수 있다.
링은 다음과 같은 수학식으로 표현될 수 있다.
[수학식 2]
Figure 112018074612519-pat00001
링(Ring)이란 기 설정된 계수를 가지는 다항식의 집합을 의미한다. 일 예로, 링은 계수가 Zq인 n차 다항식의 집합을 의미한다. 수학식 2에서 f(x)는 n차 다항식을 의미한다. 구체적으로는, n이 Φ(N)일 때, N차 사이클로토믹 다항식 (N-th cyclotomic polynomial)을 의미한다. (f(x))란 f(x)로 생성되는 Zq[x]의 이데알(ideal)을 나타낸다. Euler totient 함수 Φ(N)이란 N과 서로소이고 N보다 작은 자연수의 개수를 의미한다. ΦN(x)를 N차 사이클로토믹 다항식으로 정의하면, 링은 다음과 같은 수학식으로도 표현될 수 있다.
[수학식 3]
Figure 112018074612519-pat00002
비밀키(sk)는 다음과 같이 표현될 수 있다.
[수학식 4]
Figure 112018074612519-pat00003
s(x)는 작은 계수로 랜덤하게 생성한 다항식을 의미한다.
프로세서(110)는 링으로부터 제1 랜덤 다항식(a(x))을 산출한다. 제1 랜덤 다항식은 다음과 같이 표현될 수 있다.
[수학식 5]
Figure 112018074612519-pat00004
또한, 프로세서(110)는 이산 가우시안 분포 또는 그와 통계적 거리가 가까운 분포로부터 에러를 추출한다. 에러는 다음과 같은 수학식으로 표현될 수 있다.
[수학식 6]
Figure 112018074612519-pat00005
에러까지 산출되면, 암호화 장치(100)는 제1 랜덤 다항식 및 비밀키에 에러를 모듈러 연산하여 제2 랜덤 다항식을 산출할 수 있다. 제2 랜덤 다항식은 다음과 같이 표현될 수 있다.
[수학식 7]
Figure 112018074612519-pat00006
최종적으로 공개키(pk)는 제1 랜덤 다항식 및 제2 랜덤 다항식을 포함하는 형태로 다음과 같이 설정된다.
[수학식 8]
Figure 112018074612519-pat00007
상술한 키 생성 방법은 일 예에 불과하므로, 반드시 이에 한정되는 것은 아니며, 이 밖에 다른 방법으로 공개키 및 비밀키를 생성할 수도 있음은 물론이다.
프로세서(110)는 동형 암호문이 생성되면 메모리(120)에 저장하거나, 사용자 요청 또는 기 설정된 디폴트 명령에 따라 동형 암호문을 연산 장치(200)로 전송하여 줄 수 있다.
도 3은 본 발명의 일 실시 예에 따른 연산 장치(200)의 구성을 나타내는 블럭도이다. 도 3에 따르면, 연산 장치(200)는 인터페이스(210), 프로세서(220), 메모리(230)를 포함한다. 도 2와 마찬가지로, 도 3의 연산 장치도 다양한 부가 구성을 더 포함할 수도 있지만, 본 발명의 동작과 관련성이 없거나 약한 부분은 도시 및 설명을 생략한다.
인터페이스(210)는 각종 장치들로부터 데이터 및 신호를 수신하거나 송신하기 위한 구성이다. 구체적으로는, 인터페이스(210)는 LAN, 무선 LAN, 와이파이, 블루투스, NFC(Near Field Communication), 지그비 등과 같은 다양한 유무선 통신 인터페이스로 구현될 수 있다.
프로세서(220)는 에러를 포함하는 근사 메시지에 대한 동형 암호문이 인터페이스(210)를 통해 입력되면, 이를 메모리(230)에 저장한다.
메모리(230)는 동형 암호문 뿐만 아니라 각종 프로그램 및 데이터들을 저장하기 위한 구성요소이다.
프로세서(220)는 사용자 요청 또는 기 설정된 설정 값에 따라 동형 암호문들에 대한 연산을 수행한다. 이 경우, 동형 암호문들에 대한 복호화는 수행하지 않는다. 연산의 종류는 다양하게 설정될 수 있다. 일 예로, 두 개의 동형 암호문들에 대한 곱셈값이나 평균값을 요청받았다면, 프로세서(220)는 지정된 두 개의 동형 암호문들을 곱하거나, 곱한 후 2로 나누는 등의 연산을 수행할 수 있다.
프로세서(220)는 연산에 의해 획득된 연산 결과 암호문 내의 근사 메시지 비중을 확인한다. 프로세서(220)는 근사 메시지 비중이 임계치를 초과하면, 연산 결과 암호문의 평문 공간을 확장한다.
구체적으로는, 프로세서(220)는 기 설정된 함수를 연산 결과 암호문에 적용하여 평문 공간을 확장할 수 있다. 프로세서(220)는 암호화된 입력 값을 기 설정된 스케일링 팩터로 나눈 몫을 구하고 제거하도록 정의된 함수를 사용할 수 있다. 임계치는 암호화/복호화 성능에 적합하도록 임의의 값으로 설정되어 메모리(230)에 저장되어 있을 수 있다. 일 예로, 임계치는 연산 결과가 평문 공간을 다 차지할 때의 비중, 즉, 100%로 설정될 수도 있다. 다른 예로, 평문 공간을 다 차지하기 이전에 재부팅을 수행할 수 있도록, 즉, 조기 재부팅을 위해서 한계치 미만의 값으로 설정될 수도 있다. 예를 들어, 80~50% 정도의 임계치가 설정되어 있을 수도 있다.
또한, 프로세서(220)는 연산 결과 암호문이 추후에 복호화될 때에 사용되어야 하는 부가 정보를 메모리(230)에 저장해 둘 수도 있다. 부가 정보는, 연산 결과 암호문 내에서의 연산 결과 메시지의 위치, 평문 공간 확장에 사용된 모듈러스 값 등을 포함할 수 있다.
프로세서(220)는 연산 결과를 요청한 장치에 대해 연산 결과 암호문과 부가 정보를 인터페이스(210)를 통해 제공해줄 수 있다.
도 4는 연산 장치의 동작을 구체적으로 설명하기 위한 도면이다. 도 4에서는 두 개의 동형 암호문(10, 20)에 대한 연산 및 재부팅 과정을 나타낸다.
각 동형 암호문(10, 20)은 근사 메시지 영역(11, 21)을 각각 포함한다. 근사 메시지 영역(11, 21)에는 메시지 및 에러(m1+e1, m2+e2)가 함께 들어가 있다.
연산 장치는 두 동형 암호문(10, 20)을 입력값으로 하여, 특정 연산을 수행한다. 연산 결과 암호문(30)은 각 근사 메시지 간의 연산 결과(m3+e3)가 담긴 근사 메시지 영역(31)을 포함한다. 연산 결과가 입력 값보다 커짐에 따라 근사 메시지 영역도 커지고 따라서 남은 평문 공간(32)이 줄어들게 된다. 이러한 연산이 수차례 수행되면, 결국 남은 평문 공간(32)이 없어지거나 한계치보다 작아지게 되어, 연산이 불가능해진다. 이러한 상태로 판단되면, 연산 장치(200)는 재부팅을 수행한다.
재부팅이 이루어진 암호문(40)은 근사 메시지 영역(41)이 줄어든 대신, 평문 공간(42)이 확장됨을 알 수 있다. 재부팅 이전의 암호문 내의 근사 메시지(m3+e3)와 재부팅 이후의 암호문 내의 근사 메시지(m3'+e3')는 약간의 차이가 있지만, 에러의 크기 차이가 작기 때문에 원 메시지와 비교하였을 때 큰 차이가 없게 된다. 종래의 암호화/복호화 매커니즘의 경우, 복호화 이후의 데이터가 원래의 평문과 같아지도록 설계하지만, 본 실시 예에 따르면 정확하게 같은 평문 대신에 근사 메시지가 출력된다. 결과적으로, 안전성을 위해서 필요로 하는 에러와 유효숫자 연산을 통해서 발생하는 에러를 포함하여 하나의 노이즈로 취급하므로, 암호화된 상태에서 실수 연산이 가능해지고, 암/복호화의 효율성을 증대시킬 수 있다.
도 5는 본 발명의 일 실시 예에 따른 데이터 처리 방법을 설명하기 위한 도면이다. 도 5에 따르면, 제1 장치(100-1) 및 제2 장치(100-2)는 각각 메시지 m1, m2를 동형 암호화하여 동형 암호문 EL(m1'), EL(m2')를 출력한다. 연산 장치(200)는 동형 암호문 EL(m1'), EL(m2')에 대한 연산을 수행하여, 연산 결과 암호문 EL-i(m3')을 출력한다. 여기서 L은 암호문의 모듈러스 레벨을 의미한다. 연산이 반복됨에 따라 모듈러스 레벨은 지속적으로 감소하게 된다. 예를 들어, 연산 장치(200)가 암호화된 상태로 수행하고 싶은 연산의 깊이가 i라면, 모듈러스 레벨은 i만큼 감소하게 된다. 이에 따라, 모듈러스 레벨이 임계치 미만으로 떨어지게 되면 동형 암호문들에 대한 더 이상의 연산은 불가능해진다.
도 5에서는 임계치를 1레벨로 설정하였다. 이에 따라, 1 레벨 동형 암호문 E1(m4'), E1(m5')는 연산 불가능한 상태임을 알 수 있다.
연산 장치(200)는 E1(m4'), E1(m5')를 각각 재부팅하여, EL'(m4"), EL'(m5")를 생성한다. 재부팅에 의해 모듈러스 레벨은 L과 거의 유사한 L' 레벨이 되었고, 근사 메지지 또한 m4', m5'에서 거의 유사한 m4", m5"와 같이 변하게 된다.
연산 장치(200)는 재부팅한 암호문들을 연산하여, 연산 결과 암호문 EL'-i(m6")를 제3 장치(100-3)로 제공한다. 최종 연산된 연산 결과 암호문은 다음 수학식과 같이 표현될 수 있다.
[수학식 9]
Figure 112018074612519-pat00008
제3 장치(100-3)는 연산 결과 암호문을 복호화하여 근사 메시지 m6"를 획득한다.
복호화를 위해서 제3 장치(100-3)는 부가 정보를 이용할 수 있다. 상술한 바와 같이, 부가 정보는, 연산 과정에서 변경된 스케일링 팩터 및 평문 공간 확장에 사용된 모듈러스 값 등이 될 수 있다. 변경된 스케일링 팩터가 Δ'라면, 복호화된 근사 메시지는 m6"/Δ'가 될 수 있다. 이에 따라, 실수 평문이 암호화 과정에서 정수화되었더라도, 복호화에서 다시 실수로 복구될 수 있다. 또한, 부가 정보 내의 모듈러스 값은 수학식 9에서 링(R)의 모듈러스로써 사용될 수 있다.
제3 장치(100-3)는 복호화를 통해 최종적으로 m6"를 획득할 수 있게 된다.
도 6은 본 발명의 일 실시 예에 따른 동형 암호문 처리 방법을 설명하기 위한 흐름도이다. 도 6에 따르면, 근사 메시지의 동형 암호문들이 입력되고, 그 암호문들에 대한 연산 요청이 입력되면, 요청된 연산을 수행한다(S610). 일 예로, 연산은 승산, 제분, 가산, 감산 등과 같은 기본 연산으로 설정될 수도 있지만, 반드시 이에 한정되는 것은 아니다. 구체적으로는, 암호화된 메시지가 복소수 형태인 경우, 컨쥬게이트(conjugate) 연산이 수행될 수도 있고, 이밖에 통계나 소팅 등의 연산도 이루어질 수 있다.
연산 장치는, 연산 이전에 또는 연산 이후에 동형 암호문들 내의 근사 메시지 비중이 임계치를 초과하였는지 여부를 판단할 수 있다(S620). 도 6에서는 연산 이후에 하는 것으로 도시하였으나 반드시 이에 한정되는 것은 아니다. 판단 결과, 임계치를 초과한 것으로 판단되면, 연산 장치는 평문 공간을 확장하는 재부팅을 수행한다(S630). 이에 따라, 연산이 효율적으로 반복 수행될 수 있다.
연산 장치는 이 밖에, 연산 결과 암호문의 복호화에 사용될 부가 정보를 제공하는 단계를 더 수행할 수도 있다.
이상에서는 다양한 실시 예를 흐름도 및 블럭도를 이용하여 설명하였다. 각 흐름도에 도시한 단계들의 순서는 예시에 불과하며, 상황에 따라 순서가 변경될 수도 있다. 또한, 실시 예에 따라서는 일부 단계가 생략되거나, 추가될 수도 있다.
또한, 이상과 같은 다양한 실시 예에 따른 암호화 방법, 처리 방법, 복호화 방법, 재부팅 방법, 연산 방법 등은 그 방법을 수행하기 위한 프로그램 코드의 형태로 기록 매체에 저장되어 배포될 수도 있다. 이 경우, 기록 매체가 탑재된 장치는 상술한 다양한 실시 예에 따른 동작들을 수행할 수 있다.
기록 매체는, ROM, RAM, 메모리 칩, 메모리 카드, 외장형 하드, 하드, CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 다양한 유형의 컴퓨터 판독 가능 매체가 될 수 있다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니 된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
100 : 암호화 장치 200 : 연산 장치

Claims (8)

  1. 에러를 포함하는 근사 메시지에 대한 동형 암호문들에 대한 연산을 수행하는 단계; 및
    연산에 의해 획득된 연산 결과 암호문 내의 근사 메시지 비중이 임계치를 초과하면, 상기 연산 결과 암호문의 평문 공간을 확장하는 단계;를 포함하는 동형 암호문 처리 방법.
  2. 제1항에 있어서,
    상기 평문 공간을 확장하는 단계는,
    암호화된 입력값을 기 설정된 스케일링 팩터로 나눈 몫을 구하고 제거하도록 정의된 함수를 상기 연산 결과 암호문에 적용하여 상기 평문 공간을 확장하는, 동형 암호문 처리 방법.
  3. 제1항에 있어서,
    상기 임계치는, 조기 재부팅(early rebooting)을 위하여 한계치 미만의 값으로 설정되는, 동형 암호문 처리 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 연산 결과 암호문의 복호화에 사용될 부가 정보를 제공하는 단계;를 더 포함하며,
    상기 부가 정보는,
    연산 과정에서 변경된 스케일링 팩터 및 상기 평문 공간 확장에 사용된 모듈러스 값을 포함하는, 동형 암호문 처리 방법.
  5. 에러를 포함하는 근사 메시지에 대한 동형 암호문들을 입력받기 위한 인터페이스;
    상기 동형 암호문들을 저장하는 메모리; 및
    상기 동형 암호문들에 대한 연산을 수행하는 프로세서;를 포함하며,
    상기 프로세서는,
    연산에 의해 획득된 연산 결과 암호문 내의 근사 메시지 비중이 임계치를 초과하면, 상기 연산 결과 암호문의 평문 공간을 확장하는, 연산 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    암호화된 입력값을 기 설정된 스케일링 팩터로 나눈 몫을 구하고 제거하도록 정의된 함수를 상기 연산 결과 암호문에 적용하여 상기 평문 공간을 확장하는, 연산 장치.
  7. 제5항에 있어서,
    상기 임계치는, 조기 재부팅(early rebooting)을 위하여 한계치 미만의 값으로 설정되어 상기 메모리에 저장되는, 연산 장치.
  8. 제5항 내지 제7항 중 어느 한 항에 있어서,
    상기 프로세서는,
    상기 연산 결과 암호문의 복호화에 사용될 부가 정보를 상기 메모리에 저장하고,
    상기 부가 정보는,
    연산 과정에서 변경된 스케일링 팩터 및 상기 평문 공간 확장에 사용된 모듈러스 값을 포함하는, 연산 장치.

KR1020180087928A 2018-07-27 2018-07-27 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법 KR102040120B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180087928A KR102040120B1 (ko) 2018-07-27 2018-07-27 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법
PCT/KR2019/001486 WO2020022598A1 (ko) 2018-07-27 2019-02-01 암호문에 대한 근사 연산을 수행하는 장치 및 방법
JP2019560690A JP6964688B2 (ja) 2018-07-27 2019-02-01 暗号文に対する近似演算を行う装置及び方法
US16/270,228 US11115182B2 (en) 2018-07-27 2019-02-07 Apparatus for approximately processing encrypted messages and methods thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180087928A KR102040120B1 (ko) 2018-07-27 2018-07-27 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102040120B1 true KR102040120B1 (ko) 2019-11-05

Family

ID=68576779

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180087928A KR102040120B1 (ko) 2018-07-27 2018-07-27 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법

Country Status (4)

Country Link
US (1) US11115182B2 (ko)
JP (1) JP6964688B2 (ko)
KR (1) KR102040120B1 (ko)
WO (1) WO2020022598A1 (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210118717A (ko) 2020-03-23 2021-10-01 삼성에스디에스 주식회사 암호화된 데이터를 이용한 연산을 수행하기 위한 방법 및 장치
KR20210128303A (ko) * 2020-04-16 2021-10-26 주식회사 크립토랩 공간 복잡도를 고려한 동형 암호화 또는 복호화 방법
US11277257B2 (en) 2020-03-23 2022-03-15 Samsung Sds Co., Ltd. Method and apparatus for performing operation using encrypted data
KR20220163493A (ko) * 2020-06-15 2022-12-09 주식회사 크립토랩 동형 암호문에 대한 통계 연산 수행하는 장치 및 방법
US11528125B2 (en) 2020-05-29 2022-12-13 Seoul National University R&Db Foundation Electronic device for sorting homomorphic ciphertext using shell sorting and operating method thereof
US11546134B2 (en) 2020-04-16 2023-01-03 Samsung Electronics Co., Ltd. Method and apparatus for processing ciphertext based on homomorphic encryption
WO2023282359A1 (ko) * 2021-07-05 2023-01-12 주식회사 크립토랩 공간 복잡도를 고려한 동형 암호화 또는 복호화 방법
US11558172B2 (en) 2020-04-22 2023-01-17 Samsung Electronics Co., Ltd. Encryption method and apparatus based on homomorphic encryption using composition of functions
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
US11895224B2 (en) 2020-12-03 2024-02-06 Samsung Electronics Co., Ltd. Crypto processor, method of operating crypto processor, and electronic device including crypto processor

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7276423B2 (ja) * 2019-02-25 2023-05-18 日本電気株式会社 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置
US11275585B2 (en) * 2019-09-12 2022-03-15 Intuit Inc. System and method for approximating branching operations for use with data encrypted by fully homomorphic encryption (FHE)
US11907052B2 (en) * 2020-04-20 2024-02-20 Dell Products L.P. Systems and methods for encrypting unique failure codes to aid in preventing fraudulent exchanges of information handling system components
KR20210146513A (ko) * 2020-05-27 2021-12-06 삼성전자주식회사 인공 지능 연산 반도체 장치 및 이를 포함하는 저장 장치
KR20220009643A (ko) 2020-07-16 2022-01-25 삼성전자주식회사 스토리지 컨트롤러, 이를 포함하는 클라이언트 및 서버, 및 이의 동작 방법
KR20220040309A (ko) 2020-09-23 2022-03-30 삼성전자주식회사 동형 암호화 장치 및 그 동작 방법
KR102304992B1 (ko) * 2021-04-07 2021-09-27 서울대학교산학협력단 동형 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법
US11722290B2 (en) * 2021-05-21 2023-08-08 Samsung Electronics Co., Ltd. Method and apparatus for modulus refresh in homomorphic encryption
US20230344617A1 (en) * 2022-04-20 2023-10-26 Crypto Lab Inc. Apparatus for bootstrap processing homomorphic encrypted message and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101475747B1 (ko) * 2014-01-22 2014-12-23 고려대학교 산학협력단 동형 암호를 이용한 다자간 위탁 연산 방법
US20170293913A1 (en) * 2016-04-12 2017-10-12 The Governing Council Of The University Of Toronto System and methods for validating and performing operations on homomorphically encrypted data
KR20180013064A (ko) * 2016-07-28 2018-02-07 서울대학교산학협력단 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8630422B2 (en) 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US9083526B2 (en) 2011-04-29 2015-07-14 International Business Machines Corporation Fully homomorphic encryption
US9280315B2 (en) * 2011-10-27 2016-03-08 Intel Corporation Vector processor having instruction set with vector convolution function for fir filtering
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
KR101449239B1 (ko) * 2013-01-24 2014-10-15 서울대학교산학협력단 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치
US9946970B2 (en) * 2014-11-07 2018-04-17 Microsoft Technology Licensing, Llc Neural networks for encrypted data
KR102359265B1 (ko) * 2015-09-18 2022-02-07 삼성전자주식회사 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법
KR101971215B1 (ko) 2016-06-17 2019-04-22 서울대학교산학협력단 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법
FR3057090B1 (fr) * 2016-09-30 2018-10-19 Safran Identity & Security Procedes d'apprentissage securise de parametres d'un reseau de neurones a convolution, et de classification securisee d'une donnee d'entree
JP6695595B2 (ja) * 2017-08-30 2020-05-20 株式会社アクセル 推論装置、及び推論方法
US10728017B2 (en) * 2017-11-03 2020-07-28 International Business Machines Corporation Performing vector comparison operations in fully homomorphic encryption
KR101965628B1 (ko) 2017-12-15 2019-04-04 서울대학교산학협력단 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101475747B1 (ko) * 2014-01-22 2014-12-23 고려대학교 산학협력단 동형 암호를 이용한 다자간 위탁 연산 방법
US20170293913A1 (en) * 2016-04-12 2017-10-12 The Governing Council Of The University Of Toronto System and methods for validating and performing operations on homomorphically encrypted data
KR20180013064A (ko) * 2016-07-28 2018-02-07 서울대학교산학협력단 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김진수 등, '랜덤선형부호의 복호화 문제와 그의 암호학적 응용', 한국통신학회지 (정보와 통신), 제32권 제6호, 2015.05. *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277257B2 (en) 2020-03-23 2022-03-15 Samsung Sds Co., Ltd. Method and apparatus for performing operation using encrypted data
KR20210118717A (ko) 2020-03-23 2021-10-01 삼성에스디에스 주식회사 암호화된 데이터를 이용한 연산을 수행하기 위한 방법 및 장치
US11546134B2 (en) 2020-04-16 2023-01-03 Samsung Electronics Co., Ltd. Method and apparatus for processing ciphertext based on homomorphic encryption
KR102349855B1 (ko) * 2020-04-16 2022-01-11 주식회사 크립토랩 공간 복잡도를 고려한 동형 암호화 또는 복호화 방법
KR20210128303A (ko) * 2020-04-16 2021-10-26 주식회사 크립토랩 공간 복잡도를 고려한 동형 암호화 또는 복호화 방법
US11558172B2 (en) 2020-04-22 2023-01-17 Samsung Electronics Co., Ltd. Encryption method and apparatus based on homomorphic encryption using composition of functions
US11671239B2 (en) 2020-05-08 2023-06-06 Samsung Electronics Co., Ltd. Encryption method and apparatus based on homomorphic encryption using odd function property
US11528125B2 (en) 2020-05-29 2022-12-13 Seoul National University R&Db Foundation Electronic device for sorting homomorphic ciphertext using shell sorting and operating method thereof
KR20220163493A (ko) * 2020-06-15 2022-12-09 주식회사 크립토랩 동형 암호문에 대한 통계 연산 수행하는 장치 및 방법
KR102522708B1 (ko) 2020-06-15 2023-04-18 주식회사 크립토랩 동형 암호문에 대한 통계 연산 수행하는 장치 및 방법
US11637700B2 (en) 2020-08-14 2023-04-25 Samsung Electronics Co., Ltd. Method and apparatus with encryption based on error variance in homomorphic encryption
US11895224B2 (en) 2020-12-03 2024-02-06 Samsung Electronics Co., Ltd. Crypto processor, method of operating crypto processor, and electronic device including crypto processor
US11870889B2 (en) 2021-02-23 2024-01-09 Samsung Electronics Co., Ltd. Method and apparatus with homomorphic encryption
WO2023282359A1 (ko) * 2021-07-05 2023-01-12 주식회사 크립토랩 공간 복잡도를 고려한 동형 암호화 또는 복호화 방법

Also Published As

Publication number Publication date
JP6964688B2 (ja) 2021-11-10
WO2020022598A1 (ko) 2020-01-30
JP2020530577A (ja) 2020-10-22
US11115182B2 (en) 2021-09-07
US20200036511A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
KR102040120B1 (ko) 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법
JP7370402B2 (ja) 端末装置における暗号化方法及び端末
KR102040106B1 (ko) 실수 평문에 대한 동형 암호화 방법
KR101965628B1 (ko) 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들
US9350544B2 (en) Apparatus for encrypting data
KR102297536B1 (ko) 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법
KR102349855B1 (ko) 공간 복잡도를 고려한 동형 암호화 또는 복호화 방법
KR20200087061A (ko) 근사 암호화된 암호문에 대한 재부팅 연산을 수행하는 장치 및 방법
US11799628B2 (en) Apparatus and method for processing non-polynomial operation on encrypted messages
KR102475273B1 (ko) 동형 암호 시스템에 대한 시뮬레이션 장치 및 방법
KR20200087708A (ko) 근사 계산에 대한 계산 검증
KR102466016B1 (ko) 동형 암호문을 처리하는 서버 장치 및 그 방법
KR102466015B1 (ko) 동형 암호문을 처리하는 서버 장치 및 그 방법
JP4485175B2 (ja) 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
KR102393941B1 (ko) 근사 암호화된 암호문에 대한 인코딩 또는 디코딩
CN102474413A (zh) 私钥压缩
KR102062377B1 (ko) 전자서명을 은닉서명으로 변환하는 암호화 방법
WO2024028961A1 (ja) 暗号システム、方法及びプログラム
KR20230162524A (ko) 동형 암호문에 대한 재부팅 연산을 수행하는 장치 및 방법
KR20230127905A (ko) 은닉 서명 생성 장치 및 방법
KR20230149708A (ko) 동형 암호문에 대한 재부팅 연산을 수행하는 장치 및 방법
KR20240014946A (ko) 동형 암호문을 생성하는 전자 장치 및 그 방법
KR20220134487A (ko) 동형 암호문을 처리하는 전자 장치 및 그 방법
KR20230049052A (ko) 격자전자서명의 비밀 키 생성 방법 및 이를 이용한 장치
KR20220121221A (ko) 동형 암호문의 변환 장치 및 방법

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant