개인공부용
출처 : ChatGPT
🔐 정의
알고리즘 요약
| ECDSA | 전통적인 타원곡선 서명, 설정과 난수가 중요 |
| EdDSA | 실수 방지형 설계, 항상 같은 결과가 나오는 안전한 서명 |
1️⃣ ECDSA (Elliptic Curve Digital Signature Algorithm)



▶ 핵심 개념
- 비대칭키 전자서명
- 개인키로 서명, 공개키로 검증
- NIST 표준 계열 (P-256, P-384 등)
▶ 서명 과정의 핵심 포인트
- 매 서명마다 랜덤 nonce k 필요
- k가:
- 재사용 ❌
- 예측 가능 ❌
→ 개인키 유출
📌 실제 사고 사례 다수 (콘솔, 지갑, IoT 기기)
▶ 장단점
장점
- 오래된 표준
- 하드웨어 가속 풍부 (HSM, SoC)
단점
- 난수 품질에 매우 민감
- 구현 실수 위험
- 파라미터 선택 복잡
2️⃣ EdDSA (Edwards-curve Digital Signature Algorithm)



▶ 핵심 개념
- ECDSA의 실수 포인트를 제거한 설계
- Edwards 곡선 사용
- 대표 알고리즘: Ed25519
▶ 가장 큰 차이점
❌ 랜덤 nonce 필요 없음
⭕ Deterministic 서명
nonce = Hash(private_key || message)
→ 매번 같은 메시지 = 같은 서명
📌 난수 사고 원천 차단
▶ 장단점
장점
- 구현 안전
- 빠름
- 사이드채널 방어 설계
- 키·서명 포맷 단순
단점
- 레거시 HW 가속 적음
- 일부 규제/인증에서 늦게 채택
🔁 ECDSA vs EdDSA 핵심 비교
항목ECDSAEdDSA (Ed25519)
| 곡선 | NIST P-256 등 | Edwards Curve (25519) |
| nonce | 랜덤 필수 | 결정적(Deterministic) |
| 구현 난이도 | 높음 | 낮음 |
| 서명 속도 | 빠름 | 더 빠름 |
| 검증 속도 | 빠름 | 빠름 |
| 실수 위험 | ⚠️ 높음 | ✅ 낮음 |
| 권장도 | 유지 | 신규 강력 추천 |
🔐 보안 관점 핵심 차이
▶ ECDSA의 위험 포인트
- TRNG 불량
- VM/SoC에서 엔트로피 부족
- 전력/타이밍 사이드채널
- nonce 재사용
▶ EdDSA의 설계 철학
“개발자가 실수할 수 있는 모든 지점을 제거하자”
- nonce를 내부적으로 파생
- 곡선 선택도 고정
- 검증 수식 단순화
🎯 실무 선택 가이드 (SoC / PUF 관점)
상황추천
| 레거시 HSM / CC 인증 | ECDSA P-256 |
| 신규 제품 설계 | Ed25519 |
| IoT / 카메라 / 엣지 | Ed25519 |
| PUF 기반 키 생성 | EdDSA (안정적) |
| 블록체인 / TLS 신형 | Ed25519 |
🧩 PUF와 결합 시 차이
▶ ECDSA + PUF
- PUF → 개인키 재생성
- nonce용 난수 추가 설계 필요
- 실수 시 치명적
▶ EdDSA + PUF
- PUF → 개인키
- nonce는 내부 해시로 결정
- PUF 특성과 궁합이 매우 좋음
📌 그래서 PUF + Ed25519 조합이 요즘 최선
⚠️ 흔한 오해 정리
- ❌ “EdDSA는 ECC가 아니다” → ECC 맞음
- ❌ “ECDSA가 더 안전하다” → 아님
- ❌ “랜덤이 많을수록 안전” → 서명에서는 아님
🧠 한 문장 요약
- ECDSA = “잘 쓰면 안전, 실수하면 위험”
- EdDSA = “실수 자체를 못 하게 만든 서명”
'C.S. > Security' 카테고리의 다른 글
| CA 서버, RA 서버 차이 (0) | 2026.02.24 |
|---|---|
| LDAP (Lightweight Directory Access Protocol) (0) | 2026.01.13 |
| ECDSA (Elliptic Curve Digital Signature Algorithm) (0) | 2026.01.08 |
| HMAC & CMAC (Message Authentication Code) (0) | 2026.01.08 |
| PUF 세부 특징 (0) | 2026.01.08 |