Ed25519 서명 도구
Curve25519를 사용한 고성능 EdDSA 디지털 서명
키 생성
새로운 Ed25519 키 쌍 생성 (32바이트 개인 키 + 32바이트 공개 키)
공개 키 도출
기존 개인 키에서 공개 키 도출
Ed25519 소개
Ed25519는 Curve25519를 사용하는 에드워즈 곡선 디지털 서명 알고리즘(EdDSA)을 기반으로 한 현대적인 고성능 디지털 서명 알고리즘입니다. Daniel J. Bernstein이 설계했으며, RSA나 ECDSA 같은 전통적인 알고리즘보다 훨씬 빠르면서도 강력한 보안을 제공합니다.
주요 특징
- 고성능: Ed25519는 서명과 검증 모두 매우 빠르며, 높은 처리량이 필요한 애플리케이션에 이상적입니다.
- 작은 키: 256비트 키는 RSA-3072와 비슷한 보안을 제공하지만 키 크기가 훨씬 작습니다 (32바이트 vs 384바이트).
- 결정론적 서명: ECDSA와 달리 Ed25519는 결정론적 서명을 생성하여 잘못된 난수 생성으로 인한 위험을 제거합니다.
- 사이드 채널 공격 저항: 알고리즘은 타이밍 공격 및 기타 사이드 채널 취약점에 대한 저항성을 갖도록 설계되었습니다.
- 비밀 논스 불필요: Ed25519는 서명에 비밀 논스가 필요 없어 구현이 단순해지고 보안이 향상됩니다.
기술 사양
- 곡선: 뒤틀린 에드워즈 곡선 (Curve25519)
- 개인 키 크기: 32바이트 (256비트)
- 공개 키 크기: 32바이트 (256비트)
- 서명 크기: 64바이트 (512비트)
- 보안 수준: 약 128비트 보안 (RSA-3072와 동등)
- 표준: RFC 8032 (에드워즈 곡선 디지털 서명 알고리즘)
일반적인 사용 사례
- SSH 인증: Ed25519는 보안과 성능으로 인해 SSH 키에 권장되는 알고리즘입니다.
- TLS/SSL 인증서: 최신 TLS 1.3은 인증서 서명에 Ed25519를 지원합니다.
- 암호화폐: Solana, Cardano 등의 블록체인 플랫폼에서 트랜잭션 서명에 사용됩니다.
- 소프트웨어 서명: 코드 서명, 패키지 서명(minisign) 및 펌웨어 검증.
- API 인증: 안전한 API 요청 서명 및 검증.
보안 모범 사례
- 개인 키 보호: 개인 키를 공유하거나 노출하지 마세요. 안전하게 저장하고 중요한 애플리케이션에는 하드웨어 보안 모듈(HSM)을 사용하세요.
- 공개 키 검증: 중간자 공격을 방지하기 위해 항상 신뢰할 수 있는 채널을 통해 공개 키를 검증하세요.
- 클라이언트 측 처리: 이 도구는 완전히 브라우저에서 실행됩니다. 개인 키가 기기를 떠나지 않습니다.
- 키 순환: 장기 애플리케이션의 경우 잠재적인 키 손상의 영향을 제한하기 위해 주기적으로 키를 순환하세요.
Ed25519 vs 다른 알고리즘
| 특성 | Ed25519 | RSA-2048 | ECDSA P-256 |
|---|---|---|---|
| 키 크기 | 32바이트 | 256바이트 | 32바이트 |
| 서명 크기 | 64바이트 | 256바이트 | 64바이트 |
| 서명 속도 | 매우 빠름 | 느림 | 빠름 |
| 검증 속도 | 매우 빠름 | 빠름 | 보통 |
| 결정론적 | 예 | 예 | 아니오 (논스 필요) |