PE Notes · 보안
타원곡선암호
짧은 키로 RSA와 같은 강도를 내는 ECC를 ECDLP·ECDH·ECDSA로 풀고, 곡선 표준과 양자 전환을 RSA와 같은 비교표에 올립니다.
RSA 키를 늘리면 강도는 오르지만 모바일·IoT의 연산 예산이 먼저 바닥납니다. 는 유한체 위 타원곡선의 점 덧셈에서 이산대수()를 어렵게 만들어, 같은 강도에 키를 크게 줄입니다. 256비트 ECC를 128비트 대칭과 같은 줄에 두는 이유가 여기 있습니다.
곡선과 이산대수
곡선은 보통 y² = x³ + ax + b (mod p)이고, 특이점이 없게 4a³ + 27b² ≠ 0을 둡니다. 두 점을 잇는 직선이 곡선을 다시 만나면 그 점을 뒤집어 덧셈을 정의합니다. 생성원 G를 k번 더해 kG를 구하는 일은 쉽고, Q = kG에서 k를 되돌리는 일은 어렵습니다. 그 간격이 공개키입니다.
| 비교축 | RSA | ECC |
|---|---|---|
| 수학 | 소인수분해 | ECDLP |
| 128비트급 키 | 3072비트 | 256비트 |
| 서명 | 느림 | 빠름 |
| 검증 | 빠름 | 중간 |
| 키 생성 | 느림 | 빠름 |
| 구현 | 상대적으로 단순 | 곡선·상수시간 주의 |
| 양자 | Shor에 깨짐 | Shor에 깨짐 |
| 쓰임 | 레거시 인증서 | TLS 키교환, 모바일, IoT |
키 길이만 외우지 말고, 검증은 RSA가 빠르고 서명·생성은 ECC가 유리하다는 비대칭을 같이 적습니다.
ECDH와 ECDSA
는 디피–헬만을 점으로 옮깁니다. Alice의 aG와 Bob의 bG를 주고받으면 둘 다 abG를 계산하고, 도청자는 ECDLP에 막힙니다. 세션마다 임시 스칼라를 쓰면 ECDHE가 되고, TLS 1.3의 전방향 비밀성으로 이어집니다.
는 해시와 임시 키 k로 (r, s)를 만듭니다. k를 고정하거나 재사용하면 개인키가 열립니다. 는 k를 결정론으로 만들어 그 실수를 줄이고, 는 구현 함정을 줄인 곡선으로 TLS의 X25519에 쓰입니다.
| 곡선 | 크기 | 자리 |
|---|---|---|
| P-256 (secp256r1) | 256 | TLS, WebAuthn |
| P-384 | 384 | 높은 등급 TLS |
| secp256k1 | 256 | 일부 분산원장 서명 |
| Curve25519 / Ed25519 | 255 | ECDHE, SSH, FIDO |
구현 구멍과 양자 이후
잘못된 곡선, 비상수 시간, 재사용된 nonce는 수학보다 먼저 깨집니다. 양자컴퓨터 토픽의 Shor는 ECDLP도 같은 줄에 둡니다. 지금은 하이브리드(고전 ECC + PQC)로 넘어가는 구간입니다.
| 비교축 | 지금 쓰는 ECC | PQC 전환 |
|---|---|---|
| 가정 | ECDLP | 격자 등 다른 난제 |
| 키 크기 | 짧다 | 대체로 더 김 |
| TLS | ECDHE + ECDSA/EdDSA | 하이브리드 키교환 |
| 위험 | 구현·부채널 | 표준·상호운용 미숙 |
암호 키 발전 토픽이 키 수명을 다루면, 여기서는 짧은 키의 대가와 양자 만료를 적습니다.