RSA 암호화/복호화 도구
키 생성 및 디지털 서명이 가능한 공개키 암호화, 개인키 복호화
RSA 암호화 정보
RSA는 1977년 Ron Rivest, Adi Shamir, Leonard Adleman이 발명한 비대칭 암호화 알고리즘입니다. RSA는 가장 널리 사용되는 공개키 암호화 알고리즘 중 하나로 데이터 암호화, 디지털 서명, 키 교환에 사용됩니다.
RSA 보안은 큰 정수를 인수분해하는 어려움에 기반합니다. 암호화를 위한 공개 키와 복호화를 위한 개인 키의 쌍을 사용합니다. 공개 키는 공개적으로 배포할 수 있지만 개인 키는 비밀로 유지해야 합니다.
기능
- 키 쌍 생성: 1024, 2048, 4096비트 키 크기 지원
- 공개키 암호화: 공개 키로 민감한 데이터 암호화
- 개인키 복호화: 개인 키로 암호화된 데이터 복호화
- 디지털 서명: 개인 키로 메시지 서명
- 서명 검증: 공개 키로 서명 진위 검증
- 다중 해시 알고리즘: SHA-1, SHA-256, SHA-384, SHA-512
- 패딩 모드 선택: OAEP(권장) 및 PKCS#1 v1.5(레거시 호환성) 지원
- 다중 형식: 입출력이 텍스트, Base64, Hex 등을 지원
키 크기 선택
적절한 키 크기를 선택하는 것은 보안과 성능에 중요합니다:
- 1024-bit: 1024비트: 새 시스템에 권장하지 않음, 몇 년 내에 해독될 수 있음
- 2048-bit: 2048비트: 현재 권장되는 최소값, 대부분의 애플리케이션에 적합
- 4096-bit: 4096비트: 최고 보안 제공, 그러나 암호화/복호화가 느림
패딩 모드
이 도구는 두 가지 RSA 패딩 모드를 지원합니다. 보안 요구사항과 호환성 필요에 따라 선택하세요:
- OAEP: 최적 비대칭 암호화 패딩, 의미론적 보안을 제공하고 선택 암호문 공격으로부터 보호합니다. 새 시스템에 권장됩니다.
- PKCS#1 v1.5: 알려진 Bleichenbacher 공격 취약점이 있는 레거시 패딩 모드입니다. 레거시 시스템과의 호환성을 위해서만 권장됩니다.
형식 옵션
이 도구는 다양한 시스템과의 쉬운 통합을 위해 여러 데이터 형식을 지원합니다:
- 텍스트: 직접 UTF-8 텍스트 입출력, 일반 문자열에 적합
- Base64: Base64 인코딩 형식, 네트워크 전송 및 이진 데이터 저장에 일반적으로 사용됨
- Hex: 16진수 형식, 이진 데이터 보기 및 디버깅에 편리
사용 사례
- 안전한 통신: 전송 전 민감한 데이터 암호화
- 디지털 서명: 메시지 진위 및 무결성 검증
- 키 교환: 대칭 키 안전하게 교환
- 신원 인증: 발신자 신원 확인
- 소프트웨어 라이선싱: 라이선스 생성 및 검증
보안 권장사항
- 최소 2048비트 키 크기 사용
- 개인 키를 안전하게 보관하고 안전하지 않은 채널을 통해 전송하지 마세요
- 정기적으로 키 쌍 교체
- 매우 민감한 데이터의 경우 4096비트 키 고려
- 대용량 데이터에는 하이브리드 암호화(RSA + 대칭) 사용
RSA 제한사항
- RSA는 제한된 데이터 길이만 암호화할 수 있습니다(키 크기 및 패딩에 따라 다름)
- RSA 암호화/복호화는 대칭 암호화보다 훨씬 느립니다
- 일반적으로 대칭 키를 암호화하는 데 사용되며 대용량 데이터를 직접 암호화하지 않습니다