양자 푸리에 샘플링과 코드 동등성 맥엘리시와 시델니코프 암호의 양자 보안
초록
코드 동등성 문제를 비가환 숨은 부분군 문제로 귀결하고, 양자 푸리에 샘플링이 요구하는 얽힌 측정이 필요함을 보인다. 특히 Goppa 코드와 Reed‑Muller 코드에 대해 HSP‑hard임을 증명하지만, Sendrier의 지원 분할 알고리즘이 Goppa 코드에 대해 고전적으로 효율적인 공격을 제공함을 지적한다. 결과적으로 McEliece 암호는 Goppa 기반에서는 고전적으로 취약하고, Sidelnikov 암호는 높은 차수 Reed‑Muller 코드에서는 양자 푸리에 샘플링만으로는 깨기 어려우나 기존 고전 알고리즘이 존재한다.
상세 분석
코드 동등성 문제는 두 선형 코드가 좌표 순열에 의해 서로 변환될 수 있는지를 판별하는 문제이며, 이는 비가환 숨은 부분군 문제(HSP)로 직접 귀결된다. 저자들은 이전 연구에서 Goppa 코드와 같은 실용적인 코드군에 대해 해당 HSP 인스턴스가 강한 얽힌 측정을 필요로 하며, 현재 알려진 양자 알고리즘(특히 푸리에 샘플링 기반)으로는 해결이 불가능함을 증명하였다. 이는 코드의 자동군(Automorphism group)의 크기가 지수적으로 작고, 최소 차수가 선형 규모(Ω(n))일 때 HSP‑hard가 된다는 정리 1에 기반한다.
그런데 Sendrier가 제안한 지원 분할 알고리즘(SSA)은 코드의 각 좌표를 그 좌표를 제외하고 puncture한 코드의 hull 무게열로 라벨링함으로써, 대부분의 Goppa 코드에서 순열 P를 거의 유일하게 복원한다. 따라서 “known‑code adversary”(공개키와 비밀키의 생성 행렬 M, M′을 모두 아는 공격자)에게는 고전적인 다항시간 공격이 가능해진다. 이는 HSP‑hard 특성이 양자 보안에 직접적인 의미를 갖지 못한다는 중요한 교훈을 제공한다.
Reed‑Muller 코드에 대해서는 자동군이 일반 선형 변환과 평행 이동으로 구성된 일반 선형군(GL(m,2)⋉F₂^m)이며, 그 크기는 2^{O(log n)} 수준으로 지수적으로 작다. 최소 차수는 n/2(=2^{m‑1})로, 정리 1의 조건을 만족한다. 따라서 r ≤ 0.1m, m 충분히 큰 경우 Reed‑Muller 코드는 HSP‑hard가 된다(정리 3). 이는 Sidelnikov 암호가 양자 푸리에 샘플링만으로는 깨기 어려운 구조임을 의미한다. 그러나 Minder와 Shokrollahi가 제시한 고전적인 quasi‑polynomial 알고리즘은 저차수(즉, 낮은 전송률) Reed‑Muller 코드에 대해 코드 동등성을 효율적으로 해결한다. 고전적인 공격이 어려워지는 고전율(high‑rate) 영역에서는 양자 알고리즘의 부재가 실제 보안에 기여할 수 있다.
전체적으로 논문은 HSP‑hard 성질이 양자 보안에 충분조건이 아님을 강조한다. 코드 자동군의 구조와 지원 분할 알고리즘의 효율성에 따라 고전적인 공격이 가능할 수 있다. 따라서 McEliece 암호를 Goppa 코드 기반으로 사용할 경우, 양자 공격보다 고전 공격이 더 실질적인 위협이며, Sidelnikov 암호는 코드 선택에 따라 양자와 고전 양쪽 모두에서 보안 수준이 달라진다.
댓글 및 학술 토론
Loading comments...
의견 남기기