완전동형 암호 FHMRS의 취약점과 다중소수 기반 보완 설계
초록
본 논문은 기존 대칭키 완전동형 암호인 FHMRS가 알려진 평문 공격에 취약함을 증명하고, 암호문을 다수의 소수(p₁…p_{N+S})로 나누어 공유하는 mFHMRS를 제안한다. 새로운 설계는 GCD 기반 복구를 방지하고, 브루트포스·격자·선형 방정식 공격에 대한 보안 파라미터를 제시한다.
상세 분석
FHMRS는 메시지 m에 무작위 값 g·u를 더한 뒤 두 개의 동등한 크기의 소수 p와 q에 대해 CRT를 적용해 (c₁,c₂) 형태의 암호문을 생성한다. 복호화 시 CRT를 역으로 적용하고 n=p·q로 모듈러 연산을 수행한다. 이 구조는 연산이 진행될수록 g·u의 비트 길이가 증가하지만, 설계 상 p와 q가 u보다 충분히 크게 선택되면 (m+g·u) mod p = m+g·u 가 그대로 남는다. 공격자는 두 개의 평문‑암호문 쌍 (m₁,c₁), (m₂,c₂)에서 c₁−m₁ = g₁·u, c₂−m₂ = g₂·u 를 구하고, 이들의 최대공약수(GCD)를 계산하면 비밀 u를 복원한다. 이는 전형적인 Known‑Plaintext Attack(KPA)이며, FHMRS가 제공하는 완전동형 특성(덧셈·곱셈·상수 연산)과 무관하게 발생한다.
이를 방지하기 위해 mFHMRS는 하나의 암호문을 N+S개의 서로 다른 소수 pᵢ(각각 128~180비트 수준)와 u에 대해 CRT로 분할한다. 암호문은 (c₁,…,c_{N+S}) 형태이며, 각 cᵢ = (m+g·u) mod pᵢ 로 계산된다. 이제 공격자는 단일 GCD 연산만으로 u를 추출할 수 없으며, 모든 pᵢ와 g를 동시에 알아야 한다. 설계자는 파라미터 선택식
l_p ≥ (N+1)(N+S)(l_u+l_g+1)+A(N+S)
와 같은 부등식을 제시해 pᵢ의 비트 길이가 충분히 커서 격자 기반 공격(LLL)이나 근사 공통 약수 문제(ACDP)에서도 짧은 벡터를 찾기 어렵게 만든다. 또한 l_u > l_M 보장을 통해 복호화 시 n보다 큰 값이 발생하지 않도록 하고, l_g ≥ λ/4 로 무작위성 확보, λ ≤ l_pᵢ < l_u 로 선형 방정식 공격을 차단한다.
보안 분석에서는 (d_{l_p})^{N+2}·d_{l_u} 형태의 브루트포스 복잡도를 계산해 128비트 소수 3개와 130비트 u의 경우 약 2^490 정도의 작업량이 필요함을 보여준다. 격자 공격에 대해서는 LLL 알고리즘이 찾는 최단 벡터의 길이가 설계된 파라미터보다 작아질 가능성이 없음을 수식으로 증명한다. 따라서 mFHMRS는 기존 FHMRS가 가진 KPA 취약점을 효과적으로 차단하면서, 완전동형 연산(덧셈·곱셈·상수 연산) 기능을 그대로 유지한다.
댓글 및 학술 토론
Loading comments...
의견 남기기