RSA와 ECC 한 줄 정의
-
RSA: 큰 수의 "소인수분해(정확히는 모듈러 n=pq 기반 문제)"가 어렵다는 성질을 이용한 공개키 암호
-
ECC: "타원곡선 이산로그 문제(ECDLP)"가 어렵다는 성질을 이용한 공개키 암호
둘 다 공개키(비대칭키) 방식이라서 키 교환, 전자서명에 많이 쓰입니다.
핵심 비교 요약 (시험/실무 모두 중요)
1) 키 길이 & 성능
-
ECC가 같은 보안강도에서 키 길이가 훨씬 짧음
-
예) 대략적인 보안강도 대응으로 자주 외우는 값
RSA 2048bit ≈ ECC 256bit
-
-
키가 짧으면 좋은 점:
-
연산/통신/저장 부담 ↓
-
모바일/IoT 같은 저전력 환경에 유리
-
👉 결론: ECC는 “짧은 키로 강한 보안 + 효율”이 장점
2) 속도 체감(암·복호/서명/검증)
-
RSA
-
보통 **검증(verify)**이 빠르고, **서명(sign)**은 상대적으로 느릴 수 있음(키 설정에 따라 편차)
-
-
ECC(ECDSA 등)
-
서명/키교환이 대체로 효율적(키 길이가 짧아서 메리트 큼)
-
다만 구현 난이도/파라미터/부채널 대응이 중요
-
👉 결론: 환경에 따라 다르지만, 전체 효율은 ECC 쪽이 유리한 경우가 많음.
3) 구현 난이도 & 실수 포인트
-
RSA
-
개념이 비교적 직관적(곱셈/모듈러)
-
하지만 패딩을 잘못 쓰면 바로 취약(OAEP, PSS 같은 안전한 패딩 필수)
-
-
ECC
-
수학 구조가 더 복잡(타원곡선 위 연산)
-
특히 난수(k) 재사용 같은 실수는 전자서명에서 치명적(ECDSA에서 유명)
-
안전한 곡선 선택, 구현의 부채널 방어가 중요
-
👉 결론: ECC는 “잘 구현하면 강력하지만, 구현 실수 리스크”를 조심
4) 사용처(어디서 많이 보나)
-
RSA
-
전통적으로 인증서/PKI에서 오래 사용
-
레거시 시스템에 매우 넓게 존재
-
-
ECC
-
TLS(HTTPS), 모바일, IoT, 최신 시스템에서 채택 증가
-
ECDHE(키교환), ECDSA(서명) 많이 등장
-
👉 결론: RSA는 역사/호환성, ECC는 최신/효율 이미지로 기억하면 편함.
5) 양자컴퓨터 관점(중요 포인트)
-
충분히 강력한 **양자컴퓨터가 등장하면 RSA와 ECC 모두 큰 영향(Shor 알고리즘)**을 받는 계열로 알려져 있어요.
-
그래서 요즘은 **PQC(후양자 암호)**가 별도로 연구/표준화되는 흐름이 있습니다.
👉 결론: “양자 내성”은 둘 다 근본 해결이 아니라 PQC가 대안.
표로 한 번에 정리
| 구분 | RSA | ECC |
|---|---|---|
| 기반 난제 | (n=pq) 관련 수론 문제(실무에선 소인수분해로 설명) | 타원곡선 이산로그(ECDLP) |
| 키 길이(동급 보안) | 김 (예: 2048/3072…) | 짧음 (예: 256/384…) |
| 효율/통신량 | 상대적으로 큼 | 상대적으로 작음(유리) |
| 구현/운영 | 상대적으로 단순(그래도 패딩 중요) | 상대적으로 복잡(난수/곡선/부채널 중요) |
| 사용처 | 레거시/호환성 강점 | 모바일/IoT/최신 TLS 등 강점 |
암기용 한 줄 팁
-
RSA = “길지만 익숙함(호환성)”
-
ECC = “짧고 강함(효율)”