Skip to content

Commit

Permalink
cs71107 Aug hw
Browse files Browse the repository at this point in the history
  • Loading branch information
๋ฐ•์„ ์žฌ committed Aug 20, 2023
1 parent 680b0a2 commit f5b2f60
Showing 1 changed file with 113 additions and 0 deletions.
113 changes: 113 additions & 0 deletions _posts/2023-08-20-MKHE-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
layout: post
title: "Multi Key Homomorphic Encryption - 1"
date: 2023-08-20 19:00:00
author: cs71107
tags: [cryptography]
---

# Introduction

์ €๋ฒˆ [๊ธ€](https://infossm.github.io/blog/2023/07/23/MPHE/)์—์„œ, Multi Party HE์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Multi Key HE์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๋Š” ๊ธ€์„ ์“ฐ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ์— ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋…ผ๋ฌธ์€ [์—ฌ๊ธฐ](https://eprint.iacr.org/2019/524)์—์„œ ๋ณด์‹ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ €์ž๋“ค์˜ ์ด๋ฆ„์„ ๋”ฐ์„œ CDKS scheme์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์ธ Multi Key HE์— ๋Œ€ํ•œ ์„ค๊ณ„๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, BFV, CKKS์— ์ ์šฉ์‹œ์ผœ Multi Key BFV, Multi Key CKKS ์—ญ์‹œ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์œผ๋‚˜, ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์•„์ง CKKS๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•œ ์ ๋„ ์—†๊ณ , ์ ์šฉ๋„ ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ต์ง€ ์•Š์œผ๋ฏ€๋กœ, Multi Key HE์˜ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ €๋ฒˆ ๊ธ€์˜ introduction์—์„œ๋„ ์„ค๋ช…ํ–ˆ์ง€๋งŒ, remind๋ฅผ ์œ„ํ•ด์„œ ๋‹ค์‹œ ์“ฐ์ž๋ฉด, ๊ธฐ์กด HE์—๋Š” ํฐ drawback์ด ์žˆ๋Š”๋ฐ, ๊ทธ๊ฒƒ์€ secret key๊ฐ€ ํ•˜๋‚˜๋กœ ๊ณ ์ •๋ผ ์žˆ๊ณ , ๊ทธ๋ ‡๊ธฐ ์œ„ํ•ด์„œ ์—ฌ๋Ÿฌ party๊ฐ€ ์ดˆ๊ธฐ์— secret key๋ฅผ ์–ด๋–ป๊ฒŒ๋“  ์•ˆ์ „ํ•˜๊ฒŒ '์ž˜' ๊ณต์œ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งค์šฐ ์–ด๋ ค์šด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ, HE๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐœ์ „ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ฐฉํ–ฅ์€ Multi Party HE (Threshold) ๋ฐฉ์‹์œผ๋กœ, ์‹œ์ž‘ํ•  ๋•Œ Party๋“ค์˜ set์ด ์žˆ์œผ๋ฉด secret key๋ฅผ ๋‚˜๋ˆ„์–ด ๊ฐ€์ง€๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ secret key์— ๋Œ€ํ•ด public key๋ฅผ ์ƒ์„ฑํ•˜์—ฌ openํ•˜๋ฉฐ, ๋”ฐ๋ผ์„œ ์‚ฌ์‹ค์ƒ key generation ์ดํ›„์—๋Š” ํ•˜๋‚˜์˜ key์— ๋Œ€ํ•œ scheme์ฒ˜๋Ÿผ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ €๋ฒˆ ๊ธ€์—์„œ ์„ค๋ช…ํ•œ ๋ฐฉ์‹์ด ๋ฐ”๋กœ ์ด ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ๋Š” ๋ฐฉํ–ฅ์€ Multi Key HE ๋ฐฉ์‹์œผ๋กœ, ๊ฐ๊ฐ์˜ Party๊ฐ€ ๊ณ ์œ ์˜ secret key๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๊ทธ์— ๋Œ€์‘๋˜๋Š” public key๋ฅผ open ํ•ฉ๋‹ˆ๋‹ค. evaluation์ด ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ์„œ, ciphertext์˜ ๊ธธ์ด๊ฐ€ ๋‹ฌ๋ผ์ง€๋ฉฐ, decrypt๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ciphertext์™€ associate๋œ ๋ชจ๋“  party์˜ secret key๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ฐฉํ–ฅ์ด ์ด ๊ธ€์—์„œ ์„ค๋ช…ํ•  Multi Key HE ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์•ž์œผ๋ก  ๊ฐ„๋‹จํ•˜๊ฒŒ MKHE๋กœ ์ค„์—ฌ ์“ฐ๊ฒ ์Šต๋‹ˆ๋‹ค.


# Backgrounds

## Notation

์ด ๊ธ€์—์„œ๋Š” ๋…ผ๋ฌธ์—์„œ ์‚ฌ์šฉํ•œ Notation์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์— ๊ด€๋ จ๋œ ๊ฒƒ๋“ค์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

- ๋จผ์ €, $\textbf{u}, \textbf{v}$์ฒ˜๋Ÿผ ๊ตต์€ ์†Œ๋ฌธ์ž๋“ค์€ vector๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
- ๊ทธ๋ฆฌ๊ณ , $\langle \textbf{u} , \textbf{v} \rangle$๋Š” vector์˜ innner product๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
- real number $r$์— ๋Œ€ํ•ด, $\lfloor r \rceil$์€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด integer๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.
- $x \leftarrow D$๋Š” distribution $D$์— ๋”ฐ๋ผ $x$๋ฅผ ์ถ”์ถœํ–ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
- finite set $S$์— ๋Œ€ํ•ด์„œ, $U(S)$๋Š” $S$์˜ ๊ฐ ์›์†Œ๋ฅผ uniformํ•˜๊ฒŒ ์ถ”์ถœํ•˜๋Š” ๋ถ„ํฌ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
- ๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ $n$์€ power of 2๋กœ์จ, $R = \mathbb{Z} [ X ] / (X^{n} + 1)$ ์ž…๋‹ˆ๋‹ค.
- $R_q = R / (q \cdot R)$ ์ž…๋‹ˆ๋‹ค.
- $\chi$๋Š” $R_q$์œ„์˜ secret key๋ฅผ ์ถ”์ถœํ•˜๋Š” distribution์ž…๋‹ˆ๋‹ค.
- $\psi$๋Š” $R$์œ„์˜ error๋ฅผ ์ถ”์ถœํ•˜๋Š” distribution์ž…๋‹ˆ๋‹ค.
- $d$๋Š” gadget decomposition์— ์˜ํ•ด decompose๋  ๋•Œ, gadget vector์˜ ์ฐจ์›์ž…๋‹ˆ๋‹ค.

## LWE, RLWE problem

LWE, RLWE problem์€ BFV, CKKS๋“ฑ์˜ scheme์ด ๊ธฐ๋ฐ˜ํ•˜๊ณ  ์žˆ๋Š” problem์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๊ธ€์—์„œ ์„ค๋ช…ํ•œ ์ ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์•„์„œ, ์ด ๊ธ€์—์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ๋‚˜๋งˆ ํ’€์–ด์„œ ์„ค๋ช…ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๋ฌธ์ œ๋“ค์€ ๋ชจ๋‘ ์ ์ ˆํ•œ parameter์— ๋”ฐ๋ผ ์ ์ ˆํ•˜๊ฒŒ ์„ ํƒํ•  ๊ฒฝ์šฐ ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ์ด ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

### LWE - search problem

$U( \mathbb{Z}^{n}_q )$์—์„œ ์ถ”์ถœํ•œ vector $\textbf{a}$์— ๋Œ€ํ•ด์„œ, ์ ์ ˆํ•œ distribution์—์„œ ์ถ”์ถœํ•œ $\textbf{s}$์™€ small error $e$์— ๋Œ€ํ•ด์„œ, $b = \langle \textbf{a} , \textbf{s} \rangle + e$๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค.

search LWE problem์€, $b, \textbf{a}$๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, $\textbf{s}$๋ฅผ ๋ณต์›ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

### LWE - decision problem

์–ด๋–ค $\textbf{a} \in \mathbb{Z}^{n}_q$, $b \in \mathbb{Z}_q$์ธ pair $(\textbf{a}, b)$๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ $b$๊ฐ€ uniformly randomํ•˜๊ฒŒ ์ถ”์ถœ๋œ ๊ฒƒ์ธ์ง€, ์•„๋‹ˆ๋ฉด ์œ„์˜ seacrh problem์— ๋‚˜์™”๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ์ ์ ˆํ•œ $\textbf{s}$์™€ small error $e$์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๊ฒƒ์ธ์ง€๋ฅผ distinguishํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

### RLWE problem

RLWE problem์€ ์œ„์˜ LWE๋ฅผ Polynomial Ring์—์„œ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. (์•„์ฃผ ์ •ํ™•ํ•˜์ง„ ์•Š์ง€๋งŒ) ์œ„์˜ seacrh LWE ๋ฌธ์ œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜๋ฉด, $a \in R_q$์ด๊ณ , $s , e \in R_q$ ์— ๋Œ€ํ•ด, $b = a \cdot s + e$๋ผ๊ณ  ํ•œ ๋’ค, $a, b$๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, $s$๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด RLWE problem์ด ๋ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์‹์„ ๋ณด๋ฉด ์•Œ๊ฒ ์ง€๋งŒ, $b$๊ฐ€ LWE์—์„œ๋Š” $\mathbb{Z}_q$์•ˆ์— ์žˆ์ง€๋งŒ, RLWE์—์„œ๋Š” $R_q$์— ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต์˜ scheme๋“ค์€ RLWE problem์„ ๊ธฐ์ค€์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

## Gadget Decomposition

$\textbf{g} = (g_{i}) \in \mathbb{Z}^d$๋ฅผ gadget vector๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค.

decomposition $\textbf{g}^{-1} : R_{q} \rightarrow R^{d}$๊ฐ€ ์žˆ์–ด์„œ, ๊ฐ $a \in R_q$์— ๋Œ€ํ•ด, $\textbf{g}^{-1}(a) = \textbf{u}$๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค. ์ด๋•Œ, vector $\textbf{u} = (u_{i})$์— ๋Œ€ํ•ด, ๊ฐ $u_i$๋Š” ์ž‘์€ ๋‹คํ•ญ์‹์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , $a = \sum^{d-1}_{i = 0} g_{i} \cdot u_{i}$ ๊ฐ€ ์„ฑ๋ฆฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

gadget decomposition์€ noise ๊ด€๋ฆฌ๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, HE์—์„œ ๊ต‰์žฅํžˆ ํญ๋„“๊ฒŒ ์“ฐ์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ gadget vector๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ, RNS system์— ๊ธฐ๋ฐ˜ํ•œ ๊ฒƒ๋“ค๋„ ์žˆ๊ณ , digit decomposition์— ๊ธฐ๋ฐ˜ํ•œ ๊ฒƒ๋“ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

# MKHE Process

MKHE์™€ MPHE์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€, MKHE์—์„œ๋Š” ๊ฐ party๊ฐ€ ๊ฐ์ž์˜ ๊ณ ์œ ํ•œ secret key๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ฐ์ž secret key๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๊ทธ secret key์— ๋Œ€์‘๋˜๋Š” public key๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ , MKHE์—์„œ๋Š” ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•จ์— ๋”ฐ๋ผ, ciphertext์˜ ํฌ๊ธฐ๊ฐ€ ์ ์  ์ปค์ง‘๋‹ˆ๋‹ค.

Multi-key ๋ฐฉ์‹์„ ์ ์šฉํ•œ ๊ฒƒ์ด BFV๋ƒ, CKKS๋ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ, ์–ด๋–ค ciphertext $ct = (c_{0}, c_{1})$๋ฅผ decryptํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๊ธฐ๋ณธ์ ์œผ๋กœ (party ํ•˜๋‚˜ ๊ธฐ์ค€) ๋Œ€์‘๋˜๋Š” secret key $s$์— ๋Œ€ํ•ด, $c_{0} + c_{1} \cdot s$๋ฅผ ํ•˜๋ฉด ์›ํ•˜๋Š” plaintext๋ฅผ ์–ป๋Š”๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

ํ˜„์žฌ ์—ฐ์‚ฐ์— 1๋ฒˆ party์™€ 2๋ฒˆ party๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. 1๋ฒˆ party์—์„œ ์–ด๋–ค message $m_{1}$์„ encryptํ•ด์„œ ciphertext $ct_1 = (c_{1,0}, c_{1,1})$์„, 2๋ฒˆ party์—์„œ ์–ด๋–ค message $m_{2}$๋ฅผ encryptํ•ด์„œ ciphertext $ct_2 = (c_{2,0}, c_{2,1})$์„, ์ƒ์„ฑํ–ˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

1๋ฒˆ party์—์„œ ์ƒ์„ฑํ•œ secret key๋ฅผ $s_{1}$๋ผ๊ณ  ํ•˜๊ณ , 2๋ฒˆ party์—์„œ ์ƒ์„ฑํ•œ secret key๋ฅผ $s_{2}$๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค. ๊ทธ๋Ÿผ

$ct_1$์„ decryptํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ์œ„์˜ ๋ฐฉ์‹๋Œ€๋กœ $c_{1,0} + c_{1,1} \cdot s_{1}$์„ ํ•˜๋ฉด ๋  ๊ฒƒ์ด๊ณ , $ct_2$๋„ ๋น„์Šทํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ, $ct_1 + ct_2$๋ฅผ decryptํ•˜๊ธฐ ์œ„ํ•ด์„  ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ์šฐ์„  $s_1, s_2$๊ฐ€ ๋ชจ๋‘ ํ•„์š”ํ•จ์€ ๋ถ„๋ช…ํ•ด๋ณด์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ, $ct_1 + ct_2$๊ฐ€ ์—ฌ์ „ํžˆ ๋‘ ๋‹คํ•ญ์‹์˜ pair ํ˜•ํƒœ๋ผ๋ฉด, ์–ด๋–ค ์‹์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ• ์ง€ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด ๋– ์˜ค๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡์ง€๋งŒ $ct_1 + ct_2$๊ฐ€ ๋‘ ๋‹คํ•ญ์‹์˜ pair ํ˜•ํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด, ์–ด๋–จ๊นŒ์š”? $ct_1 + ct_2 = (c_0, c_1, c_2)$์ด๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค. ๊ทธ๋ฆฌ๊ณ , $c_0 = c_{1,0} + c_{2,0}, c_1 = c_{1,1}, c_2 = c_{2,1}$์™€ ๊ฐ™์ด ์ •ํ•ฉ์‹œ๋‹ค.

๊ทธ๋Ÿผ $c_0 + c_1 \cdot s_1 + c_2 \cdot s_2 = c_{1,0} + c_{2,0} + c_{1,1} \cdot s_1 + c_{2,1} \cdot s_2 = (c_{1,0} + c_{1,1} \cdot s_{1}) + (c_{2,0} + c_{2,1} \cdot s_{2})$ ์™€ ๊ฐ™์ด ๋˜๋ฏ€๋กœ, decryptํ•œ ๊ฒฐ๊ณผ๊ฐ€ plaintext๋ฅผ ๋”ํ•œ ๊ฒฐ๊ณผ์™€ ๊ฐ™์•„์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

multiplication์˜ ๊ฒฝ์šฐ ์ข€ ๋” ๋ณต์žกํ•œ logic์„ ๋”ฐ๋ฅด์ง€๋งŒ, ๋น„์Šทํ•˜๊ฒŒ ciphertext์˜ ํฌ๊ธฐ๊ฐ€ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค.

์ข€ ๋” ์ •ํ™•ํžˆ ํ‘œํ˜„ํ•˜๋ฉด, evaluation circuit์— involvingํ•œ party๊ฐ€ $k$๊ฐœ๊ฐ€ ์žˆ๋‹ค๋ฉด, ๊ทธ ๊ฒฐ๊ณผ์ธ $\overline{ct}$์— ๋Œ€ํ•ด $\overline{ct} \in R^{k+1}_q$์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ logic์€ ์‚ฌ์ •์ƒ ๋‹ค์Œ ๊ธ€๋กœ ๋„˜๊ธฐ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

# Conclusion

์ด๊ธ€์—์„œ๋Š” MKHE์— ํ•„์š”ํ•œ background์™€, ๋Œ€๋žต์ ์ธ process๋ฅผ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.

process๋ฅผ ๋ณด์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด ๋Œ€์ถฉ ๋ˆˆ์น˜์ฑ„์…จ๊ฒ ์ง€๋งŒ, MPHE์— ๋น„ํ•ด์„œ MKHE๋Š” ๋Š๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ์‚ฐ์„ ํ•  ๋•Œ๋งˆ๋‹ค ciphertext ํฌ๊ธฐ๊ฐ€ ๋Š˜์–ด๋‚˜๋‹ˆ๊นŒ์š”.

ํ•˜์ง€๋งŒ, secret key๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋ฏ€๋กœ, key์˜ ์ƒ์„ฑ์ด ๋‹ค๋ฅธ party์— ๋Œ€ํ•ด dependentํ•˜์ง€ ์•Š์•„์„œ, ์ƒˆ๋กœ์šด party์˜ ์ถ”๊ฐ€๊ฐ€ ์ž์œ ๋กญ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ secret key๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๊ทธ์— ๋Œ€์‘๋˜๋Š” public key๋ฅผ ๊ณต๊ฐœํ•˜๋ฉด ๋˜๋‹ˆ๊นŒ์š”.

์ด๋Ÿฐ flexibity๊ฐ€ MKHE์˜ ์žฅ์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ธ€์—์„œ๋Š” MKHE์˜ ์—ฐ์‚ฐ๋“ค์— ๋Œ€ํ•ด์„œ ์ข€ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ถ€์กฑํ•œ ๊ธ€ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

# Reference

- https://eprint.iacr.org/2019/524

0 comments on commit f5b2f60

Please sign in to comment.