RSA 키 쌍 생성기 (2048/4096)
Web Crypto API로 2048비트 또는 4096비트 RSA 키 쌍을 PEM 형식으로 생성합니다 — 개인 키는 로컬에서 만들어지며 전송되지 않습니다.
키가 클수록 더 안전하지만 생성이 느립니다 — 4096비트는 수 초가 걸릴 수 있습니다. 페이지를 열 때마다 새 키 쌍을 만들어 둡니다. 생성 버튼을 누르면 또 만듭니다.
키는 Web Crypto API로 생성됩니다. 개인 키는 비밀로 보관하고 절대 공유하지 마세요.
이 RSA 키 생성기가 하는 일
이 도구는 브라우저에 내장된 Web Crypto API를 사용해 RSA 공개 키/개인 키 쌍을 브라우저 안에서 직접 생성합니다. 페이지를 열면 2048비트 키 쌍이 바로 만들어지고, 2048비트 또는 4096비트 모듈러스(메뉴의 다른 크기도 됩니다)를 선택해 생성 버튼을 누르면 새 키 쌍을 만듭니다. 어느 쪽이든 바로 사용할 수 있는 두 개의 PEM 블록이 나옵니다. 공개 키는 SPKI 형식(-----BEGIN PUBLIC KEY-----), 개인 키는 기본적으로 PKCS#8 형식(-----BEGIN PRIVATE KEY-----)입니다. 개인 키 형식을 PKCS#1로 바꾸면 개인 키가 전통적인 -----BEGIN RSA PRIVATE KEY----- 블록으로 나오는데, PKCS#8 포장을 벗긴 같은 키라서 새 키 쌍을 만들지 않고도 바꿀 수 있습니다. 둘 다 표준 base64로 인코딩된 DER을 한 줄에 64자로 감싼 형태라서 OpenSSL, SSH 도구, JWT 라이브러리, TLS 설정은 물론 대부분의 언어 암호화 스택에 그대로 넣을 수 있습니다. 각 키는 클릭 한 번으로 복사하거나 .pem 파일로 내려받을 수 있습니다.
키 크기 선택과 개인 키 보호
2048비트 키는 흔히 쓰는 기본값으로 거의 즉시 생성됩니다. 4096비트 키는 보안 여유가 더 크지만, 브라우저가 적당한 큰 소수를 찾아야 하므로 수 초가 걸릴 수 있습니다. 공개 키는 공유해도 안전합니다 — 여러분에게 데이터를 암호화해 보내거나 서명을 검증해야 하는 사람에게 건네주면 됩니다 — 반면 개인 키는 반드시 비밀로 지켜야 합니다. 생성은 crypto.subtle.generateKey로 로컬에서 이뤄지므로, 개인 키는 어떤 서버로도 전송·기록·저장되지 않으며 여러분이 복사하거나 내려받기 전까지 브라우저 탭 안에만 존재합니다. Web Crypto는 보안 컨텍스트가 필요하므로 이 생성기는 https 또는 localhost에서 동작합니다.
자주 묻는 질문
키가 서버에서 생성되나요?
아니요. 브라우저의 crypto.subtle.generateKey가 지수 65537로 쌍을 만들고 SPKI·PKCS#8로 내보내며, PKCS#1 형식은 이 페이지에서 그 포장을 벗겨 만듭니다. 키는 이 탭에만 있습니다.
키는 어떤 형식으로 나오나요?
공개 키는 SPKI PEM 형식(-----BEGIN PUBLIC KEY-----), 개인 키는 기본값이 PKCS#8 PEM 형식(-----BEGIN PRIVATE KEY-----)이고, 개인 키 형식에서 PKCS#1을 고르면 PKCS#1 PEM 형식(-----BEGIN RSA PRIVATE KEY-----)이 됩니다. 한 줄 64자로 감싼 표준 base64 DER이라 OpenSSL을 비롯한 대부분의 도구·라이브러리와 호환됩니다.
2048비트와 4096비트 중 무엇을 선택해야 하나요?
대부분의 용도에는 2048비트로 충분하며 거의 즉시 생성됩니다. 4096비트는 보안 여유가 더 크지만 생성이 느려 수 초가 걸릴 수 있습니다. 오래 쓰거나 중요한 키에 더 큰 여유가 필요하면 4096비트를 선택하세요.
이 키를 실제 운영 환경에서 사용해도 되나요?
표준을 따르는 실제 RSA 키이지만, 브라우저에서 생성한 키는 신중히 다뤄야 합니다. 매우 중요한 운영 키는 신뢰할 수 있는 기기나 HSM에서 생성하는 것이 좋습니다. 어떤 경우든 개인 키는 절대 공유하지 마세요.
키 크기를 마음대로 정할 수 있나요?
네. 메뉴의 흔한 크기 말고도 ‘직접 입력’에 페이지가 알려 주는 범위 안에서 바이트 단위로 원하는 크기를 넣을 수 있습니다. 보통 권장하는 최소보다 작으면 경고하고, 브라우저가 거부한 크기는 그렇다고 알려 줍니다.
개인 키를 BEGIN RSA PRIVATE KEY 형식으로 받을 수 있나요?
네. 개인 키 형식을 ‘PKCS#1 — BEGIN RSA PRIVATE KEY 블록’으로 바꾸면 개인 키가 옛 OpenSSL이 쓰던 RSA 전용 형식으로 나오므로, 아직 이 형식만 받는 라이브러리에 그대로 넣을 수 있습니다. PKCS#8 블록 안에 든 키를 그대로 꺼낸 것이라 형식을 오가도 새 키 쌍을 만들지 않으며, 복사와 내려받기는 지금 보이는 형식을 줍니다.