암호 알고리즘 보안강도와 키 길이의 실제 의미
대칭키·공개키·해시 알고리즘의 보안강도 기준과 키 길이 관계, 양자 컴퓨팅 영향 및 구현·운영 위험을 정리합니다.
2026-08-14 · 최초 발행 2025-06-08
보안강도는 키 길이만으로 정해지지 않는다
암호 시스템을 무력화하는 데 필요한 계산적 복잡도를 보안강도(Security Strength)라고 한다. 보통 비트 단위로 표현하며, n비트 보안강도는 2^n 연산이 필요하다는 뜻이다.
키 길이는 중요한 기준이지만 그것만으로 충분하지 않다. 알고리즘이 의존하는 수학 문제의 견고성, 구현 취약점의 존재 여부, 부채널 공격(Side-channel Attack)에 대한 저항성까지 합쳐져 실제 보안강도가 결정된다.
같은 키로 암호화하고 복호화하는 대칭키 방식
대칭키 암호는 암호화와 복호화에 동일한 키를 사용한다.
블록 암호인 AES는 키 길이와 보안강도의 대응 관계가 비교적 직접적이다. AES-128은 128비트 키와 약 128비트 보안강도, AES-192는 192비트 키와 약 192비트 보안강도, AES-256은 256비트 키와 약 256비트 보안강도를 제공한다. 현재까지 AES에 대한 실용적인 전수공격은 불가능하다.
3DES는 168비트 키를 사용하지만 유효 키 길이는 112비트이며, 실제 보안강도도 약 112비트다. 중간자 공격에 취약성이 존재한다.
스트림 암호인 ChaCha20은 256비트 키를 사용하고 보안강도는 약 256비트다. 모바일 환경에서 효율적인 성능을 보인다. 반면 RC4는 40-2048비트 키를 지원하지만 다양한 암호분석 취약점이 발견돼 사용이 권장되지 않는다. 이론적 보안강도와 실제 보안강도가 다를 수 있는 사례다.
공개키 암호는 키 길이를 그대로 비교할 수 없다
공개키 암호는 암호화와 복호화에 서로 다른 키를 사용한다.
RSA의 안전성은 큰 정수의 소인수분해 문제의 어려움에 기반한다. RSA-2048은 약 112비트, RSA-3072는 약 128비트, RSA-7680은 약 192비트, RSA-15360은 약 256비트 보안강도에 해당한다. 같은 비트 수를 사용하더라도 대칭키 암호보다 낮은 보안강도를 제공한다.
ECC(Elliptic Curve Cryptography)는 타원곡선 이산로그 문제의 어려움에 기반한다. ECDSA-224는 약 112비트, ECDSA-256은 약 128비트, ECDSA-384는 약 192비트, ECDSA-521은 약 256비트 보안강도를 제공한다. ECC는 RSA보다 짧은 키 길이로 동등한 보안강도를 제공하는 것이 특징이다.
해시 함수가 지켜야 할 저항성
해시 함수는 임의 길이의 데이터를 고정 길이 해시값으로 바꾸는 일방향 함수다.
해시 함수는 서로 다른 입력이 같은 출력을 만들기 어려운 충돌 저항성(Collision Resistance), 해시값에서 원본 메시지를 찾기 어려운 역상 저항성(Preimage Resistance), 특정 메시지와 같은 해시값을 만드는 다른 메시지를 찾기 어려운 제2역상 저항성(Second Preimage Resistance)을 갖춰야 한다.
SHA-1의 출력 길이는 160비트지만 충돌이 발견돼 실제 보안강도는 약 63비트까지 크게 낮아졌으며, 현재 사용이 권장되지 않는다.
SHA-2 계열에서 SHA-256은 출력 길이 256비트와 약 128비트 보안강도, SHA-384는 출력 길이 384비트와 약 192비트 보안강도, SHA-512는 출력 길이 512비트와 약 256비트 보안강도를 제공한다. SHA-3 계열도 SHA3-256은 출력 길이 256비트와 약 128비트, SHA3-384는 출력 길이 384비트와 약 192비트, SHA3-512는 출력 길이 512비트와 약 256비트 보안강도를 제공한다. SHA-3는 SHA-2와 완전히 다른 내부 구조인 Keccak 알고리즘을 기반으로 한다.
공격 가능성을 평가하는 관점
이론적 평가는 알고리즘의 수학적 기반 문제 난이도, 알고리즘을 공격하는 가장 효율적인 방법의 복잡도, 학계에서 발표된 암호분석 기법과 취약점을 검토하는 방식으로 이뤄진다.
이론만으로 충분하지는 않다. 공개 암호분석 대회를 통한 견고성 검증, 실제 구현에서 발생할 수 있는 취약점 분석, 전력 분석과 타이밍 공격 같은 부채널 공격에 대한 저항성 평가도 필요하다.
양자 컴퓨팅이 바꾸는 보안강도
양자 컴퓨터의 발전은 기존 암호 알고리즘의 보안강도에 직접적인 위협이 된다.
쇼어 알고리즘은 RSA와 ECC처럼 소인수분해 또는 이산로그 문제에 기반한 공개키 암호 시스템을 대상으로 하며, 기존 공개키 암호의 보안강도를 급격히 감소시킨다. 이에 대응하려면 양자 내성 암호(Post-Quantum Cryptography, PQC)를 개발해야 한다.
그로버 알고리즘은 대칭키 암호와 해시 함수에 영향을 준다. 보안강도를 약 절반으로 감소시키며, n비트 보안강도는 n/2비트가 된다. 대응 방식으로 키 길이를 두 배로 늘리는 방안이 있으며, AES-256이 권장된다.
양자내성암호 알고리즘에는 CRYSTALS-Kyber와 NTRU 같은 격자 기반 방식, SPHINCS+ 같은 해시 기반 방식, Classic McEliece 같은 코드 기반 방식, Rainbow 같은 다변수 다항식 기반 방식이 있다.
보호 기간에 따라 달라지는 선택
정보의 중요도와 보호 기간에 따라 필요한 보안강도는 달라진다.
NIST SP 800-57은 2023년까지 최소 112비트, 2030년까지 최소 128비트, 2031년 이후 최소 192비트 보안강도를 권장한다.
금융 거래 시스템에는 TLS 1.3 with AES-256-GCM + ECDHE-P384 조합을 사용할 수 있으며 보안강도는 약 192비트다. 의료 정보 시스템의 AES-256-CBC + RSA-3072 또는 ECDSA-256 조합은 약 128비트 보안강도에 해당한다. 일반 웹사이트에서는 TLS 1.2+ with AES-128-GCM + ECDHE-P256 조합으로 약 128비트 보안강도를 제공할 수 있다.
이론적 강도를 떨어뜨리는 구현과 운영의 문제
알고리즘의 이론적 보안강도가 높아도 구현과 운영의 결함은 실제 보호 수준을 낮춘다. 약한 난수 생성기는 키 예측 가능성을 높이고, 전력 분석이나 캐시 타이밍 공격 같은 부채널 취약점은 키 유출로 이어질 수 있다. 키 자료가 메모리에 불필요하게 오래 남는 메모리 관리 오류도 위험 요인이다.
키를 안전하지 않게 저장·전송·백업하거나 초기화 벡터(IV)를 재사용하는 경우, 약한 암호 스위트를 허용하는 설정 오류도 보안강도를 약화한다. 강력한 알고리즘에서 약한 알고리즘으로 강제 전환시키는 다운그레이드 공격, 서로 다른 프로토콜의 상호작용을 악용하는 프로토콜 혼합 공격도 함께 고려해야 한다.
암호 알고리즘을 선택할 때는 키 길이만 비교해서는 안 된다. 수학적 기반, 구현 품질, 키와 설정의 운영 방식, 양자 컴퓨팅 위협을 함께 봐야 한다. 최소 128비트 이상의 보안강도를 제공하는 알고리즘 사용이 권장되며, 장기적으로 보호해야 하는 중요 정보에는 192비트 이상의 보안강도를 갖춘 알고리즘이 필요하다.