CoderTools

ECDSA 서명 도구

타원 곡선 디지털 서명 알고리즘

🔒 100% 로컬 처리입력하신 데이터는 브라우저에서 완전히 처리되며, 서버로 전송되지 않습니다.

ECDSA 키 쌍 생성

선택한 곡선에 대한 새로운 무작위 ECDSA 키 쌍을 생성합니다. 개인 키는 비밀로 유지해야 하며, 공개 키는 공유할 수 있습니다.

개인 키에서 공개 키 유도

기존 개인 키를 입력하여 해당하는 공개 키를 계산합니다.

문서

ECDSA(타원 곡선 디지털 서명 알고리즘)는 타원 곡선 암호학에 기반한 널리 사용되는 디지털 서명 체계입니다. RSA와 동일한 보안 수준을 훨씬 작은 키 크기로 제공하여 모바일 장치와 블록체인 네트워크 같은 리소스 제한 환경에 이상적입니다.

주요 특징

  • 작은 키 크기: 256비트 ECDSA는 3072비트 RSA와 비슷한 보안 제공
  • 빠른 연산: 서명과 검증이 RSA보다 훨씬 빠름
  • 컴팩트한 서명: ECDSA 서명은 RSA 서명보다 훨씬 작음
  • 다중 곡선: secp256k1, P-256, P-384, P-521 곡선 지원
  • 업계 표준: 비트코인, 이더리움, TLS 및 많은 프로토콜에서 사용

지원되는 곡선

  • secp256k1: 비트코인과 이더리움에서 사용하는 곡선. 256비트 보안, 효율적인 구현에 최적화.
  • P-256 (secp256r1): NIST 표준 곡선, TLS, 정부 애플리케이션, WebCrypto API에서 널리 사용.
  • P-384 (secp384r1): 192비트 보안 수준을 제공하는 NIST 표준 곡선, 고보안 애플리케이션에 사용.
  • P-521 (secp521r1): 256비트 보안 수준을 제공하는 NIST 표준 곡선, 최고 보안 ECDSA 곡선.

해시 알고리즘

  • SHA-256: 대부분의 애플리케이션에 표준 선택. P-256 및 secp256k1 곡선과 함께 사용.
  • SHA-384: 보안 수준에 맞게 P-384 곡선에 권장.
  • SHA-512: P-521 곡선에 권장. 256비트 보안 제공.
  • Keccak-256: 이더리움에서 트랜잭션 서명에 사용. SHA-3가 아닌 256비트 출력의 원본 Keccak.

일반적인 사용 사례

  • 비트코인 및 블록체인: 트랜잭션 서명에 secp256k1과 SHA-256 이중 해시 사용.
  • 이더리움: 트랜잭션 및 메시지 서명에 secp256k1과 Keccak-256 사용.
  • TLS/SSL 인증서: HTTPS 인증서 서명에 P-256 곡선 사용.
  • 코드 서명: 소프트웨어 릴리스에 서명하여 진위성과 무결성 보장.
  • API 인증: API 요청에 서명하여 변조 방지 및 신원 확인.

보안 모범 사례

  • 개인 키 보호: 개인 키를 절대 노출하거나 공유하지 마세요. 중요한 애플리케이션에는 HSM 사용.
  • 안전한 난수 사용: ECDSA는 암호학적으로 안전한 난수가 필요. 이 도구는 Web Crypto API 사용.
  • 공개 키 검증: 서명을 수락하기 전에 항상 신뢰할 수 있는 채널을 통해 공개 키 검증.
  • 클라이언트 측 처리: 이 도구는 브라우저에서 완전히 실행됩니다. 키가 장치를 떠나지 않습니다.
  • 서명 가변성: ECDSA 서명은 가변적일 수 있음. 필요시 정규(low-S) 서명 사용.

ECDSA vs 다른 서명 체계

특징 ECDSA (P-256) RSA-2048 Ed25519
개인 키 크기 32 바이트 256 바이트 32 바이트
공개 키 크기 64 바이트 256 바이트 32 바이트
서명 크기 64 바이트 256 바이트 64 바이트
서명 속도 빠름 느림 매우 빠름
검증 속도 보통 빠름 매우 빠름
결정적 서명 RFC 6979

관련 도구

빠른 메뉴

최근 사용 도구 없음