RSA는 공개 키 암호화를 위한 암호 시스템이며 특히 인터넷을 포함한 안전하지 않은 네트워크를 통해 전송되는 경우 응답 정보를 보호하는 데 널리 사용됩니다.
RSA 암호화에서 공개 키와 개인 키 모두 메시지를 암호화할 수 있습니다. 메시지를 암호화하는 데 사용된 것의 역 키를 사용하여 메시지를 해독합니다. 이 속성은 RSA가 가장 널리 사용되는 비대칭 알고리즘으로 발전한 이유 중 하나입니다. 이는 디지털 연결 및 데이터 저장의 기밀성, 무결성, 신뢰성 및 비평판성을 보장하는 접근 방식을 지원합니다.
RSA에는 곱셈 그룹이 필요합니다. G =
공개 및 개인 키 생성 알고리즘은 RSA 암호화에서 가장 어려운 요소입니다. Rabin-Miller 1차 테스트 알고리즘을 사용하여 생성되는 두 개의 큰 소수 p와 q가 있습니다.
모듈러스 n은 p와 q를 곱하여 계산됩니다. 이 번호는 공개 키와 개인 키 모두에서 사용할 수 있으며 이들 간의 연결을 지원합니다. 일반적으로 비트로 정의되는 길이를 키 길이라고 합니다.
공개 키는 모듈러스 n과 공개 지수 e를 포함하며 일반적으로 65537로 설정되며 너무 크지 않은 소수입니다. 공개 키는 모든 사람과 공유되므로 e 숫자는 개인적으로 선택한 소수일 필요가 없습니다.
개인 키는 모듈러스 n과 개인 지수 d를 포함하며, 이는 확장 유클리드 알고리즘을 사용하여 계산되어 n의 토티엔트에 대한 역승법을 발견합니다.
산술 모듈러스 n을 고려하여 e가 n의 토티언트 φ(n)에 대해 공소인 정수라고 가정해 보겠습니다. 또한, d는 e 모듈로 φ(n)의 곱셈 역이라고 말할 수 있습니다. 편의를 위해 여러 기호에 대한 이러한 정의가 아래에 나열되어 있습니다.
n =모듈식 산술의 계수
φ(n) =n
의 몫e =φ(n)
에 연관 소수인 정수[e가 곱셈 역 모듈로 φ(n)을 가질 것이라는 보장]
d =e 모듈로 φ(n)
의 곱셈 역인 정수키 생성을 위한 계산 단계는
-
p와 q를 포함하는 두 개의 다른 소수를 생성합니다.
-
계수 계산 n =p × q
-
토션 φ(n) =(p − 1) × (q − 1)
를 계산합니다. -
공개 지수에 대해 1
-
개인 지수에 대해 d =e−1 mod φ(n)
가 되도록 d에 대한 값을 계산합니다. -
공개 키 =[e, n]
-
개인 키 =[d, n]