RSA Key & Encryption Tool


비워두면 개인키는 암호화되지 않은 PEM으로 생성됩니다.

간단 설명 & 주의

이 도구는 서버 측에서 OpenSSL/PHP 함수를 이용해 RSA 키를 생성하거나 암호화/복호화를 수행합니다. 보안 주의: 개인키를 서버에 전송하거나 서버에서 생성된 개인키를 저장할 경우 노출 위험이 있습니다. 민감한 개인키는 가능하면 클라이언트 측(WebCrypto)에서 생성/보관하세요.

암호화는 하이브리드 방식(AES-256-CBC + RSA로 AES 키 암호화)을 사용합니다. 이는 RSA로 큰 데이터를 직접 암호화할 수 없는 문제를 해결합니다.

동작 개요

  1. Generate — RSA 키페어(공개/개인 PEM)를 생성합니다. 개인키는 선택적으로 passphrase로 보호할 수 있습니다.
  2. Import public/private PEM — 기존 PEM을 붙여넣어 사용합니다.
  3. Encrypt — plaintext를 AES로 암호화하고, AES 키를 공개키로 RSA 암호화하여 JSON envelope을 반환합니다.
  4. Decrypt — JSON envelope을 제출하면 개인키로 AES 키를 복원하고 원문을 복호화하여 반환합니다.

운영 시에는 반드시 CSRF 보호, rate-limit, audit logging, 키 보관 정책(키 수명, 삭제 정책)을 도입하세요.