색상 이미지 암호화 알고리즘 취약점 분석과 선택 평문 공격
초록
본 논문은 최근 제안된 로지스틱 맵 기반 색상 이미지 암호화 방식의 보안성을 평가한다. 두 단계의 위치 치환과 하나의 치환 연산으로 구성된 구조를 분석한 결과, 위치 치환만을 대상으로 할 경우 $\lceil (\log_2(3MN))/8 \rceil$개의 선택 평문만으로 복구가 가능하고, 치환 연산은 단 2개의 선택 평문으로 완전히 깨질 수 있음을 보였다. 이론적 증명과 실험을 통해 공격 효율성을 검증하였다.
상세 분석
본 논문이 다루는 암호화 알고리즘은 로지스틱 맵을 이용해 생성된 의사난수열에 기반해 세 가지 기본 연산을 순차적으로 적용한다. 첫 번째와 두 번째 연산은 각각 이미지의 픽셀 위치를 재배열하는 위치 치환(position permutation)이며, 세 번째 연산은 각 픽셀값을 다른 값으로 대체하는 치환(substitution)이다. 이때 사용되는 난수열은 동일한 초기값과 매개변수로부터 반복적으로 생성되므로, 동일한 평문에 대해 동일한 암호문이 생성된다는 점이 공격에 활용될 수 있다.
위치 치환 부분은 실제로는 3채널(빨강, 초록, 파랑) 각각에 대해 독립적인 인덱스 매핑을 수행한다. 논문은 이 매핑이 $3MN$개의 가능한 위치 중 하나를 선택하는 과정임을 지적하고, 선택 평문 공격을 통해 매핑을 역추적할 수 있음을 증명한다. 구체적으로, $\lceil (\log_2(3MN))/8 \rceil$개의 평문을 준비하면, 각 평문에 대해 해당 위치에 고유한 바이트 값을 삽입함으로써 암호문에서 해당 바이트가 이동한 최종 위치를 관찰할 수 있다. 이렇게 수집된 위치 정보는 선형 연산을 통해 전체 매핑을 복원하는 데 충분하다.
치환 연산은 로지스틱 맵에서 추출한 난수값을 이용해 각 픽셀에 XOR 연산을 수행하는 형태로 구현된다. 이때 XOR 키 스트림은 평문의 크기와 무관하게 동일하게 생성되므로, 두 개의 선택 평문만으로도 키 스트림을 완전히 복원할 수 있다. 첫 번째 평문을 전부 0으로 설정하면 암호문은 바로 키 스트림 자체가 된다. 두 번째 평문을 전부 255(0xFF)로 설정하면 암호문은 키 스트림과 0xFF의 XOR 결과가 된다. 두 암호문을 XOR 연산하면 0xFF가 얻어지고, 이를 이용해 원래 키 스트림을 역산할 수 있다.
이러한 분석은 암호화 구조가 ‘치환‑치환‑치환’이 아니라 ‘치환‑치환‑치환’ 형태의 혼합 구조임에도 불구하고, 각 연산이 독립적으로 취약점을 가지고 있음을 보여준다. 특히, 난수 생성에 사용되는 로지스틱 맵 자체가 충분히 복잡하지 않으며, 초기값과 매개변수가 고정된 경우 키 스트림이 재현 가능하다는 점이 근본적인 보안 약점으로 작용한다. 논문은 이러한 구조적 결함을 이용해 선택 평문 공격을 설계하고, 실험을 통해 이론적 복구 성공률이 100%임을 입증한다.
결론적으로, 논문은 기존 암호화 설계가 ‘키 스트림 재사용’과 ‘위치 매핑 노출’이라는 두 축에서 동시에 취약함을 지적하고, 실제 이미지 암호화 시스템에 적용하기 위해서는 난수 생성기의 보강, 키 스트림의 일회성 사용, 그리고 치환‑치환 연산 간의 상호 의존성을 강화하는 설계가 필요함을 제안한다.
댓글 및 학술 토론
Loading comments...
의견 남기기