RSA 키 쌍 생성기
무작위 RSA 개인 키와 공개 PEM 인증서 키 쌍을 생성합니다.
RSA 공개 키와 개인 키를 PEM 텍스트로 만듭니다. 키 길이는 256에서 16384비트 사이에서 8의 배수로 고릅니다.
사용 순서
- 비트 수 칸에 키 길이를 넣습니다. 기본값은 2048입니다.
- Refresh key-pair 버튼을 누르면 키 쌍이 새로 생성됩니다.
- 공개 키 칸의 PEM 텍스트를 복사해 상대나 서버에 등록합니다.
- 개인 키 칸의 내용은 외부로 보내지 말고 안전한 곳에만 보관합니다.
예시
비트 수 2048로 생성하면 공개 키는 -----BEGIN PUBLIC KEY----- 줄로 시작하고, 개인 키는 -----BEGIN RSA PRIVATE KEY----- 줄로 시작합니다. 두 키의 본문은 실행할 때마다 달라집니다.
한계
키 생성은 브라우저에서 이루어지므로 키 길이가 커질수록 오래 걸리고 화면이 잠시 멈출 수 있습니다. 개인 키는 암호를 걸지 않은 PKCS#1 형식으로만 출력됩니다. 범위를 벗어난 값을 넣으면 키 대신 빈 칸이 표시됩니다.
보안 주의
개인 키 PEM에는 암호가 걸려 있지 않아서 텍스트만 얻으면 누구든 그대로 쓸 수 있습니다. 화면과 복사 버퍼에 남으므로 생성 후 필요한 곳에 바로 옮기고 화면을 닫으세요. 운영 서버의 키는 이 도구가 아니라 서버 안에서 직접 만들어야 합니다.
배경 지식
RSA는 큰 소수 두 개를 곱한 수를 다시 소인수분해하기 어렵다는 점에 기대는 비대칭 암호입니다. 공개 키로 암호화하거나 서명을 검증하고, 개인 키로 복호화하거나 서명합니다. 공개 키는 공유해도 되지만 개인 키는 누구와도 나누면 안 됩니다. 두 키는 수학적으로 짝을 이루며, 공개 키로 만든 암호문은 짝이 되는 개인 키로만 풀립니다. 키 쌍을 만든 쪽만 개인 키를 가지므로 생성 위치와 보관 위치가 곧 신뢰의 근거가 됩니다.
비트 수는 공개 모듈러스 n의 길이이며, 2048비트가 널리 쓰이는 최소 기준입니다. 키가 길어질수록 키 생성과 암복호화 비용이 커지므로 안전성과 성능을 함께 고려해야 합니다. PEM은 키의 이진 데이터를 Base64로 감싸고 시작과 끝 줄을 붙인 텍스트 형식이라 복사하거나 설정 파일에 넣기 쉽습니다. 여러 줄로 된 텍스트라서 줄바꿈이 빠지면 키 파싱이 실패하니, 복사할 때 시작과 끝 줄을 함께 가져가세요.
자주 묻는 질문
공개 키와 개인 키 중 어느 쪽을 상대에게 보내나요?
공개 키만 보냅니다. 상대는 그 키로 여러분에게 보낼 내용을 암호화하거나 여러분의 서명을 검증합니다. 개인 키는 여러분이 계속 보관하는 값입니다.
PKCS#1 형식과 PKCS#8 형식은 무엇이 다른가요?
PKCS#1은 RSA 키만 담는 형식이라 헤더에 RSA PRIVATE KEY가 붙습니다. PKCS#8은 알고리즘 정보를 함께 담는 범용 형식이며 헤더가 PRIVATE KEY입니다. 사용하는 라이브러리가 요구하는 형식을 확인하세요.
비트 수는 얼마로 정하면 되나요?
새로 만드는 시스템이라면 2048비트가 흔한 출발점입니다. 더 긴 수명이 필요하면 3072비트나 4096비트를 고려하세요. 키 길이는 호환되는 상대 시스템의 지원 범위 안에서 정해야 합니다.