연산 불확실성 원리를 이용한 일방향 함수와 암호화 응용
초록
본 논문은 부동소수점 연산에서 발생하는 반올림 오차를 ‘연산 불확실성 원리(CUP)’라 명명하고, 이를 이용해 수치해석 결과가 일정 시간 이후 예측 불가능해지는 특성을 일방향 함수로 전환한다. Lorenz 시스템을 기반으로 한 해시·스트림 암호 설계 방안을 제시하고, 다중정밀(MP) 계산을 통해 충돌 가능성이 극히 낮은 256비트 출력이 가능함을 실험적으로 확인한다.
상세 분석
논문은 먼저 부동소수점 연산이 동일한 입력·알고리즘·플랫폼 하에서 재현성을 보장한다는 ‘특수 재현 정리’를 제시한다(정리 3). 이는 연산 자체가 결정론적이지만, 유한 정밀도에서는 누적된 반올림 오차가 실제 해와 크게 차이 나는 현상을 초래한다는 점을 강조한다. 저자들은 기존 연구(정리 1·2)를 인용해 총 오차가 이산화 오차와 반올림 오차의 통계적 합으로 표현될 수 있음을 보이고, 최적 스텝 크기 h가 존재함을 수식(3)으로 제시한다.
핵심 개념인 ‘Maximum Effective Computation Time(MECT)’은 주어진 정밀도에서 수치해가 실제 해를 근사할 수 있는 최대 시간 한계를 의미한다. 실험적으로 단정밀(single)에서는 MECT≈17, 이중정밀(double)에서는 ≈35, 256비트 정밀도에서는 ≈200으로 추정한다(식 5). 이 한계를 초과하면 결과는 ‘무작위’에 가까워져 원래의 연속적인 동역학 정보를 복원할 수 없게 된다. 따라서 MECT를 의도적으로 초과하도록 설계하면, 반환 맵(return‑map)이나 위상공간 재구성 같은 기존의 혼돈 기반 공격이 무력화된다.
이러한 물리적·수학적 배경 위에 저자들은 ‘일방향 매핑’ L을 정의한다. 입력 벡터 A(σ, γ, β, x₀, y₀, z₀, h, p, t)를 Lorenz 방정식에 RK4 방법으로 수치 적분한 뒤 최종 상태 t_A를 출력한다. 입력 파라미터는 무한히 많고 출력은 유한(256비트)하므로 다대일 매핑이 성립한다. 반대로 역함수는 존재하지 않으며, 입력을 알더라도 유일한 파라미터 집합을 복원할 수 없다는 점에서 전통적인 암호학의 일방향 함수와 동일한 보안 특성을 가진다.
구현 측면에서 저자들은 8바이트(64비트) 평문을 9개의 파라미터로 변환하고, h≈0.01, p=256비트, t≥200을 선택한다. 출력값 중 하나(x 성분)를 256비트 암호문으로 사용하고, 이를 다시 해시·난수 생성에 활용한다. 충돌 실험(8백만 개 입력)과 Diehard 테스트를 통해 통계적 무작위성을 확인했지만, 실험 규모가 제한적이며, 키 관리·동기화 메커니즘에 대한 구체적 설계는 부족하다.
보안 분석에서는 반환 맵 공격과 위상공간 재구성 공격이 MECT 초과 시 무효화된다고 주장하지만, 측정 오차, 하드웨어 구현 오류, 혹은 측면 채널(시간, 전력) 공격에 대한 논의는 전혀 다루지 않는다. 또한, 수치해가 ‘무작위’라 하더라도 동일한 파라미터·정밀도·스텝을 재현하면 동일한 출력이 재생산되므로, 공격자는 동일 환경을 복제해 ‘키’를 추정할 가능성이 있다.
전반적으로 논문은 연산 불확실성을 암호학적 원천으로 전환하는 새로운 아이디어를 제시하고, 수치해석과 암호학을 연결하는 교차 분야적 시도를 보여준다. 그러나 이론적 증명은 기존 문헌에 의존하고, 실용적인 구현·보안 평가가 부족한 점이 아쉽다. 향후 연구에서는 다양한 혼돈 시스템에 대한 일반화, 하드웨어 구현 시 발생할 수 있는 비선형 오차 모델링, 그리고 표준 암호학적 보안 모델(IND‑CPA, IND‑CCA) 하에서의 정량적 보안 증명이 필요하다.
댓글 및 학술 토론
Loading comments...
의견 남기기