SECURITYRSA-OAEP
RSA 키 페어 생성기
RSA-OAEP 공개키/개인키 쌍을 생성하고 비대칭 암복호화를 테스트합니다.
도구 설명 및 사용 방법
공개키 암호화 표준인 RSA 비대칭 암호키 한 쌍을 로컬 환경에서 보안 누출 없이 계산합니다. 생성된 키 페어를 이용해 문자열 암복호화 시뮬레이션을 진행할 수도 있습니다. 모든 키 생성과 암복호화가 브라우저 로컬에서 수행됩니다.
사용 단계
1
원하는 RSA 키 사이즈 비트 길이(1024, 2048, 4096)를 지정합니다.
2
"키 페어 생성(Generate)" 버튼을 누르면 크립토 연산을 통해 공개키와 개인키가 즉각 연산됩니다.
3
PEM 표준 규격 텍스트로 완성된 키를 확인하고 개별 복사하거나 로컬 텍스트 파일로 저장합니다.
4
아래 암복호화 테스트 폼에서 메시지를 적어 공개키로 암호화하고, 개인키로 해독하며 키 페어 검수를 완료합니다.
작동 원리 및 상세 설명
RSA는 1977년에 발표된 최초의 실용적인 공개키 암호 시스템으로, 큰 소수 두 개의 곱셈이 쉽고 인수분해가 매우 어려운 수학적 특성에 기반합니다. 공개키로 암호화한 내용은 대응하는 개인키로만 복호화할 수 있으며, 그 반대도 성립합니다(서명).
현대에는 RSA 키 길이 2048비트 이상을 권장하며, OAEP 패딩과 함께 사용하여 보안을 강화합니다. 실제 대용량 데이터 암호화에는 RSA를 직접 사용하지 않고, RSA로 대칭키(AES)를 교환한 후 대칭키로 데이터를 암호화하는 하이브리드 방식을 사용합니다.
이 도구는 브라우저 Web Crypto API를 통해 실제 RSA 키 생성과 OAEP 암복호화를 수행합니다. 모든 연산이 로컬에서만 이루어지므로, 실제 운영에 사용할 키 페어도 안전하게 생성하고 테스트할 수 있습니다.
자주 묻는 질문 (FAQ)
2048비트와 4096비트 중 어떤 것을 사용해야 하나요?
현재(2026년 기준) 2048비트는 대부분의 용도에서 여전히 안전한 것으로 간주됩니다. 4096비트는 더 높은 보안이 필요하거나 장기 보관되는 키(예: 루트 CA, 장기 서명)에 적합합니다. 성능과 호환성을 고려하여 선택하세요.
생성된 개인키가 외부로 유출될 위험이 있나요?
없습니다. 모든 키 생성과 암복호화 연산은 브라우저의 Web Crypto API로 로컬에서만 수행됩니다. 생성된 키를 복사하여 사용한 후에는 반드시 안전한 곳에 보관하고, 이 도구 탭을 닫으면 메모리에서 사라집니다.
RSA-OAEP와 RSA-PKCS1의 차이는?
OAEP는 패딩 방식이 더 안전하여 현대 권장 방식입니다. PKCS1 v1.5는 레거시 호환성을 위해 존재하지만, 일부 공격에 취약할 수 있습니다. 이 도구는 OAEP를 사용합니다.
코드 사용 예시
하이브리드 암호화 (RSA로 세션 키 암호화)
javascript
// 1. 도구로 RSA 키 페어 생성 (공개키는 서버에, 개인키는 클라이언트에)
// 2. 클라이언트에서 AES 키를 생성한 후 RSA 공개키로 암호화하여 전송
// 3. 서버는 RSA 개인키로 AES 키를 복호화한 후, 이후 통신은 AES로
// 실제로는 Web Crypto의 importKey + encrypt를 사용
const aesKey = await crypto.subtle.generateKey(...);
const encryptedAesKey = await crypto.subtle.encrypt(
{ name: 'RSA-OAEP' },
publicKey,
aesKeyRaw
);실제 보안 통신에서는 RSA로 대칭키(AES)를 안전하게 교환하고, 이후 대량 데이터는 대칭키로 암호화하는 하이브리드 방식을 사용합니다. 이 도구로 키 페어를 생성하고 동작을 이해할 수 있습니다.