Cryptography
[Cryptograhpy] CRT를 이용한 빠른 RSA 복호화
h34hg0
2022. 10. 29. 22:43
CRT(Chinese Remainder Theorem)를 이용하면 RSA복호화를 기존 복호화 방식보다 빠르게 할 수 있다.

CRT를 이용한 빠른 RSA 복호화 증명
CRT에 의하여
(1), (2)를 만족하는 m이 유일하게 존재.
아래의 식을 위 식의 k에 대입
양변에 q 곱하면
m2 이항
p > q 라고 하면
위 식을 이용하여 복호화 하면
기존 복호화 방법인
보다 빠르게 복호화가 가능하다. (사전에 필요한 값 대부분을 미리 계산하기 때문)
하지만 m1, m2를 아직모르기에 m1 와 m2를 구해보자.
m1, m2 구하기
이므로
이다.
따라서
이고
위수(order)가 페르마 소정리에 의하여 p - 1이므로
이다.
m2도 위와 같은 방법으로 하면 다음과 같다.
이제 m1과 m2를 알았으므로
위 방법을 사용하여 복호화를 할 수 있다.
m1에서 지수를 dp, m2에서의 지수를 dq 라 한다.
PKCS#1
RSA암호 표준 pkcs#1에서는 n = pq일 때, rsa개인키에 대하여 두개의 형식을 나타낸다
1. {n, d}
2. {p, q, dp, dq, qinv}
2의 개인키가 CRT를 이용하기위한 키다.
pkcs#1에 대한 자세한 내용은 RFC 8017문서에 있으니 필요하면 참고
https://www.ietf.org/rfc/rfc8017.txt