SM2 (国密) 암호화 & 복호화

무료 온라인 SM2 (国密) 암호화 & 복호화 도구. 100% 로컬 처리 — 데이터가 기기를 벗어나지 않습니다.

National Standards
Other
출력

결과가 여기에 표시됩니다...

입력 암호화

Usage Guide

SM2 소개

SM2는 중국의 국가 타원 곡선 암호화(ECC) 표준으로, GM/T 0003-2012에 정의되어 있으며 2010년 국가암호관리국(SCA/OSCCA)에 의해 발표되었습니다. 사용자 지정 SM2 곡선 매개변수를 가진 256비트 타원 곡선을 기반으로 하며, RSA-3072에 상응하는 보안성을 제공하면서 더 짧은 키와 빠른 계산 속도를 자랑합니다. SM2는 비대칭 암호화, 디지털 서명, 키 교환의 세 가지 기능을 정의합니다. 이 도구는 암호화 기능을 다룹니다 — 공개 키로 암호화하고, 개인 키로 복호화합니다.

중국 국가 표준: SM2는 국가 안보 및 공공 복지와 관련된 시스템에 대해 중국 암호화법에 의해 의무화되어 있습니다. 시스템이 중국 규정(은행, 정부, 중요 인프라)을 준수해야 하는 경우, SM2는 RSA나 표준 ECC 대신 필수적인 선택입니다.

사용 단계

SM2 암호화 및 복호화는 다음 단계를 따릅니다:

1. 암호화 모드 선택C1C3C2(새 표준, 권장) 또는 C1C2C3(구 표준, 하위 호환성 전용) 선택
2. 키 쌍 생성'키 쌍 생성'을 클릭하여 128자 16진수 공개 키와 64자 16진수 개인 키를 생성
3. 두 키 저장공개 키(128자 hex)와 개인 키(64자 hex)를 복사하여 안전하게 보관 — 개인 키는 복구할 수 없습니다
4. 암호화공개 키를 붙여넣고 평문을 입력한 후 '암호화' 클릭 — 출력은 Base64 인코딩된 암호문입니다
5. 복호화개인 키를 붙여넣고 Base64 암호문을 붙여넣은 후 '복호화' 클릭 — 원본 평문이 복원됩니다
개인정보 보호: 모든 SM2 작업은 WebAssembly를 통해 브라우저에서 로컬로 수행됩니다. 어떠한 데이터도 서버로 전송되지 않으며 — 완전한 오프라인 처리입니다.

암호화 모드: C1C3C2 vs C1C2C3

SM2 암호문은 특정 순서로 배열된 세 가지 구성 요소로 이루어집니다:

C1임시 공개 키 포인트 — 64바이트(암호화에 사용된 무작위 타원 곡선 포인트의 x 및 y 좌표)
C2암호문 본체 — 평문과 동일한 길이, C1에서 파생된 키 스트림과 XOR로 생성
C3해시 다이제스트 — 32바이트(평문과 키 소재의 SM3 해시, 무결성 검증 제공)
C1C3C2 (새 표준)순서: 임시 키 → 해시 → 암호문. 업데이트된 GM/T 0003.4-2012 표준에 정의됨. 모든 새 구현에 권장.
C1C2C3 (구 표준)순서: 임시 키 → 암호문 → 해시. 이전 버전의 원래 순서. 레거시 시스템과 상호 운용 시에만 사용.
모드 불일치: 암호화와 복호화는 동일한 암호화 모드를 사용해야 합니다. C1C3C2로 암호화하고 C1C2C3으로 복호화하면(또는 그 반대) 복호화가 실패합니다. 항상 상대방 시스템과 모드를 확인하세요.

키 형식

SM2는 RSA처럼 PEM 인증서가 아닌 원시 16진수 문자열을 키로 사용합니다:

