혼돈을 이용한 고속 보안 암호화 알고리즘
초록
본 논문은 로렌츠 혼돈계의 특성을 활용한 새로운 암호화 방식을 제안한다. 비밀번호, 평문, 그리고 혼돈 시스템이 상호작용하는 ‘혼돈 연산 모드’를 도입해 암호화 과정을 강화하고, 순차형과 병렬형 두 구현을 제공한다. 병렬형은 AES와 비슷한 처리 속도를 보이며, 암호문 무결성 검증 기능까지 포함한다.
상세 분석
이 논문은 로렌츠 시스템의 연속적인 비선형 동역학을 암호화에 적용함으로써 기존 대칭키 암호가 갖는 구조적 취약점을 보완한다는 점에서 의미가 크다. 로렌츠 방정식은 세 변수(x, y, z)와 세 파라미터(σ, ρ, β)로 정의되며, 적절한 초기 조건과 파라미터 설정 시 고유의 비주기적 궤적, 즉 ‘스트레인저 어트랙터’를 생성한다. 이러한 궤적은 초기값에 대한 민감도(초기값 의존성)와 결정론적 혼돈성을 동시에 제공한다. 논문은 이 특성을 ‘혼돈 연산 모드(Chaotic Operation Mode, COM)’라 명명하고, 비밀번호를 해시한 값으로 초기 조건을 설정한 뒤, 평문 블록을 순차적으로 처리하면서 현재 상태값을 다음 블록의 암호화에 피드백한다. 이 과정은 전통적인 CBC 모드와 유사하지만, 선형 변환 대신 비선형 혼돈 함수를 사용함으로써 암호문에 대한 통계적 분석을 크게 어렵게 만든다.
알고리즘은 두 가지 구현을 제시한다. 첫 번째는 순차형으로, 각 블록이 이전 블록의 혼돈 상태에 의존해 순차적으로 계산된다. 이 방식은 구현이 단순하지만 연산량이 많아 속도가 느리다. 두 번째는 병렬형으로, 로렌츠 시스템을 다중 스레드 혹은 GPU 코어에 분산시켜 각 블록을 동시에 처리한다. 여기서 핵심은 ‘상태 복제와 동기화’ 메커니즘이다. 초기 조건과 파라미터는 전역적으로 공유되지만, 각 스레드가 독립적인 시간 스텝을 갖게 함으로써 서로 다른 궤적 부분을 동시에 계산한다. 이 설계는 데이터 의존성을 최소화하고, 현대 멀티코어 환경에서 AES와 동등한 처리량을 달성한다.
보안 측면에서는 세 가지 주요 주장(보안성, 무결성, 인증)을 검증한다. 첫째, 혼돈 시스템 자체가 공개되어도 비밀번호에 의해 결정되는 초기 조건이 충분히 비밀이면, 공격자는 동일한 궤적을 재현할 수 없으며, 이는 ‘키 회복 불가능성(Key Recovery Infeasibility)’을 보장한다. 둘째, 암호문에 포함된 ‘무결성 체크섬’은 로렌츠 상태값을 해시한 결과를 삽입함으로써, 전송 중 변조가 발생하면 복호화 시 상태 불일치가 즉시 감지된다. 셋째, 무결성 검증 과정이 인증 역할을 수행하므로, 별도의 MAC(Message Authentication Code) 없이도 인증이 가능하다.
성능 평가에서는 표준 벤치마크(128‑bit 블록, 256‑bit 키)를 사용해 AES‑CTR, ChaCha20과 비교한다. 병렬형 구현은 1 GB 데이터에 대해 약 1.2 GB/s의 처리 속도를 기록했으며, 이는 AES‑CTR의 1.1 GB/s와 거의 동등하거나 약간 우수한 수준이다. 또한, 메모리 사용량은 로렌츠 상태 변수 3개와 파라미터 몇 개만을 저장하면 되므로, 경량 임베디드 시스템에도 적용 가능하다.
하지만 몇 가지 한계도 존재한다. 첫째, 로렌츠 시스템의 수치적 안정성을 확보하기 위해 고정밀 부동소수점 연산이 필요하다. 저사양 마이크로컨트롤러에서는 연산 오버플로우나 라운딩 오류가 발생할 위험이 있다. 둘째, 초기 조건을 비밀번호 해시만으로 결정할 경우, 비밀번호 강도가 직접적으로 보안 수준에 영향을 미친다. 따라서 키 스트레칭(scrypt, Argon2 등)과 결합하는 것이 권장된다. 셋째, 현재 구현은 64‑bit 부동소수점 기반이므로, 32‑bit 환경에서는 성능 저하가 예상된다. 이러한 점들을 보완한다면, 혼돈 기반 암호는 기존 대칭키 암호에 비해 구조적 다양성과 무결성 검증이라는 부가 가치를 제공할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기