본문 바로가기
CS

RSA 암호화란?

by mr.conan 2023. 7. 16.
728x90
반응형

RSA 암호화는 공개키 암호화 방식 중 가장 널리 사용되는 암호화 알고리즘 중 하나입니다. 1977년에 Ron Rivest, Adi Shamir, Leonard Adleman에 의해 개발된 이 알고리즘은 이름을 따서 RSA로 알려져 있습니다. RSA는 암호화와 복호화에 각각 다른 키를 사용하는 "비대칭키 암호화" 방식을 기반으로 합니다. 즉, 공개키와 개인키를 쌍으로 사용하여 데이터를 암호화하고 복호화합니다.

RSA 암호화 방법

RSA 암호화는 다음과 같은 단계로 이루어집니다.

  1. 소수 생성: 먼저 무작위로 두 개의 큰 소수(p와 q)를 선택합니다.
  2. n값 계산: n = p * q를 계산합니다. n은 공개키와 개인키 생성에 사용되는 중요한 값이며, 암호화와 복호화에도 활용됩니다.
  3. φ(n) 값 계산: φ(n)은 n과 서로소인 양의 정수의 개수를 나타내며, φ(n) = (p-1) * (q-1)로 계산됩니다.
  4. 공개키(e, n) 생성: 1 < e < φ(n)이며, φ(n)과 서로소인 e 값을 선택하여 (e, n)을 공개키로 사용합니다.
  5. 개인키(d, n) 생성: e * d ≡ 1 (mod φ(n))을 만족하는 d 값을 찾아 (d, n)을 개인키로 사용합니다. 즉, d는 e의 모듈로 역원입니다.
  6. 암호화: 평문 M을 M^e ≡ C (mod n)으로 암호화합니다. 여기서 C는 암호문을 나타냅니다.
  7. 복호화: 암호문 C를 C^d ≡ M (mod n)으로 복호화하여 평문 M을 얻습니다.

RSA 암호화의 특징

  • RSA는 공개키와 개인키를 쌍으로 사용하여 보안성을 강화합니다. 공개키로 암호화하면 개인키로만 복호화할 수 있으며, 개인키로 암호화하면 공개키로만 복호화할 수 있습니다.
  • RSA는 소인수분해 문제를 기반으로 합니다. 매우 큰 소수 p와 q를 곱해서 n을 생성하고, φ(n) 값을 구하는 것은 쉽지만, n을 소인수분해하는 것은 현재로서는 매우 어렵습니다. 따라서 RSA는 현실적으로 매우 안전한 암호화 알고리즘으로 알려져 있습니다.
  • RSA는 안정적인 보안을 제공하며, SSL/TLS와 같은 웹 보안 프로토콜이나 전자서명 등 다양한 보안 기술에 활용됩니다.

RSA 암호화는 현대적인 암호화 기법 중 가장 중요하고 널리 사용되는 알고리즘 중 하나입니다. 암호화와 복호화에 서로 다른 키를 사용하는 비대칭키 암호화 방식으로, 안정적인 보안성을 제공하여 인터넷 보안 분야에서 널리 사용됩니다.

728x90
반응형