공개 키 (128자 hex)SM2 곡선 위의 점의 x 및 y 좌표를 나타내는 64바이트, x‖y로 연결. 이 도구의 형식에는 '04' 비압축 포인트 접두사가 포함되지 않습니다.
개인 키 (64자 hex)개인 스칼라 d를 나타내는 32바이트. 비밀로 유지하세요 — 해당 공개 키로 암호화된 데이터를 복호화하는 유일한 방법입니다.
PEM/DER 래핑 없음중국 생태계에서 SM2 키는 Base64 인코딩 PEM 헤더를 사용하는 RSA 키와 달리 일반 16진수 문자열로 교환되는 것이 일반적입니다.
상호 운용성 참고일부 SM2 라이브러리(예: SM2 지원 포함 OpenSSL)는 DER/PEM 형식으로 키를 인코딩합니다. 암호화 라이브러리에서 제공하는 도구를 사용하여 형식 간에 변환하세요.
키 길이 빠른 참조: 공개 키 = 128 hex 문자(64바이트). 개인 키 = 64 hex 문자(32바이트). 키 길이가 다른 경우 "04" 접두사가 포함되거나 다른 인코딩을 사용하는 것일 수 있습니다 — 적절히 제거하거나 변환하세요.

FAQ

Q: SM2와 RSA의 차이점은 무엇인가요?

A: SM2와 RSA 는 모두 비대칭 알고리즘입니다. 주요 차이점: 수학적 기반: RSA는 정수 인수분해를 사용; SM2는 타원 곡선 이산 대수를 사용. 키 크기: SM2 256비트 ≈ RSA-3072. 성능: SM2는 동등한 보안 수준에서 더 빠름. 규정 준수: SM2는 중국 규정에 의해 의무화; RSA는 국제 표준.

Q: RSA나 ECC 대신 SM2를 사용해야 하는 경우는 언제인가요?

A: 중국의 암호화법(2020)은 국가 안보, 중요 인프라, 공공 금융 서비스에 SM 알고리즘을 요구합니다. 구체적인 시나리오: 정부 시스템, 금융 기관(PBOC 의무), 전자 청구서 및 라이선스. 국제 전용 시스템에는 표준 RSA 또는 ECDSA(P-256)를 사용하세요.

Q: 올바른 개인 키를 사용하고 있는데도 복호화가 실패하는 이유는 무엇인가요?

A: 가장 일반적인 원인은 암호화 모드 불일치입니다: C1C3C2로 암호화했지만 C1C2C3으로 복호화하는 경우(또는 그 반대). 다른 원인들: 잘린 암호문(최소 97바이트), 잘못된 키, 인코딩 문제(일부 시스템은 C1에 선두 "04" 바이트 접두사를 추가함).

Q: SM2는 안전한가요? 표준 ECC(P-256)와 비교하면 어떤가요?

A: SM2의 256비트 키는 ~RSA-3072에 상응하는 보안을 제공하며, 현재 권장 수준을 훨씬 상회합니다. NIST P-256과 비교: 둘 다 유사한 128비트 보안 수준을 제공합니다. SM2에 대한 실용적인 공격은 알려져 있지 않습니다. SM2는 중국 외부에서는 광범위하게 지원되지 않으며 — 국제 사용에는 표준 ECC(P-256)가 더 나은 선택입니다.

Q: 이 도구에서 SM2를 디지털 서명에 사용할 수 있나요?

A: 이 도구는 SM2 암호화/복호화만 구현합니다. 서명 워크플로우에는 전용 SM2 서명 라이브러리를 사용하세요. 중국 규정 준수 시나리오에서는 SM2 디지털 서명이 종종 SM3 SM4 와 함께 요구됩니다.

Use Cases

권장: 정부 시스템 인증

중국 전자 정부 플랫폼은 법률에 의해 SM 알고리즘을 사용해야 합니다. SM2를 SM3 (해싱)과 SM4 (대칭 암호화)와 결합하여 완전히 규정을 준수하는 국가 암호화 스위트를 구성하세요.

