RSA 키 페어 생성기

Web Crypto API를 사용하여 브라우저에서 안전하게 PKCS#8(개인키) 및 SPKI(공개키) PEM 키 생성.

RSA 키 페어 생성기

Web Crypto API를 사용하여 브라우저에서 안전하게 PKCS#8(개인키) 및 SPKI(공개키) PEM 키 생성.

사용 방법

1
Set Criteria & Options
Select length, format, or generation parameters for your output.
2
Generate Instantly
Generate secure, random, or custom data entirely in your browser.
3
Copy or Export
Copy the generated output to your clipboard or download the file.
개념 및 지식 허브

RSA 공개키·개인키 생성기: Web Crypto 2048/4096비트 PEM 키페어 빌더

RSA 공개키·개인키 생성기는 SSH 서버 접속 인증, 데이터 종단간 비대칭 암호화, 전자 서명(Digital Signature) 검증에 사용되는 암호학적 RSA 키페어(Key Pair)를 실시간으로 안전하게 발급해 주는 보안 엔지니어링 유틸리티입니다. 최신 브라우저의 표준 Web Crypto API를 기반으로 2048비트, 3072비트, 4096비트 규격의 암호학적 키페어를 생성하고 업계 표준 PKCS#8 및 SPKI 규격의 PEM 텍스트로 인코딩합니다. 최신 암호학 표준 규격을 준수하여 신뢰할 수 있는 엔터프라이즈 보안 키 발급 환경을 제공합니다.

생성된 비대칭 키페어는 웹 브라우저 메모리 안에서 철저히 격리 처리되므로 외부 유출 위협으로부터 완벽하게 안전합니다. 실제 리눅스 서버 SSH 접속용 키페어를 준비하는 상황에서 키 길이 2048비트와 RSA-OAEP(또는 RSASSA-PKCS1-v1_5) 알고리즘을 지정하고 키페어 생성을 누르면, 시스템이 암호학적 난수 엔트로피를 수집하여 0.15초 내로 -----BEGIN PUBLIC KEY----- 및 -----BEGIN PRIVATE KEY----- 형식의 완전한 공개키와 개인키 PEM 문자열을 각각 즉각 산출합니다.

모든 대형 소수(Prime Number) 추첨 및 모듈러스(Modulus) 키 연산은 사용자의 로컬 컴퓨터 CPU 보안 컨텍스트 안에서 직접 완결됩니다. 원격 서버나 외부 클라우드로 키페어 데이터가 일절 송신되지 않으므로 생성된 프라이빗 키(Private Key)는 오직 사용자 본인만 안전하게 소유하게 됩니다.

핵심 아키텍처 및 수학 공식

RSA 키페어 = GenerateKeyPair(Algorithm: RSA-OAEP/RSA-PSS, Modulus: 2048/4096, Exponent: 65537)

브라우저 crypto.subtle.generateKey를 호출하여 거대 소수 p와 q를 추출하고 공용 공개 지수 e=65537(0x10001)을 적용하여 키페어를 빌드한 뒤 PEM으로 직렬화합니다.

모범 사례 및 필수 지침

  • 개인키(Private Key) 절대 유출 금지 및 안전한 저장: 개인키는 소유자 본인만 안전한 암호화 볼트(Vault)나 권한 제어 파일(~/.ssh/id_rsa, chmod 600)에 보관하고 네트워크로 절대 전송하지 마세요.
  • 최소 2048비트 이상, 장기 보안은 4096비트 권장: 1024비트 RSA 키는 컴퓨팅 파워 향상으로 인해 보안성이 붕괴되었으므로 상용 시스템에는 최소 2048비트, 중요 금융 및 장기 인프라에는 4096비트를 채택하세요.
  • 용도별 알고리즘 분리(RSA-OAEP vs RSA-PSS): 데이터 기밀성 보장을 위한 비대칭 암호화에는 RSA-OAEP를 사용하고, 데이터 위변조 방지를 위한 디지털 서명에는 RSA-PSS 또는 RSASSA-PKCS1-v1_5를 명확히 구분해 사용하세요.
  • 공개키(Public Key)만 서버에 등록: SSH 서버의 authorized_keys 파일이나 오픈 API 엔드포인트에는 오직 공개키(SPKI)만 등록해야 비대칭 암호의 보안 원칙이 유지됩니다.

자주 묻는 질문 (FAQ)

웹 브라우저에서 생성된 RSA 키의 암호학적 안전성은 신뢰할 수 있나요?
네, W3C 및 주요 보안 기구가 공인한 네이티브 Web Crypto API의 암호학적 난수 생성기(CSPRNG)와 하드웨어 암호화 라이브러리를 직접 사용하므로 오픈SSL(OpenSSL) CLI 도구와 완전히 동일한 엔트로피 품질을 보장합니다.
공개 지수(Public Exponent)가 65537로 고정되어 있는 이유는 무엇인가요?
65537(2^16 + 1)은 페르마 소수(F4)로서 이진수 표현 시 1의 개수가 적어 고속 모듈러 지수 연산이 가능하면서도 낮은 지수 공격을 방어하는 수학적 황금률 표준 값입니다.
2048비트와 4096비트 키 생성 속도 차이가 나는 이유는 무엇인가요?
4096비트 키는 훨씬 더 거대한 2048비트급 소수를 무작위 탐색해야 하므로 확률적 소수 판별 연산량이 기하급수적으로 증가하여 브라우저 CPU에 따라 1~2초가량 소요될 수 있습니다.
생성된 개인키가 웹사이트 개발자나 호스팅 서버로 전송되나요?
전혀 전송되지 않습니다. 모든 연산은 로컬 웹 브라우저 메모리 안에서만 일회성으로 수행되며 페이지를 닫는 즉시 메모리에서 영구 파기되므로 안심하고 키를 발급받으실 수 있습니다.