경량 비MDS 해시 함수 JUNA의 설계와 보안 분석

본 논문은 멀티베리어트 순열 문제와 이상 부분집합 곱 문제에 기반한 비MDS 구조의 경량 해시 함수 JUNA를 제안한다. 80 ~ 232비트 길이의 다이제스트를 생성하며, 초기화·압축 두 단계로 구성된다. 이론적 증명을 통해 일방성, 약·강 충돌 저항성을 확보하고, 생일 공격 및 미트‑인‑더‑미들 공격에 대해 O(2^m)의 복잡도를 보인다. 기존 Chaum

경량 비MDS 해시 함수 JUNA의 설계와 보안 분석

초록

본 논문은 멀티베리어트 순열 문제와 이상 부분집합 곱 문제에 기반한 비MDS 구조의 경량 해시 함수 JUNA를 제안한다. 80 ~ 232비트 길이의 다이제스트를 생성하며, 초기화·압축 두 단계로 구성된다. 이론적 증명을 통해 일방성, 약·강 충돌 저항성을 확보하고, 생일 공격 및 미트‑인‑더‑미들 공격에 대해 O(2^m)의 복잡도를 보인다. 기존 Chaum‑Heijst‑Pfitzmann 해시 대비 연산량이 적어 경량 디지털 서명에 적합하다.

상세 요약

JUNA 해시 함수는 전통적인 Merkle‑Damgård 구조를 탈피한 비MDS(Non‑Merkle‑Damgård Structure) 설계로, 입력 메시지를 단일 블록으로 취급하고 이를 다변량 순열 문제(Multivariate Permutation Problem, MPP)와 이상 부분집합 곱 문제(Anomalous Subset Product Problem, ASPP)로 매핑한다. 초기화 단계에서는 비밀 파라미터 집합 {p_i, q_i, r_i}를 생성하고, 압축 단계에서는 입력 비트열 x (길이 n)과 파라미터를 이용해 다항식 형태의 변환 f(x) 를 계산한다. 이때 f(x) 는 각 비트가 선택하는 가중치의 곱으로 표현되며, 최종 다이제스트 d 는 f(x) mod M (여기서 M 은 큰 소수) 형태로 산출된다.

보안성 분석은 크게 세 부분으로 나뉜다. 첫째, 일방성은 MPP와 ASPP가 현재 알려진 어떤 다항식 시간 알고리즘으로도 역산이 불가능하다는 가정에 기반한다. 둘째, 약 충돌 저항성은 임의의 두 입력 x, x’ 에 대해 f(x) ≡ f(x’) (mod M) 가 성립하려면 ASPP의 해를 찾는 것이 필요하므로, 문제의 난이도는 2^{m/2} 정도이다. 셋째, 강 충돌 저항성은 전체 입력 공간을 탐색해야 하므로 복잡도는 2^{m} 에 도달한다.

생일 공격에 대한 저항성은 논문에서 상세히 증명한다. 전통적인 해시가 블록 체이닝 구조 때문에 2^{m/2} 복잡도로 충돌을 찾을 수 있는 반면, JUNA는 각 블록이 독립적인 다변량 연산을 수행하므로 충돌을 만들기 위해서는 두 입력이 동일한 다항식 결과를 만들어야 한다. 이는 ASPP의 해를 찾는 문제와 동치이며, 현재 알려진 알고리즘으로는 2^{m} 시간이 필요하다.

미트‑인‑더‑미들 공격에 대해서도, JUNA는 입력을 단일 블록으로 처리하고 중간 상태가 존재하지 않기 때문에 공격자가 중간 값을 조작해 양쪽 입력을 맞추는 것이 불가능하다. 따라서 공격 복잡도는 역시 2^{m} 수준으로 유지된다.

성능 측면에서는 Chaum‑Heijst‑Pfitzmann(DLP 기반) 해시와 비교했을 때, JUNA는 모듈러 곱셈과 간단한 비트 선택 연산만으로 구현되므로 하드웨어 및 임베디드 환경에서 전력·연산량이 크게 절감된다. 특히 m 값을 80 ~ 128비트 범위로 설정하면, 1 KB 이하의 메시지를 1 ms 이내에 처리할 수 있어 경량 디지털 서명 체계에 적합하다.

종합적으로 JUNA는 비MDS 구조를 통해 기존 Merkle‑Damgård 기반 해시가 갖는 구조적 약점을 회피하고, 다변량 난이도 문제에 기반한 보안성을 제공한다. 다만, MPP와 ASPP의 난이도가 장기적으로 유지될 수 있는지, 그리고 파라미터 선택이 충분히 무작위성을 보장하는지가 실제 적용 시 검증되어야 할 핵심 과제로 남는다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...