Recommended Configuration:
  • ✅ SM2 (정부 시스템에 의무적)
  • ✅ SM2 + SM3 + SM4 (완전한 국가 암호화 스위트)
  • ❌ RSA나 ECC 단독으로는 중국 규제 요건을 충족하지 못합니다
  • 💡 인증 기관이 SM2 인증서를 지원하는지 확인하세요
권장: 금융 기관 거래 암호화

중국인민은행(PBOC)은 중국 은행 핵심 시스템 및 결제 플랫폼에 SM2/SM3/SM4를 의무화하고 있습니다. 중국에서 운영되는 외국 은행도 중국 금융 규정의 적용을 받는 거래를 처리할 때 준수해야 합니다.

Recommended Configuration:
  • ✅ SM2 (중국 금융 시스템에 PBOC 요구)
  • ✅ C1C3C2 모드 사용 (현행 표준)
  • 💡 은행 파트너와 암호화 모드 및 키 인코딩 형식 조율
  • ❌ RSA는 PBOC 규제 시스템에서 단독 알고리즘으로 허용되지 않습니다
권장: 전자 청구서 및 공식 라이선스

중국의 전자 청구서 시스템, 전자 영업 허가증, 디지털 인증서는 모두 SM2를 사용합니다. 국가세무총국의 청구서 시스템과 통합하는 경우 암호화 구현에 SM2를 사용해야 합니다.

Recommended Configuration:
  • ✅ 문서 서명 및 암호화에 SM2
  • ✅ 서명된 콘텐츠의 다이제스트 계산에 SM3
  • 💡 CFCA 인증 CA에서 발급한 SM2 인증서 사용
  • ❌ 표준 TLS 인증서(RSA/ECDSA)는 규제된 문서 서명에 부적합합니다
권장: 중요 인프라 보안 통신

중국에서 중요 정보 인프라(CII)로 분류된 전력망, 수도 시스템, 교통 네트워크, 통신 사업자는 국가 암호화 표준을 사용해야 합니다.

Recommended Configuration:
  • ✅ 장치 및 운영자 인증에 SM2
  • ✅ 대용량 데이터 암호화에 SM4 (큰 페이로드에 SM2보다 효율적)
  • 💡 인증서 갱신 및 키 수명 주기 관리 구현
  • 💡 특정 부문 요구 사항에 대한 OSCCA 가이드라인 참조
비권장: 국제 또는 크로스보더 프로젝트

시스템이 국제적으로 운영되는 경우 SM2는 적합한 선택이 아닙니다. 대부분의 국제 라이브러리, 브라우저, 클라우드 제공업체, HSM은 SM2를 기본적으로 지원하지 않습니다. 국제 프로젝트에는 RSA-2048/4096 또는 표준 ECC(P-256/P-384)를 사용하세요.

Recommended Configuration:
  • ✅ RSA-2048 또는 RSA-4096 (국제 표준)
  • ✅ ECC P-256 / P-384 (현대적인 국제 표준)
  • ❌ SM2는 중국 생태계 외부에서 지원이 매우 제한적입니다
  • 💡 이중 지역 시스템의 경우 중국에는 SM2, 국제 구성 요소에는 RSA/ECC 사용

모범 사례 권장 사항

  • 중국 규제 준수(암호화법, PBOC, 정부 표준)가 필요한 경우에만 SM2를 사용하세요.
  • 새 구현에는 항상 C1C3C2 모드를 사용하세요. C1C2C3는 레거시 시스템과의 하위 호환성을 위해서만 존재합니다.
  • 개인 키를 비밀번호와 동일한 주의로 취급하세요: 암호화하여 저장하고, 절대 로그에 남기지 말고, 주기적으로 키를 교체하세요.
  • 완전히 규정을 준수하는 국가 암호화 스위트를 구성하기 위해 SM2를 SM3(해시) 및 SM4(대칭)와 결합하세요.
  • 키를 교환하기 전에 통합 파트너와 키 인코딩 형식(hex vs. PEM/DER, '04' 접두사 유무)을 확인하세요.

토론 및 피드백

0개의 댓글