%3C/text%3E%3C/svg%3E">
💻
💻 IT·개발

RSA 키 수학 계산기 (교육용, 작은 소수)

입력하면 바로 계산됩니다.

입력값

RSA 키 계산 쉽게 이해하기 — 개념과 원리

RSA는 전자서명과 키 교환에 널리 쓰이는 공개키 암호입니다. 이 계산기는 아주 작은 소수로 교과서식 RSA를 실행해, 모듈러스를 만들고 개인 지수를 구한 뒤 숫자를 암호화하고 다시 복호화하는 과정을 단계별로 보여 줍니다. RSA가 왜 성립하는지 직접 확인하고 싶은 학생과 개발자를 위한 도구입니다.

p = 61, q = 53으로 만든 RSAn = 3,233, φ(n) = 3,120, 공개 e = 17, 개인 d = 2,753. 메시지 65는 2,790으로 암호화되고 다시 65로 복호화됩니다.RSA: e로 잠그고 d로 엽니다p = 61×q = 53→n = 3,233φ(n) = 60 × 52 = 3,120 · 17 × 2,753 = 15 × 3,120 + 1공개키e = 17개인키d = 2,753m = 6565¹⁷ mod nc = 2,790c²⁷⁵³ mod n65다시 65실제 RSA는 수백 자리 소수를 씁니다
누구나 e = 17로 65를 2,790으로 잠글 수 있지만, 다시 여는 것은 d = 2,753뿐입니다.

계산 방법

  1. 두 소수 p, q를 골라 n = p × q를 만듭니다.
  2. 오일러 피 함수 φ(n) = (p − 1)(q − 1)을 구합니다.
  3. gcd(e, φ(n)) = 1인 공개 지수 e를 고릅니다. p나 q가 소수가 아니거나 e가 φ(n)과 서로소가 아니면 계산을 멈춥니다.
  4. e × d ≡ 1 (mod φ(n))을 만족하는 개인 지수 d = e⁻¹ mod φ(n)을 확장 유클리드 호제법으로 구합니다.
  5. 0 ≤ m < n인 메시지 m을 c = mᵉ mod n으로 암호화하고, m = cᵈ mod n으로 복호화합니다. 거듭제곱은 큰 정수로 정확하게 계산합니다.

원리

오일러 정리에 따르면 m과 n이 서로소일 때 m^φ(n) ≡ 1 (mod n)입니다. e × d = 1 + t × φ(n)이므로 c = mᵉ를 d제곱하면 m^(1 + tφ(n)) = m × (m^φ(n))^t ≡ m이 됩니다. 중국인의 나머지 정리를 쓰면 n보다 작은 모든 m에서 성립함을 보일 수 있습니다. n과 e는 공개되지만 d를 구하려면 φ(n)이 필요하고, 이는 n을 소인수분해하는 것만큼 어렵습니다. 3,233은 바로 분해되지만 2,048비트 수는 현재 컴퓨터로 분해할 수 없습니다.

예제 풀이

  1. 입력값은 p = 61, q = 53, e = 17, m = 65입니다.
  2. n = 61 × 53 = 3,233입니다.
  3. φ(n) = 60 × 52 = 3,120이고, gcd(17, 3,120) = 1이므로 e를 쓸 수 있습니다.
  4. 17 × 2,753 = 46,801 = 15 × 3,120 + 1이므로 d = 2,753입니다.
  5. 암호문은 c = 65¹⁷ mod 3,233 = 2,790입니다.
  6. 2,790^2,753 mod 3,233 = 65로 원래 메시지가 돌아옵니다.

결과 해석

복호화 결과가 처음의 m과 같으면 키 쌍이 올바르게 만들어진 것입니다. 다른 값이 나오면 대개 m이 n 이상이라 하나로 표현되지 않은 경우입니다. 실제로는 e로 65,537을 많이 쓰고, n은 2,048비트 이상을 씁니다.

흔한 실수

주의: 학습용 도구입니다. 실제 RSA는 큰 난수 소수, 암호화용 OAEP나 서명용 PSS 같은 패딩, 검증된 암호 라이브러리를 함께 씁니다. 작은 키나 직접 짠 RSA 코드로 실제 데이터를 보호하지 마십시오.

자주 묻는 질문

왜 e = 65,537을 많이 씁니까?

소수이면서 이진수로 1인 비트가 두 개뿐이라 암호화와 서명 검증이 빠르고, 패딩과 함께 쓰면 작은 지수 공격도 피할 수 있기 때문입니다.

φ(n) 대신 λ(n)을 써도 됩니까?

됩니다. 많은 라이브러리가 λ(n) = lcm(p − 1, q − 1)로 d를 구하며, 더 작지만 똑같이 유효한 d가 나옵니다.

요즘 RSA 키는 얼마나 길어야 합니까?

일반 용도는 2,048비트를 최소로 보고, 장기 보호에는 3,072비트가 권고됩니다.

출처: R. L. Rivest, A. Shamir, L. Adleman, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", Communications of the ACM 21(2), 1978 · IETF RFC 8017, PKCS #1: RSA Cryptography Specifications Version 2.2 · NIST SP 800-57 Part 1, Recommendation for Key Management

2026년 11월 8일 확인. 표준 공식과 RFC/IEEE 정의를 사용해 브라우저 안에서만 계산합니다. 입력한 내용은 어디에도 전송되지 않습니다.

💻 IT·개발 계산기 전체 →🏠 홍라이프 계산기 홈 →