확장 유클리드 알고리즘 기반 일방향 함수 제안

본 논문은 소수 p 에 대한 다항식 x^{p‑1}‑1 을 두 개의 동등 차수 다항식으로 임의로 분할한 뒤, 확장 유클리드 알고리즘을 이용해 공개키 A(x)와 비밀키 P(x) 쌍을 생성한다. 공개키 A(x)만으로 비밀키 P(x) 를 복원하는 것이 다항식 분할 문제와 동등하게 어려워 일방향 함수로 활용될 수 있음을 주장한다.

저자: Ephraim Feig, Vivian Feig

이 논문은 소수 p 에 대해 정의된 다항식 f(x)=x^{p‑1}‑1 을 두 개의 차수 (p‑1)/2 다항식 P(x)와 Q(x) 로 임의로 분할하고, 확장 유클리드 알고리즘(EEA)을 이용해 A(x)와 B(x) 를 구함으로써 일방향 함수를 구성한다는 아이디어를 제시한다. 구체적인 절차는 다음과 같다. 먼저 f(x) 를 임의의 방법으로 두 개의 동등 차수 다항식으로 나눈다. 그 후 EEA를 적용해 x·P(x)·A(x) + x·Q(x)·B(x) ≡ 1 (mod p) 을 만족하는 A(x)와 B(x) 를 계산한다. 여기서 A(x) 는 공개키, P(x) 는 비밀키가 된다. 논문은 공개키 A(x)만으로 비밀키 P(x) 를 복원하는 것이 “다항식 x^{p‑1}‑1 을 모든 가능한 두 차수 (p‑1)/2 다항식으로 분할하는 경우의 수가 지수적으로 많다”는 점에서 어려울 것이라고 주장한다. 이러한 가정 하에, 저자들은 디지털 서명 체계에 적용할 수 있음을 제시한다. 서명자는 비밀키 P(x) 를 사용해 서명을 생성하고, 검증자는 공개키 A(x) 와 서명된 P(x) 를 통해 서명의 진위를 확인한다. 논문은 이 과정이 일방향 함수의 특성을 만족하므로 안전하다고 결론짓는다. 하지만 논문의 전개에는 여러 근본적인 문제점이 존재한다. 첫째, f(x)=x^{p‑1}‑1 은 GF(p) 에서 모든 비영 원소 j 에 대해 (x‑j) 의 곱으로 완전히 인수분해된다. 따라서 근들을 나열하고 원하는 차수로 묶는 작업은 O(p) 시간에 가능하다. 즉, “인수분해가 어려운” 전제 자체가 성립하지 않는다. 둘째, A(x)와 P(x)  사이의 관계는 x·P(x)·A(x) ≡ 1 (mod Q(x)) 이므로, gcd(A(x), f(x)) 을 계산하면 바로 P(x) 를 얻을 수 있다. 이는 EEA가 다항식 gcd 계산을 포함하고 있기 때문에, 공개키만으로 비밀키를 효율적으로 복구할 수 있음을 의미한다. 논문은 P(x)와 Q(x) 의 유일성을 증명하지 않았다. 실제로 동일한 A(x) 에 대해 여러 P, Q 쌍이 존재할 가능성이 있다. 이는 키 충돌 및 서명 위조 가능성을 높인다. 또한, 키 길이에 대한 실용적인 논의가 부족하다. p 가 256비트 수준이라면 f(x) 의 차수는 2^{256}‑1 에 달해, 다항식 자체를 저장하거나 연산하는 것이 물리적으로 불가능하다. 차수를 낮추면 경우의 수가 급격히 감소해 보안성이 크게 약화된다. 가능한 공격 방법으로는 (1) gcd 연산을 통한 비밀키 복구, (2) f(x) 의 모든 근을 미리 구해두고 A(x) 에 대한 값들을 근에 대입해 P, Q 의 후보를 빠르게 찾는 방법, (3) 차수가 작을 경우 전체 가능한 P, Q 쌍을 전수 조사하는 브루트포스 공격이 있다. 이러한 공격들은 현재 제안된 구조가 실제 암호학적 보안 요구를 충족시키지 못한다는 강력한 증거가 된다. 결론적으로, 논문이 제시한 “확장 유클리드 알고리즘 기반 일방향 함수”는 수학적 호기심을 자극할 수는 있지만, 핵심 보안 가정이 검증되지 않았으며, 기존의 다항식 기반 암호 체계와 비교했을 때 보안성, 효율성, 구현 가능성 모두에서 현저히 뒤처진다. 따라서 현재 형태로는 디지털 서명이나 기타 실용적인 암호 응용에 적용하기에는 부적절하다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기