Paillier 암호 기반 블라인드 서명과 무키 프로토콜
초록
본 논문은 Paillier 암호체계의 동형성 특성을 활용하여 두 가지 새로운 암호 프로토콜을 제안한다. 첫 번째는 Paillier 서명을 블라인드 서명으로 변형한 방법이며, 두 번째는 Shamir의 Three‑Pass(무키) 프로토콜에서 요구되는 교환 가능성을 동형 연산으로 대체한 Three‑Pass 프로토콜이다. 각각의 설계 원리, 보안 분석 및 구현 효율성을 논의한다.
상세 분석
Paillier 암호는 n² 모듈러 구조 위에서 정의되는 확률적 공개키 암호로, 암호문에 대한 덧셈 동형성을 제공한다는 점이 가장 큰 특징이다. 즉, 두 평문 m₁, m₂에 대한 암호문 c₁, c₂를 곱하면 암호문 c₁·c₂(mod n²)는 평문 m₁+m₂(mod n)와 동일한 암호문이 된다. 이 성질은 전통적인 RSA 기반 서명이나 키 교환 프로토콜에서 활용되지 않았던 새로운 설계 공간을 열어준다.
첫 번째 제안인 블라인드 서명은 기존 Paillier 서명 과정인 s = (L(c^λ mod n²)·μ)⁻¹·H(m) mod n을 변형한다. 여기서 블라인딩 팩터 r∈ℤₙ*를 사용해 서명 요청자는 자신의 메시지 m을 rⁿ·g^m(mod n²) 형태로 암호화하고, 서명자는 이를 그대로 서명한다. 서명자는 블라인딩 팩터를 알 수 없으므로 서명자는 m에 대한 정보를 얻지 못하고, 서명자는 서명 결과 s′ = (c′)^λ·μ mod n²를 반환한다. 요청자는 r을 역연산함으로써 최종 서명 s = s′·r⁻¹(mod n)를 얻는다. 이 과정은 서명자의 서명 능력을 증명하면서도 메시지 내용은 은닉된다는 점에서 전통적인 Blind RSA 서명과 유사하지만, Paillier의 동형성 덕분에 서명 검증이 간단히 L(s·g^m mod n²)·μ ≡ H(m) (mod n) 형태로 이루어진다. 보안 측면에서는 Paillier의 시멘틱 보안과 서명 무작위성에 기반한 익명성, 그리고 서명 위조에 대한 강력한 저항성을 제공한다.
두 번째 제안인 Three‑Pass 프로토콜은 Shamir이 제시한 무키 교환 방식과 달리 교환 가능한 연산이 필요하지 않다. 대신, 양측은 서로의 공개키 n_A, n_B와 각각의 랜덤 값 r_A, r_B를 선택한다. 첫 번째 라운드에서 A는 평문 m을 g^{m}·r_A^{n_A} (mod n_A²) 형태로 암호화해 B에게 전송한다. B는 이를 받아 자신의 공개키 n_B와 랜덤 r_B를 이용해 다시 암호화한다: (g^{m}·r_A^{n_A})^{r_B}·r_B^{n_B} (mod n_B²). 마지막 라운드에서 A는 자신의 비밀키 λ_A를 사용해 첫 번째 암호화 단계의 블라인딩을 제거하고, B는 λ_B를 사용해 두 번째 블라인딩을 제거한다. 결과적으로 양측은 동일한 평문 m을 공유하게 된다. 핵심은 두 단계의 동형 연산이 서로 독립적으로 적용되면서도 최종 복호화 시 서로의 블라인딩 요소가 소거된다는 점이다. 이 프로토콜은 교환 가능한 연산이 필요 없으므로, Shamir 프로토콜이 요구하는 교환 가능성(예: 곱셈 교환)보다 구현이 간단하고, 양측이 서로의 비밀키를 노출하지 않으면서도 안전하게 키를 교환할 수 있다.
보안 분석에서는 적응형 선택 평문 공격(IND‑CCA)과 서명 위조 공격에 대한 저항성을 검증한다. 특히, 동형성으로 인한 중간값 누출 위험을 방지하기 위해 각 라운드에서 사용되는 랜덤 블라인딩 값 r_A, r_B는 충분히 큰 엔트로피를 가져야 하며, 재사용되지 않아야 한다. 또한, 프로토콜의 완전성은 Paillier 암호의 완전동형성에 의해 보장된다. 효율성 측면에서는 RSA 대비 큰 모듈러 연산이 필요하지만, 현대의 멀티코어 환경과 GPU 가속을 활용하면 실시간 통신 수준에서도 충분히 처리 가능하다.
요약하면, 이 논문은 Paillier 암호의 동형성을 이용해 기존 암호 프로토콜이 갖는 구조적 제한을 극복하고, 블라인드 서명과 무키 교환이라는 두 가지 실용적인 응용을 설계·분석하였다. 이는 포스트‑퀀텀 시대에 대안 암호 체계로서 Paillier 기반 설계가 갖는 잠재력을 보여준다.
댓글 및 학술 토론
Loading comments...
의견 남기기