[논문 리뷰] A Distinguisher-Based Attack of a Homomorphic Encryption Scheme Relying on Reed-Solomon Codes
이 논문은 수정된 리드-소로몬 코드를 기반으로 한 동형 암호화 체계에 대해 다항 시간 내에 비밀 키 복구 공격을 제시한다. 이 공격은 비밀 집합 $L$을 분석함으로써 훼손된 제곱 코드의 차원을 분석함으로써 비밀 집합을 식별하는 구분자(distinguisher)를 이용한다. 공격은 공개 생성 행렬에서 비밀 부분행렬이 0인 위치를 식별함으로써 비밀 키를 복구하며, 이로 인해 체계의 보안이 무너진다.
Bogdanov and Lee suggested a homomorphic public-key encryption scheme based on error correcting codes. The underlying public code is a modified Reed-Solomon code obtained from inserting a zero submatrix in the Vandermonde generating matrix defining it. The columns that define this submatrix are kept secret and form a set $L$. We give here a distinguisher that detects if one or several columns belong to $L$ or not. This distinguisher is obtained by considering the code generated by component-wise products of codewords of the public code (the so called "square code"). This operation is applied to punctured versions of this square code obtained by picking a subset $I$ of the whole set of columns. It turns out that the dimension of the punctured square code is directly related to the cardinality of the intersection of $I$ with $L$. This allows an attack which recovers the full set $L$ and which can then decrypt any ciphertext.
연구 동기 및 목표
- 최근 제안된 수정된 리드-소로몬 코드를 기반으로 한 동형 암호화 체계의 보안을 분석하기 위해.
- 공개된 코드의 구조적 약점을 규명하여 비밀 키 복구에 악용할 수 있는지 확인하기 위해.
- 비밀 집합 $L$에 속한 특정 열을 식별할 수 있는 구분자를 개발하기 위해.
- 비밀 집합 $L$을 다항 시간 내에 완전히 복구함으로써 체계가 실제로 보안이 되지 않음을 입증하기 위해.
- 성분별 곱셈으로 생성된 코드(제곱 코드)가 $L$과 교차할 경우 구조적 이상을 드러내어 효율적인 비밀 키 복구를 가능하게 한다는 것을 보여주기 위해.
제안 방법
- 공격은 공개된 코드의 제곱 코드를 사용한다. 제곱 코드는 성분별 곱셈으로 생성된 코드이다.
- 선택된 열의 부분집합 $I$를 사용하여 제곱 코드에 훼손을 적용함으로써 $\langle \mathscr{C}_I^2 \rangle$의 차원을 분석한다.
- 비밀 부분행렬의 구조로 인해 $L$에 속한 열이 $I$에 포함될 때마다 $\langle \mathscr{C}_I^2 \rangle$의 차원이 정확히 1 증가한다는 관찰에 기반한 구분자를 구성한다.
- 공격 알고리즘은 부분집합 $I$에서 열을 반복적으로 제거하고, 훼손된 제곱 코드의 차원 변화를 모니터링함으로써 $L$에 속하는 열을 식별한다.
- 열의 교체를 시험하고 차원 변화를 관찰함으로써 전체 비밀 집합 $L$을 복구하며, 이는 완전한 비밀 키 복구를 가능하게 한다.
- 비밀 집합 $L$이 복구된 후에는 선형 방정식계를 풀어 임의의 암호문으로부터 원문을 복구할 수 있다.
실험 결과
연구 질문
- RQ1비밀 집합 $L$—동형 암호화 체계에서 수정된 리드-소로몬 코드를 구성하는 데 사용되는 집합—은 공개 키에서 코드의 구조적 특성을 이용해 복구할 수 있는가?
- RQ2공개 코드의 성분별 곱셈으로 생성된 코드가 $L$과 교차하는 부분집합으로 훼손될 경우, 구조적 이상이 드러나는가?
- RQ3훼손된 제곱 코드의 차원을 측정함으로써 열이 $L$에 속해 있는지 식별할 수 있는 구분자를 구성할 수 있는가?
- RQ4제안된 동형 암호화 체계는 코드 구분자 기반 비밀 키 복구 공격에 대해 안전한가?
- RQ5행렬의 랭크 계산만을 사용하여 다항 시간 내에 공격을 구현할 수 있는가?
주요 결과
- 만약 $|I| - |I \cap L| \geq 2k$ 이고 $|I \cap L| \leq \ell - 1$ 라면, 훼손된 제곱 코드 $\langle \mathscr{C}_I^2 \rangle$의 차원은 정확히 $2k - 1 + |I \cap L|$이 된다. 이는 정확한 구조적 불변량을 제공한다.
- 공격은 제곱 코드의 차원 변화를 관찰함으로써 열의 제거 또는 교체를 통해 전체 비밀 집합 $L$을 복구한다. 각 차원 변화는 $L$에 속하는지 여부를 나타낸다.
- 공격은 다항 시간 내에 실행되며, 코드 길이 $n$에 비례하는 수의 행렬 랭크 계산만을 요구한다.
- 체계는 완전히 무너졌다. $L$이 복구되면, $L$을 포함하는 선형 시스템을 풀어 임의의 암호문을 복호화할 수 있다.
- 기존의 구분자와 달리, 이 공격은 모든 리드-소로몬 코드의 전송률에 대해 효과적이며, 이는 이전의 구분자가 고전송률 코드에서만 작동했던 것과 대비된다.
- 공격은 시델니코프-셰스타코프 방법에 의존하지 않으며, 대신 제곱 코드와 그 훼손된 형태의 대수적 성질에 기반한 새로운 접근법을 사용한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.