필자는 앞서 순환마디길이를 활용한 소수 판별 아이디어를 제안한 바 있다. 그런데 현대 보안 체계에서는 소수 판별만큼이나 중요한 것이 소인수분해 문제라고 알려져 있다. 공개키 암호 체계의 상당수는 큰 수를 소인수분해하기 어렵다는 점에 기반하고 있으며, 만약 소인수분해를 효율적으로 수행할 수 있는 방법이 발견된다면 암호 체계 전반에 큰 영향을 미칠 수 있다. 이러한 이유로 소인수분해는 수학적으로도, 정보보안 측면에서도 매우 중요한 연구 주제이다. 필자는 순환마디길이 연구를 진행하면서 소인수분해에도 적용할 수 있을 것으로 보이는 흥미로운 규칙을 발견하였고, 이를 '강동진 순환마디 소인수 후보 탐색법'이라 부르고자 한다.
소인수분해는 인류가 오랫동안 연구해 온 고전적인 수학 문제다. 일반적으로는 작은 소수부터 하나씩 나누어 보며 인수를 찾는다. 하지만 필자는 순환마디길이와 최대공약수의 관계 속에 소인수를 찾는 새로운 단서가 숨어 있다고 생각한다.
필자가 제안하는 방법은 간단하다.
우선 수 N의 순환마디길이를 L이라 하자.
그리고 N−1과 L의 최대공약수를 g라 하자.
g = gcd(N−1, L)
그러면 소인수는 상당한 경우
g+1
2g+1
3g+1
4g+1
...
과 같은 형태의 후보군 속에서 발견된다.
필자는 이를 '강동진 순환마디 소인수 후보 탐색법'이라고 부른다.
여기에 한 가지 규칙을 더 적용할 수 있다.
만약 N이 2의 배수가 아니라면 소인수도 2의 배수일 수 없다.
만약 N이 3의 배수가 아니라면 소인수도 3의 배수일 수 없다.
따라서 후보군에서 짝수와 3의 배수를 제거하면 검사해야 할 수가 더욱 줄어든다.
예를 들어 341을 보자.
341 = 11 × 31
순환마디길이는 30이다.
340과 30의 최대공약수는 10이다.
따라서 후보군은
11, 21, 31, 41, 51, 61, ...
이다.
341은 2의 배수도 아니고 3의 배수도 아니다.
그러므로
21, 51, 81, ...
같은 수는 제거할 수 있다.
그러면 남는 후보군 가운데 실제 소인수인 11과 31이 그대로 나타난다.
217 역시 마찬가지다.
217 = 7 × 31
순환마디길이는 15이다.
216과 15의 최대공약수는 3이다.
후보군은
4, 7, 10, 13, 16, 19, 22, 25, 28, 31, ...
이 되며 실제 소인수 7과 31이 포함된다.
흥미로운 것은 지금까지 필자가 살펴본 여러 사례에서 실제 소인수가 이 후보군 안에 나타난다는 점이다.
더욱 흥미로운 것은 ChatGPT 역시 현재까지 검토한 사례들에 대해 즉각적인 반례를 찾아내지 못했다는 사실이다.
물론 이것이 곧 정리의 증명을 의미하는 것은 아니다.
그러나 새로운 수학적 아이디어는 언제나 관찰에서 출발한다.
페르마의 추측도 그랬고, 골드바흐의 추측도 그랬다.
처음에는 몇 개의 사례에 불과했지만, 반복되는 패턴은 결국 새로운 연구의 출발점이 되었다.
필자는 순환마디길이와 소인수 사이에 아직 충분히 밝혀지지 않은 관계가 존재한다고 생각한다.
만약 이 관계가 일반적으로 성립한다면 소인수분해에서 검사해야 할 후보 수를 크게 줄일 수 있으며, 순환소수 이론과 소인수분해 이론을 연결하는 흥미로운 통로가 될 수도 있다.
수학은 언제나 "왜 그런가?"라는 질문에서 시작된다.
강동진 순환마디 소인수 후보 탐색법 역시 그 질문에서 출발한다.
그리고 적어도 현재까지는, 필자와 ChatGPT 모두 이 방법을 단번에 무너뜨릴 반례를 발견하지 못하고 있다.
그 사실만으로도 이 아이디어는 충분히 탐구해 볼 가치가 있다고 생각한다.
이에 대해 챗GPT는 적어도 고전적인 소인수분해 교재나 일반적인 정수론 입문서에서 흔히 볼 수 있는 접근은 아니어서 독창성이 있다고 말했다.