양자 저항성 무작위 선형 코드 기반 공개키 암호 RLCE
초록
본 논문은 기존 선형 코드 기반 암호의 구조적 취약점을 극복하고, 무작위 선형 코드를 이용한 새로운 공개키 암호 체계인 RLCE를 제안한다. RLCE는 각 열에 무작위 행렬을 삽입하고, 전치·밀집 변환을 적용해 공개키를 완전 난수화함으로써 기존의 Sidelnikov‑Shestakov, 필터링, 대수적 공격 등에 대한 저항성을 확보한다. 보안은 무작위 선형 코드 디코딩의 NP‑hard 문제와 동등하다고 가정하며, 다양한 보안 수준에 맞는 파라미터를 제시한다.
상세 분석
RLCE 설계는 기존 McEliece 구조를 그대로 유지하면서, 기본 생성 행렬 Gs의 각 열 사이에 k×r 차원의 무작위 행렬 Ci를 삽입하고, 이를 (r+1)×(r+1) 차원의 무작위 가역 행렬 Ai와 전체 전치 행렬 P, 그리고 k×k 가역 행렬 S 로 혼합한다. 이렇게 구성된 공개키 G = S·G1·A·P는 원본 코드의 구조적 정보를 완전히 가릴 뿐 아니라, 각 열이 독립적인 무작위 벡터 집합처럼 동작하도록 만든다. 논문은 두 가지 핵심 정리를 통해 이 과정이 수학적으로 타당함을 증명한다. 첫 번째 정리(4.1)는 임의의 완전 순위 행렬 R0을 기존 열 g0와 무작위 행렬 C0의 선형 결합으로 표현할 수 있음을 보이며, 이는 행렬 동등성 이론에 기반한다. 두 번째 정리(4.2)는 r+1 ≥ k 인 경우 모든 MDS 코드에 대해 적절한 Ai와 Ci를 선택해 원하는 무작위 행렬 R와 동일한 공개키를 만들 수 있음을 보여준다. 이는 r이 k보다 크게 되면 공격자가 원본 MDS 코드를 복원할 수 있는 위험을 의미하므로, 설계에서는 r < k‑1을 강제한다.
보안 분석에서는 기존 선형 코드 암호에 적용된 주요 공격들을 검토한다. Sidelnikov‑Shestakov 공격은 특정 구조(예: Reed‑Solomon)의 열 관계를 이용해 비밀키를 복원하는데, RLCE는 각 열에 삽입된 Ci와 Ai가 무작위이므로 이러한 관계가 사라진다. 필터링 공격은 코드의 계층적 서브코드 구조를 탐색해 비밀키를 추출하는데, RLCE는 전치와 무작위 행렬을 통해 서브코드가 존재하지 않도록 만든다. 대수적 공격은 Gröbner 기반 연립방정식 풀이를 이용해 비밀 다항식을 찾지만, 공개키가 무작위 행렬의 곱으로 표현돼 방정식의 차수가 급격히 증가해 실용적인 계산이 불가능해진다. 또한 선택된 오류 무게 t에 대해 정보‑집합 디코딩 공격의 복잡도는 기존 McEliece와 동일하게 유지되며, 논문은 Bernstein‑Lange‑Peters와 Peters의 정확 복잡도 분석을 인용해 파라미터 선택 근거를 제시한다.
CCA(Chosen Ciphertext Attack) 방어를 위해 복호화 단계에서 복호된 메시지와 암호문 사이의 해밍 거리 w를 검증한다. 이 검증은 임의의 입력에 대해 복호화 오라를 탐지하고, 공격자가 복호화 오라를 이용해 비밀 행렬 정보를 추출하는 것을 방지한다. 논문은 r=1인 경우에 대한 구체적인 수식 전개를 통해, 패딩 검증 없이도 복호화 결과가 제한된 정보만을 누설한다는 점을 강조한다.
마지막으로 파라미터 선택 가이드라인을 제공한다. 보안 수준 128비트, 192비트, 256비트를 목표로 각각 n, k, t, r 값을 제시하고, q=2^m 혹은 q=p^m 형태의 확장체를 사용한다. 선택된 파라미터는 정보‑집합 디코딩 공격의 복잡도가 목표 보안 수준을 초과하도록 설계되었으며, r는 k의 1/4 이하로 제한해 정리 4.2에서 제시된 구조적 복구 위험을 최소화한다. 전체적으로 RLCE는 무작위성 주입을 통한 구조적 은폐와 기존 공격에 대한 이론적 저항성을 동시에 만족시키는 설계로 평가된다.
댓글 및 학술 토론
Loading comments...
의견 남기기