개인정보보호 강화 기술/보안 다자간 계산

SMPC-05. 다차원 벡터를 위한 덧셈 기반 비밀 공유 기법

FedTensor 2025. 10. 12. 16:20

보안 다자간 계산(Secure Multi-Party Computation, SMPC)에서 덧셈 기반 비밀 공유 기법을 다차원 벡터나 행렬에 적용하는 것은 기본적으로 벡터의 개별 요소 각각에 독립적으로 비밀 공유 기법을 적용하는 방식입니다.

하나의 비밀 값을 여러 조각(share)으로 나누어 서로 다른 참여자에게 분배하는 것처럼, 다차원 벡터의 각 요소를 별개의 비밀 값으로 간주하고 각각에 대해 동일한 비밀 공유 절차를 진행하는 것입니다.

작동 방식: 2x2 행렬 예시

2차원 벡터 (행렬) $M$을 예로 들어보겠습니다.
$$M = \begin{pmatrix} m_{11} & m_{12} \\ m_{21} & m_{22} \end{pmatrix} $$
이 행렬 $M$을 세 명의 참여자(P1, P2, P3)에게 덧셈 기반 비밀 공유를 사용하여 분배한다고 가정해 보겠습니다. 이 과정은 행렬의 각 요소에 대해 개별적으로 이루어집니다. 

1. 요소별 비밀 분할

  • $m_{11}$은 $s_{11}^1, s_{11}^2, s_{11}^3$으로 분할 ($m_{11}= s_{11}^1+s_{11}^2+s_{11}^3$)
  • $m_{12}$은 $s_{12}^1, s_{12}^2, s_{12}^3$으로 분할 ($m_{12}= s_{12}^1+s_{12}^2+s_{12}^3$)
  • $m_{21}$은 $s_{21}^1, s_{21}^2, s_{21}^3$으로 분할 ($m_{21}= s_{21}^1+s_{21}^2+s_{21}^3$)
  • $m_{22}$은 $s_{22}^1, s_{22}^2, s_{22}^3$으로 분할 ($m_{22}= s_{22}^1+s_{22}^2+s_{22}^3$)

2. 참여자별 비밀 조각(Share) 분배

각 참여자는 자신이 맡은 인덱스에 해당하는 비밀 조각들을 모아서 벡터(또는 행렬) 형태로 가지게 됩니다. 

  • 참여자 P1이 받는 조각:

$$M_1 = \begin{pmatrix} s_{11}^1 & s_{12}^1 \\ s_{21}^1 & s_{22}^1 \end{pmatrix}$$

  • 참여자 P2가 받는 조각:

$$M_2 = \begin{pmatrix} s_{11}^2 & s_{12}^2 \\ s_{21}^2 & s_{22}^2 \end{pmatrix}$$

  • 참여자 P3가 받는 조각:

$$M_3 = \begin{pmatrix} s_{11}^3 & s_{12}^3 \\ s_{21}^3 & s_{22}^3 \end{pmatrix}$$
이렇게 분배된 각 조각($M_1, M_2, M_3$)만으로는 원본 행렬 $M$에 대한 어떠한 정보도 알 수 없습니다. 하지만 세 개의 조각을 모두 합치면 원본 행렬을 복원할 수 있습니다($M=M_1 + M_2 + M_3$).

주요 특징

  • 요소별 연산: 비밀이 공유된 상태에서의 연산은 각 참여자가 로컬에서 자신의 조각에 대해 독립적으로 수행합니다. 예를 들어, 두 비밀 행렬 $M$과 $N$을 더하는 것은 각 참여자 $i$가 자신의 조각 $M_i$와 $N_i$를 더하는 것($M_i​+N_i$​)과 같습니다. 이는 통신 비용 없이 매우 효율적인 연산을 가능하게 합니다.
  • 데이터 구조 유지: 원본 데이터의 벡터 및 행렬 구조가 각 참여자의 비밀 조각에도 그대로 유지됩니다. 이 특징 덕분에 복잡한 선형대수 연산(예: 행렬 곱셈, 내적)을 비밀 공유 상태에서 체계적으로 수행할 수 있는 기반이 됩니다.
  • 높은 효율성: 덧셈 기반 비밀 공유는 개념이 직관적이고 구현이 용이하며, 특히 덧셈 및 뺄셈 연산에서 암호학적 기법 중 가장 높은 효율성을 보입니다. 이러한 장점 때문에 프라이버시 보존 머신러닝(Privacy Preserving Machine Learning) 분야에서 동형암호(FHE)와 함께 핵심 기술로 널리 활용됩니다.