BBCRS 스킴에 대한 다항시간 키 복구 공격

BBCRS 스킴에 대한 다항시간 키 복구 공격
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 BBCRS 공개키 암호에서 비밀 행렬 T 와 저랭크 행렬 R 의 합을 역으로 사용한 변형을 목표로, z=1 이고 평균 행/열 가중치 m 이 1 ~ 1+R+O(1/√n) 범위에 있을 때 O(n⁶) 시간 복잡도로 비밀 키를 복구하는 새로운 다항시간 공격을 제시한다. 실험 결과 제안된 모든 파라미터 집합을 성공적으로 무력화한다.

상세 분석

논문은 BBCRS 스킴의 구조적 약점을 ‘제곱 코드(square code)’와 ‘단축(shortening)’ 연산을 이용해 드러낸다. 비밀 GRS 코드 C_sec 에 대해 공개키 행렬은 G_pub = S⁻¹·G_sec·(T+R)⁻¹ 으로 정의되며, 여기서 T 는 평균 가중치 m (보통 <2)인 희소 행렬, R 은 랭크 z=1 인 저랭크 행렬이다. 저자들은 먼저 C_pub 의 이중 코드 C_pub^⊥ 을 C_sec^⊥·(T+R)·T 와 연결시키는 레마를 증명하고, 이후 좌표 집합 I 에 대해 C_pub^⊥ 을 단축 S_I(C_pub^⊥) 시킨 뒤 제곱 코드 (S_I(C_pub^⊥))² 의 차원을 계산한다. GRS 코드의 경우 제곱 코드 차원이 2k−1 에 정확히 맞춰지는 반면, 무작위 선형 코드는 차원이 ≈k² 에 가깝다. 따라서 m 이 1+R+O(1/√n) 이하일 때, 특정 단축 집합을 선택하면 S_I(C_pub^⊥)² 의 차원이 기대보다 작아지는 현상이 관찰된다. 이 현상을 ‘구별자(distinguisher)’로 활용해 T 의 구조, 특히 J₁ (행 가중치 1)과 J₂ (행 가중치 2) 위치를 복원한다. 복원된 T 와 알려진 R (랭크 1)으로 Q = T+R 를 구하고, Q⁻¹ 을 직접 계산하면 비밀 생성 행렬 G_sec 과 변환 행렬 S 를 추출할 수 있다. 전체 알고리즘은 (1) O(n³) 복잡도의 단축·제곱 코드 차원 계산, (2) O(n⁵) 복잡도의 T 구조 복원, (3) 기존 논문


댓글 및 학술 토론

Loading comments...

의견 남기기