선릉역 1번 출구

[3-9] Square Roots Mod n 본문

Computer/Cryptology

[3-9] Square Roots Mod n

choideu 2021. 8. 13. 00:45

x^2 ≡ 71 (mod 77)가 solution(해)을 가지고 있다고 가정하자. 

그 전에 먼저 일반적으로 x^2 ≡ b (mod n)의 모든 해를 찾는 문제를 고려하자. 여기서 n = pq, 두 소수의 곱으로 이루어져 있다.

n의 인수분해를 알고 있다면 해를 찾는 것은 매우 쉽게 풀린다. 반대로 모든 솔루션(해)을 알고 있다면 n을 인수분해하는 것이 쉽다. 

 

square root mod a prime p의 case로 진행할 것이고 p가 mod 4에 대해서 3일 때 가장 easy하고 1일 때가 더 어렵다. 이유는 (cohen을 참조하자)

 

Proposition(명제)

p ≡ 3 (mod 4)인 소수이고 y를 정수, x ≡ y^(p+1)/4 (mod p)라고 하자.

1. y가 mod p에 대해 제곱근을 가지면, y의 mod p에 대한 제곱근은 ±x이다.

2. y가 mod p에 대해 제곱근을 안가지면, -y가 mod p에 대해 제곱근을 가지고 -y의 mod p에 대한 제곱근은 ±x이다.

 

Proof(증명)

y ≡ 0 (mod p)라고 가정하면 모든 명령문이 trivial하기 때문에 y !≡ 0 (mod p)라고 가정한다. 페르마의 정리에 의하면 y^p-1 ≡ 1 (mod p)이기 때문에 

으로 표현이 가능하다. 이 식은 (x^2+y)(x^2-y) ≡ 0 (mod p)으로 표현할 수 있는데 그럼 x^2 ≡ ±y (mod p)이다. 그렇기 때문에 y와 -y중 적어도 하나는 mod p에 대해 제곱이다. 둘 다 제곱근이라고 했을 때, y = a^2, -y = b^2으로 두면 -1 = (a/b)^2은 -1이 mod p의 제곱이라는 의미이다. 그러나 p ≡ 3 (mod 4)에서 불가능하기 때문에 y와 -y중 하나만 mod p에 대해서 제곱근을 가지게 된다.

+일반적으로 0과 관련된 답을 trivial하다고 한다. / 대상에 대하여 대단히 간단한 구조를 표현하는 자명한의 의미임

 

Example(예제)

composite modulus의 제곱근을 고려하자. -> x^2 ≡ 71 (mod 77)

이 식은 x^2 ≡ 71 ≡ 1 (mod 7) and x^2 ≡ 71 ≡ 5 (mod 11)을 의미한다. 그러므로 x ≡ ±1 (mod 7) and  x ≡ ±4 (mod 11)이다. 중국인의 나머지 정리 이론에 따르면 합동 mod 7과 합동 mod 5이 합동 mod 77로 재결합될 수 있음을 알려준다. 이 예제의 경우에는 x ≡ 15 (mod 77)이고 4가지 방법으로 재결합이 가능하다. x ≡ ±15 ,  ±29 (mod 77).

 

즉 n = pq, 두 소수의 곱일 때, 우리는 4개의 해를 알 수 있다. (x ≡ ±a, ±b of x^2 ≡ y (mod n)).

이를 통해서 a ≡ b (mod p) and a ≡ -b (mod q)임을 알 수 있고, 그러므로 p|(a-b)이지만 q|(a-b)가 아니다. 이는 gcd(a-b, n) = p라는 것이고 우리는 n의 nontrivial factor를 찾을 수 있다.

->해를 알면 n의 인수분해가 가능함을 보이고 있음

 

결론

위에서 사용한 모든 연산은 n의 인수분해를 제외하고는 빠르다. 특히 중국인의 나머지 정리 계산을 빠르게 수행할 수 있고 gcd의 계산 또한 마찬가지로 빠르다. mod p와 mod q의 제곱근을 계산하는데 필요한 modular exponentiations는 successive squaring(연속제곱법)을 사용해서 빠르게 계산할 수 있다. 

 


n = pq가 3 (mod 4)와 합동이고 두 소수의 곱일 때, y는 n에 대해서 서로소이며 mod n에 대해서 제곱근을 가진다고 가정한다. 4개의 해를 찾는 것은 계산상 n을 인수분해하는 것과 같다. 

다시 말하면 해를 찾을 수 있다면 n을 쉽게 인수분해할 수 있고, 반대로 n을 인수분해할 수 있다면 해를 쉽게 찾을 수 있다.

'Computer > Cryptology' 카테고리의 다른 글

[6-3] Primality Testing  (0) 2021.08.19
[3-5] Modular Exponentiation  (0) 2021.08.13
[3-8] Inverting Matrices Mod n  (0) 2021.08.13
[3-1] Basic Notions  (0) 2021.07.06
책 소개  (0) 2021.06.15
Comments